-
Notifications
You must be signed in to change notification settings - Fork 41
Description
krunkit added new way to work with unix datagram socket:
containers/krunkit#63
--device virtio-net,type=unixgram,path=/path/to/socket.sock,mac=...,offloading=on,vfkitMagic=on
This device creates the same configuration as:
--device virtio-net,unixSocketPath=/path/to/socket.sock,mac=...
But unlike unixSocketPath it
- supports multiple devices
- does not enable offloading by default (7 times faster host-to-vm performance with vment-helper)
- does not send the vfkit magic (VFKT) by default (not needed with vmnet-helper)
krunkit supports also other types like:
--device virtio-net,type=unixstream,path=/path/to/socket.sock,mac=...
This is required to use passt or socket_vment.
For vfkit type=unixstream is not relevant since the virtualization framework supports only unix datagram socket, but type=unixgrram is matches.
The offloading option is not relevant to vfkit since the virtualization framework does not have a way to enable offloading and using makes performance much worse.
The vfkitMagic flag makes sense since it is needed only for gvproxy and can be removed in future version of gvproxy.
Adding similar configuration will make it easier to use vfkit and krunkit.
Suggested change
krunkit compatible device:
--device virtio-net,type=unixgram,path=/path/to/socket.sock,mac=...,vfkitMagic=on
device without optional configuration (not compatible with krunkit):
--device virtio-net,path=/path/to/socket.sock,mac=...
nat
: guest network traffic will be NAT'ed through the host. This is the defaultpath
: path to unix datagram socket, alias of unixSocketPathfd
: unix datagram socket file descriptormac
: mac address- 'type
: (Optional) the only option is
unixgram`, mainly for compatibility with krunkit when using path= and fd= options. vfkitMagic
: (Optional) send vfkit magic packet (needed for gvproxy)
Internally no change is needed except making the vfkit magic packet optional.
Issues:
- type does not make sense for the
nat
option.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status