.. | .. |
---|
1 | 1 | #!/bin/bash |
---|
2 | 2 | # SPDX-License-Identifier: GPL-2.0 |
---|
3 | 3 | |
---|
| 4 | +. "$(dirname "${0}")/mptcp_lib.sh" |
---|
| 5 | + |
---|
4 | 6 | ret=0 |
---|
5 | 7 | sin="" |
---|
6 | 8 | sout="" |
---|
.. | .. |
---|
88 | 90 | fi |
---|
89 | 91 | done |
---|
90 | 92 | |
---|
| 93 | +mptcp_lib_check_mptcp |
---|
| 94 | + |
---|
91 | 95 | ip -Version > /dev/null 2>&1 |
---|
92 | 96 | if [ $? -ne 0 ];then |
---|
93 | 97 | echo "SKIP: Could not run test without ip tool" |
---|
.. | .. |
---|
124 | 128 | echo "$listener_ns -> $connect_addr connectivity [ FAIL ]" 1>&2 |
---|
125 | 129 | ret=1 |
---|
126 | 130 | 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}" |
---|
127 | 147 | } |
---|
128 | 148 | |
---|
129 | 149 | do_transfer() |
---|
.. | .. |
---|
287 | 307 | local dump_stats |
---|
288 | 308 | |
---|
289 | 309 | 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 |
---|
293 | 314 | echo "[fail] got $count JOIN[s] syn expected $syn_nr" |
---|
294 | 315 | ret=1 |
---|
295 | 316 | dump_stats=1 |
---|
.. | .. |
---|
298 | 319 | fi |
---|
299 | 320 | |
---|
300 | 321 | 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 |
---|
304 | 326 | echo "[fail] got $count JOIN[s] synack expected $syn_ack_nr" |
---|
305 | 327 | ret=1 |
---|
306 | 328 | dump_stats=1 |
---|
.. | .. |
---|
309 | 331 | fi |
---|
310 | 332 | |
---|
311 | 333 | 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 |
---|
315 | 338 | echo "[fail] got $count JOIN[s] ack expected $ack_nr" |
---|
316 | 339 | ret=1 |
---|
317 | 340 | dump_stats=1 |
---|
.. | .. |
---|
334 | 357 | local dump_stats |
---|
335 | 358 | |
---|
336 | 359 | 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 |
---|
340 | 364 | echo "[fail] got $count ADD_ADDR[s] expected $add_nr" |
---|
341 | 365 | ret=1 |
---|
342 | 366 | dump_stats=1 |
---|
.. | .. |
---|
345 | 369 | fi |
---|
346 | 370 | |
---|
347 | 371 | 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 |
---|
351 | 376 | echo "[fail] got $count ADD_ADDR echo[s] expected $echo_nr" |
---|
352 | 377 | ret=1 |
---|
353 | 378 | dump_stats=1 |
---|
.. | .. |
---|
371 | 396 | local dump_stats |
---|
372 | 397 | |
---|
373 | 398 | 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 |
---|
377 | 403 | echo "[fail] got $count RM_ADDR[s] expected $rm_addr_nr" |
---|
378 | 404 | ret=1 |
---|
379 | 405 | dump_stats=1 |
---|
.. | .. |
---|
382 | 408 | fi |
---|
383 | 409 | |
---|
384 | 410 | 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 |
---|
388 | 415 | echo "[fail] got $count RM_SUBFLOW[s] expected $rm_subflow_nr" |
---|
389 | 416 | ret=1 |
---|
390 | 417 | dump_stats=1 |
---|