hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/tools/testing/selftests/net/mptcp/mptcp_join.sh
....@@ -1,6 +1,8 @@
11 #!/bin/bash
22 # SPDX-License-Identifier: GPL-2.0
33
4
+. "$(dirname "${0}")/mptcp_lib.sh"
5
+
46 ret=0
57 sin=""
68 sout=""
....@@ -88,6 +90,8 @@
8890 fi
8991 done
9092
93
+mptcp_lib_check_mptcp
94
+
9195 ip -Version > /dev/null 2>&1
9296 if [ $? -ne 0 ];then
9397 echo "SKIP: Could not run test without ip tool"
....@@ -124,6 +128,22 @@
124128 echo "$listener_ns -> $connect_addr connectivity [ FAIL ]" 1>&2
125129 ret=1
126130 fi
131
+}
132
+
133
+# $1: ns ; $2: counter
134
+get_counter()
135
+{
136
+ local ns="${1}"
137
+ local counter="${2}"
138
+ local count
139
+
140
+ count=$(ip netns exec ${ns} nstat -asz "${counter}" | awk 'NR==1 {next} {print $2}')
141
+ if [ -z "${count}" ]; then
142
+ mptcp_lib_fail_if_expected_feature "${counter} counter"
143
+ return 1
144
+ fi
145
+
146
+ echo "${count}"
127147 }
128148
129149 do_transfer()
....@@ -287,9 +307,10 @@
287307 local dump_stats
288308
289309 printf "%02u %-36s %s" "$TEST_COUNT" "$msg" "syn"
290
- count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinSynRx | awk '{print $2}'`
291
- [ -z "$count" ] && count=0
292
- if [ "$count" != "$syn_nr" ]; then
310
+ count=$(get_counter ${ns1} "MPTcpExtMPJoinSynRx")
311
+ if [ -z "$count" ]; then
312
+ echo -n "[skip]"
313
+ elif [ "$count" != "$syn_nr" ]; then
293314 echo "[fail] got $count JOIN[s] syn expected $syn_nr"
294315 ret=1
295316 dump_stats=1
....@@ -298,9 +319,10 @@
298319 fi
299320
300321 echo -n " - synack"
301
- count=`ip netns exec $ns2 nstat -as | grep MPTcpExtMPJoinSynAckRx | awk '{print $2}'`
302
- [ -z "$count" ] && count=0
303
- if [ "$count" != "$syn_ack_nr" ]; then
322
+ count=$(get_counter ${ns2} "MPTcpExtMPJoinSynAckRx")
323
+ if [ -z "$count" ]; then
324
+ echo -n "[skip]"
325
+ elif [ "$count" != "$syn_ack_nr" ]; then
304326 echo "[fail] got $count JOIN[s] synack expected $syn_ack_nr"
305327 ret=1
306328 dump_stats=1
....@@ -309,9 +331,10 @@
309331 fi
310332
311333 echo -n " - ack"
312
- count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinAckRx | awk '{print $2}'`
313
- [ -z "$count" ] && count=0
314
- if [ "$count" != "$ack_nr" ]; then
334
+ count=$(get_counter ${ns1} "MPTcpExtMPJoinAckRx")
335
+ if [ -z "$count" ]; then
336
+ echo "[skip]"
337
+ elif [ "$count" != "$ack_nr" ]; then
315338 echo "[fail] got $count JOIN[s] ack expected $ack_nr"
316339 ret=1
317340 dump_stats=1
....@@ -334,9 +357,10 @@
334357 local dump_stats
335358
336359 printf "%-39s %s" " " "add"
337
- count=`ip netns exec $ns2 nstat -as | grep MPTcpExtAddAddr | awk '{print $2}'`
338
- [ -z "$count" ] && count=0
339
- if [ "$count" != "$add_nr" ]; then
360
+ count=$(get_counter ${ns2} "MPTcpExtAddAddr")
361
+ if [ -z "$count" ]; then
362
+ echo -n "[skip]"
363
+ elif [ "$count" != "$add_nr" ]; then
340364 echo "[fail] got $count ADD_ADDR[s] expected $add_nr"
341365 ret=1
342366 dump_stats=1
....@@ -345,9 +369,10 @@
345369 fi
346370
347371 echo -n " - echo "
348
- count=`ip netns exec $ns1 nstat -as | grep MPTcpExtEchoAdd | awk '{print $2}'`
349
- [ -z "$count" ] && count=0
350
- if [ "$count" != "$echo_nr" ]; then
372
+ count=$(get_counter ${ns1} "MPTcpExtEchoAdd")
373
+ if [ -z "$count" ]; then
374
+ echo "[skip]"
375
+ elif [ "$count" != "$echo_nr" ]; then
351376 echo "[fail] got $count ADD_ADDR echo[s] expected $echo_nr"
352377 ret=1
353378 dump_stats=1
....@@ -371,9 +396,10 @@
371396 local dump_stats
372397
373398 printf "%-39s %s" " " "rm "
374
- count=`ip netns exec $ns1 nstat -as | grep MPTcpExtRmAddr | awk '{print $2}'`
375
- [ -z "$count" ] && count=0
376
- if [ "$count" != "$rm_addr_nr" ]; then
399
+ count=$(get_counter ${ns1} "MPTcpExtRmAddr")
400
+ if [ -z "$count" ]; then
401
+ echo -n "[skip]"
402
+ elif [ "$count" != "$rm_addr_nr" ]; then
377403 echo "[fail] got $count RM_ADDR[s] expected $rm_addr_nr"
378404 ret=1
379405 dump_stats=1
....@@ -382,9 +408,10 @@
382408 fi
383409
384410 echo -n " - sf "
385
- count=`ip netns exec $ns2 nstat -as | grep MPTcpExtRmSubflow | awk '{print $2}'`
386
- [ -z "$count" ] && count=0
387
- if [ "$count" != "$rm_subflow_nr" ]; then
411
+ count=$(get_counter ${ns2} "MPTcpExtRmSubflow")
412
+ if [ -z "$count" ]; then
413
+ echo "[skip]"
414
+ elif [ "$count" != "$rm_subflow_nr" ]; then
388415 echo "[fail] got $count RM_SUBFLOW[s] expected $rm_subflow_nr"
389416 ret=1
390417 dump_stats=1