* [PATCH mptcp-next 0/7] some small cleanups
@ 2023-09-16 11:38 Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 1/7] mptcp: drop useless ssk in pm_subflow_check_next Geliang Tang
` (6 more replies)
0 siblings, 7 replies; 9+ messages in thread
From: Geliang Tang @ 2023-09-16 11:38 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Some small cleanups to note when modifying the userspace pm code.
Geliang Tang (7):
mptcp: drop useless ssk in pm_subflow_check_next
mptcp: use mptcp_check_fallback 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
net/mptcp/options.c | 2 +-
net/mptcp/pm.c | 2 +-
net/mptcp/pm_userspace.c | 42 ++++++++++++-------
net/mptcp/protocol.c | 2 +-
net/mptcp/protocol.h | 4 +-
net/mptcp/sockopt.c | 2 +-
.../testing/selftests/net/mptcp/mptcp_join.sh | 4 +-
.../selftests/net/mptcp/mptcp_sockopt.sh | 1 -
8 files changed, 35 insertions(+), 24 deletions(-)
--
2.35.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH mptcp-next 1/7] mptcp: drop useless ssk in pm_subflow_check_next
2023-09-16 11:38 [PATCH mptcp-next 0/7] some small cleanups Geliang Tang
@ 2023-09-16 11:38 ` Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 2/7] mptcp: use mptcp_check_fallback helper Geliang Tang
` (5 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Geliang Tang @ 2023-09-16 11:38 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
The code using 'ssk' parameter of mptcp_pm_subflow_check_next() has been
dropped in commit "95d686517884 (mptcp: fix subflow accounting on close)".
So drop this useless parameter ssk.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/pm.c | 2 +-
net/mptcp/protocol.c | 2 +-
net/mptcp/protocol.h | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c
index d8da5374d9e1..4ae19113b8eb 100644
--- a/net/mptcp/pm.c
+++ b/net/mptcp/pm.c
@@ -184,7 +184,7 @@ void mptcp_pm_subflow_established(struct mptcp_sock *msk)
spin_unlock_bh(&pm->lock);
}
-void mptcp_pm_subflow_check_next(struct mptcp_sock *msk, const struct sock *ssk,
+void mptcp_pm_subflow_check_next(struct mptcp_sock *msk,
const struct mptcp_subflow_context *subflow)
{
struct mptcp_pm_data *pm = &msk->pm;
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index 1a0b463f8c97..15cdcc0f03bd 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -2467,7 +2467,7 @@ void mptcp_close_ssk(struct sock *sk, struct sock *ssk,
/* subflow aborted before reaching the fully_established status
* attempt the creation of the next subflow
*/
- mptcp_pm_subflow_check_next(mptcp_sk(sk), ssk, subflow);
+ mptcp_pm_subflow_check_next(mptcp_sk(sk), subflow);
__mptcp_close_ssk(sk, ssk, subflow, MPTCP_CF_PUSH);
}
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index 3c938e3560e4..f67cb5596e41 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -843,7 +843,7 @@ bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk);
void mptcp_pm_connection_closed(struct mptcp_sock *msk);
void mptcp_pm_subflow_established(struct mptcp_sock *msk);
bool mptcp_pm_nl_check_work_pending(struct mptcp_sock *msk);
-void mptcp_pm_subflow_check_next(struct mptcp_sock *msk, const struct sock *ssk,
+void mptcp_pm_subflow_check_next(struct mptcp_sock *msk,
const struct mptcp_subflow_context *subflow);
void mptcp_pm_add_addr_received(const struct sock *ssk,
const struct mptcp_addr_info *addr);
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH mptcp-next 2/7] mptcp: use mptcp_check_fallback helper
2023-09-16 11:38 [PATCH mptcp-next 0/7] some small cleanups Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 1/7] mptcp: drop useless ssk in pm_subflow_check_next Geliang Tang
@ 2023-09-16 11:38 ` Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 3/7] mptcp: use mptcp_wnd_end helper Geliang Tang
` (4 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Geliang Tang @ 2023-09-16 11:38 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Use __mptcp_check_fallback() helper defined in net/mptcp/protocol.h,
instead of open-coding it in both __mptcp_do_fallback() and
mptcp_diag_fill_info().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/protocol.h | 2 +-
net/mptcp/sockopt.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index f67cb5596e41..fc041763dcb0 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -1024,7 +1024,7 @@ static inline bool mptcp_check_fallback(const struct sock *sk)
static inline void __mptcp_do_fallback(struct mptcp_sock *msk)
{
- if (test_bit(MPTCP_FALLBACK_DONE, &msk->flags)) {
+ if (__mptcp_check_fallback(msk)) {
pr_debug("TCP fallback already done (msk=%p)", msk);
return;
}
diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c
index 8260202c0066..1ae9fb6fabf1 100644
--- a/net/mptcp/sockopt.c
+++ b/net/mptcp/sockopt.c
@@ -915,7 +915,7 @@ void mptcp_diag_fill_info(struct mptcp_sock *msk, struct mptcp_info *info)
mptcp_pm_get_local_addr_max(msk);
}
- if (test_bit(MPTCP_FALLBACK_DONE, &msk->flags))
+ if (__mptcp_check_fallback(msk))
flags |= MPTCP_INFO_FLAG_FALLBACK;
if (READ_ONCE(msk->can_ack))
flags |= MPTCP_INFO_FLAG_REMOTE_KEY_RECEIVED;
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH mptcp-next 3/7] mptcp: use mptcp_wnd_end helper
2023-09-16 11:38 [PATCH mptcp-next 0/7] some small cleanups Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 1/7] mptcp: drop useless ssk in pm_subflow_check_next Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 2/7] mptcp: use mptcp_check_fallback helper Geliang Tang
@ 2023-09-16 11:38 ` Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 4/7] mptcp: move sk assignment statement ahead Geliang Tang
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Geliang Tang @ 2023-09-16 11:38 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Use mptcp_wnd_end() helper defined in net/mptcp/protocol.c, instead of
open-coding it in ack_update_msk().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/options.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/mptcp/options.c b/net/mptcp/options.c
index cd15ec73073e..f40381557788 100644
--- a/net/mptcp/options.c
+++ b/net/mptcp/options.c
@@ -1059,7 +1059,7 @@ static void ack_update_msk(struct mptcp_sock *msk,
msk->wnd_end = new_wnd_end;
/* this assumes mptcp_incoming_options() is invoked after tcp_ack() */
- if (after64(msk->wnd_end, READ_ONCE(msk->snd_nxt)))
+ if (after64(mptcp_wnd_end(msk), READ_ONCE(msk->snd_nxt)))
__mptcp_check_push(sk, ssk);
if (after64(new_snd_una, old_snd_una)) {
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH mptcp-next 4/7] mptcp: move sk assignment statement ahead
2023-09-16 11:38 [PATCH mptcp-next 0/7] some small cleanups Geliang Tang
` (2 preceding siblings ...)
2023-09-16 11:38 ` [PATCH mptcp-next 3/7] mptcp: use mptcp_wnd_end helper Geliang Tang
@ 2023-09-16 11:38 ` Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 5/7] mptcp: define more local variables sk Geliang Tang
` (2 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Geliang Tang @ 2023-09-16 11:38 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
If we move the sk assignment statement ahead in mptcp_nl_cmd_sf_create()
or mptcp_nl_cmd_sf_destroy(), right after the msk null-check statements,
sk can be used after the create_err or destroy_err labels instead of
open-coding it again.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/pm_userspace.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c
index b5a8aa4c1ebd..78b935ab7d3b 100644
--- a/net/mptcp/pm_userspace.c
+++ b/net/mptcp/pm_userspace.c
@@ -296,6 +296,8 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct genl_info *info)
return err;
}
+ sk = (struct sock *)msk;
+
if (!mptcp_pm_is_userspace(msk)) {
GENL_SET_ERR_MSG(info, "invalid request; userspace PM not selected");
goto create_err;
@@ -319,8 +321,6 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct genl_info *info)
goto create_err;
}
- sk = (struct sock *)msk;
-
if (!mptcp_pm_addr_families_match(sk, &addr_l, &addr_r)) {
GENL_SET_ERR_MSG(info, "families mismatch");
err = -EINVAL;
@@ -348,7 +348,7 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct genl_info *info)
spin_unlock_bh(&msk->pm.lock);
create_err:
- sock_put((struct sock *)msk);
+ sock_put(sk);
return err;
}
@@ -425,6 +425,8 @@ int mptcp_nl_cmd_sf_destroy(struct sk_buff *skb, struct genl_info *info)
return err;
}
+ sk = (struct sock *)msk;
+
if (!mptcp_pm_is_userspace(msk)) {
GENL_SET_ERR_MSG(info, "invalid request; userspace PM not selected");
goto destroy_err;
@@ -454,7 +456,6 @@ int mptcp_nl_cmd_sf_destroy(struct sk_buff *skb, struct genl_info *info)
goto destroy_err;
}
- sk = (struct sock *)msk;
lock_sock(sk);
ssk = mptcp_nl_find_ssk(msk, &addr_l, &addr_r);
if (ssk) {
@@ -474,7 +475,7 @@ int mptcp_nl_cmd_sf_destroy(struct sk_buff *skb, struct genl_info *info)
release_sock(sk);
destroy_err:
- sock_put((struct sock *)msk);
+ sock_put(sk);
return err;
}
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH mptcp-next 5/7] mptcp: define more local variables sk
2023-09-16 11:38 [PATCH mptcp-next 0/7] some small cleanups Geliang Tang
` (3 preceding siblings ...)
2023-09-16 11:38 ` [PATCH mptcp-next 4/7] mptcp: move sk assignment statement ahead Geliang Tang
@ 2023-09-16 11:38 ` Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 6/7] selftests: mptcp: sockopt: drop mptcp_connect var Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 7/7] selftests: mptcp: display simult in extra_msg Geliang Tang
6 siblings, 0 replies; 9+ messages in thread
From: Geliang Tang @ 2023-09-16 11:38 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
'(struct sock *)msk' is used several times in mptcp_nl_cmd_announce(),
mptcp_nl_cmd_remove() or mptcp_userspace_pm_set_flags() in pm_userspace.c,
it's worth adding a local variable sk to point it.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/pm_userspace.c | 31 ++++++++++++++++++++-----------
1 file changed, 20 insertions(+), 11 deletions(-)
diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c
index 78b935ab7d3b..9429cf91a9e9 100644
--- a/net/mptcp/pm_userspace.c
+++ b/net/mptcp/pm_userspace.c
@@ -152,6 +152,7 @@ int mptcp_nl_cmd_announce(struct sk_buff *skb, struct genl_info *info)
struct mptcp_pm_addr_entry addr_val;
struct mptcp_sock *msk;
int err = -EINVAL;
+ struct sock *sk;
u32 token_val;
if (!addr || !token) {
@@ -167,6 +168,8 @@ int mptcp_nl_cmd_announce(struct sk_buff *skb, struct genl_info *info)
return err;
}
+ sk = (struct sock *)msk;
+
if (!mptcp_pm_is_userspace(msk)) {
GENL_SET_ERR_MSG(info, "invalid request; userspace PM not selected");
goto announce_err;
@@ -190,7 +193,7 @@ int mptcp_nl_cmd_announce(struct sk_buff *skb, struct genl_info *info)
goto announce_err;
}
- lock_sock((struct sock *)msk);
+ lock_sock(sk);
spin_lock_bh(&msk->pm.lock);
if (mptcp_pm_alloc_anno_list(msk, &addr_val.addr)) {
@@ -200,11 +203,11 @@ int mptcp_nl_cmd_announce(struct sk_buff *skb, struct genl_info *info)
}
spin_unlock_bh(&msk->pm.lock);
- release_sock((struct sock *)msk);
+ release_sock(sk);
err = 0;
announce_err:
- sock_put((struct sock *)msk);
+ sock_put(sk);
return err;
}
@@ -217,6 +220,7 @@ int mptcp_nl_cmd_remove(struct sk_buff *skb, struct genl_info *info)
struct mptcp_sock *msk;
LIST_HEAD(free_list);
int err = -EINVAL;
+ struct sock *sk;
u32 token_val;
u8 id_val;
@@ -234,12 +238,14 @@ int mptcp_nl_cmd_remove(struct sk_buff *skb, struct genl_info *info)
return err;
}
+ sk = (struct sock *)msk;
+
if (!mptcp_pm_is_userspace(msk)) {
GENL_SET_ERR_MSG(info, "invalid request; userspace PM not selected");
goto remove_err;
}
- lock_sock((struct sock *)msk);
+ lock_sock(sk);
list_for_each_entry(entry, &msk->pm.userspace_pm_local_addr_list, list) {
if (entry->addr.id == id_val) {
@@ -250,7 +256,7 @@ int mptcp_nl_cmd_remove(struct sk_buff *skb, struct genl_info *info)
if (!match) {
GENL_SET_ERR_MSG(info, "address with specified id not found");
- release_sock((struct sock *)msk);
+ release_sock(sk);
goto remove_err;
}
@@ -258,15 +264,15 @@ int mptcp_nl_cmd_remove(struct sk_buff *skb, struct genl_info *info)
mptcp_pm_remove_addrs(msk, &free_list);
- release_sock((struct sock *)msk);
+ release_sock(sk);
list_for_each_entry_safe(match, entry, &free_list, list) {
- sock_kfree_s((struct sock *)msk, match, sizeof(*match));
+ sock_kfree_s(sk, match, sizeof(*match));
}
err = 0;
remove_err:
- sock_put((struct sock *)msk);
+ sock_put(sk);
return err;
}
@@ -485,6 +491,7 @@ int mptcp_userspace_pm_set_flags(struct net *net, struct nlattr *token,
{
struct mptcp_sock *msk;
int ret = -EINVAL;
+ struct sock *sk;
u32 token_val;
token_val = nla_get_u32(token);
@@ -493,6 +500,8 @@ int mptcp_userspace_pm_set_flags(struct net *net, struct nlattr *token,
if (!msk)
return ret;
+ sk = (struct sock *)msk;
+
if (!mptcp_pm_is_userspace(msk))
goto set_flags_err;
@@ -500,11 +509,11 @@ int mptcp_userspace_pm_set_flags(struct net *net, struct nlattr *token,
rem->addr.family == AF_UNSPEC)
goto set_flags_err;
- lock_sock((struct sock *)msk);
+ lock_sock(sk);
ret = mptcp_pm_nl_mp_prio_send_ack(msk, &loc->addr, &rem->addr, bkup);
- release_sock((struct sock *)msk);
+ release_sock(sk);
set_flags_err:
- sock_put((struct sock *)msk);
+ sock_put(sk);
return ret;
}
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH mptcp-next 6/7] selftests: mptcp: sockopt: drop mptcp_connect var
2023-09-16 11:38 [PATCH mptcp-next 0/7] some small cleanups Geliang Tang
` (4 preceding siblings ...)
2023-09-16 11:38 ` [PATCH mptcp-next 5/7] mptcp: define more local variables sk Geliang Tang
@ 2023-09-16 11:38 ` Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 7/7] selftests: mptcp: display simult in extra_msg Geliang Tang
6 siblings, 0 replies; 9+ messages in thread
From: Geliang Tang @ 2023-09-16 11:38 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Global var mptcp_connect defined at the front of mptcp_sockopt.sh is
duplicate with local var mptcp_connect defined in do_transfer(), drop
this useless global one.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 1 -
1 file changed, 1 deletion(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
index 8c8694f21e7d..a817af6616ec 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
@@ -11,7 +11,6 @@ cout=""
ksft_skip=4
timeout_poll=30
timeout_test=$((timeout_poll * 2 + 1))
-mptcp_connect=""
iptables="iptables"
ip6tables="ip6tables"
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH mptcp-next 7/7] selftests: mptcp: display simult in extra_msg
2023-09-16 11:38 [PATCH mptcp-next 0/7] some small cleanups Geliang Tang
` (5 preceding siblings ...)
2023-09-16 11:38 ` [PATCH mptcp-next 6/7] selftests: mptcp: sockopt: drop mptcp_connect var Geliang Tang
@ 2023-09-16 11:38 ` Geliang Tang
2023-09-16 12:51 ` selftests: mptcp: display simult in extra_msg: Tests Results MPTCP CI
6 siblings, 1 reply; 9+ messages in thread
From: Geliang Tang @ 2023-09-16 11:38 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Just like displaying "invert" after "Info: ", "simult" should be
displayed too when rm_subflow_nr dosen't match the expect value in
chk_rm_nr():
syn [ ok ]
synack [ ok ]
ack [ ok ]
add [ ok ]
echo [ ok ]
rm [ ok ]
rmsf [ ok ] 3 in [2:4]
Info: invert simult
syn [ ok ]
synack [ ok ]
ack [ ok ]
add [ ok ]
echo [ ok ]
rm [ ok ]
rmsf [ ok ]
Info: invert
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/mptcp_join.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index ee1f89a872b3..d02e53be8b31 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -1766,7 +1766,9 @@ chk_rm_nr()
# in case of simult flush, the subflow removal count on each side is
# unreliable
count=$((count + cnt))
- [ "$count" != "$rm_subflow_nr" ] && suffix="$count in [$rm_subflow_nr:$((rm_subflow_nr*2))]"
+ [ "$count" != "$rm_subflow_nr" ] && \
+ suffix="$count in [$rm_subflow_nr:$((rm_subflow_nr*2))]" && \
+ extra_msg="$extra_msg simult"
if [ $count -ge "$rm_subflow_nr" ] && \
[ "$count" -le "$((rm_subflow_nr *2 ))" ]; then
print_ok "$suffix"
--
2.35.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: selftests: mptcp: display simult in extra_msg: Tests Results
2023-09-16 11:38 ` [PATCH mptcp-next 7/7] selftests: mptcp: display simult in extra_msg Geliang Tang
@ 2023-09-16 12:51 ` MPTCP CI
0 siblings, 0 replies; 9+ messages in thread
From: MPTCP CI @ 2023-09-16 12:51 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):
- Unstable: 1 failed test(s): selftest_simult_flows 🔴:
- Task: https://cirrus-ci.com/task/6270259657703424
- Summary: https://api.cirrus-ci.com/v1/artifact/task/6270259657703424/summary/summary.txt
- KVM Validation: debug (except selftest_mptcp_join):
- Unstable: 4 failed test(s): packetdrill_dss packetdrill_mp_join packetdrill_regressions selftest_diag 🔴:
- Task: https://cirrus-ci.com/task/5988784680992768
- Summary: https://api.cirrus-ci.com/v1/artifact/task/5988784680992768/summary/summary.txt
- KVM Validation: normal (only selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/4862884774150144
- Summary: https://api.cirrus-ci.com/v1/artifact/task/4862884774150144/summary/summary.txt
- KVM Validation: debug (only selftest_mptcp_join):
- Script error! ❓:
- Task: https://cirrus-ci.com/task/5425834727571456
- Summary: https://api.cirrus-ci.com/v1/artifact/task/5425834727571456/summary/summary.txt
Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/0ca0531912ef
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 (Tessares)
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-09-16 12:51 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-16 11:38 [PATCH mptcp-next 0/7] some small cleanups Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 1/7] mptcp: drop useless ssk in pm_subflow_check_next Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 2/7] mptcp: use mptcp_check_fallback helper Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 3/7] mptcp: use mptcp_wnd_end helper Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 4/7] mptcp: move sk assignment statement ahead Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 5/7] mptcp: define more local variables sk Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 6/7] selftests: mptcp: sockopt: drop mptcp_connect var Geliang Tang
2023-09-16 11:38 ` [PATCH mptcp-next 7/7] selftests: mptcp: display simult in extra_msg Geliang Tang
2023-09-16 12:51 ` selftests: mptcp: display simult in extra_msg: Tests Results MPTCP CI
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.