Man page - qrap(1)

Packages contains this manual

Manual

qrap

NAME
SYNOPSIS
DESCRIPTION
EXAMPLES
NOTES
AUTHOR
REPORTING BUGS
COPYRIGHT
SEE ALSO

NAME

qrap - temporary qemu wrapper connecting UNIX domain socket to file descriptor

SYNOPSIS

qrap [ FDNUM QEMU_CMD ] [ QEMU_ARG ]...

DESCRIPTION

qrap is a wrapper, designed specifically for usage with qemu (1) and passt (1), connecting a UNIX domain socket to a file descriptor, and running qemu (1) with given arguments.

A running instance of passt (1) is probed checking for UNIX domain sockets, answering a dummy ARP request, with names starting from /tmp/passt_1.socket up to /tmp/passt_64.socket .

If first and second arguments are not a socket number and a command, that is, respectively, FDNUM and QEMU_CMD , qrap will try to locate a qemu executable in PATH and patch the command line to specify a network device and a netdev back-end for usage with passt (1).

If qrap patches the command line, it will remove any potentially conflicting network device, that is, any -netdev or -net option, or any -device option with argument starting with virtio-net-pci, , virtio-net-ccw, , e1000, , e1000e, , or rtl8139, .

EXAMPLES

Start qemu explicitly passing its command name and a socket number

$ ./qrap 5 kvm test.qcow2 -m 1024 -display none -nodefaults -nographic -net socket,fd=5 -net nic,model=virtio

Start qemu without command name and socket number, patching arguments

$ ./qrap test.qcow2 -m 1024 -display none -nodefaults -nographic

NOTES

This wrapper is temporary: qemu commit 13c6be96618c ("net: stream: add unix socket") introduces native AF_UNIX socket support, and it should be included in qemu starting from the 7.2 release. It will be around for a little bit longer to give users enough time to switch.

AUTHOR

Stefano Brivio <sbrivio@redhat.com>

REPORTING BUGS

No public bug tracker is available at this time. For the moment being, report issues to Stefano Brivio <sbrivio@redhat.com>.

COPYRIGHT

Copyright (c) 2020-2021 Red Hat GmbH.

qrap is free software: you can redistribute is and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

SEE ALSO

qemu (1), passt (1).

High-level documentation is available at https://passt.top/passt/about/.