On 6/24/25 4:09 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 GS over > UDP tunnel, this series updates the virtio implementation to support > such a feature. > > Currently the kernel virtio support limits the feature space to 64, > 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 first four patches in this series rework the virtio and vhost > feature support to cope with up to 128 bits. The limit is set by > a define and could be easily raised in future, as needed. > > This implementation choice is aimed at keeping the code churn as > limited as possible. For the same reason, only the virtio_net driver is > reworked to leverage the extended feature space; all other > virtio/vhost drivers are unaffected, but could be upgraded to support > the extended features space in a later time. > > The last four patches bring in the actual GSO over UDP tunnel support. > As per specification, some additional fields are introduced into the > virtio net header to support the new offload. The presence of such > fields depends on the negotiated features. > > New helpers are introduced to convert the UDP-tunneled skb metadata to > an extended virtio net header and vice versa. Such helpers are used by > the tun and virtio_net driver to cope with the newly supported offloads. > > Tested with basic stream transfer with all the possible permutations of > host kernel/qemu/guest kernel with/without GSO over UDP tunnel support. > > This is also are available in the Git repository at: > > git@xxxxxxxxxx:pabeni/linux-devel.git virtio_udp_tunnel_24_06_2025 > > Ideally both the net-next tree and the vhost tree could pull from the > above. As Michael prefers to hide the warning in patch 4/9 and this series in the current form has now conflicts with the current net-next tree, I just shared a v7, with a more detailed merge plan in the cover letter. Thanks, Paolo