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
>>
>
> .
>
next prev parent 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).