passt/qrap.1
Stefano Brivio ca2749e1bd passt: Relicense to GPL 2.0, or any later version
In practical terms, passt doesn't benefit from the additional
protection offered by the AGPL over the GPL, because it's not
suitable to be executed over a computer network.

Further, restricting the distribution under the version 3 of the GPL
wouldn't provide any practical advantage either, as long as the passt
codebase is concerned, and might cause unnecessary compatibility
dilemmas.

Change licensing terms to the GNU General Public License Version 2,
or any later version, with written permission from all current and
past contributors, namely: myself, David Gibson, Laine Stump, Andrea
Bolognani, Paul Holzinger, Richard W.M. Jones, Chris Kuhn, Florian
Weimer, Giuseppe Scrivano, Stefan Hajnoczi, and Vasiliy Ulyanov.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
2023-04-06 18:00:33 +02:00

77 lines
2.5 KiB
Groff

.\" SPDX-License-Identifier: GPL-2.0-or-later
.\" Copyright (c) 2020-2021 Red Hat GmbH
.\" Author: Stefano Brivio <sbrivio@redhat.com>
.TH qrap 1
.SH NAME
.B qrap
\- temporary 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 command, that is,
respectively, \fIFDNUM\fR and \fIQEMU_CMD\fR, \fBqrap\fR will try to locate a
qemu executable in \fBPATH\fR 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: 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.
.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/.