* [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB
@ 2023-11-29 11:10 Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 1/5] mptcp: add mib counter dec helper Geliang Tang
` (5 more replies)
0 siblings, 6 replies; 9+ messages in thread
From: Geliang Tang @ 2023-11-29 11:10 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
v3:
- add mptcp_set_state helper
v2:
- use ftrace_regs_get_argument instead of regs_get_kernel_argument to
fix build warnings reported kernel test robot.
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/460
Geliang Tang (5):
mptcp: add mib counter dec helper
mptcp: add a current established counter
mptcp: add mptcp_set_state helper
mptcp: use mptcp_set_state
selftests: mptcp: join: check CURRESTAB counters
net/mptcp/mib.c | 1 +
net/mptcp/mib.h | 8 +++
net/mptcp/pm_netlink.c | 3 +
net/mptcp/protocol.c | 57 ++++++++++++-------
net/mptcp/protocol.h | 1 +
net/mptcp/subflow.c | 2 +-
.../testing/selftests/net/mptcp/mptcp_join.sh | 34 +++++++++++
7 files changed, 86 insertions(+), 20 deletions(-)
--
2.35.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH mptcp-next v3 1/5] mptcp: add mib counter dec helper
2023-11-29 11:10 [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB Geliang Tang
@ 2023-11-29 11:10 ` Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 2/5] mptcp: add a current established counter Geliang Tang
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Geliang Tang @ 2023-11-29 11:10 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Similar to MPTCP_INC_STATS() helper, this patch adds a new helper named
MPTCP_DEC_STATS() to decrement a MIB counter.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/mib.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/net/mptcp/mib.h b/net/mptcp/mib.h
index cae71d947252..9b7c366675ec 100644
--- a/net/mptcp/mib.h
+++ b/net/mptcp/mib.h
@@ -95,4 +95,11 @@ static inline void __MPTCP_INC_STATS(struct net *net,
__SNMP_INC_STATS(net->mib.mptcp_statistics, field);
}
+static inline void MPTCP_DEC_STATS(struct net *net,
+ enum linux_mptcp_mib_field field)
+{
+ if (likely(net->mib.mptcp_statistics))
+ SNMP_DEC_STATS(net->mib.mptcp_statistics, field);
+}
+
bool mptcp_mib_alloc(struct net *net);
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH mptcp-next v3 2/5] mptcp: add a current established counter
2023-11-29 11:10 [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 1/5] mptcp: add mib counter dec helper Geliang Tang
@ 2023-11-29 11:10 ` Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 3/5] mptcp: add mptcp_set_state helper Geliang Tang
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Geliang Tang @ 2023-11-29 11:10 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
This patch adds a new MIB counter named MPTCP_MIB_CURRESTAB to count
current established MPTCP connections.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/mib.c | 1 +
net/mptcp/mib.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/net/mptcp/mib.c b/net/mptcp/mib.c
index a0990c365a2e..c30405e76833 100644
--- a/net/mptcp/mib.c
+++ b/net/mptcp/mib.c
@@ -66,6 +66,7 @@ static const struct snmp_mib mptcp_snmp_list[] = {
SNMP_MIB_ITEM("RcvWndShared", MPTCP_MIB_RCVWNDSHARED),
SNMP_MIB_ITEM("RcvWndConflictUpdate", MPTCP_MIB_RCVWNDCONFLICTUPDATE),
SNMP_MIB_ITEM("RcvWndConflict", MPTCP_MIB_RCVWNDCONFLICT),
+ SNMP_MIB_ITEM("MPCurrEstab", MPTCP_MIB_CURRESTAB),
SNMP_MIB_SENTINEL
};
diff --git a/net/mptcp/mib.h b/net/mptcp/mib.h
index 9b7c366675ec..dd7fd1f246b5 100644
--- a/net/mptcp/mib.h
+++ b/net/mptcp/mib.h
@@ -65,6 +65,7 @@ enum linux_mptcp_mib_field {
* conflict with another subflow while updating msk rcv wnd
*/
MPTCP_MIB_RCVWNDCONFLICT, /* Conflict with while updating msk rcv wnd */
+ MPTCP_MIB_CURRESTAB, /* Current established MPTCP connections */
__MPTCP_MIB_MAX
};
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH mptcp-next v3 3/5] mptcp: add mptcp_set_state helper
2023-11-29 11:10 [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 1/5] mptcp: add mib counter dec helper Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 2/5] mptcp: add a current established counter Geliang Tang
@ 2023-11-29 11:10 ` Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 4/5] mptcp: use mptcp_set_state Geliang Tang
` (2 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Geliang Tang @ 2023-11-29 11:10 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
This patch adds a new function mptcp_set_state(), in it if switch from
or to ESTABLISH state, increment or decrement the newly added counter
MPTCP_MIB_CURRESTAB.
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/460
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/protocol.c | 19 +++++++++++++++++++
net/mptcp/protocol.h | 1 +
2 files changed, 20 insertions(+)
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index 6956fde61c68..cd0d54d85080 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -2885,6 +2885,25 @@ void mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how)
release_sock(ssk);
}
+void mptcp_set_state(struct sock *sk, int state)
+{
+ int oldstate = sk->sk_state;
+
+ switch (state) {
+ case TCP_ESTABLISHED:
+ if (oldstate != TCP_ESTABLISHED)
+ MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_CURRESTAB);
+ break;
+
+ default:
+ if (oldstate == TCP_ESTABLISHED)
+ MPTCP_DEC_STATS(sock_net(sk), MPTCP_MIB_CURRESTAB);
+ }
+
+ inet_sk_state_store(sk, state);
+}
+EXPORT_SYMBOL_GPL(mptcp_set_state);
+
static const unsigned char new_state[16] = {
/* current state: new state: action: */
[0 /* (Invalid) */] = TCP_CLOSE,
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index 8529b3ae55e9..a8e558bdc54b 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -643,6 +643,7 @@ bool __mptcp_close(struct sock *sk, long timeout);
void mptcp_cancel_work(struct sock *sk);
void __mptcp_unaccepted_force_close(struct sock *sk);
void mptcp_set_owner_r(struct sk_buff *skb, struct sock *sk);
+void mptcp_set_state(struct sock *sk, int state);
bool mptcp_addresses_equal(const struct mptcp_addr_info *a,
const struct mptcp_addr_info *b, bool use_port);
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH mptcp-next v3 4/5] mptcp: use mptcp_set_state
2023-11-29 11:10 [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB Geliang Tang
` (2 preceding siblings ...)
2023-11-29 11:10 ` [PATCH mptcp-next v3 3/5] mptcp: add mptcp_set_state helper Geliang Tang
@ 2023-11-29 11:10 ` Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 5/5] selftests: mptcp: join: check CURRESTAB counters Geliang Tang
2023-12-09 1:27 ` [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB Mat Martineau
5 siblings, 0 replies; 9+ messages in thread
From: Geliang Tang @ 2023-11-29 11:10 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
This patch replaces all the 'inet_sk_state_store()' calls under net/mptcp
with the new helper mptcp_set_state().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/pm_netlink.c | 3 +++
net/mptcp/protocol.c | 38 +++++++++++++++++++-------------------
net/mptcp/subflow.c | 2 +-
3 files changed, 23 insertions(+), 20 deletions(-)
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index bf4d96f6f99a..b93683b5e618 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -1048,6 +1048,9 @@ static int mptcp_pm_nl_create_listen_socket(struct sock *sk,
if (err)
return err;
+ /* avoid replacing inet_sk_state_store with mptcp_set_state here, as the
+ * old status is known to be TCP_CLOSE, hence will not affect the count.
+ */
inet_sk_state_store(newsk, TCP_LISTEN);
lock_sock(ssk);
err = __inet_listen_sk(ssk, backlog);
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index cd0d54d85080..c7c3ee453479 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -443,11 +443,11 @@ static void mptcp_check_data_fin_ack(struct sock *sk)
switch (sk->sk_state) {
case TCP_FIN_WAIT1:
- inet_sk_state_store(sk, TCP_FIN_WAIT2);
+ mptcp_set_state(sk, TCP_FIN_WAIT2);
break;
case TCP_CLOSING:
case TCP_LAST_ACK:
- inet_sk_state_store(sk, TCP_CLOSE);
+ mptcp_set_state(sk, TCP_CLOSE);
break;
}
@@ -608,13 +608,13 @@ static bool mptcp_check_data_fin(struct sock *sk)
switch (sk->sk_state) {
case TCP_ESTABLISHED:
- inet_sk_state_store(sk, TCP_CLOSE_WAIT);
+ mptcp_set_state(sk, TCP_CLOSE_WAIT);
break;
case TCP_FIN_WAIT1:
- inet_sk_state_store(sk, TCP_CLOSING);
+ mptcp_set_state(sk, TCP_CLOSING);
break;
case TCP_FIN_WAIT2:
- inet_sk_state_store(sk, TCP_CLOSE);
+ mptcp_set_state(sk, TCP_CLOSE);
break;
default:
/* Other states not expected */
@@ -789,7 +789,7 @@ static bool __mptcp_subflow_error_report(struct sock *sk, struct sock *ssk)
*/
ssk_state = inet_sk_state_load(ssk);
if (ssk_state == TCP_CLOSE && !sock_flag(sk, SOCK_DEAD))
- inet_sk_state_store(sk, ssk_state);
+ mptcp_set_state(sk, ssk_state);
WRITE_ONCE(sk->sk_err, -err);
/* This barrier is coupled with smp_rmb() in mptcp_poll() */
@@ -2477,7 +2477,7 @@ static void __mptcp_close_ssk(struct sock *sk, struct sock *ssk,
inet_sk_state_load(msk->first) == TCP_CLOSE) {
if (sk->sk_state != TCP_ESTABLISHED ||
msk->in_accept_queue || sock_flag(sk, SOCK_DEAD)) {
- inet_sk_state_store(sk, TCP_CLOSE);
+ mptcp_set_state(sk, TCP_CLOSE);
mptcp_close_wake_up(sk);
} else {
mptcp_start_tout_timer(sk);
@@ -2572,7 +2572,7 @@ static void mptcp_check_fastclose(struct mptcp_sock *msk)
WRITE_ONCE(sk->sk_err, ECONNRESET);
}
- inet_sk_state_store(sk, TCP_CLOSE);
+ mptcp_set_state(sk, TCP_CLOSE);
WRITE_ONCE(sk->sk_shutdown, SHUTDOWN_MASK);
smp_mb__before_atomic(); /* SHUTDOWN must be visible first */
set_bit(MPTCP_WORK_CLOSE_SUBFLOW, &msk->flags);
@@ -2707,7 +2707,7 @@ static void mptcp_do_fastclose(struct sock *sk)
struct mptcp_subflow_context *subflow, *tmp;
struct mptcp_sock *msk = mptcp_sk(sk);
- inet_sk_state_store(sk, TCP_CLOSE);
+ mptcp_set_state(sk, TCP_CLOSE);
mptcp_for_each_subflow_safe(msk, subflow, tmp)
__mptcp_close_ssk(sk, mptcp_subflow_tcp_sock(subflow),
subflow, MPTCP_CF_FASTCLOSE);
@@ -2926,7 +2926,7 @@ static int mptcp_close_state(struct sock *sk)
int next = (int)new_state[sk->sk_state];
int ns = next & TCP_STATE_MASK;
- inet_sk_state_store(sk, ns);
+ mptcp_set_state(sk, ns);
return next & TCP_ACTION_FIN;
}
@@ -3037,7 +3037,7 @@ bool __mptcp_close(struct sock *sk, long timeout)
if ((1 << sk->sk_state) & (TCPF_LISTEN | TCPF_CLOSE)) {
mptcp_check_listen_stop(sk);
- inet_sk_state_store(sk, TCP_CLOSE);
+ mptcp_set_state(sk, TCP_CLOSE);
goto cleanup;
}
@@ -3080,7 +3080,7 @@ bool __mptcp_close(struct sock *sk, long timeout)
* state, let's not keep resources busy for no reasons
*/
if (subflows_alive == 0)
- inet_sk_state_store(sk, TCP_CLOSE);
+ mptcp_set_state(sk, TCP_CLOSE);
sock_hold(sk);
pr_debug("msk=%p state=%d", sk, sk->sk_state);
@@ -3146,7 +3146,7 @@ static int mptcp_disconnect(struct sock *sk, int flags)
return -EBUSY;
mptcp_check_listen_stop(sk);
- inet_sk_state_store(sk, TCP_CLOSE);
+ mptcp_set_state(sk, TCP_CLOSE);
mptcp_stop_rtx_timer(sk);
mptcp_stop_tout_timer(sk);
@@ -3234,7 +3234,7 @@ struct sock *mptcp_sk_clone_init(const struct sock *sk,
/* this can't race with mptcp_close(), as the msk is
* not yet exposted to user-space
*/
- inet_sk_state_store(nsk, TCP_ESTABLISHED);
+ mptcp_set_state(nsk, TCP_ESTABLISHED);
/* The msk maintain a ref to each subflow in the connections list */
WRITE_ONCE(msk->first, ssk);
@@ -3693,7 +3693,7 @@ static int mptcp_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
if (IS_ERR(ssk))
return PTR_ERR(ssk);
- inet_sk_state_store(sk, TCP_SYN_SENT);
+ mptcp_set_state(sk, TCP_SYN_SENT);
subflow = mptcp_subflow_ctx(ssk);
#ifdef CONFIG_TCP_MD5SIG
/* no MPTCP if MD5SIG is enabled on this socket or we may run out of
@@ -3743,7 +3743,7 @@ static int mptcp_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
if (unlikely(err)) {
/* avoid leaving a dangling token in an unconnected socket */
mptcp_token_destroy(msk);
- inet_sk_state_store(sk, TCP_CLOSE);
+ mptcp_set_state(sk, TCP_CLOSE);
return err;
}
@@ -3833,13 +3833,13 @@ static int mptcp_listen(struct socket *sock, int backlog)
goto unlock;
}
- inet_sk_state_store(sk, TCP_LISTEN);
+ mptcp_set_state(sk, TCP_LISTEN);
sock_set_flag(sk, SOCK_RCU_FREE);
lock_sock(ssk);
err = __inet_listen_sk(ssk, backlog);
release_sock(ssk);
- inet_sk_state_store(sk, inet_sk_state_load(ssk));
+ mptcp_set_state(sk, inet_sk_state_load(ssk));
if (!err) {
sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);
@@ -3899,7 +3899,7 @@ static int mptcp_stream_accept(struct socket *sock, struct socket *newsock,
__mptcp_close_ssk(newsk, msk->first,
mptcp_subflow_ctx(msk->first), 0);
if (unlikely(list_is_singular(&msk->conn_list)))
- inet_sk_state_store(newsk, TCP_CLOSE);
+ mptcp_set_state(newsk, TCP_CLOSE);
}
}
release_sock(newsk);
diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c
index a4f3c27f0309..ef1e22da5837 100644
--- a/net/mptcp/subflow.c
+++ b/net/mptcp/subflow.c
@@ -423,7 +423,7 @@ void __mptcp_set_connected(struct sock *sk)
{
__mptcp_propagate_sndbuf(sk, mptcp_sk(sk)->first);
if (sk->sk_state == TCP_SYN_SENT) {
- inet_sk_state_store(sk, TCP_ESTABLISHED);
+ mptcp_set_state(sk, TCP_ESTABLISHED);
sk->sk_state_change(sk);
}
}
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH mptcp-next v3 5/5] selftests: mptcp: join: check CURRESTAB counters
2023-11-29 11:10 [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB Geliang Tang
` (3 preceding siblings ...)
2023-11-29 11:10 ` [PATCH mptcp-next v3 4/5] mptcp: use mptcp_set_state Geliang Tang
@ 2023-11-29 11:10 ` Geliang Tang
2023-11-29 11:23 ` selftests: mptcp: join: check CURRESTAB counters: Tests Results MPTCP CI
2023-12-04 18:41 ` MPTCP CI
2023-12-09 1:27 ` [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB Mat Martineau
5 siblings, 2 replies; 9+ messages in thread
From: Geliang Tang @ 2023-11-29 11:10 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
This patch adds a new helper chk_cestab_nr() to check the current
established connections counter MIB_CURRESTAB.
In do_transfer(), invoke chk_cestab_nr() to check during the connection
and when the connectin closed.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 34 +++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 87590a43b50d..36d855a37933 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -976,6 +976,23 @@ pm_nl_set_endpoint()
fi
}
+chk_cestab_nr()
+{
+ local ns=$1
+ local cestab=$2
+ local count
+
+ print_check "cestab"
+ count=$(mptcp_lib_get_counter ${ns} "MPTcpExtMPCurrEstab")
+ if [ -z "$count" ]; then
+ print_skip
+ elif [ "$count" != "$cestab" ]; then
+ fail_test "got $count current establish[s] expected $cestab"
+ else
+ print_ok
+ fi
+}
+
do_transfer()
{
local listener_ns="$1"
@@ -990,6 +1007,9 @@ do_transfer()
local fastclose=${fastclose:-""}
local speed=${speed:-"fast"}
+ local addr_nr_ns1=${addr_nr_ns1:-0}
+ local addr_nr_ns2=${addr_nr_ns2:-0}
+
:> "$cout"
:> "$sout"
:> "$capout"
@@ -1090,6 +1110,13 @@ do_transfer()
pm_nl_set_endpoint $listener_ns $connector_ns $connect_addr
+ if [ $addr_nr_ns1 != "0" ]; then
+ chk_cestab_nr $ns1 1
+ fi
+ if [ $addr_nr_ns2 != "0" ]; then
+ chk_cestab_nr $ns2 1
+ fi
+
wait $cpid
local retc=$?
wait $spid
@@ -1100,6 +1127,13 @@ do_transfer()
kill $cappid
fi
+ if [ $addr_nr_ns1 != "0" ]; then
+ chk_cestab_nr $ns1 0
+ fi
+ if [ $addr_nr_ns2 != "0" ]; then
+ chk_cestab_nr $ns2 0
+ fi
+
NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
nstat | grep Tcp > /tmp/${listener_ns}.out
NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: selftests: mptcp: join: check CURRESTAB counters: Tests Results
2023-11-29 11:10 ` [PATCH mptcp-next v3 5/5] selftests: mptcp: join: check CURRESTAB counters Geliang Tang
@ 2023-11-29 11:23 ` MPTCP CI
2023-12-04 18:41 ` MPTCP CI
1 sibling, 0 replies; 9+ messages in thread
From: MPTCP CI @ 2023-11-29 11:23 UTC (permalink / raw)
To: Geliang Tang; +Cc: mptcp
Hi Geliang,
Thank you for your modifications, that's great!
Our CI did some validations and here is its report:
- {"code":404,"message":
- "Can't find artifacts containing file conclusion.txt"}:
- Task: https://cirrus-ci.com/task/5843851173167104
- Summary: https://api.cirrus-ci.com/v1/artifact/task/5843851173167104/summary/summary.txt
- {"code":404,"message":
- "Can't find artifacts containing file conclusion.txt"}:
- Task: https://cirrus-ci.com/task/6406801126588416
- Summary: https://api.cirrus-ci.com/v1/artifact/task/6406801126588416/summary/summary.txt
- {"code":404,"message":
- "Can't find artifacts containing file conclusion.txt"}:
- Task: https://cirrus-ci.com/task/4999426243035136
- Summary: https://api.cirrus-ci.com/v1/artifact/task/4999426243035136/summary/summary.txt
- {"code":404,"message":
- "Can't find artifacts containing file conclusion.txt"}:
- Task: https://cirrus-ci.com/task/5280901219745792
- Summary: https://api.cirrus-ci.com/v1/artifact/task/5280901219745792/summary/summary.txt
Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/a2f9b2d4aae5
If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:
$ cd [kernel source code]
$ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
--pull always mptcp/mptcp-upstream-virtme-docker:latest \
auto-debug
For more details:
https://github.com/multipath-tcp/mptcp-upstream-virtme-docker
Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)
Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: selftests: mptcp: join: check CURRESTAB counters: Tests Results
2023-11-29 11:10 ` [PATCH mptcp-next v3 5/5] selftests: mptcp: join: check CURRESTAB counters Geliang Tang
2023-11-29 11:23 ` selftests: mptcp: join: check CURRESTAB counters: Tests Results MPTCP CI
@ 2023-12-04 18:41 ` MPTCP CI
1 sibling, 0 replies; 9+ messages in thread
From: MPTCP CI @ 2023-12-04 18:41 UTC (permalink / raw)
To: Geliang Tang; +Cc: mptcp
Hi Geliang,
Thank you for your modifications, that's great!
Our CI did some validations and here is its report:
- KVM Validation: normal (except selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/5025343417876480
- Summary: https://api.cirrus-ci.com/v1/artifact/task/5025343417876480/summary/summary.txt
- KVM Validation: normal (only selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/6151243324719104
- Summary: https://api.cirrus-ci.com/v1/artifact/task/6151243324719104/summary/summary.txt
- KVM Validation: debug (only selftest_mptcp_join):
- Unstable: 1 failed test(s): selftest_mptcp_join 🔴:
- Task: https://cirrus-ci.com/task/6714193278140416
- Summary: https://api.cirrus-ci.com/v1/artifact/task/6714193278140416/summary/summary.txt
- KVM Validation: debug (except selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/5588293371297792
- Summary: https://api.cirrus-ci.com/v1/artifact/task/5588293371297792/summary/summary.txt
Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/31a63b62ef12
If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:
$ cd [kernel source code]
$ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
--pull always mptcp/mptcp-upstream-virtme-docker:latest \
auto-debug
For more details:
https://github.com/multipath-tcp/mptcp-upstream-virtme-docker
Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)
Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB
2023-11-29 11:10 [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB Geliang Tang
` (4 preceding siblings ...)
2023-11-29 11:10 ` [PATCH mptcp-next v3 5/5] selftests: mptcp: join: check CURRESTAB counters Geliang Tang
@ 2023-12-09 1:27 ` Mat Martineau
5 siblings, 0 replies; 9+ messages in thread
From: Mat Martineau @ 2023-12-09 1:27 UTC (permalink / raw)
To: Geliang Tang; +Cc: mptcp
On Wed, 29 Nov 2023, Geliang Tang wrote:
> v3:
> - add mptcp_set_state helper
Hi Geliang -
Could you rebase this so it applies to the current export branch?
Thanks,
Mat
>
> v2:
> - use ftrace_regs_get_argument instead of regs_get_kernel_argument to
> fix build warnings reported kernel test robot.
>
> Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/460
>
> Geliang Tang (5):
> mptcp: add mib counter dec helper
> mptcp: add a current established counter
> mptcp: add mptcp_set_state helper
> mptcp: use mptcp_set_state
> selftests: mptcp: join: check CURRESTAB counters
>
> net/mptcp/mib.c | 1 +
> net/mptcp/mib.h | 8 +++
> net/mptcp/pm_netlink.c | 3 +
> net/mptcp/protocol.c | 57 ++++++++++++-------
> net/mptcp/protocol.h | 1 +
> net/mptcp/subflow.c | 2 +-
> .../testing/selftests/net/mptcp/mptcp_join.sh | 34 +++++++++++
> 7 files changed, 86 insertions(+), 20 deletions(-)
>
> --
> 2.35.3
>
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-12-09 1:27 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-29 11:10 [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 1/5] mptcp: add mib counter dec helper Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 2/5] mptcp: add a current established counter Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 3/5] mptcp: add mptcp_set_state helper Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 4/5] mptcp: use mptcp_set_state Geliang Tang
2023-11-29 11:10 ` [PATCH mptcp-next v3 5/5] selftests: mptcp: join: check CURRESTAB counters Geliang Tang
2023-11-29 11:23 ` selftests: mptcp: join: check CURRESTAB counters: Tests Results MPTCP CI
2023-12-04 18:41 ` MPTCP CI
2023-12-09 1:27 ` [PATCH mptcp-next v3 0/5] add MPTCP_MIB_CURRESTAB Mat Martineau
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.