All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Abeni <pabeni@redhat.com>
To: netdev@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Steffen Klassert <steffen.klassert@secunet.com>,
	Willem de Bruijn <willemb@google.com>,
	Alexander Lobakin <alobakin@pm.me>
Subject: [PATCH net-next v2 0/8] udp: GRO L4 improvements
Date: Thu, 25 Mar 2021 18:23:59 +0100	[thread overview]
Message-ID: <cover.1616692794.git.pabeni@redhat.com> (raw)

This series improves the UDP L4 - either 'forward' or 'frag_list' -
co-existence with UDP tunnel GRO, allowing the first to take place
correctly even for encapsulated UDP traffic.

The first for patches are mostly bugfixes, addressing some GRO 
edge-cases when both tunnels and L4 are present, enabled and in use.

The next 3 patches avoid unneeded segmentation when UDP GRO
traffic traverses in the receive path UDP tunnels.

Finally, some self-tests are included, covering the relevant
GRO scenarios.

Even if most patches are actually bugfixes, this series is
targeting net-next, as overall it makes available a new feature.

v1 -> v2:
 - restrict post segmentation csum fixup to the only the relevant pkts
 - use individual 'accept_gso_type' fields instead of whole gso bitmask
   (Willem)
 - use only ipv6 addesses from test range in self-tests (Willem)
 - hopefully clarified most individual patches commit messages

Paolo Abeni (8):
  udp: fixup csum for GSO receive slow path
  udp: skip L4 aggregation for UDP tunnel packets
  udp: properly complete L4 GRO over UDP tunnel packet
  udp: never accept GSO_FRAGLIST packets
  vxlan: allow L4 GRO passthrough
  geneve: allow UDP L4 GRO passthrou
  bareudp: allow UDP L4 GRO passthrou
  selftests: net: add UDP GRO forwarding self-tests

 drivers/net/bareudp.c                     |   1 +
 drivers/net/geneve.c                      |   1 +
 drivers/net/vxlan.c                       |   1 +
 include/linux/udp.h                       |  22 +-
 include/net/udp.h                         |  18 ++
 net/ipv4/udp.c                            |   5 +
 net/ipv4/udp_offload.c                    |  27 ++-
 net/ipv6/udp.c                            |   1 +
 net/ipv6/udp_offload.c                    |   3 +-
 tools/testing/selftests/net/Makefile      |   1 +
 tools/testing/selftests/net/udpgro_fwd.sh | 251 ++++++++++++++++++++++
 11 files changed, 318 insertions(+), 13 deletions(-)
 create mode 100755 tools/testing/selftests/net/udpgro_fwd.sh

-- 
2.26.2


             reply	other threads:[~2021-03-25 17:25 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-25 17:23 Paolo Abeni [this message]
2021-03-25 17:24 ` [PATCH net-next v2 1/8] udp: fixup csum for GSO receive slow path Paolo Abeni
2021-03-26 18:30   ` Willem de Bruijn
2021-03-29 11:25     ` Paolo Abeni
2021-03-29 12:28       ` Willem de Bruijn
2021-03-29 13:24         ` Paolo Abeni
2021-03-29 13:52           ` Willem de Bruijn
2021-03-29 15:00             ` Paolo Abeni
2021-03-29 15:24               ` Willem de Bruijn
2021-03-29 16:23                 ` Paolo Abeni
2021-03-29 22:37                   ` Willem de Bruijn
2021-03-25 17:24 ` [PATCH net-next v2 2/8] udp: skip L4 aggregation for UDP tunnel packets Paolo Abeni
2021-03-26 18:23   ` Willem de Bruijn
2021-03-25 17:24 ` [PATCH net-next v2 3/8] udp: properly complete L4 GRO over UDP tunnel packet Paolo Abeni
2021-03-26 17:51   ` Willem de Bruijn
2021-03-25 17:24 ` [PATCH net-next v2 4/8] udp: never accept GSO_FRAGLIST packets Paolo Abeni
2021-03-26 18:15   ` Willem de Bruijn
2021-03-29  8:11     ` Paolo Abeni
2021-03-29 12:31       ` Willem de Bruijn
2021-03-29 13:29         ` Paolo Abeni
2021-03-25 17:24 ` [PATCH net-next v2 5/8] vxlan: allow L4 GRO passthrough Paolo Abeni
2021-03-25 17:24 ` [PATCH net-next v2 6/8] geneve: allow UDP L4 GRO passthrou Paolo Abeni
2021-03-25 17:24 ` [PATCH net-next v2 7/8] bareudp: " Paolo Abeni
2021-03-25 17:24 ` [PATCH net-next v2 8/8] selftests: net: add UDP GRO forwarding self-tests Paolo Abeni

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=cover.1616692794.git.pabeni@redhat.com \
    --to=pabeni@redhat.com \
    --cc=alobakin@pm.me \
    --cc=davem@davemloft.net \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=steffen.klassert@secunet.com \
    --cc=willemb@google.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.