Skip to content

Commit c6173d8

Browse files
committed
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 <[email protected]>
1 parent 05831fa commit c6173d8

35 files changed

+66
-0
lines changed

tests/TESTLIST

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1056,7 +1056,24 @@ ipv6_mobility_1-v ipv6_mobility_1.pcap ipv6_mobility_1-v.out -v
10561056

10571057
# Aggregation offloads (GSO, BIG TCP)
10581058
gso-ipv4 gso-ipv4.pcap gso-ipv4.out -v
1059+
gso-ipv4-geneve-ipv4 gso-ipv4-geneve-ipv4.pcap gso-ipv4-geneve-ipv4.out -v
1060+
gso-ipv4-geneve-ipv6 gso-ipv4-geneve-ipv6.pcap gso-ipv4-geneve-ipv6.out -v
1061+
gso-ipv4-vxlan-ipv4 gso-ipv4-vxlan-ipv4.pcap gso-ipv4-vxlan-ipv4.out -v
1062+
gso-ipv4-vxlan-ipv6 gso-ipv4-vxlan-ipv6.pcap gso-ipv4-vxlan-ipv6.out -v
10591063
gso-ipv6 gso-ipv6.pcap gso-ipv6.out -v
1064+
gso-ipv6-geneve-ipv4 gso-ipv6-geneve-ipv4.pcap gso-ipv6-geneve-ipv4.out -v
1065+
gso-ipv6-geneve-ipv6 gso-ipv6-geneve-ipv6.pcap gso-ipv6-geneve-ipv6.out -v
1066+
gso-ipv6-vxlan-ipv4 gso-ipv6-vxlan-ipv4.pcap gso-ipv6-vxlan-ipv4.out -v
1067+
gso-ipv6-vxlan-ipv6 gso-ipv6-vxlan-ipv6.pcap gso-ipv6-vxlan-ipv6.out -v
10601068
bigtcp-ipv4 bigtcp-ipv4.pcap bigtcp-ipv4.out -v
1069+
bigtcp-ipv4-geneve-ipv4 bigtcp-ipv4-geneve-ipv4.pcap bigtcp-ipv4-geneve-ipv4.out -v
1070+
bigtcp-ipv4-geneve-ipv6 bigtcp-ipv4-geneve-ipv6.pcap bigtcp-ipv4-geneve-ipv6.out -v
1071+
bigtcp-ipv4-vxlan-ipv4 bigtcp-ipv4-vxlan-ipv4.pcap bigtcp-ipv4-vxlan-ipv4.out -v
1072+
bigtcp-ipv4-vxlan-ipv6 bigtcp-ipv4-vxlan-ipv6.pcap bigtcp-ipv4-vxlan-ipv6.out -v
1073+
bigtcp-ipv6 bigtcp-ipv6.pcap bigtcp-ipv6.out -v
10611074
bigtcp-ipv6-hbh bigtcp-ipv6-hbh.pcap bigtcp-ipv6-hbh.out -v
1075+
bigtcp-ipv6-geneve-ipv4 bigtcp-ipv6-geneve-ipv4.pcap bigtcp-ipv6-geneve-ipv4.out -v
1076+
bigtcp-ipv6-geneve-ipv6 bigtcp-ipv6-geneve-ipv6.pcap bigtcp-ipv6-geneve-ipv6.out -v
1077+
bigtcp-ipv6-vxlan-ipv4 bigtcp-ipv6-vxlan-ipv4.pcap bigtcp-ipv6-vxlan-ipv4.out -v
1078+
bigtcp-ipv6-vxlan-ipv6 bigtcp-ipv6-vxlan-ipv6.pcap bigtcp-ipv6-vxlan-ipv6.out -v
10621079
icmp-length-zero icmp-length-zero.pcap icmp-length-zero.out -v

tests/bigtcp-ipv4-geneve-ipv4.out

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
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])
2+
10.25.132.11.29804 > 10.25.132.13.6081: Geneve, Flags [none], vni 0x1389
3+
IP (tos 0x0, ttl 64, id 3511, offset 0, flags [DF], proto TCP (6), length 80052 [was 0, presumed TSO])
4+
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

tests/bigtcp-ipv4-geneve-ipv4.pcap

78.3 KB
Binary file not shown.

tests/bigtcp-ipv4-geneve-ipv6.out

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
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])
2+
10.25.132.11.60614 > 10.25.132.13.6081: Geneve, Flags [none], vni 0x1389
3+
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

tests/bigtcp-ipv4-geneve-ipv6.pcap

78.3 KB
Binary file not shown.

tests/bigtcp-ipv4-vxlan-ipv4.out

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
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])
2+
10.25.132.11.47044 > 10.25.132.13.4789: VXLAN, flags [I] (0x08), vni 5001
3+
IP (tos 0x0, ttl 64, id 31532, offset 0, flags [DF], proto TCP (6), length 80052 [was 0, presumed TSO])
4+
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

tests/bigtcp-ipv4-vxlan-ipv4.pcap

78.3 KB
Binary file not shown.

tests/bigtcp-ipv4-vxlan-ipv6.out

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
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])
2+
10.25.132.11.60879 > 10.25.132.13.4789: VXLAN, flags [I] (0x08), vni 5001
3+
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

tests/bigtcp-ipv4-vxlan-ipv6.pcap

78.2 KB
Binary file not shown.

tests/bigtcp-ipv6-geneve-ipv4.out

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
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
2+
IP (tos 0x0, ttl 64, id 14015, offset 0, flags [DF], proto TCP (6), length 80052 [was 0, presumed TSO])
3+
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

0 commit comments

Comments
 (0)