amt_send_multicast_data() never calls udp_tunnel_handle_offloads(), unlike other UDP tunnels. With tx checksum offload on the amt device (off by default), a UDP_SEGMENT burst through the relay is dropped before patch 1 and delivered after it. Patch 2 adds the selftest.
This follows Eric Dumazet's suggestion on my withdrawn [PATCH net] "amt: do not offer software GSO on the amt device": https://lore.kernel.org/all/[email protected]/ Not touched: amt advertises NETIF_F_GSO_FRAGLIST and skb_copy_expand() refuses such skbs with a WARN_ON_ONCE(). I have not reproduced it, and it would be a separate fix. v2: - shorten the changelogs, add Suggested-by, and move the testing notes below the "---" (Eric); patch 1's code is unchanged, one comment is corrected - patch 2: fix the shellcheck and 80-column checkpatch findings reported by the netdev CI, skip when AF_PACKET is not available (v1 reported no result and exit 0), add CONFIG_PACKET to the config, drop dead options and code v1: https://lore.kernel.org/all/[email protected]/ Omar Ramadan (2): amt: mark relay data as a UDP tunnel packet before sending it selftests: net: add an amt test for UDP_SEGMENT through the relay drivers/net/amt.c | 10 + tools/testing/selftests/net/.gitignore | 1 + tools/testing/selftests/net/Makefile | 2 + tools/testing/selftests/net/amt_gso.c | 457 +++++++++++++++++++++++++ tools/testing/selftests/net/amt_gso.sh | 269 +++++++++++++++ tools/testing/selftests/net/config | 1 + 6 files changed, 740 insertions(+) create mode 100644 tools/testing/selftests/net/amt_gso.c create mode 100755 tools/testing/selftests/net/amt_gso.sh -- 2.50.1 (Apple Git-155)

