[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aee519de-c793-a2a7-34d1-c18c90080ca6@huawei.com>
Date: Thu, 9 Jul 2020 10:49:30 +0800
From: tanhuazhong <tanhuazhong@...wei.com>
To: Willem de Bruijn <willemdebruijn.kernel@...il.com>
CC: David Miller <davem@...emloft.net>,
Network Development <netdev@...r.kernel.org>,
<linuxarm@...wei.com>, Jakub Kicinski <kuba@...nel.org>
Subject: Re: [RFC net-next 1/2] udp: add NETIF_F_GSO_UDP_L4 to
NETIF_F_SOFTWARE_GSO
On 2020/7/8 20:11, Willem de Bruijn wrote:
> On Tue, Jul 7, 2020 at 11:50 PM Huazhong Tan <tanhuazhong@...wei.com> wrote:
>>
>> Add NETIF_F_SOFTWARE_GSO to the the list of GSO features with
>> a software fallback. This allows UDP GSO to be used even if
>> the hardware does not support it,
>
> That is already the case if just calling UDP_SEGMENT.
>
> It seems the specific goal here is to postpone segmentation when
> going through a vxlan device?
>
yes. without this patch, the segmentation is handled before calling
virtual device's .ndo_start_xmit.
Like TSO, UDP GSO also should be handle as later as possible?
>> and for virtual device such
>> as VxLAN device, this UDP segmentation will be postponed to
>> physical device.
>
> See previous commits
>
> commit 83aa025f535f76733e334e3d2a4d8577c8441a7e
> Author: Willem de Bruijn <willemb@...gle.com>
> Date: Thu Apr 26 13:42:21 2018 -0400
>
> udp: add gso support to virtual devices
>
> Virtual devices such as tunnels and bonding can handle large packets.
> Only segment packets when reaching a physical or loopback device.
>
> Signed-off-by: Willem de Bruijn <willemb@...gle.com>
> Signed-off-by: David S. Miller <davem@...emloft.net>
>
> and
>
> commit 8eea1ca82be90a7e7a4624ab9cb323574a5f71df
> Author: Willem de Bruijn <willemb@...gle.com>
> Date: Tue May 22 11:34:40 2018 -0400
>
> gso: limit udp gso to egress-only virtual devices
>
> Until the udp receive stack supports large packets (UDP GRO), GSO
> packets must not loop from the egress to the ingress path.
>
> Revert the change that added NETIF_F_GSO_UDP_L4 to various virtual
> devices through NETIF_F_GSO_ENCAP_ALL as this included devices that
> may loop packets, such as veth and macvlan.
>
> Instead add it to specific devices that forward to another device's
> egress path, bonding and team.
>
> Fixes: 83aa025f535f ("udp: add gso support to virtual devices")
> CC: Alexander Duyck <alexander.duyck@...il.com>
> Signed-off-by: Willem de Bruijn <willemb@...gle.com>
> Signed-off-by: David S. Miller <davem@...emloft.net>
>
> Though with UDP_GRO this specific loop concern is addressed.
>
>
>
>> Signed-off-by: Huazhong Tan <tanhuazhong@...wei.com>
>> ---
>> include/linux/netdev_features.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/linux/netdev_features.h b/include/linux/netdev_features.h
>> index 2cc3cf8..c7eef16 100644
>> --- a/include/linux/netdev_features.h
>> +++ b/include/linux/netdev_features.h
>> @@ -207,7 +207,7 @@ static inline int find_next_netdev_feature(u64 feature, unsigned long start)
>> NETIF_F_FSO)
>>
>> /* List of features with software fallbacks. */
>> -#define NETIF_F_GSO_SOFTWARE (NETIF_F_ALL_TSO | \
>> +#define NETIF_F_GSO_SOFTWARE (NETIF_F_ALL_TSO | NETIF_F_GSO_UDP_L4 | \
>> NETIF_F_GSO_SCTP)
>>
>> /*
>> --
>> 2.7.4
>>
>
> .
>
Powered by blists - more mailing lists