mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
selftests: mptcp: add the MP_PRIO testcases
This patch added the MP_PRIO testcases: Add a new argument bkup for run_tests and do_transfer, it can be set as "backup" or "nobackup", the default value is "". Add a new function chk_prio_nr to check the MP_PRIO related MIB counters. The output looks like this: 29 single subflow, backup syn[ ok ] - synack[ ok ] - ack[ ok ] ptx[ ok ] - prx [ ok ] 30 single address, backup syn[ ok ] - synack[ ok ] - ack[ ok ] add[ ok ] - echo [ ok ] ptx[ ok ] - prx [ ok ] Signed-off-by: Geliang Tang <geliangtang@gmail.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
0be2ac287b
commit
718eb44e5c
@ -212,6 +212,7 @@ do_transfer()
|
||||
rm_nr_ns1="$7"
|
||||
rm_nr_ns2="$8"
|
||||
speed="$9"
|
||||
bkup="${10}"
|
||||
|
||||
port=$((10000+$TEST_COUNT))
|
||||
TEST_COUNT=$((TEST_COUNT+1))
|
||||
@ -297,6 +298,18 @@ do_transfer()
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -z $bkup ]; 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
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
wait $cpid
|
||||
retc=$?
|
||||
wait $spid
|
||||
@ -358,6 +371,7 @@ run_tests()
|
||||
rm_nr_ns1="${5:-0}"
|
||||
rm_nr_ns2="${6:-0}"
|
||||
speed="${7:-fast}"
|
||||
bkup="${8:-""}"
|
||||
lret=0
|
||||
oldin=""
|
||||
|
||||
@ -372,7 +386,7 @@ run_tests()
|
||||
fi
|
||||
|
||||
do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \
|
||||
${test_linkfail} ${rm_nr_ns1} ${rm_nr_ns2} ${speed}
|
||||
${test_linkfail} ${rm_nr_ns1} ${rm_nr_ns2} ${speed} ${bkup}
|
||||
lret=$?
|
||||
|
||||
if [ "$test_linkfail" -eq 1 ];then
|
||||
@ -509,6 +523,43 @@ chk_rm_nr()
|
||||
fi
|
||||
}
|
||||
|
||||
chk_prio_nr()
|
||||
{
|
||||
local mp_prio_nr_tx=$1
|
||||
local mp_prio_nr_rx=$2
|
||||
local count
|
||||
local dump_stats
|
||||
|
||||
printf "%-39s %s" " " "ptx"
|
||||
count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPPrioTx | awk '{print $2}'`
|
||||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$mp_prio_nr_tx" ]; then
|
||||
echo "[fail] got $count MP_PRIO[s] TX expected $mp_prio_nr_tx"
|
||||
ret=1
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
fi
|
||||
|
||||
echo -n " - prx "
|
||||
count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPPrioRx | awk '{print $2}'`
|
||||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$mp_prio_nr_rx" ]; then
|
||||
echo "[fail] got $count MP_PRIO[s] RX expected $mp_prio_nr_rx"
|
||||
ret=1
|
||||
dump_stats=1
|
||||
else
|
||||
echo "[ ok ]"
|
||||
fi
|
||||
|
||||
if [ "${dump_stats}" = 1 ]; then
|
||||
echo Server ns stats
|
||||
ip netns exec $ns1 nstat -as | grep MPTcp
|
||||
echo Client ns stats
|
||||
ip netns exec $ns2 nstat -as | grep MPTcp
|
||||
fi
|
||||
}
|
||||
|
||||
sin=$(mktemp)
|
||||
sout=$(mktemp)
|
||||
cin=$(mktemp)
|
||||
@ -739,6 +790,25 @@ chk_join_nr "remove subflow and signal IPv6" 2 2 2
|
||||
chk_add_nr 1 1
|
||||
chk_rm_nr 1 1
|
||||
|
||||
# single subflow, backup
|
||||
reset
|
||||
ip netns exec $ns1 ./pm_nl_ctl limits 0 1
|
||||
ip netns exec $ns2 ./pm_nl_ctl limits 0 1
|
||||
ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow,backup
|
||||
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup
|
||||
chk_join_nr "single subflow, backup" 1 1 1
|
||||
chk_prio_nr 0 1
|
||||
|
||||
# single address, backup
|
||||
reset
|
||||
ip netns exec $ns1 ./pm_nl_ctl limits 0 1
|
||||
ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal
|
||||
ip netns exec $ns2 ./pm_nl_ctl limits 1 1
|
||||
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup
|
||||
chk_join_nr "single address, backup" 1 1 1
|
||||
chk_add_nr 1 1
|
||||
chk_prio_nr 1 0
|
||||
|
||||
# single subflow, syncookies
|
||||
reset_with_cookies
|
||||
ip netns exec $ns1 ./pm_nl_ctl limits 0 1
|
||||
|
Loading…
Reference in New Issue
Block a user