selftests: mptcp: add MP_FAIL reset testcase
authorGeliang Tang <geliang.tang@suse.com>
Wed, 18 May 2022 22:04:46 +0000 (15:04 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 20 May 2022 03:05:07 +0000 (20:05 -0700)
Add the multiple subflows test case for MP_FAIL, to test the MP_FAIL
reset case. Use the test_linkfail value to make 1024KB test files.

Invoke reset_with_fail() to use 'iptables' and 'tc action pedit' rules
to produce the bit flips to trigger the checksum failures on ns2eth2.
Add delays on ns2eth1 to make sure more data can translate on ns2eth2.

The check_invert flag is enabled in reset_with_fail(), so this test
prints out the inverted bytes, instead of the file mismatch errors.

Invoke pedit_action_pkts() to get the numbers of the packets edited
by the tc pedit actions, and print this numbers to the output.

Co-developed-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/mptcp/mptcp_join.sh

index 1a5f211..a4406b7 100755 (executable)
@@ -2732,6 +2732,16 @@ fail_tests()
                chk_join_nr 0 0 0 +1 +0 1 0 1 "$(pedit_action_pkts)"
                chk_fail_nr 1 -1 invert
        fi
+
+       # multiple subflows
+       if reset_with_fail "MP_FAIL MP_RST" 2; then
+               tc -n $ns2 qdisc add dev ns2eth1 root netem rate 1mbit delay 5
+               pm_nl_set_limits $ns1 0 1
+               pm_nl_set_limits $ns2 0 1
+               pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
+               run_tests $ns1 $ns2 10.0.1.1 1024
+               chk_join_nr 1 1 1 1 0 1 1 0 "$(pedit_action_pkts)"
+       fi
 }
 
 userspace_tests()