2021-10-19 12:43:28 +02:00
|
|
|
.\" SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
.\" Copyright (c) 2020-2021 Red Hat GmbH
|
|
|
|
.\" Author: Stefano Brivio <sbrivio@redhat.com>
|
2021-08-19 20:22:40 +02:00
|
|
|
.TH qrap 1
|
|
|
|
|
|
|
|
.SH NAME
|
|
|
|
.B qrap
|
|
|
|
\- qemu wrapper connecting UNIX domain socket to file descriptor
|
|
|
|
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.B qrap
|
|
|
|
[\fIFDNUM\fR \fIQEMU_CMD\fR] [\fIQEMU_ARG\fR]...
|
|
|
|
.SH DESCRIPTION
|
|
|
|
\fBqrap\fR is a wrapper, designed specifically for usage with \fBqemu\fR(1) and
|
|
|
|
\fBpasst\fR(1), connecting a UNIX domain socket to a file descriptor, and
|
|
|
|
running \fBqemu\fR(1) with given arguments.
|
|
|
|
|
|
|
|
A running instance of \fBpasst\fR(1) is probed checking for UNIX domain sockets,
|
|
|
|
answering a dummy ARP request, with names starting from
|
|
|
|
\fI/tmp/passt_1.socket\fR up to \fI/tmp/passt_64.socket\fR.
|
|
|
|
|
|
|
|
If first and second arguments are not a socket number and a path, that is,
|
|
|
|
respectively, \fIFDNUM\fR and \fIQEMU_CMD\fR, \fBqrap\fR will try to locate a
|
|
|
|
qemu binary and patch the command line to specify a network device and a
|
|
|
|
\fInetdev\fR back-end for usage with \fBpasst\fR(1).
|
|
|
|
|
|
|
|
If \fBqrap\fR patches the command line, it will remove any potentially
|
|
|
|
conflicting network device, that is, any \fI-netdev\fR or \fI-net\fR option, or
|
|
|
|
any \fI-device\fR option with argument starting with \fIvirtio-net-pci,\fR,
|
|
|
|
\fIvirtio-net-ccw,\fR, \fIe1000,\fR, \fIe1000e,\fR, or \fIrtl8139,\fR.
|
|
|
|
|
|
|
|
.SH EXAMPLES
|
|
|
|
|
|
|
|
.BR "Start qemu explicitly passing its command name and a socket number"
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
$ ./qrap 5 kvm test.qcow2 -m 1024 -display none -nodefaults -nographic -net socket,fd=5 -net nic,model=virtio
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
|
|
|
|
.BR "Start qemu without command name and socket number, patching arguments"
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
$ ./qrap test.qcow2 -m 1024 -display none -nodefaults -nographic
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
|
|
|
|
.SH NOTES
|
|
|
|
|
|
|
|
This wrapper is temporary and needed only as long as \fBqemu\fR(1) does not
|
|
|
|
directly support a UNIX domain socket as \fInetdev\fR back-end.
|
|
|
|
|
|
|
|
Out-of-tree patches for \fBqemu\fR(1) introducing support for a UNIX domain
|
|
|
|
socket back-end are available at:
|
|
|
|
|
|
|
|
\fIhttps://passt.top/passt/tree/qemu\fR
|
|
|
|
|
|
|
|
.SH AUTHOR
|
|
|
|
|
|
|
|
Stefano Brivio <sbrivio@redhat.com>
|
|
|
|
|
|
|
|
.SH REPORTING BUGS
|
|
|
|
|
|
|
|
No public bug tracker is available at this time. For the moment being, report
|
|
|
|
issues to Stefano Brivio <sbrivio@redhat.com>.
|
|
|
|
|
|
|
|
.SH COPYRIGHT
|
|
|
|
|
|
|
|
Copyright (c) 2020-2021 Red Hat GmbH.
|
|
|
|
|
|
|
|
\fBqrap\fR is free software: you can redistribute is and/or modify it under the
|
|
|
|
terms of the GNU Affero General Public License as published by the Free Software
|
|
|
|
Foundation, either version 3 of the License, or (at your option) any later
|
|
|
|
version.
|
|
|
|
|
|
|
|
.SH SEE ALSO
|
|
|
|
|
|
|
|
\fBqemu\fR(1), \fBpasst\fR(1).
|
|
|
|
|
|
|
|
High-level documentation is available at https://passt.top/passt/about/.
|