mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-03-06 07:00:36 +01:00
kernel: add kmods for vsockets over virtio
Add menuconfig options to include modules for (virtio) vsockets. These are used when running as Guest OS in a VM. OpenWRT can be run in a vm (mostly commonly on the x86/64 and armsr targets). Often it is convenient to have some sort of guest agent running, to ease communication from host to guest. Virtual Sockets provide this communication channel. Virtio is a transport for this communication channel. Virtual Sockets over virtio are for example used by Incus. Virtual Sockets in general are used by most hypervisors, including VMware, Hyper-V, and libvirt (qemu). These may need other transport-specific modules not included in this commit. Signed-off-by: Mathijs Rietbergen <mathijs.rietbergen@proton.me>
This commit is contained in:
parent
ed66c2dfa3
commit
c88e8a9816
1 changed files with 56 additions and 0 deletions
|
|
@ -139,3 +139,59 @@ define KernelPackage/vhost-net
|
|||
endef
|
||||
|
||||
$(eval $(call KernelPackage,vhost-net))
|
||||
|
||||
|
||||
define KernelPackage/vsock
|
||||
SUBMENU:=Virtualization
|
||||
TITLE:=Virtual Socket Protocol
|
||||
KCONFIG:= \
|
||||
CONFIG_VSOCKETS \
|
||||
CONFIG_VSOCKETS_LOOPBACK=n \
|
||||
CONFIG_HYPERV_VSOCKETS=n
|
||||
FILES:=$(LINUX_DIR)/net/vmw_vsock/vsock.ko
|
||||
AUTOLOAD:=$(call AutoProbe,vsock)
|
||||
endef
|
||||
|
||||
define KernelPackage/vsock/description
|
||||
Kernel support support for the Virtual Socket Protocol.
|
||||
Often used when running in a VM to communicate with the hypervisor.
|
||||
Additionally needs a hypervisor-specific transport driver.
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,vsock))
|
||||
|
||||
|
||||
define KernelPackage/vsock-virtio-common
|
||||
SUBMENU:=Virtualization
|
||||
TITLE:=Module used by other drivers to access Virtio Virtual Sockets
|
||||
DEPENDS:=+kmod-vsock
|
||||
KCONFIG:=CONFIG_VIRTIO_VSOCKETS_COMMON
|
||||
FILES:=$(LINUX_DIR)/net/vmw_vsock/vmw_vsock_virtio_transport_common.ko
|
||||
AUTOLOAD:=$(call AutoProbe,vmw_vsock_virtio_transport_common)
|
||||
HIDDEN:=1
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,vsock-virtio-common))
|
||||
|
||||
|
||||
define KernelPackage/vsock-virtio
|
||||
SUBMENU:=Virtualization
|
||||
TITLE:=Virtio transport driver for Virtual Sockets
|
||||
DEPENDS:= @VIRTIO_SUPPORT +kmod-vsock +kmod-vsock-virtio-common
|
||||
KCONFIG:=CONFIG_VIRTIO_VSOCKETS
|
||||
FILES:=$(LINUX_DIR)/net/vmw_vsock/vmw_vsock_virtio_transport.ko
|
||||
AUTOLOAD:=$(call AutoProbe,vmw_vsock_virtio_transport)
|
||||
endef
|
||||
|
||||
define KernelPackage/vsock-virtio/description
|
||||
Kernel support for Virtual Sockets over virtio.
|
||||
Enable this transport if you plan to run OpenWRT in a virtual machine and the
|
||||
hypervisor supports Virtual Sockets over virtio (Incus for example).
|
||||
|
||||
Usually needed by "guest agents" to function, as it provides a communication
|
||||
channel between the guest os and the hypervisor.
|
||||
|
||||
The module will be called vmw_vsock_virtio_transport.
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,vsock-virtio))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue