diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2021-03-20 07:22:09 +0100 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2021-03-21 00:08:42 +0100 |
commit | e653f9b3ed1b60037e3bc661d53b3f9407243fc2 (patch) | |
tree | 5e1b2f06fc451f5c474d17728e434ee1934209a5 /README.md | |
parent | 35015ce72ea47208e207ef6c5e75d550fa095862 (diff) | |
download | passt-e653f9b3ed1b60037e3bc661d53b3f9407243fc2.tar passt-e653f9b3ed1b60037e3bc661d53b3f9407243fc2.tar.gz passt-e653f9b3ed1b60037e3bc661d53b3f9407243fc2.tar.bz2 passt-e653f9b3ed1b60037e3bc661d53b3f9407243fc2.tar.lz passt-e653f9b3ed1b60037e3bc661d53b3f9407243fc2.tar.xz passt-e653f9b3ed1b60037e3bc661d53b3f9407243fc2.tar.zst passt-e653f9b3ed1b60037e3bc661d53b3f9407243fc2.zip |
passt: Add libvirt patch for qemu UNIX socket domain back-end
...and mention it in the README.
While at it, remove useless escaping in the README, and fix
indentation in the syslog message with the qemu command line
example.
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -5,6 +5,8 @@ and native Layer-4 sockets (TCP, UDP, ICMP/ICMPv6 echo) on a host. It doesn't require any capabilities or privileges, and it can be used as a simple replacement for Slirp. +![overview diagram](/builds/passt_overview.png) + - [General idea](#general-idea) - [Non-functional Targets](#non-functional-targets) - [Interfaces and Environment](#interfaces-and-environment) @@ -50,7 +52,7 @@ solution comes with a number of downsides: _passt_ implements a thinner layer between guest and host, that only implements what's strictly needed to pretend processes are running locally. A further, full TCP/IP stack is not necessarily needed. Some sort of TCP adaptation is needed, -however, as this layer runs without the `CAP\_NET\_RAW` capability: we can't +however, as this layer runs without the `CAP_NET_RAW` capability: we can't create raw IP sockets on the pod, and therefore need to map packets at Layer-2 to Layer-4 sockets offered by the host kernel. @@ -163,6 +165,17 @@ before _passt_ starts. qemu-system-x86_64 ... -net socket,connect=/tmp/passt.socket -net nic,model=virtio +* alternatively, you can use libvirt, with [this patch](https://passt.top/passt/tree/libvirt/0001-conf-Introduce-support-for-UNIX-domain-socket-as-qem.patch), + to start qemu (with the patch mentioned above), with this kind of network + interface configuration: + + <interface type='client'> + <mac address='52:54:00:02:6b:60'/> + <source path='/tmp/passt.socket'/> + <model type='virtio'/> + <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> + </interface> + * and that's it, you should now have TCP connections, UDP, and ICMP/ICMPv6 echo working from/to the guest for IPv4 and IPv6 |