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. v3: - patch 2: fail a case when one of its captures dies (Sashiko review) - patch 2: also check amtg rx_dropped, as the changelog says, and mention the plain-datagram cases there (Sashiko review) - patch 2: wait for a fresh READY, and fail a case when a helper does not start (Sashiko review) - patch 2: fail, not skip, when no relayed probe gets through (Sashiko review) - patch 2: fail, not skip, a tx-on UDP_SEGMENT case in which no GSO skb reaches amt_dev_xmit(), as the changelog says - patch 2: make amt_gso reject sizes that would overflow its buffers (Sashiko review) - patch 1 is unchanged v2: https://lore.kernel.org/all/[email protected]/ - 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 | 462 +++++++++++++++++++++++++ tools/testing/selftests/net/amt_gso.sh | 282 +++++++++++++++ tools/testing/selftests/net/config | 1 + 6 files changed, 758 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)

