mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 03:53:37 +02:00
selftests: mptcp: join: tolerate more ADD_ADDR
ADD_ADDR can be retransmitted, and with, the parent commit, these retransmissions can be sent quicker: from 2 minutes to less than one second. To avoid false positives where retransmitted ADD_ADDR causes higher counters than expected, it is required to be more tolerant. Errors are now only reported when fewer ADD_ADDRs have been sent/received, except if no ADD_ADDR are expected. Before the parent commit, the tolerance was present for each tests where the ADD_ADDR could be retransmitted in a reasonable time (1 sec). Now that all tests can have retransmitted ADD_ADDR, it is normal to apply the same tolerance for all tests. An alternative could be to disable the ADD_ADDR retransmissions by default, but that's changing the default kernel behaviour. Plus, ADD_ADDR retransmissions can be required for some tests. To avoid adding exceptions to many tests, it seems better to increase the tolerance. Later, we could add a new MIB counter to identify the ADD_ADDR retransmissions, and remove the tolerance when this counter is available. Reviewed-by: Geliang Tang <geliang@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20250907-net-next-mptcp-add_addr-retrans-adapt-v1-2-824cc805772b@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
30549eebc4
commit
63c31d42cf
|
|
@ -358,6 +358,7 @@ reset_with_add_addr_timeout()
|
|||
tables="${ip6tables}"
|
||||
fi
|
||||
|
||||
# set a maximum, to avoid too long timeout with exponential backoff
|
||||
ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=1
|
||||
|
||||
if ! ip netns exec $ns2 $tables -A OUTPUT -p tcp \
|
||||
|
|
@ -1669,7 +1670,6 @@ chk_add_nr()
|
|||
local tx=""
|
||||
local rx=""
|
||||
local count
|
||||
local timeout
|
||||
|
||||
if [[ $ns_invert = "invert" ]]; then
|
||||
ns_tx=$ns2
|
||||
|
|
@ -1678,15 +1678,13 @@ chk_add_nr()
|
|||
rx=" server"
|
||||
fi
|
||||
|
||||
timeout=$(ip netns exec ${ns_tx} sysctl -n net.mptcp.add_addr_timeout)
|
||||
|
||||
print_check "add addr rx${rx}"
|
||||
count=$(mptcp_lib_get_counter ${ns_rx} "MPTcpExtAddAddr")
|
||||
if [ -z "$count" ]; then
|
||||
print_skip
|
||||
# if the test configured a short timeout tolerate greater then expected
|
||||
# add addrs options, due to retransmissions
|
||||
elif [ "$count" != "$add_nr" ] && { [ "$timeout" -gt 1 ] || [ "$count" -lt "$add_nr" ]; }; then
|
||||
# Tolerate more ADD_ADDR then expected (if any), due to retransmissions
|
||||
elif [ "$count" != "$add_nr" ] &&
|
||||
{ [ "$add_nr" -eq 0 ] || [ "$count" -lt "$add_nr" ]; }; then
|
||||
fail_test "got $count ADD_ADDR[s] expected $add_nr"
|
||||
else
|
||||
print_ok
|
||||
|
|
@ -1774,18 +1772,15 @@ chk_add_tx_nr()
|
|||
{
|
||||
local add_tx_nr=$1
|
||||
local echo_tx_nr=$2
|
||||
local timeout
|
||||
local count
|
||||
|
||||
timeout=$(ip netns exec $ns1 sysctl -n net.mptcp.add_addr_timeout)
|
||||
|
||||
print_check "add addr tx"
|
||||
count=$(mptcp_lib_get_counter ${ns1} "MPTcpExtAddAddrTx")
|
||||
if [ -z "$count" ]; then
|
||||
print_skip
|
||||
# if the test configured a short timeout tolerate greater then expected
|
||||
# add addrs options, due to retransmissions
|
||||
elif [ "$count" != "$add_tx_nr" ] && { [ "$timeout" -gt 1 ] || [ "$count" -lt "$add_tx_nr" ]; }; then
|
||||
# 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
|
||||
fail_test "got $count ADD_ADDR[s] TX, expected $add_tx_nr"
|
||||
else
|
||||
print_ok
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user