From f9f27bfc47cbf3b4642a567ee03e2445139ef439 Mon Sep 17 00:00:00 2001 From: Maxim Mikityanskiy Date: Mon, 6 Oct 2025 17:52:39 +0300 Subject: [PATCH 1/3] tests: Add coverage for GSO/TSO and BIG TCP This commit adds coverage that affirms the current behavior of tcpdump when it parses packets captured in Linux with aggregation offloads enabled (such as GRO, GSO, TSO and BIG TCP). New tests include: 1. GRO/GSO/TSO TCP packets. These have ip_len (IPv4) or payload_len (IPv6) set to a value bigger than MTU, but smaller than 64k (fits the width of the length field, which is 16 bits). 2. BIG TCP packets, as currently implemented in Linux. These aggregated packets are larger than 64k. In IPv4, ip_len is just set to 0. In IPv6, payload_len is also set to 0, and the real length of the payload is indicated in the Jumbo option of the Hop-by-hop extension header, immediately following the IPv6 header. 3. A corner case: a small (<64k) IPv4 packet with ip_len set to 0. Turns out that both tcpdump and wireshark treat such packets as valid, regardless of the transport protocol, simply printing a message that TSO was presumed. While my tests show that TSO actually fills in the correct (non-zero) value into the ip_len field, the test suite already contains a test called ipv4_tcp_http_xml_tso with a 2030-byte TCP/IPv4 packet that has ip_len = 0, but it's treated as a valid packet. The packet was captured in 2012, and the exact circumstances of why it has a zero ip_len are unclear to me, but if such packets are considered valid by both tcpdump and wireshark, I'm extending the coverage by adding an ICMP packet with ip_len = 0, which was manually crafted. Signed-off-by: Maxim Mikityanskiy --- tests/TESTLIST | 7 +++++++ tests/bigtcp-ipv4.out | 2 ++ tests/bigtcp-ipv4.pcap | Bin 0 -> 80106 bytes tests/bigtcp-ipv6-hbh.out | 1 + tests/bigtcp-ipv6-hbh.pcap | Bin 0 -> 80134 bytes tests/gso-ipv4.out | 2 ++ tests/gso-ipv4.pcap | Bin 0 -> 7346 bytes tests/gso-ipv6.out | 1 + tests/gso-ipv6.pcap | Bin 0 -> 7266 bytes tests/icmp-length-zero.out | 2 ++ tests/icmp-length-zero.pcap | Bin 0 -> 380 bytes 11 files changed, 15 insertions(+) create mode 100644 tests/bigtcp-ipv4.out create mode 100644 tests/bigtcp-ipv4.pcap create mode 100644 tests/bigtcp-ipv6-hbh.out create mode 100644 tests/bigtcp-ipv6-hbh.pcap create mode 100644 tests/gso-ipv4.out create mode 100644 tests/gso-ipv4.pcap create mode 100644 tests/gso-ipv6.out create mode 100644 tests/gso-ipv6.pcap create mode 100644 tests/icmp-length-zero.out create mode 100644 tests/icmp-length-zero.pcap diff --git a/tests/TESTLIST b/tests/TESTLIST index 56831870f..cc9b5c966 100644 --- a/tests/TESTLIST +++ b/tests/TESTLIST @@ -1053,3 +1053,10 @@ LINKTYPE_IPV6_invalid-e LINKTYPE_IPV6_invalid.pcap LINKTYPE_IPV6_invalid-e.out - # ipv6_mobility_1.pcap is built with scapy ipv6_mobility_1 ipv6_mobility_1.pcap ipv6_mobility_1.out ipv6_mobility_1-v ipv6_mobility_1.pcap ipv6_mobility_1-v.out -v + +# Aggregation offloads (GSO, BIG TCP) +gso-ipv4 gso-ipv4.pcap gso-ipv4.out -v +gso-ipv6 gso-ipv6.pcap gso-ipv6.out -v +bigtcp-ipv4 bigtcp-ipv4.pcap bigtcp-ipv4.out -v +bigtcp-ipv6-hbh bigtcp-ipv6-hbh.pcap bigtcp-ipv6-hbh.out -v +icmp-length-zero icmp-length-zero.pcap icmp-length-zero.out -v diff --git a/tests/bigtcp-ipv4.out b/tests/bigtcp-ipv4.out new file mode 100644 index 000000000..4f47228bb --- /dev/null +++ b/tests/bigtcp-ipv4.out @@ -0,0 +1,2 @@ + 1 2025-10-02 15:05:40.030951 IP (tos 0x0, ttl 64, id 12031, offset 0, flags [DF], proto TCP (6), length 80052 [was 0, presumed TSO]) + 10.25.132.13.35871 > 10.25.132.11.36425: Flags [P.], cksum 0x54f2 (incorrect -> 0x199e), seq 4155358606:4155438606, ack 17023525, win 635, options [nop,nop,TS val 3921144597 ecr 3152931631], length 80000 diff --git a/tests/bigtcp-ipv4.pcap b/tests/bigtcp-ipv4.pcap new file mode 100644 index 0000000000000000000000000000000000000000..6e776cbb7d476eb3b9ad7f1ba5bac4e7e6e4bc06 GIT binary patch literal 80106 zcmeIyu}Z>m5CGu&=^qiLt-z)xS6v%j8r*vY#YrL>0vCt2#K{-v0c>a~5FM=9so7OT zL};k7{ 2604:1380:4091:ce00::b: HBH (jumbo: 80040) 41851 > 43913: Flags [P.], cksum 0xc8eb (incorrect -> 0x3146), seq 592820498:592900498, ack 2512896041, win 2128, options [nop,nop,TS val 1186840160 ecr 4237097528], length 80000 diff --git a/tests/bigtcp-ipv6-hbh.pcap b/tests/bigtcp-ipv6-hbh.pcap new file mode 100644 index 0000000000000000000000000000000000000000..e66de254965c20985f6fdff3257ccb82bbc2ff82 GIT binary patch literal 80134 zcmeIyAxlG16ae7!#$$|$#Vyzc!MOI~lG(DpGBL>zn`KEES`2o@G7!ts3=WxLOD|bn zF%GmDWWk3p6o12a;Bq){?+J%{zL)3WO)1j&jWm*?ILqG-2G^ySXUWeg$NYZ$G0H#F z^ZMy)yV`g!E;YB)TCaJTuO6@etJlggDcWU&+mpNgR_kHoYWlR(+pO%(77UQbIKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K0 z2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`2 z9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0W zzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h z00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70 z103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh1 z4sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4 dIKTl8aDW3G-~b0WzyS_$fCC)h00;g$@D2CEh 10.25.132.13.39701: Flags [P.], cksum 0x38b9 (incorrect -> 0xb3af), seq 964901299:964908539, ack 2308918948, win 166, options [nop,nop,TS val 3244203756 ecr 4012416721], length 7240 diff --git a/tests/gso-ipv4.pcap b/tests/gso-ipv4.pcap new file mode 100644 index 0000000000000000000000000000000000000000..a92b5987c1e578b2cfdcca82d7e09a852f31e59d GIT binary patch literal 7346 zcmca|c+)~A1{MYcU}0bca(sT?&-fe5#Ly+f0LDAcePihsxw8KIZI9_346Y0^H4COW zFxaxC%;u78;Ra&fY3#E_Et@Sjch2`)(jdXG%wi`410y2`*TJ}XZ{BOnyO@_+Qjl7d z#xP2chQnw&7|jQx<-lk;Fj@|bmII^Zz-T!zS`Lhs1Eb}@XgM%i4vdxqqvgP8IWSrd gjFtnV<-lk;Fj@|bmII^Zz-T!zS`Lhs1F&)c0PES3D*ylh literal 0 HcmV?d00001 diff --git a/tests/gso-ipv6.out b/tests/gso-ipv6.out new file mode 100644 index 000000000..3b0d2c64a --- /dev/null +++ b/tests/gso-ipv6.out @@ -0,0 +1 @@ + 1 2025-10-03 16:27:33.363746 IP6 (flowlabel 0x6e481, hlim 61, next-header TCP (6), payload length 7172) 2604:1380:4091:ce00::b.36539 > 2604:1380:4091:ce00::d.45393: Flags [P.], cksum 0xac4e (incorrect -> 0xd25e), seq 1110639583:1110646723, ack 3034762532, win 169, options [nop,nop,TS val 3655207884 ecr 3954243053], length 7140 diff --git a/tests/gso-ipv6.pcap b/tests/gso-ipv6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..b2f07aa52a278d1f3a0959b241b923fd84c3cd6a GIT binary patch literal 7266 zcmca|c+)~A1{MYcU}0bca!P;R&v?|s%3vkK0LDAcePihsxw8KIt%t>JcN5s2G|I5B z*{ZP!H#kf@2h+@r#^>$Zy)n?qnEC#eM`u+UBp6n%@nc|MWaQwwd5`kVJu=B1Vt zq!y(yjMAgwFq#fV^TB92Fj@|bmII^Zz-T!zS`Lhs1Eb}@XgM%i4vdxqqvgP8IWSrd hjFtnV<-lk;Fj@|bmII^Zz-T!zS`Lhs14E-6004Iva`FHG literal 0 HcmV?d00001 diff --git a/tests/icmp-length-zero.out b/tests/icmp-length-zero.out new file mode 100644 index 000000000..7eb896367 --- /dev/null +++ b/tests/icmp-length-zero.out @@ -0,0 +1,2 @@ + 1 2025-10-06 13:09:13.000001 IP (tos 0x0, ttl 61, id 19706, offset 0, flags [DF], proto ICMP (1), length 84 [was 0, presumed TSO]) + 10.25.132.11 > 10.25.132.13: ICMP echo request, id 12931, seq 1, length 64 diff --git a/tests/icmp-length-zero.pcap b/tests/icmp-length-zero.pcap new file mode 100644 index 0000000000000000000000000000000000000000..42d86861302b6ff81689381e374465ef08bba633 GIT binary patch literal 380 zcmd<$<>flSz`)>Zqb4QDRAIib7gZey&1hUO{PzLRw}{szOR> zZh>A&MTs5*6N3$dqpyoXP-RtWo`ShTK#;$Jg@uWMN3cSK_fh~D782vu_#+p!9>qQ&l2cT28IJb405vtlxARH0lG(s!7VX6Rl(CuN1+5} z00RRjP$ef&9SDHbvjK4nhyw&qUt~+XsJ(wI3CITF9p}EWbc Date: Tue, 10 Jun 2025 09:46:48 +0000 Subject: [PATCH 2/3] ipv6: Support new BIG TCP without HBH Currently, BIG TCP IPv6 inserts a hop-by-hop extension header with a jumbo payload option to reflect the real length of the packet bigger than 65535 bytes. New kernels will drop this extension header and just calculate the packet length from skb->len, like it's currently done for BIG TCP IPv4. Reflect the future kernel change in tcpdump and support parsing such packets. BIG TCP only sets payload_len = 0 when the actual payload length is 65536 or more. Check that explicitly, so that smaller packets with payload_len = 0 are still considered invalid, like in the test called icmpv6-length-zero. Do not check the transport protocol, though, because TCP may be inner in an encapsulated packet, e.g., in UDP-based tunnels, such as VXLAN and GENEVE. Signed-off-by: Maxim Mikityanskiy --- print-ip6.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/print-ip6.c b/print-ip6.c index 269b41fb2..1ae7ce02f 100644 --- a/print-ip6.c +++ b/print-ip6.c @@ -466,14 +466,23 @@ ip6_print(netdissect_options *ndo, const u_char *bp, u_int length) /* * OK, we didn't see any extension - * header, but that means we have - * no payload, so set the length - * to the IPv6 header length, + * header - presume BIG TCP without + * a Jumbo Payload option, but only + * if it's actually >64k. Otherwise, + * we have no payload, so set the + * length to the IPv6 header length, * and change the snapshot length * accordingly. */ - len = sizeof(struct ip6_hdr); - nd_change_snaplen(ndo, bp, len); + if (length > 65535) { + len = length; + if (ndo->ndo_vflag) + ND_PRINT("[real length %u, presumed BIG TCP] ", + len); + } else { + len = sizeof(struct ip6_hdr); + nd_change_snaplen(ndo, bp, len); + } /* * Now subtract the length of From c6173d8584d14bc012912ef1ca7e219d9c533cc6 Mon Sep 17 00:00:00 2001 From: Maxim Mikityanskiy Date: Mon, 6 Oct 2025 21:20:07 +0300 Subject: [PATCH 3/3] tests: Add coverage for new BIG TCP cases This commit adds tests for BIG TCP IPv6 without a hop-by-hop header, as announced in the previous commit, and also for encapsulated BIG TCP packets: TCP inside a VXLAN or GENEVE tunnel, for all combinations of outer/inner IPv4/IPv6. Besides that, this commit adds tests for similar tunneled packets, but non-BIG TCP, i.e. smaller than 64k, regular GSO. These packets don't set ip_len or payload_len to 0. Signed-off-by: Maxim Mikityanskiy --- tests/TESTLIST | 17 +++++++++++++++++ tests/bigtcp-ipv4-geneve-ipv4.out | 4 ++++ tests/bigtcp-ipv4-geneve-ipv4.pcap | Bin 0 -> 80156 bytes tests/bigtcp-ipv4-geneve-ipv6.out | 3 +++ tests/bigtcp-ipv4-geneve-ipv6.pcap | Bin 0 -> 80176 bytes tests/bigtcp-ipv4-vxlan-ipv4.out | 4 ++++ tests/bigtcp-ipv4-vxlan-ipv4.pcap | Bin 0 -> 80156 bytes tests/bigtcp-ipv4-vxlan-ipv6.out | 3 +++ tests/bigtcp-ipv4-vxlan-ipv6.pcap | Bin 0 -> 80100 bytes tests/bigtcp-ipv6-geneve-ipv4.out | 3 +++ tests/bigtcp-ipv6-geneve-ipv4.pcap | Bin 0 -> 80176 bytes tests/bigtcp-ipv6-geneve-ipv6.out | 2 ++ tests/bigtcp-ipv6-geneve-ipv6.pcap | Bin 0 -> 80196 bytes tests/bigtcp-ipv6-vxlan-ipv4.out | 3 +++ tests/bigtcp-ipv6-vxlan-ipv4.pcap | Bin 0 -> 80176 bytes tests/bigtcp-ipv6-vxlan-ipv6.out | 2 ++ tests/bigtcp-ipv6-vxlan-ipv6.pcap | Bin 0 -> 80196 bytes tests/bigtcp-ipv6.out | 1 + tests/bigtcp-ipv6.pcap | Bin 0 -> 80094 bytes tests/gso-ipv4-geneve-ipv4.out | 4 ++++ tests/gso-ipv4-geneve-ipv4.pcap | Bin 0 -> 7146 bytes tests/gso-ipv4-geneve-ipv6.out | 3 +++ tests/gso-ipv4-geneve-ipv6.pcap | Bin 0 -> 4310 bytes tests/gso-ipv4-vxlan-ipv4.out | 4 ++++ tests/gso-ipv4-vxlan-ipv4.pcap | Bin 0 -> 7146 bytes tests/gso-ipv4-vxlan-ipv6.out | 3 +++ tests/gso-ipv4-vxlan-ipv6.pcap | Bin 0 -> 4310 bytes tests/gso-ipv6-geneve-ipv4.out | 3 +++ tests/gso-ipv6-geneve-ipv4.pcap | Bin 0 -> 7066 bytes tests/gso-ipv6-geneve-ipv6.out | 2 ++ tests/gso-ipv6-geneve-ipv6.pcap | Bin 0 -> 6986 bytes tests/gso-ipv6-vxlan-ipv4.out | 3 +++ tests/gso-ipv6-vxlan-ipv4.pcap | Bin 0 -> 7066 bytes tests/gso-ipv6-vxlan-ipv6.out | 2 ++ tests/gso-ipv6-vxlan-ipv6.pcap | Bin 0 -> 4270 bytes 35 files changed, 66 insertions(+) create mode 100644 tests/bigtcp-ipv4-geneve-ipv4.out create mode 100644 tests/bigtcp-ipv4-geneve-ipv4.pcap create mode 100644 tests/bigtcp-ipv4-geneve-ipv6.out create mode 100644 tests/bigtcp-ipv4-geneve-ipv6.pcap create mode 100644 tests/bigtcp-ipv4-vxlan-ipv4.out create mode 100644 tests/bigtcp-ipv4-vxlan-ipv4.pcap create mode 100644 tests/bigtcp-ipv4-vxlan-ipv6.out create mode 100644 tests/bigtcp-ipv4-vxlan-ipv6.pcap create mode 100644 tests/bigtcp-ipv6-geneve-ipv4.out create mode 100644 tests/bigtcp-ipv6-geneve-ipv4.pcap create mode 100644 tests/bigtcp-ipv6-geneve-ipv6.out create mode 100644 tests/bigtcp-ipv6-geneve-ipv6.pcap create mode 100644 tests/bigtcp-ipv6-vxlan-ipv4.out create mode 100644 tests/bigtcp-ipv6-vxlan-ipv4.pcap create mode 100644 tests/bigtcp-ipv6-vxlan-ipv6.out create mode 100644 tests/bigtcp-ipv6-vxlan-ipv6.pcap create mode 100644 tests/bigtcp-ipv6.out create mode 100644 tests/bigtcp-ipv6.pcap create mode 100644 tests/gso-ipv4-geneve-ipv4.out create mode 100644 tests/gso-ipv4-geneve-ipv4.pcap create mode 100644 tests/gso-ipv4-geneve-ipv6.out create mode 100644 tests/gso-ipv4-geneve-ipv6.pcap create mode 100644 tests/gso-ipv4-vxlan-ipv4.out create mode 100644 tests/gso-ipv4-vxlan-ipv4.pcap create mode 100644 tests/gso-ipv4-vxlan-ipv6.out create mode 100644 tests/gso-ipv4-vxlan-ipv6.pcap create mode 100644 tests/gso-ipv6-geneve-ipv4.out create mode 100644 tests/gso-ipv6-geneve-ipv4.pcap create mode 100644 tests/gso-ipv6-geneve-ipv6.out create mode 100644 tests/gso-ipv6-geneve-ipv6.pcap create mode 100644 tests/gso-ipv6-vxlan-ipv4.out create mode 100644 tests/gso-ipv6-vxlan-ipv4.pcap create mode 100644 tests/gso-ipv6-vxlan-ipv6.out create mode 100644 tests/gso-ipv6-vxlan-ipv6.pcap diff --git a/tests/TESTLIST b/tests/TESTLIST index cc9b5c966..ad6861948 100644 --- a/tests/TESTLIST +++ b/tests/TESTLIST @@ -1056,7 +1056,24 @@ ipv6_mobility_1-v ipv6_mobility_1.pcap ipv6_mobility_1-v.out -v # Aggregation offloads (GSO, BIG TCP) gso-ipv4 gso-ipv4.pcap gso-ipv4.out -v +gso-ipv4-geneve-ipv4 gso-ipv4-geneve-ipv4.pcap gso-ipv4-geneve-ipv4.out -v +gso-ipv4-geneve-ipv6 gso-ipv4-geneve-ipv6.pcap gso-ipv4-geneve-ipv6.out -v +gso-ipv4-vxlan-ipv4 gso-ipv4-vxlan-ipv4.pcap gso-ipv4-vxlan-ipv4.out -v +gso-ipv4-vxlan-ipv6 gso-ipv4-vxlan-ipv6.pcap gso-ipv4-vxlan-ipv6.out -v gso-ipv6 gso-ipv6.pcap gso-ipv6.out -v +gso-ipv6-geneve-ipv4 gso-ipv6-geneve-ipv4.pcap gso-ipv6-geneve-ipv4.out -v +gso-ipv6-geneve-ipv6 gso-ipv6-geneve-ipv6.pcap gso-ipv6-geneve-ipv6.out -v +gso-ipv6-vxlan-ipv4 gso-ipv6-vxlan-ipv4.pcap gso-ipv6-vxlan-ipv4.out -v +gso-ipv6-vxlan-ipv6 gso-ipv6-vxlan-ipv6.pcap gso-ipv6-vxlan-ipv6.out -v bigtcp-ipv4 bigtcp-ipv4.pcap bigtcp-ipv4.out -v +bigtcp-ipv4-geneve-ipv4 bigtcp-ipv4-geneve-ipv4.pcap bigtcp-ipv4-geneve-ipv4.out -v +bigtcp-ipv4-geneve-ipv6 bigtcp-ipv4-geneve-ipv6.pcap bigtcp-ipv4-geneve-ipv6.out -v +bigtcp-ipv4-vxlan-ipv4 bigtcp-ipv4-vxlan-ipv4.pcap bigtcp-ipv4-vxlan-ipv4.out -v +bigtcp-ipv4-vxlan-ipv6 bigtcp-ipv4-vxlan-ipv6.pcap bigtcp-ipv4-vxlan-ipv6.out -v +bigtcp-ipv6 bigtcp-ipv6.pcap bigtcp-ipv6.out -v bigtcp-ipv6-hbh bigtcp-ipv6-hbh.pcap bigtcp-ipv6-hbh.out -v +bigtcp-ipv6-geneve-ipv4 bigtcp-ipv6-geneve-ipv4.pcap bigtcp-ipv6-geneve-ipv4.out -v +bigtcp-ipv6-geneve-ipv6 bigtcp-ipv6-geneve-ipv6.pcap bigtcp-ipv6-geneve-ipv6.out -v +bigtcp-ipv6-vxlan-ipv4 bigtcp-ipv6-vxlan-ipv4.pcap bigtcp-ipv6-vxlan-ipv4.out -v +bigtcp-ipv6-vxlan-ipv6 bigtcp-ipv6-vxlan-ipv6.pcap bigtcp-ipv6-vxlan-ipv6.out -v icmp-length-zero icmp-length-zero.pcap icmp-length-zero.out -v diff --git a/tests/bigtcp-ipv4-geneve-ipv4.out b/tests/bigtcp-ipv4-geneve-ipv4.out new file mode 100644 index 000000000..9285267c8 --- /dev/null +++ b/tests/bigtcp-ipv4-geneve-ipv4.out @@ -0,0 +1,4 @@ + 1 2025-10-03 14:04:08.505389 IP (tos 0x0, ttl 61, id 44946, offset 0, flags [none], proto UDP (17), length 80102 [was 0, presumed TSO]) + 10.25.132.11.29804 > 10.25.132.13.6081: Geneve, Flags [none], vni 0x1389 + IP (tos 0x0, ttl 64, id 3511, offset 0, flags [DF], proto TCP (6), length 80052 [was 0, presumed TSO]) + 192.168.1.2.35663 > 192.168.1.1.38005: Flags [P.], cksum 0xbbfb (incorrect -> 0xe8f3), seq 341409049:341489049, ack 461929438, win 325, options [nop,nop,TS val 3707257633 ecr 891304888], length 80000 diff --git a/tests/bigtcp-ipv4-geneve-ipv4.pcap b/tests/bigtcp-ipv4-geneve-ipv4.pcap new file mode 100644 index 0000000000000000000000000000000000000000..2127dda7166b953aba1f0af77f54f342c33e37c1 GIT binary patch literal 80156 zcmeIy%__uE7zf~UG%<~)$P|-}xd2O2Qd63ZjV%{2SV&^nNLg6WtjG;mC`wJuf+;Do zx0)i!#|7BQM@s&g1sCz0`gJ<>p0jv+&(plB@3)0i_*_TCcoL4BwLy9y==Wwo(etN;d}UC_UU-_d}pHY*}9QE zErw$I(aXhQY)cZWlY1+<>Ggd7*4o2HUo4${g%D#pbN?}37#bLDER-vY<)xWm*9UXp zA8>#J9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4 zIKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G z-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$ zfCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h0 z0S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K0 z2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`2 z9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0W NzyS_$fCK*>_yLidk_i9+ literal 0 HcmV?d00001 diff --git a/tests/bigtcp-ipv4-geneve-ipv6.out b/tests/bigtcp-ipv4-geneve-ipv6.out new file mode 100644 index 000000000..0689393fc --- /dev/null +++ b/tests/bigtcp-ipv4-geneve-ipv6.out @@ -0,0 +1,3 @@ + 1 2025-10-03 14:03:56.656908 IP (tos 0x0, ttl 61, id 27215, offset 0, flags [none], proto UDP (17), length 80122 [was 0, presumed TSO]) + 10.25.132.11.60614 > 10.25.132.13.6081: Geneve, Flags [none], vni 0x1389 + IP6 (flowlabel 0x75c1b, hlim 64, next-header TCP (6), payload length 0) [real length 80072, presumed BIG TCP] fd00::2.40433 > fd00::1.41423: Flags [P.], cksum 0x32ac (incorrect -> 0xe0f8), seq 79142004:79222004, ack 3545221731, win 319, options [nop,nop,TS val 1489592988 ecr 3996598946], length 80000 diff --git a/tests/bigtcp-ipv4-geneve-ipv6.pcap b/tests/bigtcp-ipv4-geneve-ipv6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..c8995e68484c66c6a74a422376f97766afd31361 GIT binary patch literal 80176 zcmeIyu`7gO7y$71yS~nK7(^kHf5AWok+N8Bu-sq}eaIkjnGI4h+0SswcBL#V1}Q~i zaHW*6OIch7@?kjn8-8y+z3)>`&r@&j`>UNER5BqBjTMI|O)hUA=3BD)kQQ z;2rn}9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4 zIKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G z-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$ zfCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h0 z0S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K0 z2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`2 z9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0W QzyS_$fCC)hz+VTx07HI|tpET3 literal 0 HcmV?d00001 diff --git a/tests/bigtcp-ipv4-vxlan-ipv4.out b/tests/bigtcp-ipv4-vxlan-ipv4.out new file mode 100644 index 000000000..7abf6cbee --- /dev/null +++ b/tests/bigtcp-ipv4-vxlan-ipv4.out @@ -0,0 +1,4 @@ + 1 2025-10-02 15:12:35.180627 IP (tos 0x0, ttl 61, id 28457, offset 0, flags [none], proto UDP (17), length 80102 [was 0, presumed TSO]) + 10.25.132.11.47044 > 10.25.132.13.4789: VXLAN, flags [I] (0x08), vni 5001 +IP (tos 0x0, ttl 64, id 31532, offset 0, flags [DF], proto TCP (6), length 80052 [was 0, presumed TSO]) + 192.168.1.2.36875 > 192.168.1.1.36449: Flags [P.], cksum 0xbbfb (incorrect -> 0xad1f), seq 497210414:497290414, ack 1007986268, win 370, options [nop,nop,TS val 3624964308 ecr 809011563], length 80000 diff --git a/tests/bigtcp-ipv4-vxlan-ipv4.pcap b/tests/bigtcp-ipv4-vxlan-ipv4.pcap new file mode 100644 index 0000000000000000000000000000000000000000..4ed6cebaa5ae62ee6de31fa5e00aa2a4a0573f51 GIT binary patch literal 80156 zcmeIyzbnLH90%~{xh`EU<;M*S2BQ)t-Eis_i`{0C4yDkM$YQWuN+)Hf$e@%GB}L4p z?;wNt7bKFBF9!aI*HiDFp87n`@aglslI!E0Ovr}6l?^dHjBh_oZCz!;OELcB?DjRg zUPzAK?w{s!VJNMb?G9nE<$1ZWV=bSi>GY=cB!rQ^-1k#$weUHxH~DzDc(FO$_5OQf zrKcRq4W*^agP2JZ>-mkb&fTQ9RM;O~ZI9LSj}T(aHQqJXlm23DdZw~4SE)_}yFQo$ z|9}G=-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0W zzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h z00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70 z103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh1 z4sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4 zIKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G z-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$ zfCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h0 N0S<70104A8z!#wWkthHF literal 0 HcmV?d00001 diff --git a/tests/bigtcp-ipv4-vxlan-ipv6.out b/tests/bigtcp-ipv4-vxlan-ipv6.out new file mode 100644 index 000000000..7274b8fb0 --- /dev/null +++ b/tests/bigtcp-ipv4-vxlan-ipv6.out @@ -0,0 +1,3 @@ + 1 2025-10-02 15:12:54.704284 IP (tos 0x0, ttl 61, id 59958, offset 0, flags [none], proto UDP (17), length 80046 [was 0, presumed TSO]) + 10.25.132.11.60879 > 10.25.132.13.4789: VXLAN, flags [I] (0x08), vni 5001 +IP6 (flowlabel 0xac0c4, hlim 64, next-header TCP (6), payload length 0) [real length 79996, presumed BIG TCP] fd00::2.33673 > fd00::1.36425: Flags [P.], cksum 0x3260 (incorrect -> 0xb98b), seq 1339751239:1339831163, ack 3942433666, win 373, options [nop,nop,TS val 1407331035 ecr 3914336993], length 79924 diff --git a/tests/bigtcp-ipv4-vxlan-ipv6.pcap b/tests/bigtcp-ipv4-vxlan-ipv6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..2a7172ca17cabfcf9104d896c2ac5b074e0c4ddf GIT binary patch literal 80100 zcmeIyJuAgw6aet^*G;#-3|enD_$P$)kP+1k%^>IEbZJ+cbunj+LQd|$@N=i zv$c3wE)DKxqrdXvB^S}#v^47_|^uCBBti`^3uNs>*+p1MlUqv_*peqk;@KN(Ja zFbDR4103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K0 z2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`2 z9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0W zzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h z00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70 z103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh1 z4sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4 OIKTl8aDW5<-+><%k9Z#d literal 0 HcmV?d00001 diff --git a/tests/bigtcp-ipv6-geneve-ipv4.out b/tests/bigtcp-ipv6-geneve-ipv4.out new file mode 100644 index 000000000..391bf8a7f --- /dev/null +++ b/tests/bigtcp-ipv6-geneve-ipv4.out @@ -0,0 +1,3 @@ + 1 2025-10-03 14:05:41.755329 IP6 (hlim 61, next-header UDP (17), payload length 0) [real length 80122, presumed BIG TCP] 2604:1380:4091:ce00::b.55411 > 2604:1380:4091:ce00::d.6081: [bad udp cksum 0xc928 -> 0xb00c!] Geneve, Flags [none], vni 0x1389 + IP (tos 0x0, ttl 64, id 14015, offset 0, flags [DF], proto TCP (6), length 80052 [was 0, presumed TSO]) + 192.168.1.2.43959 > 192.168.1.1.39887: Flags [P.], cksum 0xbbfb (incorrect -> 0x0e24), seq 3918632444:3918712444, ack 4091711457, win 338, options [nop,nop,TS val 3707350883 ecr 891398138], length 80000 diff --git a/tests/bigtcp-ipv6-geneve-ipv4.pcap b/tests/bigtcp-ipv6-geneve-ipv4.pcap new file mode 100644 index 0000000000000000000000000000000000000000..9f858023c1ce3965bd2bb7f00f3cc49bffa4a086 GIT binary patch literal 80176 zcmeIyu`9%J6aet=@A{?7WzZ?sTjU?OD}%blVl)|*4wK|$KFgI1y1`^Jh@!46l!Q!{ zv)pirIAt&^IwZfYME-`)w_e{~y|=vH`!p{Pw^Jbwzb_6^lH^jTaD+fBP%y_@cq_m2(7*-Ek2_-W4k%llg8!HW>CMnWh}h3s1RD(uWX9ITwyCUTv0 z7*F~NXT?zLsXU$UMX4mB{iChx=i27y%i~77G89doe1s51>E7E;eI}pVeP1XoFP4^O zgWnwNfji&;2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K0 z2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`2 z9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0W zzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h z00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70 z103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh1 z4sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4 SIKTl8aDW3G-~b2yI`9oiNtu@b literal 0 HcmV?d00001 diff --git a/tests/bigtcp-ipv6-geneve-ipv6.out b/tests/bigtcp-ipv6-geneve-ipv6.out new file mode 100644 index 000000000..ac3dbb9b6 --- /dev/null +++ b/tests/bigtcp-ipv6-geneve-ipv6.out @@ -0,0 +1,2 @@ + 1 2025-10-03 14:05:54.176759 IP6 (hlim 64, next-header UDP (17), payload length 0) [real length 80142, presumed BIG TCP] 2604:1380:4091:ce00::d.23733 > 2604:1380:4091:ce00::b.6081: [bad udp cksum 0xc93c -> 0x5da5!] Geneve, Flags [none], vni 0x1389 + IP6 (flowlabel 0xe4292, hlim 64, next-header TCP (6), payload length 0) [real length 80072, presumed BIG TCP] fd00::1.38339 > fd00::2.43997: Flags [P.], cksum 0x32ac (incorrect -> 0x61d4), seq 1386091372:1386171372, ack 3439981244, win 367, options [nop,nop,TS val 3996716466 ecr 1489710507], length 80000 diff --git a/tests/bigtcp-ipv6-geneve-ipv6.pcap b/tests/bigtcp-ipv6-geneve-ipv6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..dc9805e436df5faf3410cf8d4e09e5f7e166ca08 GIT binary patch literal 80196 zcmeIyEla~u6bIn*A7l8!1eu`0VzF5a!oV;Vjiv>IWoi%=5v?XcOcShv!L(Thf33nfeJ741z&%Oop=0@LaeYesIqXhkKugM*Soe>G)geNZO(J_`I@HPsMmX>Fi8A zon60OG(XY@BYUmI&hg>GWIDH7s5HCH*`7SOa6WnyaXTAPE=6uXwy!F46QAERr^_$3 z_ANuj!-!1btK0uulb)P9YE)bE$GO$}{`bq>v1EO^7Lg=<1F!jPy>vHKT`O;GlsA_` zH3#p&Ki~idIKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4 zIKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G z-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$ zfCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h0 z0S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K0 z2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`2 z9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0W RzyS_$fCC)h00;g%@B`9@lRW?c literal 0 HcmV?d00001 diff --git a/tests/bigtcp-ipv6-vxlan-ipv4.out b/tests/bigtcp-ipv6-vxlan-ipv4.out new file mode 100644 index 000000000..253067a46 --- /dev/null +++ b/tests/bigtcp-ipv6-vxlan-ipv4.out @@ -0,0 +1,3 @@ + 1 2025-10-02 15:11:32.151342 IP6 (hlim 64, next-header UDP (17), payload length 0) [real length 80122, presumed BIG TCP] 2604:1380:4091:ce00::d.52238 > 2604:1380:4091:ce00::b.4789: [bad udp cksum 0xc928 -> 0xf351!] VXLAN, flags [I] (0x08), vni 5001 +IP (tos 0x0, ttl 64, id 57048, offset 0, flags [DF], proto TCP (6), length 80052 [was 0, presumed TSO]) + 192.168.1.1.41873 > 192.168.1.2.38131: Flags [P.], cksum 0xbbfb (incorrect -> 0xe29f), seq 2347745286:2347825286, ack 3538766307, win 2495, options [nop,nop,TS val 808948535 ecr 3624901279], length 80000 diff --git a/tests/bigtcp-ipv6-vxlan-ipv4.pcap b/tests/bigtcp-ipv6-vxlan-ipv4.pcap new file mode 100644 index 0000000000000000000000000000000000000000..cbbe75391b987af40c3bef02020e578bead28e61 GIT binary patch literal 80176 zcmeIyu`7gO7y$71`}(>*ggAp$NhX!2l}U7i z47a$HSvM#pCFe@yZ}`3S^!B_x@AC9KzlZCSy*MP{_aq@|CBxf|#j)8qq?1uQa-ng2 z**vSgCFOzj$GLWSUpA8DOIfA%^SS$9-gVd0e;UHgX!>1|-w10Lm6@UU&xwPDr=v7X zwH_PwEM&R*ZS^pUS`qJ8wqDE4YVQ7J`nfdNadrL?LKLN) 2604:1380:4091:ce00::b.4789: [bad udp cksum 0xc93c -> 0x286f!] VXLAN, flags [I] (0x08), vni 5001 +IP6 (flowlabel 0xbf7fd, hlim 64, next-header TCP (6), payload length 0) [real length 80072, presumed BIG TCP] fd00::1.40007 > fd00::2.40607: Flags [P.], cksum 0x32ac (incorrect -> 0xb3b0), seq 936978514:937058514, ack 729791262, win 368, options [nop,nop,TS val 3914226831 ecr 1407220872], length 80000 diff --git a/tests/bigtcp-ipv6-vxlan-ipv6.pcap b/tests/bigtcp-ipv6-vxlan-ipv6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..5395ff12dcd54f835bdf5f7ed63f3f22562bc383 GIT binary patch literal 80196 zcmeIyp-Y277zg0{#>e<@7<2}M2o@1+21PKeh+r_dYOqXAGDJ**OQINbWl0o+Z5BZg zM9Y$8$zpJEpTzCy?r(y6-pTyBn#J9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`2 z9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0W zzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h z00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70 z103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh1 z4sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4 zIKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G R-~b0WzyS_$fCJqQ`~VAjk>mgX literal 0 HcmV?d00001 diff --git a/tests/bigtcp-ipv6.out b/tests/bigtcp-ipv6.out new file mode 100644 index 000000000..53969b734 --- /dev/null +++ b/tests/bigtcp-ipv6.out @@ -0,0 +1 @@ + 1 2025-10-02 15:09:21.939724 IP6 (flowlabel 0x81ccd, hlim 61, next-header TCP (6), payload length 0) [real length 80040, presumed BIG TCP] 2604:1380:4091:ce00::b.43267 > 2604:1380:4091:ce00::d.41219: Flags [P.], cksum 0xc8cb (incorrect -> 0x2ab4), seq 2265425561:2265505529, ack 3850636772, win 426, options [nop,nop,TS val 3564116459 ecr 3863151628], length 79968 diff --git a/tests/bigtcp-ipv6.pcap b/tests/bigtcp-ipv6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..2b644bf115f7cb23820cf1a17c0ef2cf54af6093 GIT binary patch literal 80094 zcmeIyAxnc{5CGtNw--0mS!Pf$?>ATk!QwA4TP7wM!ym998cYi!#;*ukgoRv{L` z^ku)k@f5MJ)ymD@c7O6ay!5AU+*FI|S?&7j?WFPATT8d2aYRb>#j>;h@xGInkJ`tb zcK0AudvFK-fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$ zfCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h0 z0S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K0 z2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`2 z9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0W zzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h z00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70 T103K02ROh14sd`2|I2}IW}11a literal 0 HcmV?d00001 diff --git a/tests/gso-ipv4-geneve-ipv4.out b/tests/gso-ipv4-geneve-ipv4.out new file mode 100644 index 000000000..04f9b6adf --- /dev/null +++ b/tests/gso-ipv4-geneve-ipv4.out @@ -0,0 +1,4 @@ + 1 2025-10-03 16:29:23.634332 IP (tos 0x0, ttl 61, id 1208, offset 0, flags [none], proto UDP (17), length 7092) + 10.25.132.11.5799 > 10.25.132.13.6081: Geneve, Flags [none], vni 0x1389 + IP (tos 0x0, ttl 64, id 29210, offset 0, flags [DF], proto TCP (6), length 7042) + 192.168.1.2.40769 > 192.168.1.1.37633: Flags [P.], cksum 0x9ec8 (incorrect -> 0x9dc7), seq 1260004295:1260011285, ack 2119234335, win 166, options [nop,nop,TS val 3715972762 ecr 900020017], length 6990 diff --git a/tests/gso-ipv4-geneve-ipv4.pcap b/tests/gso-ipv4-geneve-ipv4.pcap new file mode 100644 index 0000000000000000000000000000000000000000..1889a6defce412c9ec826bca0c45913dd1d07976 GIT binary patch literal 7146 zcmca|c+)~A1{MYcU}0bcavuM@pK)g`C&M9W1~A@n?i)+D$d&cqZ+lGVU~pxS-omnj zfx%YL(VR=Ng&T-@#g>a7lwJTbCpCgWxRc?Z+0yg}Ys&Uc^iuo@*3ncX<-p*;rp0k! z1tSv>GtPIM%;+tpe7r8;vwVXD!?JlN7#J8CIk@iD+RZXuYHpa9T2hc&l*TYhkA}l& zIvC9dqvgP8IWSrdjFtnV<-lk;Fj@|bmII^Zz-T!zS`Lhs1Eb}@XgM%i4vdxqqvgP8 WIWSrdjFtnV<-lk;Fj@|vmjeKHk3?et literal 0 HcmV?d00001 diff --git a/tests/gso-ipv4-geneve-ipv6.out b/tests/gso-ipv4-geneve-ipv6.out new file mode 100644 index 000000000..293f8c1df --- /dev/null +++ b/tests/gso-ipv4-geneve-ipv6.out @@ -0,0 +1,3 @@ + 1 2025-10-03 16:29:04.300378 IP (tos 0x0, ttl 61, id 2594, offset 0, flags [none], proto UDP (17), length 4256) + 10.25.132.11.15130 > 10.25.132.13.6081: Geneve, Flags [none], vni 0x1389 + IP6 (flowlabel 0x4cb3f, hlim 64, next-header TCP (6), payload length 4166) fd00::2.34235 > fd00::1.37399: Flags [.], cksum 0x0a51 (incorrect -> 0xeedb), seq 1812075153:1812079287, ack 1385650056, win 169, options [nop,nop,TS val 1498300631 ecr 4005306590], length 4134 diff --git a/tests/gso-ipv4-geneve-ipv6.pcap b/tests/gso-ipv4-geneve-ipv6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..2e1820c5b3a5bb327e1c2e04a2387036b0d1daab GIT binary patch literal 4310 zcmca|c+)~A1{MYcU}0bcaxVP5pAj{cg<+il0~qf(_l>1n_qFFt{=ZEZ|aN zV6YW*d&ni(!VSc{)>7gJ1$sc{q((3ZcQX7lTbll0P1)XwUWz~4?k2FDwij??bNGv} z2*hGS<1@DIo+O^bBs4K-dU!{J0K-bIKn4azMh>n>KZon@_9)!TOD!o#ElOh;rANbI rG#!lQgVAzev>X^M2S&?*(Q;t492hMJM$3WGa$vL^7%c}zdN}|9J4Gba literal 0 HcmV?d00001 diff --git a/tests/gso-ipv4-vxlan-ipv4.out b/tests/gso-ipv4-vxlan-ipv4.out new file mode 100644 index 000000000..dc91e42db --- /dev/null +++ b/tests/gso-ipv4-vxlan-ipv4.out @@ -0,0 +1,4 @@ + 1 2025-10-03 16:30:14.343441 IP (tos 0x0, ttl 61, id 12520, offset 0, flags [none], proto UDP (17), length 7092) + 10.25.132.11.60345 > 10.25.132.13.4789: VXLAN, flags [I] (0x08), vni 5001 +IP (tos 0x0, ttl 64, id 10282, offset 0, flags [DF], proto TCP (6), length 7042) + 192.168.1.2.37099 > 192.168.1.1.41547: Flags [P.], cksum 0x9ec8 (incorrect -> 0x6674), seq 1925567864:1925574854, ack 2614339187, win 166, options [nop,nop,TS val 3716023471 ecr 900070726], length 6990 diff --git a/tests/gso-ipv4-vxlan-ipv4.pcap b/tests/gso-ipv4-vxlan-ipv4.pcap new file mode 100644 index 0000000000000000000000000000000000000000..331d76e23902197ea8c0a08da2f1c10a184abea6 GIT binary patch literal 7146 zcmca|c+)~A1{MYcU}0bca>Rb!&zNY-%5X@U0gQK?`^M5Oa%KJZTMvsl7+e{ow-~%& zV6YVwW#^J?;Ra&f*E@x_N-r?~!vQi%xRc?Z+0yg}Ys&Uc^iuo@*3qP)<-p*;R{Z0@ z3PvU%W}NVPk$2J2s}-{^FDq`4U|2Tq1Oo#jBL~;rI+pdOOaHp%rIr+=7Ns$a(xc%p znhr+u!Du-!S`Lhs1Eb}@XgM%i4vdxqqvgP8IWSrdjFtnV<-lk;Fj@|bmII^Zz-T!z XS`Lhs1Eb}@XgM%i4vdxq=;Z(a&38#A literal 0 HcmV?d00001 diff --git a/tests/gso-ipv4-vxlan-ipv6.out b/tests/gso-ipv4-vxlan-ipv6.out new file mode 100644 index 000000000..b2c9a44bc --- /dev/null +++ b/tests/gso-ipv4-vxlan-ipv6.out @@ -0,0 +1,3 @@ + 1 2025-10-03 16:30:29.672424 IP (tos 0x0, ttl 61, id 20154, offset 0, flags [none], proto UDP (17), length 4256) + 10.25.132.11.55123 > 10.25.132.13.4789: VXLAN, flags [I] (0x08), vni 5001 +IP6 (flowlabel 0x83f92, hlim 64, next-header TCP (6), payload length 4166) fd00::2.44479 > fd00::1.40145: Flags [.], cksum 0x0a51 (incorrect -> 0x7fa9), seq 4240990499:4240994633, ack 3328482507, win 2489, options [nop,nop,TS val 1498386003 ecr 4005391962], length 4134 diff --git a/tests/gso-ipv4-vxlan-ipv6.pcap b/tests/gso-ipv4-vxlan-ipv6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..2d86064f08193c09d886501805ea7d67a220fce5 GIT binary patch literal 4310 zcmca|c+)~A1{MYcU}0bca#Vla&sgEa#js9*0gQK?`^M5Oa%KJZTMvsl7+e_y7WnOA zV6YWr^5l|i;Ra&f>%l@>1$uN|aDa>w?qv99wlw|0nzFqUy%c}8-A&-IpCsVM=I|F` z5s1Zv#%El+f6m1}ClZy9rOY|qAi%kkE0BSKk&%Nd(!VeG-QK*Yyws9{)S@(oQF=5S rM$^G)J{T 2604:1380:4091:ce00::d.6081: [bad udp cksum 0xab91 -> 0xdcc1!] Geneve, Flags [none], vni 0x1389 + IP (tos 0x0, ttl 64, id 51474, offset 0, flags [DF], proto TCP (6), length 6942) + 192.168.1.2.36991 > 192.168.1.1.41507: Flags [P.], cksum 0x9e64 (incorrect -> 0xb694), seq 1242530197:1242537087, ack 2919862022, win 169, options [nop,nop,TS val 3715899561 ecr 899946816], length 6890 diff --git a/tests/gso-ipv6-geneve-ipv4.pcap b/tests/gso-ipv6-geneve-ipv4.pcap new file mode 100644 index 0000000000000000000000000000000000000000..26c94ecfc31050a24d4cbb25a7f96c2e49b4bbc3 GIT binary patch literal 7066 zcmca|c+)~A1{MYcU}0bca%TO!pAk8ijiE@I0gQK?`^M5Oa%KJZTMvud?j`_LNZSb7 zs<8++I7~bT)69*==MC!?KPYXpdLjcuY6OFDC&NFprRfjWl;;sYxfnShvaLj59TFaE}<>p1(_8YCE2&P!onU}WUrx?7{L(sYTWLtbi0L26MN z!zeu(4x{N{G#`wX1Eb}@XgM%i4vdxqqvgP8IWSrdjFtnV<-lk;Fj@|bmII^Zz-T!z aS`Lhs1Eb}@XgM%i4vdxqqvgQRDhB{=;UdQX literal 0 HcmV?d00001 diff --git a/tests/gso-ipv6-geneve-ipv6.out b/tests/gso-ipv6-geneve-ipv6.out new file mode 100644 index 000000000..64789de2d --- /dev/null +++ b/tests/gso-ipv6-geneve-ipv6.out @@ -0,0 +1,2 @@ + 1 2025-10-03 16:28:33.023345 IP6 (hlim 61, next-header UDP (17), payload length 6892) 2604:1380:4091:ce00::b.60561 > 2604:1380:4091:ce00::d.6081: [bad udp cksum 0xab41 -> 0xb221!] Geneve, Flags [none], vni 0x1389 + IP6 (flowlabel 0x48db8, hlim 64, next-header TCP (6), payload length 6822) fd00::2.38687 > fd00::1.45505: Flags [P.], cksum 0x14b1 (incorrect -> 0xa8e0), seq 3469802238:3469809028, ack 2183910745, win 166, options [nop,nop,TS val 1498269354 ecr 4005275312], length 6790 diff --git a/tests/gso-ipv6-geneve-ipv6.pcap b/tests/gso-ipv6-geneve-ipv6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..3688afa376ce35977e495d84cab4f126f0266c65 GIT binary patch literal 6986 zcmca|c+)~A1{MYcU}0bcayI_FpJ5oyz@Q`z!8^`GB&7p1bhtUz7IL$OZ|9Wg;6H7#JBjxFUUzt$Me6*@nE-l7iHtG=@=n zG#p0L!Dv1hEeA%+fzfhcv>X^M2S&?*(Q;t492hMJM$3WGa$vL^7%c}z%Yo5yV6+?< XEeA%+fzfhcv>X^M2S&>Q>XicklcWOk literal 0 HcmV?d00001 diff --git a/tests/gso-ipv6-vxlan-ipv4.out b/tests/gso-ipv6-vxlan-ipv4.out new file mode 100644 index 000000000..066ec991c --- /dev/null +++ b/tests/gso-ipv6-vxlan-ipv4.out @@ -0,0 +1,3 @@ + 1 2025-10-03 16:31:22.053904 IP6 (hlim 61, next-header UDP (17), payload length 6972) 2604:1380:4091:ce00::b.35971 > 2604:1380:4091:ce00::d.4789: [bad udp cksum 0xab91 -> 0x2867!] VXLAN, flags [I] (0x08), vni 5001 +IP (tos 0x0, ttl 64, id 61850, offset 0, flags [DF], proto TCP (6), length 6942) + 192.168.1.2.34737 > 192.168.1.1.42261: Flags [P.], cksum 0x9e64 (incorrect -> 0xd5cd), seq 459554290:459561180, ack 3104965599, win 169, options [nop,nop,TS val 3716091182 ecr 900138437], length 6890 diff --git a/tests/gso-ipv6-vxlan-ipv4.pcap b/tests/gso-ipv6-vxlan-ipv4.pcap new file mode 100644 index 0000000000000000000000000000000000000000..be316d9da3b23886f4c4d490a1ce573422d64f6c GIT binary patch literal 7066 zcmca|c+)~A1{MYcU}0bca-x3S&zNwDfuTqmf_I$z#?mcvW&QVC4~yIGCID4P+X&jK zu?ROfOgsnE%#Ft9?P(U;Ds8iRA_qu?a3{k*v!&?|)|Bm?=%x6RgTa+STJGa42L=bW zRj&`MU}OSf#`cX%MWs`0KkXD^zTY6huyS4s0|O%?2iM(tUOm(0tVi=wOA1np(ileR z(Qp_|2c!95v>X^M2S&?*(Q;t492hMJM$3WGa$vL^7%c}z%Yo5yV6+?X^M2S&?*(Q;t492hMJhE_QM02PiS`~Uy| literal 0 HcmV?d00001 diff --git a/tests/gso-ipv6-vxlan-ipv6.out b/tests/gso-ipv6-vxlan-ipv6.out new file mode 100644 index 000000000..be733fb69 --- /dev/null +++ b/tests/gso-ipv6-vxlan-ipv6.out @@ -0,0 +1,2 @@ + 1 2025-10-03 16:31:12.636043 IP6 (hlim 61, next-header UDP (17), payload length 4176) 2604:1380:4091:ce00::b.39902 > 2604:1380:4091:ce00::d.4789: [bad udp cksum 0xa0a5 -> 0xd93a!] VXLAN, flags [I] (0x08), vni 5001 +IP6 (flowlabel 0xb986b, hlim 64, next-header TCP (6), payload length 4106) fd00::2.43583 > fd00::1.44175: Flags [.], cksum 0x0a15 (incorrect -> 0x07c8), seq 1840055637:1840059711, ack 989320780, win 166, options [nop,nop,TS val 1498428967 ecr 4005434925], length 4074 diff --git a/tests/gso-ipv6-vxlan-ipv6.pcap b/tests/gso-ipv6-vxlan-ipv6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..a031b120a4d3334d58b8d9e753c4d6874cedeaa1 GIT binary patch literal 4270 zcmca|c+)~A1{MYcU}0bcasqzc&*>;J2rw+;5@lduWaQwA3@}rFw@*wrFSVo~wJ42YlpYO- r(R47H4@S#@(Q;t492hMJM$3WGa$vL^7%c}z%Yo5yV6+?<4&?v