All of lore.kernel.org
 help / color / mirror / Atom feed
From: tanhuazhong <tanhuazhong@huawei.com>
To: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Cc: David Miller <davem@davemloft.net>,
	Network Development <netdev@vger.kernel.org>,
	<linuxarm@huawei.com>, Jakub Kicinski <kuba@kernel.org>
Subject: Re: [RFC net-next 1/2] udp: add NETIF_F_GSO_UDP_L4 to NETIF_F_SOFTWARE_GSO
Date: Thu, 9 Jul 2020 10:49:30 +0800	[thread overview]
Message-ID: <aee519de-c793-a2a7-34d1-c18c90080ca6@huawei.com> (raw)
In-Reply-To: <CA+FuTScYPDhP0NigDgcu+Gpz5GUxttX2htS1NT__pqQOvtsKqw@mail.gmail.com>



On 2020/7/8 20:11, Willem de Bruijn wrote:
> On Tue, Jul 7, 2020 at 11:50 PM Huazhong Tan <tanhuazhong@huawei.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@google.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@google.com>
>      Signed-off-by: David S. Miller <davem@davemloft.net>
> 
> and
> 
> commit 8eea1ca82be90a7e7a4624ab9cb323574a5f71df
> Author: Willem de Bruijn <willemb@google.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@gmail.com>
>      Signed-off-by: Willem de Bruijn <willemb@google.com>
>      Signed-off-by: David S. Miller <davem@davemloft.net>
> 
> Though with UDP_GRO this specific loop concern is addressed.
> 
> 
> 
>> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.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
>>
> 
> .
> 


  reply	other threads:[~2020-07-09  2:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-08  3:48 [RFC net-next 0/2] net: two updates related to UDP GSO Huazhong Tan
2020-07-08  3:48 ` [RFC net-next 1/2] udp: add NETIF_F_GSO_UDP_L4 to NETIF_F_SOFTWARE_GSO Huazhong Tan
2020-07-08  5:26   ` Eric Dumazet
2020-07-09  2:16     ` tanhuazhong
2020-07-09  2:28       ` Eric Dumazet
2020-07-08 12:11   ` Willem de Bruijn
2020-07-09  2:49     ` tanhuazhong [this message]
2020-07-09 13:34       ` Willem de Bruijn
2020-07-08  3:48 ` [RFC net-next 2/2] net: disable UDP GSO feature when CSUM is disabled Huazhong Tan
2020-07-08  5:36   ` Eric Dumazet
2020-07-09  2:30     ` tanhuazhong
2020-07-09  2:47       ` Eric Dumazet
2020-07-09  2:55         ` tanhuazhong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aee519de-c793-a2a7-34d1-c18c90080ca6@huawei.com \
    --to=tanhuazhong@huawei.com \
    --cc=davem@davemloft.net \
    --cc=kuba@kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=netdev@vger.kernel.org \
    --cc=willemdebruijn.kernel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.