On 7/8/25 8:23 PM, Michael S. Tsirkin wrote: > On Tue, Jul 08, 2025 at 06:43:17PM +0200, Paolo Abeni wrote: >> On 7/8/25 6:00 PM, Michael S. Tsirkin wrote: >>> On Tue, Jul 08, 2025 at 08:24:04AM -0700, Jakub Kicinski wrote: >>>> On Tue, 8 Jul 2025 11:01:30 -0400 Michael S. Tsirkin wrote: >>>>>> git@xxxxxxxxxx:pabeni/linux-devel.git virtio_udp_tunnel_07_07_2025 >>>>>> >>>>>> The first 5 patches in this series, that is, the virtio features >>>>>> extension bits are also available at [2]: >>>>>> >>>>>> git@xxxxxxxxxx:pabeni/linux-devel.git virtio_features_extension_07_07_2025 >>>>>> >>>>>> Ideally the virtio features extension bit should go via the virtio tree >>>>>> and the virtio_net/tun patches via the net-next tree. The latter have >>>>>> a dependency in the first and will cause conflicts if merged via the >>>>>> virtio tree, both when applied and at merge window time - inside Linus >>>>>> tree. >>>>>> >>>>>> To avoid such conflicts and duplicate commits I think the net-next >>>>>> could pull from [1], while the virtio tree could pull from [2]. >>>>> >>>>> Or I could just merge all of this in my tree, if that's ok >>>>> with others? >>>> >>>> No strong preference here. My first choice would be a branch based >>>> on v6.16-rc5 so we can all pull in and resolve the conflicts that >>>> already exist. But I haven't looked how bad the conflicts would >>>> be for virtio if we did that. On net-next side they look manageable. >>> >>> OK, let's do it the way Paolo wants then. >> >> I actually messed a bit with my proposal, as I forgot I need to use a >> common ancestor for the branches I shared. >> >> git@xxxxxxxxxx:pabeni/linux-devel.git virtio_features_extension_07_07_2025 >> >> is based on current net-next and pulling from such tag will take a lot >> of unwanted stuff into the vhost tree. >> >> @Michael: AFAICS the current vhost devel tree is based on top of >> v6.15-rc7, am I correct? > > Yes I'll rebase it soon. I see you rebase on v6.16-rc5, thanks! The whole series in now also available based on top of v6.16-rc5 here: git@xxxxxxxxxx:pabeni/linux-devel.git virtio_udp_tunnel_08_07_2025 I'm not sending the above to netdev, as it will likely foul the bot and the CI. Please LMK if you prefer otherwise. With default config/strategy I can pull the above on top of the vhost tree with no conflicts and auto merging. Pulling on net-next will see a conflict in patch 8/9, file tun.c inside tun_xdp_one(), and the resolution is as follow, which will yield the code posted here: https://lore.kernel.org/netdev/f076f2e1fa91041b15cf46efadc6708924afe8e0.1751874094.git.pabeni@xxxxxxxxxx/ --- diff --cc drivers/net/tun.c index 447c37959504,abc91f28dac4..49bcd12a4ac8 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@@ -2356,12 -2378,15 +2378,14 @@@ static int tun_xdp_one(struct tun_struc struct tun_page *tpage) { unsigned int datasize = xdp->data_end - xdp->data; - struct tun_xdp_hdr *hdr = xdp->data_hard_start; + struct virtio_net_hdr *gso = xdp->data_hard_start; + struct virtio_net_hdr_v1_hash_tunnel *tnl_hdr; - struct virtio_net_hdr *gso = &hdr->gso; struct bpf_prog *xdp_prog; struct sk_buff *skb = NULL; struct sk_buff_head *queue; + netdev_features_t features; u32 rxhash = 0, act; - int buflen = hdr->buflen; + int buflen = xdp->frame_sz; int metasize = 0;