selftests: mptcp: join: fix 'implicit EP' test
commit c8c101ae390a3e817369e94a6f12a1ddea420702 upstream.
mptcp_join 'implicit EP' test currently fails when using ip mptcp:
$ ./mptcp_join.sh -iI
<snip>
001 implicit EP creation[fail] expected '10.0.2.2 10.0.2.2 id 1 implicit' found '10.0.2.2 id 1 rawflags 10 '
Error: too many addresses or duplicate one: -22.
ID change is prevented[fail] expected '10.0.2.2 10.0.2.2 id 1 implicit' found '10.0.2.2 id 1 rawflags 10 '
modif is allowed[fail] expected '10.0.2.2 10.0.2.2 id 1 signal' found '10.0.2.2 id 1 signal '
This happens because of two reasons:
- iproute v6.3.0 does not support the implicit flag, fixed with
iproute2-next commit 3a2535a41854 ("mptcp: add support for implicit
flag")
- pm_nl_check_endpoint wrongly expects the ip address to be repeated two
times in iproute output, and does not account for a final whitespace
in it.
This fixes the issue trimming the whitespace in the output string and
removing the double address in the expected string.
Fixes: 69c6ce7b6e
("selftests: mptcp: add implicit endpoint test case")
Cc: stable@vger.kernel.org
Signed-off-by: Andrea Claudi <aclaudi@redhat.com>
Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Link: https://lore.kernel.org/r/20230803-upstream-net-20230803-misc-fixes-6-5-v1-2-6671b1ab11cc@tessares.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
aae988c096
commit
d143c73602
@ -741,10 +741,11 @@ pm_nl_check_endpoint()
|
||||
fi
|
||||
|
||||
if [ $ip_mptcp -eq 1 ]; then
|
||||
# get line and trim trailing whitespace
|
||||
line=$(ip -n $ns mptcp endpoint show $id)
|
||||
line="${line% }"
|
||||
# the dump order is: address id flags port dev
|
||||
expected_line="$addr"
|
||||
[ -n "$addr" ] && expected_line="$expected_line $addr"
|
||||
[ -n "$addr" ] && expected_line="$addr"
|
||||
expected_line="$expected_line $id"
|
||||
[ -n "$_flags" ] && expected_line="$expected_line ${_flags//","/" "}"
|
||||
[ -n "$dev" ] && expected_line="$expected_line $dev"
|
||||
|
Loading…
Reference in New Issue
Block a user