mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
selftests: mptcp: always check sent/dropped ADD_ADDRs
Before, they were only checked on demand, but it seems better to check them each time received ADD_ADDRs are checked. Errors are only reported when the counter exists, and the value is not the expected one. This is similar to what is done in chk_join_nr: it reduces the output, and avoids a lot of 'skip' when validating older kernels. Also here, some tests need to adapt the default expected counters, e.g. when ADD_ADDR echo are dropped on the reception side, or it is not possible to send an ADD_ADDR due to the limited option space. Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20260605-net-next-mptcp-add-addr6-port-ts-v2-8-758e7ca73f4d@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
dd7fb53c21
commit
5558517b00
|
|
@ -87,6 +87,10 @@ unset fb_mpc_data
|
|||
unset fb_md5_sig
|
||||
unset fb_dss
|
||||
|
||||
unset add_addr_tx_nr
|
||||
unset add_addr_echo_tx_nr
|
||||
unset add_addr_drop_tx_nr
|
||||
|
||||
# generated using "nfbpf_compile '(ip && (ip[54] & 0xf0) == 0x30) ||
|
||||
# (ip6 && (ip6[74] & 0xf0) == 0x30)'"
|
||||
CBPF_MPTCP_SUBOPTION_ADD_ADDR="14,
|
||||
|
|
@ -1710,6 +1714,9 @@ chk_add_nr()
|
|||
local ack_nr=$port_nr
|
||||
local mis_syn_nr=0
|
||||
local mis_ack_nr=0
|
||||
local add_tx_nr=${add_addr_tx_nr:-${add_nr}}
|
||||
local echo_tx_nr=${add_addr_echo_tx_nr:-${echo_nr}}
|
||||
local drop_tx_nr=${add_addr_drop_tx_nr:-0}
|
||||
local ns_tx=$ns1
|
||||
local ns_rx=$ns2
|
||||
local tx=""
|
||||
|
|
@ -1811,50 +1818,25 @@ chk_add_nr()
|
|||
print_ok
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
chk_add_tx_nr()
|
||||
{
|
||||
local add_tx_nr=$1
|
||||
local echo_tx_nr=$2
|
||||
local count
|
||||
|
||||
print_check "add addr tx"
|
||||
count=$(mptcp_lib_get_counter ${ns1} "MPTcpExtAddAddrTx")
|
||||
if [ -z "$count" ]; then
|
||||
print_skip
|
||||
count=$(mptcp_lib_get_counter ${ns_tx} "MPTcpExtAddAddrTx")
|
||||
# Tolerate more ADD_ADDR then expected (if any), due to retransmissions
|
||||
elif [ "$count" != "$add_tx_nr" ] &&
|
||||
{ [ "$add_tx_nr" -eq 0 ] || [ "$count" -lt "$add_tx_nr" ]; }; then
|
||||
if [ -n "$count" ] && [ "$count" != "$add_tx_nr" ] &&
|
||||
{ [ "$add_tx_nr" -eq 0 ] || [ "$count" -lt "$add_tx_nr" ]; }; then
|
||||
print_check "add addr tx"
|
||||
fail_test "got $count ADD_ADDR[s] TX, expected $add_tx_nr"
|
||||
else
|
||||
print_ok
|
||||
fi
|
||||
|
||||
print_check "add addr echo tx"
|
||||
count=$(mptcp_lib_get_counter ${ns2} "MPTcpExtEchoAddTx")
|
||||
if [ -z "$count" ]; then
|
||||
print_skip
|
||||
elif [ "$count" != "$echo_tx_nr" ]; then
|
||||
count=$(mptcp_lib_get_counter ${ns_rx} "MPTcpExtEchoAddTx")
|
||||
if [ -n "$count" ] && [ "$count" != "$echo_tx_nr" ]; then
|
||||
print_check "add addr echo tx"
|
||||
fail_test "got $count ADD_ADDR echo[s] TX, expected $echo_tx_nr"
|
||||
else
|
||||
print_ok
|
||||
fi
|
||||
}
|
||||
|
||||
chk_add_drop_tx_nr()
|
||||
{
|
||||
local drop_tx_nr=$1
|
||||
local count
|
||||
|
||||
print_check "add addr tx drop"
|
||||
count=$(mptcp_lib_get_counter ${ns1} "MPTcpExtAddAddrTxDrop")
|
||||
if [ -z "$count" ]; then
|
||||
print_skip
|
||||
elif [ "$count" != "$drop_tx_nr" ]; then
|
||||
count=$(mptcp_lib_get_counter ${ns_tx} "MPTcpExtAddAddrTxDrop")
|
||||
if [ -n "$count" ] && [ "$count" != "$drop_tx_nr" ]; then
|
||||
print_check "add addr tx drop"
|
||||
fail_test "got $count ADD_ADDR drop[s] TX, expected $drop_tx_nr"
|
||||
else
|
||||
print_ok
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -2267,7 +2249,6 @@ signal_address_tests()
|
|||
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
|
||||
run_tests $ns1 $ns2 10.0.1.1
|
||||
chk_join_nr 0 0 0
|
||||
chk_add_tx_nr 1 1
|
||||
chk_add_nr 1 1
|
||||
fi
|
||||
|
||||
|
|
@ -2545,8 +2526,8 @@ add_addr_timeout_tests()
|
|||
speed=slow \
|
||||
run_tests $ns1 $ns2 10.0.1.1
|
||||
chk_join_nr 1 1 1
|
||||
chk_add_tx_nr 4 4
|
||||
chk_add_nr 4 0
|
||||
add_addr_echo_tx_nr=4 \
|
||||
chk_add_nr 4 0
|
||||
fi
|
||||
|
||||
# add_addr timeout IPv6
|
||||
|
|
@ -2557,7 +2538,8 @@ add_addr_timeout_tests()
|
|||
speed=slow \
|
||||
run_tests $ns1 $ns2 dead:beef:1::1
|
||||
chk_join_nr 1 1 1
|
||||
chk_add_nr 4 0
|
||||
add_addr_echo_tx_nr=4 \
|
||||
chk_add_nr 4 0
|
||||
fi
|
||||
|
||||
# signal addresses timeout
|
||||
|
|
@ -2569,7 +2551,8 @@ add_addr_timeout_tests()
|
|||
speed=10 \
|
||||
run_tests $ns1 $ns2 10.0.1.1
|
||||
chk_join_nr 2 2 2
|
||||
chk_add_nr 8 0
|
||||
add_addr_echo_tx_nr=8 \
|
||||
chk_add_nr 8 0
|
||||
fi
|
||||
|
||||
# signal invalid addresses timeout
|
||||
|
|
@ -2582,7 +2565,8 @@ add_addr_timeout_tests()
|
|||
run_tests $ns1 $ns2 10.0.1.1
|
||||
join_syn_tx=2 \
|
||||
chk_join_nr 1 1 1
|
||||
chk_add_nr 8 0
|
||||
add_addr_echo_tx_nr=7 \
|
||||
chk_add_nr 8 0
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -3331,9 +3315,8 @@ add_addr_ports_tests()
|
|||
pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal port 10100
|
||||
pm_nl_add_endpoint $ns1 dead:beef:3::1 flags signal
|
||||
run_tests $ns1 $ns2 dead:beef:1::1
|
||||
chk_add_drop_tx_nr 1
|
||||
chk_add_tx_nr 1 1
|
||||
chk_add_nr 1 1 0
|
||||
add_addr_drop_tx_nr=1 \
|
||||
chk_add_nr 1 1 0
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user