selftests: mptcp: set addr id for removing testcases
authorGeliang Tang <geliangtang@gmail.com>
Sat, 13 Mar 2021 01:16:20 +0000 (17:16 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 13 Mar 2021 01:47:45 +0000 (17:47 -0800)
The removing testcases can only delete the addresses from id 1, this
patch added the support for deleting the addresses from any id that user
set.

Signed-off-by: Geliang Tang <geliangtang@gmail.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 15b71dd..6782a89 100755 (executable)
@@ -284,14 +284,19 @@ do_transfer()
                let rm_nr_ns1=-addr_nr_ns1
                if [ $rm_nr_ns1 -lt 8 ]; then
                        counter=1
-                       sleep 1
-
-                       while [ $counter -le $rm_nr_ns1 ]
-                       do
-                               ip netns exec ${listener_ns} ./pm_nl_ctl del $counter
+                       dump=(`ip netns exec ${listener_ns} ./pm_nl_ctl dump`)
+                       if [ ${#dump[@]} -gt 0 ]; then
+                               id=${dump[1]}
                                sleep 1
-                               let counter+=1
-                       done
+
+                               while [ $counter -le $rm_nr_ns1 ]
+                               do
+                                       ip netns exec ${listener_ns} ./pm_nl_ctl del $id
+                                       sleep 1
+                                       let counter+=1
+                                       let id+=1
+                               done
+                       fi
                else
                        sleep 1
                        ip netns exec ${listener_ns} ./pm_nl_ctl flush
@@ -318,14 +323,19 @@ do_transfer()
                let rm_nr_ns2=-addr_nr_ns2
                if [ $rm_nr_ns2 -lt 8 ]; then
                        counter=1
-                       sleep 1
-
-                       while [ $counter -le $rm_nr_ns2 ]
-                       do
-                               ip netns exec ${connector_ns} ./pm_nl_ctl del $counter
+                       dump=(`ip netns exec ${connector_ns} ./pm_nl_ctl dump`)
+                       if [ ${#dump[@]} -gt 0 ]; then
+                               id=${dump[1]}
                                sleep 1
-                               let counter+=1
-                       done
+
+                               while [ $counter -le $rm_nr_ns2 ]
+                               do
+                                       ip netns exec ${connector_ns} ./pm_nl_ctl del $id
+                                       sleep 1
+                                       let counter+=1
+                                       let id+=1
+                               done
+                       fi
                else
                        sleep 1
                        ip netns exec ${connector_ns} ./pm_nl_ctl flush