netdev.vger.kernel.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).