Re: [PATCH v7 net-next 0/9] virtio: introduce GSO over UDP tunnel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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;





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux