selftests: mptcp: add fullmesh setting tests
authorGeliang Tang <geliang.tang@suse.com>
Thu, 3 Feb 2022 01:03:43 +0000 (17:03 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 3 Feb 2022 11:44:08 +0000 (11:44 +0000)
This patch added the fullmesh setting and clearing selftests in
mptcp_join.sh.

Now we can set both backup and fullmesh flags, so avoid using the
words 'backup' and 'bkup'.

Acked-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: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/mptcp/mptcp_join.sh

index b8bdbec0cf69c7155056122011bb8d61eb55093d..bd106c7ec2327fefe8d27d53ec526efdecaba663 100755 (executable)
@@ -289,7 +289,7 @@ do_transfer()
        addr_nr_ns1="$7"
        addr_nr_ns2="$8"
        speed="$9"
-       bkup="${10}"
+       sflags="${10}"
 
        port=$((10000+$TEST_COUNT))
        TEST_COUNT=$((TEST_COUNT+1))
@@ -461,14 +461,13 @@ do_transfer()
                fi
        fi
 
-       if [ ! -z $bkup ]; then
+       if [ ! -z $sflags ]; then
                sleep 1
                for netns in "$ns1" "$ns2"; do
                        dump=(`ip netns exec $netns ./pm_nl_ctl dump`)
                        if [ ${#dump[@]} -gt 0 ]; then
                                addr=${dump[${#dump[@]} - 1]}
-                               backup="ip netns exec $netns ./pm_nl_ctl set $addr flags $bkup"
-                               $backup
+                               ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags
                        fi
                done
        fi
@@ -545,7 +544,7 @@ run_tests()
        addr_nr_ns1="${5:-0}"
        addr_nr_ns2="${6:-0}"
        speed="${7:-fast}"
-       bkup="${8:-""}"
+       sflags="${8:-""}"
        lret=0
        oldin=""
 
@@ -574,7 +573,7 @@ run_tests()
        fi
 
        do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \
-               ${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${bkup}
+               ${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags}
        lret=$?
 }
 
@@ -1888,6 +1887,44 @@ fullmesh_tests()
        run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow
        chk_join_nr "fullmesh test 1x2, limited" 4 4 4
        chk_add_nr 1 1
+
+       # set fullmesh flag
+       reset
+       ip netns exec $ns1 ./pm_nl_ctl limits 4 4
+       ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags subflow
+       ip netns exec $ns2 ./pm_nl_ctl limits 4 4
+       run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow fullmesh
+       chk_join_nr "set fullmesh flag test" 2 2 2
+       chk_rm_nr 0 1
+
+       # set nofullmesh flag
+       reset
+       ip netns exec $ns1 ./pm_nl_ctl limits 4 4
+       ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags subflow,fullmesh
+       ip netns exec $ns2 ./pm_nl_ctl limits 4 4
+       run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow nofullmesh
+       chk_join_nr "set nofullmesh flag test" 2 2 2
+       chk_rm_nr 0 1
+
+       # set backup,fullmesh flags
+       reset
+       ip netns exec $ns1 ./pm_nl_ctl limits 4 4
+       ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags subflow
+       ip netns exec $ns2 ./pm_nl_ctl limits 4 4
+       run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow backup,fullmesh
+       chk_join_nr "set backup,fullmesh flags test" 2 2 2
+       chk_prio_nr 0 1
+       chk_rm_nr 0 1
+
+       # set nobackup,nofullmesh flags
+       reset
+       ip netns exec $ns1 ./pm_nl_ctl limits 4 4
+       ip netns exec $ns2 ./pm_nl_ctl limits 4 4
+       ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow,backup,fullmesh
+       run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup,nofullmesh
+       chk_join_nr "set nobackup,nofullmesh flags test" 2 2 2
+       chk_prio_nr 0 1
+       chk_rm_nr 0 1
 }
 
 all_tests()