Skip to content

Commit

Permalink
selftests: mptcp: join: test both signal & subflow
Browse files Browse the repository at this point in the history
It should be quite uncommon to set both the subflow and the signal
flags: the initiator of the connection is typically the one creating new
subflows, not the other peer, then no need to announce additional local
addresses, and use it to create subflows.

But some people might be confused about the flags, and set both "just to
be sure at least the right one is set". To verify the previous fix, and
avoid future regressions, this specific case is now validated: the
client announces a new address, and initiates a new subflow from the
same address.

While working on this, another bug has been noticed, where the client
reset the new subflow because an ADD_ADDR echo got received as the 3rd
ACK: check that no RST have been sent by the client and server.

Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
  • Loading branch information
matttbe authored and intel-lab-lkp committed Jun 25, 2024
1 parent cab0ccc commit 5cce002
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions tools/testing/selftests/net/mptcp/mptcp_join.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1967,6 +1967,21 @@ signal_address_tests()
chk_add_nr 1 1
fi

# uncommon: subflow and signal flags on the same endpoint
# or because the user wrongly picked both, but still expects the client
# to create additional subflows
if reset "subflow and signal together"; then
pm_nl_set_limits $ns1 0 2
pm_nl_set_limits $ns2 0 2
pm_nl_add_endpoint $ns2 10.0.3.2 flags signal,subflow
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1
chk_add_nr 1 1 0 invert # only initiated by ns2
chk_add_nr 0 0 0 # none initiated by ns1
chk_rst_nr 0 0 invert # no RST sent by the client
chk_rst_nr 0 0 # no RST sent by the server
fi

# accept and use add_addr with additional subflows
if reset "multiple subflows and signal"; then
pm_nl_set_limits $ns1 0 3
Expand Down

0 comments on commit 5cce002

Please sign in to comment.