<_PROGS=nft_flowtable.sh TEST_GEN_PROGS="" run_tests make: Entering directory '/srv/vmksft/testing/wt-16/tools/testing/selftests' make[1]: Entering directory '/srv/vmksft/testing/wt-16/tools/testing/selftests/net/netfilter' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/srv/vmksft/testing/wt-16/tools/testing/selftests/net/netfilter' make[1]: Entering directory '/srv/vmksft/testing/wt-16/tools/testing/selftests/net/netfilter' # overriding timeout to 3600 # selftests: net/netfilter: nft_flowtable.sh # PASS: flow offloaded for ns1/ns2 # PASS: IPv6 flow offloaded for ns1/ns2 # PASS: dscp_none: dscp packet counters match # PASS: dscp_ingress: dscp packet counters match # PASS: dscp_egress: dscp packet counters match # PASS: dscp_fwd: dscp packet counters match # PASS: flow offload for ns1/ns2 with masquerade (pmtu disabled) # PASS: flow offload for ns1/ns2 with dnat (pmtu disabled) # PASS: dscp_ingress: dscp packet counters match # PASS: dscp_egress: dscp packet counters match # PASS: dscp_fwd: dscp packet counters match # PASS: flow offload for ns1/ns2 with masquerade # PASS: flow offload for ns1/ns2 with dnat # PASS: flow offload for ns1/ns2 with masquerade IPIP tunnel # PASS: flow offload for ns1/ns2 with dnat IPIP tunnel # PASS: flow offload for ns1/ns2 IP6IP6 tunnel # PASS: flow offload for ns1/ns2 with masquerade IPIP tunnel over vlan # PASS: flow offload for ns1/ns2 with dnat IPIP tunnel over vlan # PASS: flow offload for ns1/ns2 IP6IP6 tunnel over vlan # PASS: flow offload for ns1/ns2 with masquerade on bridge # PASS: flow offload for ns1/ns2 with dnat on bridge # PASS: flow offload for ns1/ns2 with masquerade bridge and VLAN # PASS: flow offload for ns1/ns2 with dnat bridge and VLAN # PASS: ipsec tunnel mode for ns1/ns2 # PASS: IPv6 ipsec tunnel mode for ns1/ns2 # re-run with random mtus and file size: -o 16128 -l 1305 -r 2711 -s 33209258 # PASS: flow offloaded for ns1/ns2 # PASS: IPv6 flow offloaded for ns1/ns2 # PASS: dscp_none: dscp packet counters match # PASS: dscp_ingress: dscp packet counters match # PASS: dscp_egress: dscp packet counters match # PASS: dscp_fwd: dscp packet counters match # PASS: flow offload for ns1/ns2 with masquerade (pmtu disabled) # PASS: flow offload for ns1/ns2 with dnat (pmtu disabled) # PASS: dscp_ingress: dscp packet counters match # PASS: dscp_egress: dscp packet counters match # PASS: dscp_fwd: dscp packet counters match # PASS: flow offload for ns1/ns2 with masquerade # PASS: flow offload for ns1/ns2 with dnat # PASS: flow offload for ns1/ns2 with masquerade IPIP tunnel # PASS: flow offload for ns1/ns2 with dnat IPIP tunnel # 2026/06/03 11:17:36 socat[20018] W exiting on signal 15 # 2026/06/03 11:17:36 socat[20024] W exiting on signal 15 # FAIL: file mismatch for ns1 -> ns2 # -rw------- 1 root root 33209258 Jun 3 11:16 /tmp/tmp.vh46or4ylj # -rw------- 1 root root 0 Jun 3 11:16 /tmp/tmp.GAuos9qno4 # FAIL: file mismatch for ns1 <- ns2 # -rw------- 1 root root 33209258 Jun 3 11:16 /tmp/tmp.vh46or4ylj # -rw------- 1 root root 0 Jun 3 11:16 /tmp/tmp.zi52T36xZv # FAIL: flow offload for ns1/ns2 with IP6IP6 tunnel # table inet filter { # counter routed_orig { # packets 0 bytes 0 # } # # counter routed_repl { # packets 4 bytes 453 # } # # flowtable f1 { # hook ingress priority filter # devices = { "veth0", "veth1" } # } # # chain forward { # type filter hook forward priority filter; policy drop; # oif "veth0" tcp sport 12345 ct mark set 0x00000001 flow add @f1 counter name "routed_repl" accept # oif "tun6" accept # oif "tun0" accept # ip dscp set cs3 # ip dscp set cs3 # oif "veth1" tcp dport 12345 ct mark set 0x00000001 flow add @f1 counter name "routed_orig" accept # ct mark 0x00000001 counter name ct direction map { original : "routed_orig", reply : "routed_repl" } accept # ct state established,related accept # meta l4proto icmp accept # meta l4proto ipv6-icmp accept # } # } # table ip nat { # chain prerouting { # type nat hook prerouting priority filter; policy accept; # iif "veth0" ip daddr 10.6.6.6 tcp dport 1666 counter packets 3 bytes 180 dnat to 10.0.2.99:12345 # } # # chain postrouting { # type nat hook postrouting priority filter; policy accept; # oifname "veth1" counter packets 11 bytes 680 masquerade # } # } # PASS: flow offload for ns1/ns2 with masquerade IPIP tunnel over vlan # PASS: flow offload for ns1/ns2 with dnat IPIP tunnel over vlan # 2026/06/03 11:18:40 socat[20112] W exiting on signal 15 # 2026/06/03 11:18:40 socat[20118] W exiting on signal 15 # FAIL: file mismatch for ns1 -> ns2 # -rw------- 1 root root 33209258 Jun 3 11:16 /tmp/tmp.vh46or4ylj # -rw------- 1 root root 0 Jun 3 11:17 /tmp/tmp.GAuos9qno4 # FAIL: file mismatch for ns1 <- ns2 # -rw------- 1 root root 33209258 Jun 3 11:16 /tmp/tmp.vh46or4ylj # -rw------- 1 root root 0 Jun 3 11:17 /tmp/tmp.zi52T36xZv # FAIL: flow offload for ns1/ns2 with IP6IP6 tunnel over vlan # table inet filter { # counter routed_orig { # packets 0 bytes 0 # } # # counter routed_repl { # packets 2 bytes 1096 # } # # flowtable f1 { # hook ingress priority filter # devices = { "veth0", "veth1" } # } # # chain forward { # type filter hook forward priority filter; policy drop; # oif "tun6.10" accept # oif "tun0.10" accept # oif "veth1.10" accept # oif "veth0" tcp sport 12345 ct mark set 0x00000001 flow add @f1 counter name "routed_repl" accept # oif "tun6" accept # oif "tun0" accept # ip dscp set cs3 # ip dscp set cs3 # oif "veth1" tcp dport 12345 ct mark set 0x00000001 flow add @f1 counter name "routed_orig" accept # ct mark 0x00000001 counter name ct direction map { original : "routed_orig", reply : "routed_repl" } accept # ct state established,related accept # meta l4proto icmp accept # meta l4proto ipv6-icmp accept # } # } # table ip nat { # chain prerouting { # type nat hook prerouting priority filter; policy accept; # iif "veth0" ip daddr 10.6.6.6 tcp dport 1666 counter packets 4 bytes 240 dnat to 10.0.2.99:12345 # } # # chain postrouting { # type nat hook postrouting priority filter; policy accept; # oifname "veth1" counter packets 11 bytes 680 masquerade # } # } # PASS: flow offload for ns1/ns2 with masquerade on bridge # PASS: flow offload for ns1/ns2 with dnat on bridge # PASS: flow offload for ns1/ns2 with masquerade bridge and VLAN # PASS: flow offload for ns1/ns2 with dnat bridge and VLAN # PASS: ipsec tunnel mode for ns1/ns2 # 2026/06/03 11:19:59 socat[20303] W exiting on signal 15 # 2026/06/03 11:19:59 socat[20309] W exiting on signal 15 # FAIL: file mismatch for ns1 -> ns2 # -rw------- 1 root root 33209258 Jun 3 11:16 /tmp/tmp.vh46or4ylj # -rw------- 1 root root 0 Jun 3 11:18 /tmp/tmp.GAuos9qno4 # FAIL: file mismatch for ns1 <- ns2 # -rw------- 1 root root 33209258 Jun 3 11:16 /tmp/tmp.vh46or4ylj # -rw------- 1 root root 0 Jun 3 11:18 /tmp/tmp.zi52T36xZv # FAIL: IPv6 ipsec tunnel mode for ns1/ns2 # table inet filter { # counter routed_orig { # packets 0 bytes 0 # } # # counter routed_repl { # packets 2 bytes 164 # } # # flowtable f1 { # hook ingress priority filter # devices = { "veth0", "veth1" } # } # # chain forward { # type filter hook forward priority filter; policy drop; # oif "tun6.10" accept # oif "tun0.10" accept # oif "veth1.10" accept # oif "veth0" tcp sport 12345 ct mark set 0x00000001 flow add @f1 counter name "routed_repl" accept # oif "tun6" accept # oif "tun0" accept # ip dscp set cs3 # ip dscp set cs3 # oif "veth1" tcp dport 12345 ct mark set 0x00000001 flow add @f1 counter name "routed_orig" accept # ct mark 0x00000001 counter name ct direction map { original : "routed_orig", reply : "routed_repl" } accept # ct state established,related accept # meta l4proto icmp accept # meta l4proto ipv6-icmp accept # } # } # XfrmInError 0 # XfrmInBufferError 0 # XfrmInHdrError 0 # XfrmInNoStates 0 # XfrmInStateProtoError 0 # XfrmInStateModeError 0 # XfrmInStateSeqError 0 # XfrmInStateExpired 0 # XfrmInStateMismatch 0 # XfrmInStateInvalid 0 # XfrmInTmplMismatch 0 # XfrmInNoPols 0 # XfrmInPolBlock 0 # XfrmInPolError 0 # XfrmOutError 0 # XfrmOutBundleGenError 0 # XfrmOutBundleCheckError 0 # XfrmOutNoStates 0 # XfrmOutStateProtoError 0 # XfrmOutStateModeError 0 # XfrmOutStateSeqError 0 # XfrmOutStateExpired 0 # XfrmOutPolBlock 0 # XfrmOutPolDead 0 # XfrmOutPolError 0 # XfrmFwdHdrError 0 # XfrmOutStateInvalid 0 # XfrmAcquireError 0 # XfrmOutStateDirError 0 # XfrmInStateDirError 0 # XfrmInIptfsError 0 # XfrmOutNoQueueSpace 0 not ok 1 selftests: net/netfilter: nft_flowtable.sh # exit=1 make[1]: Leaving directory '/srv/vmksft/testing/wt-16/tools/testing/selftests/net/netfilter' make: Leaving directory '/srv/vmksft/testing/wt-16/tools/testing/selftests' xx__-> echo $? 0 xx__-> echo scan > /sys/kernel/debug/kmemleak xx__->