Vsock.ko kernel module needed (aarch64/X86_64 targets)

loadable modules are not Holy Grail that brings benefits everywhere. Adding kmods without a reason forces build system to produce dummy packages for platforms that do not support these modules.

For this specific case I would strongly disagree to build CONFIG_VSOCKETS_* and CONFIG_VIRTIO_VSOCKETS* as kmods. Virtualization support for aarch64 and x86_64 by most hypervisors is the same now. But the OpenWRT use different approaches in this area for these platforms. I would prefer to have unified way to maintain these modules in both platforms.
We have the same zoo with 9p support.
Switching to kmod approach makes a new dummy packages for some platforms increasing maintenance cost and risk of additional issues.

These modules do not increase kernel image significantly (a few dozen KiB) and do not consume resources until hypervisor request guest to allocate them. From a security standpoint including these modules is safe as guest (an OpenWRT instance) must register a callbacks un userspace to be able communicate with the hypervisor. By default the OpenWRT do not provide such functionality.

@rietbergenm’s patch for the required kernel module packages was just merged by aparcar :folded_hands: https://git.openwrt.org/openwrt/openwrt/commit/?id=c88e8a98167c82ce56ce184389b011637c204337

I think the only thing holding back a PR against lxc-ci for openwrt vm images for incus (built with distrobuilder including these new modules) is the issue @tregubovav.dev identified that the uefi partition should be copied in, instead of being regenerated.

1 Like

Awesome!

At the moment I am quite busy, so I don’t have time right now, but I’ll have a look at it in a few weeks if it’s not done by then.