MPTCP Linux Development
 help / color / mirror / Atom feed
* [PATCH mptcp-next v2 00/30] userspace pm enhancements
@ 2023-09-19  4:02 Geliang Tang
  2023-09-19  4:02 ` [PATCH mptcp-next v2 01/30] mptcp: drop useless ssk in pm_subflow_check_next Geliang Tang
                   ` (30 more replies)
  0 siblings, 31 replies; 37+ messages in thread
From: Geliang Tang @ 2023-09-19  4:02 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Some of my patches in ML are conflicted, rebase them into one series.

1-8: some small cleanups, v2
9-10: address #428, add mptcpi_subflows_total
11-17: address #379, #391, userspace pm remove id 0 subflow & address, v11
18-20: address #403, add refcont for address entry
21: add userspace fullmesh tests
22-30: seltests cleanups

Geliang Tang (30):
  mptcp: drop useless ssk in pm_subflow_check_next
  mptcp: use mptcp_check_fallback helper
  mptcp: use mptcp_get_ext helper
  mptcp: use mptcp_wnd_end helper
  mptcp: move sk assignment statement ahead
  mptcp: define more local variables sk
  selftests: mptcp: sockopt: drop mptcp_connect var
  selftests: mptcp: display simult in extra_msg
  mptcp: add mptcpi_subflows_total counter
  selftests: mptcp: add chk_subflows_total helper
  selftests: mptcp: add evts_get_info helper
  selftests: mptcp: update userspace pm test helpers
  selftests: mptcp: userspace pm remove id 0 subflow
  mptcp: userspace pm allow creating id 0 subflow
  selftests: mptcp: userspace pm create id 0 subflow
  mptcp: userspace pm remove id 0 address
  selftests: mptcp: userspace pm remove id 0 address
  mptcp: add userspace_pm_get_entry helper
  mptcp: add userspace pm addr entry refcount
  mptcp: add netlink pm addr entry refcount
  selftests: mptcp: add userspace pm fullmesh tests
  selftests: mptcp: add mptcp_lib_kill_wait
  selftests: mptcp: add mptcp_lib_evts_*
  selftests: mptcp: userspace: print colored results
  selftests: mptcp: add mptcp_lib_verify_listener_events
  selftests: mptcp: add mptcp_lib_is_v6
  selftests: mptcp: add mptcp_lib_get_counter
  selftests: mptcp: add mptcp_lib_make_file
  selftests: mptcp: add mptcp_lib_check_transfer
  selftests: mptcp: add mptcp_lib_wait_local_port_listen

 include/uapi/linux/mptcp.h                    |   1 +
 net/mptcp/options.c                           |   2 +-
 net/mptcp/pm.c                                |   2 +-
 net/mptcp/pm_netlink.c                        |  25 +-
 net/mptcp/pm_userspace.c                      | 139 ++++--
 net/mptcp/protocol.c                          |   6 +-
 net/mptcp/protocol.h                          |  14 +-
 net/mptcp/sockopt.c                           |   4 +-
 tools/testing/selftests/net/mptcp/diag.sh     |  23 +-
 .../selftests/net/mptcp/mptcp_connect.sh      | 108 +---
 .../testing/selftests/net/mptcp/mptcp_join.sh | 460 +++++++++---------
 .../testing/selftests/net/mptcp/mptcp_lib.sh  | 188 +++++++
 .../selftests/net/mptcp/mptcp_sockopt.sh      |  55 +--
 .../selftests/net/mptcp/simult_flows.sh       |  19 +-
 .../selftests/net/mptcp/userspace_pm.sh       | 199 +++-----
 15 files changed, 662 insertions(+), 583 deletions(-)

-- 
2.35.3


^ permalink raw reply	[flat|nested] 37+ messages in thread
* [PATCH mptcp-next v3 29/29] selftests: mptcp: add mptcp_lib_wait_local_port_listen
@ 2023-09-25  8:42 Geliang Tang
  2023-09-28 21:26 ` selftests: mptcp: add mptcp_lib_wait_local_port_listen: Build Failure MPTCP CI
  0 siblings, 1 reply; 37+ messages in thread
From: Geliang Tang @ 2023-09-25  8:42 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

wait_local_port_listen() helper is defined in diag.sh, mptcp_connect.sh,
mptcp_join.sh and simult_flows.sh, export it into mptcp_lib.sh and
rename it with mptcp_lib_ prefix. Use this new helper in all these
scripts.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 tools/testing/selftests/net/mptcp/diag.sh     | 23 +++----------------
 .../selftests/net/mptcp/mptcp_connect.sh      | 19 +--------------
 .../testing/selftests/net/mptcp/mptcp_join.sh | 20 +---------------
 .../testing/selftests/net/mptcp/mptcp_lib.sh  | 18 +++++++++++++++
 .../selftests/net/mptcp/simult_flows.sh       | 19 +--------------
 5 files changed, 24 insertions(+), 75 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/selftests/net/mptcp/diag.sh
index 85a8ee9395b3..95b498efacd1 100755
--- a/tools/testing/selftests/net/mptcp/diag.sh
+++ b/tools/testing/selftests/net/mptcp/diag.sh
@@ -182,23 +182,6 @@ chk_msk_inuse()
 	__chk_nr get_msk_inuse $expected "$msg" 0
 }
 
-# $1: ns, $2: port
-wait_local_port_listen()
-{
-	local listener_ns="${1}"
-	local port="${2}"
-
-	local port_hex i
-
-	port_hex="$(printf "%04X" "${port}")"
-	for i in $(seq 10); do
-		ip netns exec "${listener_ns}" cat /proc/net/tcp | \
-			awk "BEGIN {rc=1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) {rc=0; exit}} END {exit rc}" &&
-			break
-		sleep 0.1
-	done
-}
-
 wait_connected()
 {
 	local listener_ns="${1}"
@@ -222,7 +205,7 @@ echo "a" | \
 		ip netns exec $ns \
 			./mptcp_connect -p 10000 -l -t ${timeout_poll} -w 20 \
 				0.0.0.0 >/dev/null &
-wait_local_port_listen $ns 10000
+mptcp_lib_wait_local_port_listen $ns 10000
 chk_msk_nr 0 "no msk on netns creation"
 chk_msk_listen 10000
 
@@ -245,7 +228,7 @@ echo "a" | \
 		ip netns exec $ns \
 			./mptcp_connect -p 10001 -l -s TCP -t ${timeout_poll} -w 20 \
 				0.0.0.0 >/dev/null &
-wait_local_port_listen $ns 10001
+mptcp_lib_wait_local_port_listen $ns 10001
 echo "b" | \
 	timeout ${timeout_test} \
 		ip netns exec $ns \
@@ -266,7 +249,7 @@ for I in `seq 1 $NR_CLIENTS`; do
 				./mptcp_connect -p $((I+10001)) -l -w 20 \
 					-t ${timeout_poll} 0.0.0.0 >/dev/null &
 done
-wait_local_port_listen $ns $((NR_CLIENTS + 10001))
+mptcp_lib_wait_local_port_listen $ns $((NR_CLIENTS + 10001))
 
 for I in `seq 1 $NR_CLIENTS`; do
 	echo "b" | \
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index 0bd2392ae442..d6e3ef786694 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -310,23 +310,6 @@ do_ping()
 	return 0
 }
 
-# $1: ns, $2: port
-wait_local_port_listen()
-{
-	local listener_ns="${1}"
-	local port="${2}"
-
-	local port_hex i
-
-	port_hex="$(printf "%04X" "${port}")"
-	for i in $(seq 10); do
-		ip netns exec "${listener_ns}" cat /proc/net/tcp* | \
-			awk "BEGIN {rc=1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) {rc=0; exit}} END {exit rc}" &&
-			break
-		sleep 0.1
-	done
-}
-
 do_transfer()
 {
 	local listener_ns="$1"
@@ -408,7 +391,7 @@ do_transfer()
 				$extra_args $local_addr < "$sin" > "$sout" &
 	local spid=$!
 
-	wait_local_port_listen "${listener_ns}" "${port}"
+	mptcp_lib_wait_local_port_listen "${listener_ns}" "${port}"
 
 	local start
 	start=$(date +%s%3N)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index f88168d66fdc..d11a2289f8f5 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -577,24 +577,6 @@ link_failure()
 	done
 }
 
-# $1: ns, $2: port
-wait_local_port_listen()
-{
-	local listener_ns="${1}"
-	local port="${2}"
-
-	local port_hex
-	port_hex="$(printf "%04X" "${port}")"
-
-	local i
-	for i in $(seq 10); do
-		ip netns exec "${listener_ns}" cat /proc/net/tcp* | \
-			awk "BEGIN {rc=1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) {rc=0; exit}} END {exit rc}" &&
-			break
-		sleep 0.1
-	done
-}
-
 rm_addr_count()
 {
 	mptcp_lib_get_counter "${1}" "MPTcpExtRmAddr"
@@ -1073,7 +1055,7 @@ do_transfer()
 	fi
 	local spid=$!
 
-	wait_local_port_listen "${listener_ns}" "${port}"
+	mptcp_lib_wait_local_port_listen "${listener_ns}" "${port}"
 
 	extra_cl_args="$extra_args $extra_cl_args"
 	if [ "$test_linkfail" -eq 0 ];then
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index fba62cdef2cd..1fb0950ce44d 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -377,3 +377,21 @@ mptcp_lib_check_transfer() {
 
 	return 0
 }
+
+# $1: ns, $2: port
+mptcp_lib_wait_local_port_listen() {
+	local listener_ns="${1}"
+	local port="${2}"
+
+	local port_hex
+	port_hex="$(printf "%04X" "${port}")"
+
+	local i
+	for i in $(seq 10); do
+		ip netns exec "${listener_ns}" cat /proc/net/tcp* | \
+			awk "BEGIN {rc=1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) \
+			     {rc=0; exit}} END {exit rc}" &&
+			break
+		sleep 0.1
+	done
+}
diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/testing/selftests/net/mptcp/simult_flows.sh
index ce9203b817f8..ae8ad5d6fb9d 100755
--- a/tools/testing/selftests/net/mptcp/simult_flows.sh
+++ b/tools/testing/selftests/net/mptcp/simult_flows.sh
@@ -123,23 +123,6 @@ setup()
 	grep -q ' kmemleak_init$\| lockdep_init$\| kasan_init$\| prove_locking$' /proc/kallsyms && slack=$((slack+550))
 }
 
-# $1: ns, $2: port
-wait_local_port_listen()
-{
-	local listener_ns="${1}"
-	local port="${2}"
-
-	local port_hex i
-
-	port_hex="$(printf "%04X" "${port}")"
-	for i in $(seq 10); do
-		ip netns exec "${listener_ns}" cat /proc/net/tcp* | \
-			awk "BEGIN {rc=1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) {rc=0; exit}} END {exit rc}" &&
-			break
-		sleep 0.1
-	done
-}
-
 do_transfer()
 {
 	local cin=$1
@@ -179,7 +162,7 @@ do_transfer()
 				0.0.0.0 < "$sin" > "$sout" &
 	local spid=$!
 
-	wait_local_port_listen "${ns3}" "${port}"
+	mptcp_lib_wait_local_port_listen "${ns3}" "${port}"
 
 	timeout ${timeout_test} \
 		ip netns exec ${ns1} \
-- 
2.35.3


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

end of thread, other threads:[~2023-09-28 21:26 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-19  4:02 [PATCH mptcp-next v2 00/30] userspace pm enhancements Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 01/30] mptcp: drop useless ssk in pm_subflow_check_next Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 02/30] mptcp: use mptcp_check_fallback helper Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 03/30] mptcp: use mptcp_get_ext helper Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 04/30] mptcp: use mptcp_wnd_end helper Geliang Tang
2023-09-20 20:10   ` kernel test robot
2023-09-19  4:02 ` [PATCH mptcp-next v2 05/30] mptcp: move sk assignment statement ahead Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 06/30] mptcp: define more local variables sk Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 07/30] selftests: mptcp: sockopt: drop mptcp_connect var Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 08/30] selftests: mptcp: display simult in extra_msg Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 09/30] mptcp: add mptcpi_subflows_total counter Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 10/30] selftests: mptcp: add chk_subflows_total helper Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 11/30] selftests: mptcp: add evts_get_info helper Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 12/30] selftests: mptcp: update userspace pm test helpers Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 13/30] selftests: mptcp: userspace pm remove id 0 subflow Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 14/30] mptcp: userspace pm allow creating " Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 15/30] selftests: mptcp: userspace pm create " Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 16/30] mptcp: userspace pm remove id 0 address Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 17/30] selftests: " Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 18/30] mptcp: add userspace_pm_get_entry helper Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 19/30] mptcp: add userspace pm addr entry refcount Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 20/30] mptcp: add netlink " Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 21/30] selftests: mptcp: add userspace pm fullmesh tests Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 22/30] selftests: mptcp: add mptcp_lib_kill_wait Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 23/30] selftests: mptcp: add mptcp_lib_evts_* Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 24/30] selftests: mptcp: userspace: print colored results Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 25/30] selftests: mptcp: add mptcp_lib_verify_listener_events Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 26/30] selftests: mptcp: add mptcp_lib_is_v6 Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 27/30] selftests: mptcp: add mptcp_lib_get_counter Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 28/30] selftests: mptcp: add mptcp_lib_make_file Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 29/30] selftests: mptcp: add mptcp_lib_check_transfer Geliang Tang
2023-09-19  4:02 ` [PATCH mptcp-next v2 30/30] selftests: mptcp: add mptcp_lib_wait_local_port_listen Geliang Tang
2023-09-19  4:45   ` selftests: mptcp: add mptcp_lib_wait_local_port_listen: Build Failure MPTCP CI
2023-09-19  8:10     ` Matthieu Baerts
2023-09-19  6:00   ` selftests: mptcp: add mptcp_lib_wait_local_port_listen: Tests Results MPTCP CI
2023-09-19  8:55 ` [PATCH mptcp-next v2 00/30] userspace pm enhancements Matthieu Baerts
  -- strict thread matches above, loose matches on Subject: below --
2023-09-25  8:42 [PATCH mptcp-next v3 29/29] selftests: mptcp: add mptcp_lib_wait_local_port_listen Geliang Tang
2023-09-28 21:26 ` selftests: mptcp: add mptcp_lib_wait_local_port_listen: Build Failure MPTCP CI

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