MPTCP Linux Development
 help / color / mirror / Atom feed
* [PATCH mptcp-next v14 0/5] update userspace pm mptcp_info fields part 1
@ 2023-05-22 13:11 Geliang Tang
  2023-05-22 13:11 ` [PATCH mptcp-next v14 1/5] mptcp: only send RM_ADDR in nl_cmd_remove Geliang Tang
                   ` (5 more replies)
  0 siblings, 6 replies; 16+ messages in thread
From: Geliang Tang @ 2023-05-22 13:11 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

v14:
 - drop mptcp_pm_remove_addrs helper in patch 1
 - add two flags in patch 4, the address entry'll be removed from
   userspace_pm_local_addr_list only when both flags are set, by doing this,
   it's now independent of the order of the remove_subflows command and
   the remove_addrs command.

v13:
 - move the RM_ADDR command after the destruction of the subflow in
   patch 2 and patch 5.
 - drop mptcp_pm_remove_anno_list_by_saddr in mptcp_nl_cmd_sf_destroy in
   patch 4.
 - update userspace_pm.sh too in patch 5.

v12:
 - address Matt's commits in v11.

v11:
 - #1-#5 part 1, address Matt's comments in v10.
 - #6-#9 part 2, update pm mptcp_info
 - #10-#12 part 3, some cleanups.

v10:
 - fix userspace_pm.sh errors reported by CI.
 - fix the bug in mptcp_pm_remove_addrs in patch 1.
 - drop msk->pm.subflow == 1 in mptcp_userspace_pm_delete_local_addr in
   patch 3.
 - exchange the order of "pm_nl_ctl rem" and "pm_nl_ctl dsf" in patch 2
   and 6.
 - update the commit logs.

v9:
 - address Matt's commets in v8.

v8:
 - address Matt's comments.
 - split into two series, pt 2 will send later.

v7:
 - fix userspace_pm.sh errors reported by CI.
 - only remove addrs in mptcp_nl_cmd_remove().

v6:
 - send a RM ADDR from userspace.

v5:
 - fix a memleak error reported by CI.
 - add more delay for userspace pm tests.

v4:
 - add more patches
 - add selftests

v3:
 - update local_addr_used and add_addr_signaled

v2:
 - hold pm locks

Geliang Tang (5):
  mptcp: only send RM_ADDR in nl_cmd_remove
  selftests: mptcp: update userspace pm addr tests
  mptcp: export remove_anno_list_by_saddr
  mptcp: add address into userspace pm list
  selftests: mptcp: update userspace pm subflow tests

 include/uapi/linux/mptcp.h                    |  2 +
 net/mptcp/pm_netlink.c                        |  8 +-
 net/mptcp/pm_userspace.c                      | 77 ++++++++++++++++++-
 net/mptcp/protocol.h                          |  2 +
 .../testing/selftests/net/mptcp/mptcp_join.sh | 11 ++-
 .../selftests/net/mptcp/userspace_pm.sh       |  3 +
 6 files changed, 94 insertions(+), 9 deletions(-)

-- 
2.35.3


^ permalink raw reply	[flat|nested] 16+ messages in thread
* [PATCH mptcp-next v13 5/5] selftests: mptcp: update userspace pm subflow tests
@ 2023-05-10  4:20 Geliang Tang
  2023-05-10  6:05 ` selftests: mptcp: update userspace pm subflow tests: Tests Results MPTCP CI
  0 siblings, 1 reply; 16+ messages in thread
From: Geliang Tang @ 2023-05-10  4:20 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

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 0737ddd62564..6aacffa32bb6 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
 			fi
 			counter=$((counter + 1))
 			add_nr_ns2=$((add_nr_ns2 - 1))
@@ -3152,7 +3153,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
 	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"
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 16+ messages in thread
* [PATCH mptcp-next v10 6/6] selftests: mptcp: update userspace pm subflow tests
@ 2023-04-26  8:56 Geliang Tang
  2023-04-26  9:59 ` selftests: mptcp: update userspace pm subflow tests: Tests Results MPTCP CI
  0 siblings, 1 reply; 16+ messages in thread
From: Geliang Tang @ 2023-04-26  8:56 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

To align with what is done by the in-kernel PM, update userspace pm
subflow selftests, by sending the a remove_addrs command together
before 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 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 67d5d724266a..19fbe1c34a0c 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -923,6 +923,7 @@ do_transfer()
 				sleep 1
 				sp=$(grep "type:10" "$evts_ns2" |
 				     sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q')
+				ip netns exec ${connector_ns} ./pm_nl_ctl rem token $tk id $id
 				ip netns exec ${connector_ns} ./pm_nl_ctl dsf lip $addr lport $sp \
 									rip $da rport $dp token $tk
 			fi
@@ -3137,7 +3138,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
 }
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 16+ messages in thread
* [PATCH mptcp-next v9 6/6] selftests: mptcp: update userspace pm subflow tests
@ 2023-04-25  7:55 Geliang Tang
  2023-04-25  9:17 ` selftests: mptcp: update userspace pm subflow tests: Tests Results MPTCP CI
  0 siblings, 1 reply; 16+ messages in thread
From: Geliang Tang @ 2023-04-25  7:55 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

To align with what is done by the in-kernel PM, update userspace pm
subflow selftests, 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 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index b3cbcf27fec1..878acfcdba58 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -925,6 +925,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
 			fi
 			counter=$((counter + 1))
 			add_nr_ns2=$((add_nr_ns2 - 1))
@@ -3137,7 +3138,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
 }
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 16+ messages in thread
* [PATCH mptcp-next v8 5/5] selftests: mptcp: update userspace pm subflow tests
@ 2023-04-20  3:11 Geliang Tang
  2023-04-20  4:13 ` selftests: mptcp: update userspace pm subflow tests: Tests Results MPTCP CI
  0 siblings, 1 reply; 16+ messages in thread
From: Geliang Tang @ 2023-04-20  3:11 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Update userspace pm subflow selftests, by sending the a remove_addrs
command together before the remove_subflows command. This will get a
RM_ADDR in chk_rm_nr().

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 tools/testing/selftests/net/mptcp/mptcp_join.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 9a9b6e9b28ab..795c141a11f5 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -923,6 +923,7 @@ do_transfer()
 				sleep 1
 				sp=$(grep "type:10" "$evts_ns2" |
 				     sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q')
+				ip netns exec ${connector_ns} ./pm_nl_ctl rem token $tk id $id
 				ip netns exec ${connector_ns} ./pm_nl_ctl dsf lip $addr lport $sp \
 									rip $da rport $dp token $tk
 			fi
@@ -3137,7 +3138,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
 }
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2023-05-23 14:49 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-22 13:11 [PATCH mptcp-next v14 0/5] update userspace pm mptcp_info fields part 1 Geliang Tang
2023-05-22 13:11 ` [PATCH mptcp-next v14 1/5] mptcp: only send RM_ADDR in nl_cmd_remove Geliang Tang
2023-05-23 14:45   ` Matthieu Baerts
2023-05-22 13:11 ` [PATCH mptcp-next v14 2/5] selftests: mptcp: update userspace pm addr tests Geliang Tang
2023-05-22 13:12 ` [PATCH mptcp-next v14 3/5] mptcp: export remove_anno_list_by_saddr Geliang Tang
2023-05-22 13:12 ` [PATCH mptcp-next v14 4/5] mptcp: add address into userspace pm list Geliang Tang
2023-05-23 14:49   ` Matthieu Baerts
2023-05-22 13:12 ` [PATCH mptcp-next v14 5/5] selftests: mptcp: update userspace pm subflow tests Geliang Tang
2023-05-22 14:48   ` selftests: mptcp: update userspace pm subflow tests: Tests Results MPTCP CI
2023-05-23 14:49   ` [PATCH mptcp-next v14 5/5] selftests: mptcp: update userspace pm subflow tests Matthieu Baerts
2023-05-23 14:42 ` [PATCH mptcp-next v14 0/5] update userspace pm mptcp_info fields part 1 Matthieu Baerts
  -- strict thread matches above, loose matches on Subject: below --
2023-05-10  4:20 [PATCH mptcp-next v13 5/5] selftests: mptcp: update userspace pm subflow tests Geliang Tang
2023-05-10  6:05 ` selftests: mptcp: update userspace pm subflow tests: Tests Results MPTCP CI
2023-04-26  8:56 [PATCH mptcp-next v10 6/6] selftests: mptcp: update userspace pm subflow tests Geliang Tang
2023-04-26  9:59 ` selftests: mptcp: update userspace pm subflow tests: Tests Results MPTCP CI
2023-04-25  7:55 [PATCH mptcp-next v9 6/6] selftests: mptcp: update userspace pm subflow tests Geliang Tang
2023-04-25  9:17 ` selftests: mptcp: update userspace pm subflow tests: Tests Results MPTCP CI
2023-04-20  3:11 [PATCH mptcp-next v8 5/5] selftests: mptcp: update userspace pm subflow tests Geliang Tang
2023-04-20  4:13 ` selftests: mptcp: update userspace pm subflow tests: Tests Results MPTCP CI
2023-04-21 14:12   ` Matthieu Baerts

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox