Skip to content

udp: GRO L4 improvements

Paolo Abeni netdev 3 versions – Applied

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

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest8 patches 4 repliesApplied 8/8
  2. v28 patches 15 repliesSuperseded
  3. v18 patches 26 repliesSuperseded

Changes in v3 from the cover letter

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

Patches in v3 All 8 applied

#Subject and filesSizeRepliesApplied
1/8udp: fixup csum for GSO receive slow pathinclude/net/udp.h net/ipv4/udp.c net/ipv6/udp.c+26 -01 replyApplied
2/8udp: skip L4 aggregation for UDP tunnel packetsnet/ipv4/udp_offload.c+11 -80 repliesApplied
3/8udp: properly complete L4 GRO over UDP tunnel packetnet/ipv4/udp_offload.c net/ipv6/udp_offload.c+9 -20 repliesApplied
4/8udp: never accept GSO_FRAGLIST packetsinclude/linux/udp.h net/ipv4/udp.c+16 -31 replyApplied
5/8vxlan: allow L4 GRO passthroughdrivers/net/vxlan.c include/linux/udp.h+7 -01 replyApplied
6/8geneve: allow UDP L4 GRO passthroudrivers/net/geneve.c+1 -00 repliesApplied
7/8bareudp: allow UDP L4 GRO passthroudrivers/net/bareudp.c+1 -00 repliesApplied
8/8selftests: net: add UDP GRO forwarding self-teststools/testing/selftests/net/Makefile tools/testing/selftests/net/udpgro_fwd.sh+252 -01 replyApplied

Reviews trailers per patch

6 of 8 patches have a Reviewed-by or Acked-by.

PatchWillem de Bruijn
1/8R-b
2/8R-b
3/8R-b
4/8R-b
5/8R-b
6/8
7/8
8/8A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH net-next v3 0/8] udp: GRO L4 improvements

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
Signature · 1 line
2.26.2