mbox series

[net-next,v3,0/8] udp: GRO L4 improvements

Message ID cover.1617099959.git.pabeni@redhat.com (mailing list archive)
Headers show
Series udp: GRO L4 improvements | expand

Message

Paolo Abeni March 30, 2021, 10:28 a.m. UTC
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.

v2 -> v3:
 - no code changes, more verbose commit messages and comment in
   patch 1/8

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                         |  23 ++
 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, 323 insertions(+), 13 deletions(-)
 create mode 100755 tools/testing/selftests/net/udpgro_fwd.sh

Comments

patchwork-bot+netdevbpf@kernel.org March 31, 2021, 12:20 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Tue, 30 Mar 2021 12:28:48 +0200 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [net-next,v3,1/8] udp: fixup csum for GSO receive slow path
    https://git.kernel.org/netdev/net-next/c/000ac44da7d0
  - [net-next,v3,2/8] udp: skip L4 aggregation for UDP tunnel packets
    https://git.kernel.org/netdev/net-next/c/18f25dc39990
  - [net-next,v3,3/8] udp: properly complete L4 GRO over UDP tunnel packet
    https://git.kernel.org/netdev/net-next/c/e0e3070a9bc9
  - [net-next,v3,4/8] udp: never accept GSO_FRAGLIST packets
    https://git.kernel.org/netdev/net-next/c/78352f73dc50
  - [net-next,v3,5/8] vxlan: allow L4 GRO passthrough
    https://git.kernel.org/netdev/net-next/c/d18931a92a0b
  - [net-next,v3,6/8] geneve: allow UDP L4 GRO passthrou
    https://git.kernel.org/netdev/net-next/c/61630c4f052b
  - [net-next,v3,7/8] bareudp: allow UDP L4 GRO passthrou
    https://git.kernel.org/netdev/net-next/c/b03ef676ba6d
  - [net-next,v3,8/8] selftests: net: add UDP GRO forwarding self-tests
    https://git.kernel.org/netdev/net-next/c/a062260a9d5f

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html