On 5/21/25 1:33 PM, Paolo Abeni wrote: > Some virtualized deployments use UDP tunnel pervasively and are impacted > negatively by the lack of GSO support for such kind of traffic in the > virtual NIC driver. > > The virtio_net specification recently introduced support for GSO over > UDP tunnel, this series updates the virtio implementation to support > such a feature. > > One of the reasons for the RFC tag is that the kernel-side > implementation has just been shared upstream and is not merged yet, but > there are also other relevant reasons, see below. > > Currently, the kernel virtio support limits the feature space to 64 bits, > while the virtio specification allows for a larger number of features. > Specifically, the GSO-over-UDP-tunnel-related virtio features use bits > 65-69; the larger part of this series (patches 2-11) actually deals with > the extended feature space. > > I tried to minimize the otherwise very large code churn by limiting the > extended features support to arches with native 128 integer support and > introducing the extended features space support only in virtio/vhost > core and in the relevant device driver. > > The actual offload implementation is in patches 12-16 and boils down to > propagating the new offload to the tun devices and the vhost backend. > > Tested with basic stream transfer with all the possible permutations of > host kernel/qemu/guest kernel with/without GSO over UDP tunnel support > and vs snapshots creation and restore. > > Notably this does not include (yet) any additional tests. Some guidance > on such matter would be really appreciated, and any feedback about the > features extension strategy would be more than welcome!
Some times has passed, and I haven't followed-up yet with a v2. The root cause (beyond the usual ENOTIME ;) is that I'm focusing on the kernel-side patches, which I almost co-posted with this RFC, and are still under discussion. Since the outcome of such discussion will influence also the userland, I'll wait it to settle before sharing a new revision here. It could take still some time, and the new revision will likely present significant different from v1, especially WRT virtio feature space expansion - as working on the kernel code showed a possibly better approach. Thanks, Paolo