Hi Geliang,
On 22/05/2023 15:12, Geliang Tang wrote:
> To align with what is done by the in-kernel PM, update userspace pm
> subflow selftests in mptcp_join.sh and userspace_pm.sh, by sending
> the a remove_addrs command together after the remove_subflows command.
> This will get a RM_ADDR in chk_rm_nr().
>
> Fixes: d9a4594edabf ("mptcp: netlink: Add MPTCP_PM_CMD_REMOVE")
> Fixes: 5e986ec46874 ("selftests: mptcp: userspace pm subflow tests")
> Link: https://github.com/multipath-tcp/mptcp_net-next/issues/379
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> tools/testing/selftests/net/mptcp/mptcp_join.sh | 3 ++-
> tools/testing/selftests/net/mptcp/userspace_pm.sh | 3 +++
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index a42745e60976..46c2095d6e3a 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -939,6 +939,7 @@ do_transfer()
> sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q')
> ip netns exec ${connector_ns} ./pm_nl_ctl dsf lip $addr lport $sp \
> rip $da rport $dp token $tk
> + ip netns exec ${connector_ns} ./pm_nl_ctl rem token $tk id $id
Linked to my comment on patch 4/5, this should be done before the
previous line: "pm_nl_ctl rem" then "pm_nl_ctl dsf".
> fi
> counter=$((counter + 1))
> add_nr_ns2=$((add_nr_ns2 - 1))
> @@ -3210,7 +3211,7 @@ userspace_tests()
> pm_nl_set_limits $ns1 0 1
> run_tests $ns1 $ns2 10.0.1.1 0 0 userspace_1 slow
> chk_join_nr 1 1 1
> - chk_rm_nr 0 1
> + chk_rm_nr 1 1
> kill_events_pids
> fi
> }
> diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
> index b1eb7bce599d..02465ffa075f 100755
> --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
> +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
> @@ -621,6 +621,7 @@ test_subflows()
> :>"$server_evts"
> ip netns exec "$ns1" ./pm_nl_ctl dsf lip dead:beef:2::1 lport "$sport" rip\
> dead:beef:2::2 rport "$client6_port" token "$server6_token" > /dev/null 2>&1
> + ip netns exec "$ns1" ./pm_nl_ctl rem id 23 token "$server6_token" > /dev/null 2>&1
Same here and the 2 below: "pm_nl_ctl rem" then "pm_nl_ctl dsf".
> sleep 0.5
> verify_subflow_events "$server_evts" "$SUB_CLOSED" "$server6_token" "$AF_INET6"\
> "dead:beef:2::1" "dead:beef:2::2" "$client6_port" "23"\
> @@ -660,6 +661,7 @@ test_subflows()
> :>"$server_evts"
> ip netns exec "$ns1" ./pm_nl_ctl dsf lip 10.0.2.1 lport "$sport" rip 10.0.2.2 rport\
> $new4_port token "$server4_token" > /dev/null 2>&1
> + ip netns exec "$ns1" ./pm_nl_ctl rem id 23 token "$server4_token" > /dev/null 2>&1
> sleep 0.5
> verify_subflow_events "$server_evts" "$SUB_CLOSED" "$server4_token" "$AF_INET" "10.0.2.1"\
> "10.0.2.2" "$new4_port" "23" "$client_addr_id" "ns1" "ns2"
> @@ -737,6 +739,7 @@ test_subflows()
> :>"$client_evts"
> ip netns exec "$ns2" ./pm_nl_ctl dsf lip dead:beef:2::2 lport "$sport" rip\
> dead:beef:2::1 rport $app6_port token "$client6_token" > /dev/null 2>&1
> + ip netns exec "$ns2" ./pm_nl_ctl rem id 23 token "$client6_token" > /dev/null 2>&1
> sleep 0.5
> verify_subflow_events $client_evts $SUB_CLOSED $client6_token $AF_INET6 "dead:beef:2::2"\
> "dead:beef:2::1" "$app6_port" "23" "$server_addr_id" "ns2" "ns1"
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net