selftests: mptcp: join: validate backup in MPJ
commit 935ff5bb8a1cfcdf8e60c8f5c794d0bbbc234437 upstream. A peer can notify the other one that a subflow has to be treated as "backup" by two different ways: either by sending a dedicated MP_PRIO notification, or by setting the backup flag in the MP_JOIN handshake. The selftests were previously monitoring the former, but not the latter. This is what is now done here by looking at these new MIB counters when validating the 'backup' cases: MPTcpExtMPJoinSynBackupRx MPTcpExtMPJoinSynAckBackupRx The 'Fixes' tag here below is the same as the one from the previous commit: this patch here is not fixing anything wrong in the selftests, but it will help to validate a new fix for an issue introduced by this commit ID. Fixes:4596a2c1b7
("mptcp: allow creating non-backup subflows") Cc: stable@vger.kernel.org Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: Paolo Abeni <pabeni@redhat.com> [ Conflicts in mptcp_join.sh because the check are done has changed, e.g. in commit03668c65d1
("selftests: mptcp: join: rework detailed report"), or commit985de45923
("selftests: mptcp: centralize stats dumping"), etc. Adaptations have been made to use the old way, similar to what is done just above. Also, in this version, some subtests are missing. Only the two using chk_prio_nr() have been modified. ] Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
3c7dafc171
Коммит
34558a433f
|
@ -925,6 +925,8 @@ chk_prio_nr()
|
|||
{
|
||||
local mp_prio_nr_tx=$1
|
||||
local mp_prio_nr_rx=$2
|
||||
local mpj_syn=$3
|
||||
local mpj_syn_ack=$4
|
||||
local count
|
||||
local dump_stats
|
||||
|
||||
|
@ -952,6 +954,30 @@ chk_prio_nr()
|
|||
echo "[ ok ]"
|
||||
fi
|
||||
|
||||
printf "%-39s %s" " " "bkp syn"
|
||||
count=$(get_counter ${ns1} "MPTcpExtMPJoinSynBackupRx")
|
||||
if [ -z "$count" ]; then
|
||||
echo -n "[skip]"
|
||||
elif [ "$count" != "$mpj_syn" ]; then
|
||||
echo "[fail] got $count JOIN[s] syn with Backup expected $mpj_syn"
|
||||
ret=1
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
fi
|
||||
|
||||
echo -n " - synack "
|
||||
count=$(get_counter ${ns2} "MPTcpExtMPJoinSynAckBackupRx")
|
||||
if [ -z "$count" ]; then
|
||||
echo "[skip]"
|
||||
elif [ "$count" != "$mpj_syn_ack" ]; then
|
||||
echo "[fail] got $count JOIN[s] synack with Backup expected $mpj_syn_ack"
|
||||
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
|
||||
|
@ -1557,7 +1583,7 @@ backup_tests()
|
|||
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
|
||||
chk_prio_nr 0 1 1 0
|
||||
|
||||
# single address, backup
|
||||
reset
|
||||
|
@ -1567,7 +1593,7 @@ backup_tests()
|
|||
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
|
||||
chk_prio_nr 1 0 0 0
|
||||
}
|
||||
|
||||
add_addr_ports_tests()
|
||||
|
|
Загрузка…
Ссылка в новой задаче