-
-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
selftests: join: signal invalid addresses
is unstable
#254
Comments
Here is a capture when the test is OK: Also here, the last Echo ADD-ADDR is sent after an MPJ (33th packet) |
As pointed by @pabeni on IRC: be careful with the previous output: it looks like the test after |
In some cases, TCP Pure ACK might not reach the MPTCP stack even if it contains new MPTCP signalling. As mentioned by @pabeni on IRC, we can have that if the relevant socket is a in "post-established" status (half-closing)
This selftest seems to proove that:
Here, a "return" was added after Please also note that this test was running with |
@pabeni here is a trace with the issue when using the "slow" mode thanks to your patch: mp_join-07-ns1-0-moG7wT.pcap.gz The patch: diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 76c45c845d3b..80694e2b31ab 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -1325,7 +1325,7 @@ signal_address_tests()
pm_nl_add_endpoint $ns1 10.0.3.1 flags signal
pm_nl_add_endpoint $ns1 10.0.14.1 flags signal
pm_nl_set_limits $ns2 3 3
- run_tests $ns1 $ns2 10.0.1.1
+ run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow
chk_join_nr "signal invalid addresses" 1 1 1
chk_add_nr 3 3
@@ -1341,7 +1341,7 @@ signal_address_tests()
pm_nl_add_endpoint $ns2 10.0.2.2 flags signal
pm_nl_add_endpoint $ns2 10.0.3.2 flags signal
pm_nl_add_endpoint $ns2 10.0.4.2 flags signal
- run_tests $ns1 $ns2 10.0.1.1
+ run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow
# the server will not signal the address terminating
# the MPC subflow |
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpass such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: multipath-tcp/mptcp_net-next#254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpas such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: #254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
The in kernel MPTCP PM implementation can process a single incoming add address option at any given time. In the mentioned test the server can surpass such limit. Let the setup cope with that allowing a faster add_addr retransmission. Fixes: a88c9e4 ("mptcp: do not block subflows creation on errors") Fixes: f7efc77 ("mptcp: drop argument port from mptcp_pm_announce_addr") Closes: multipath-tcp/mptcp_net-next#254 Reported-and-tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Add a detachment test case with miniq present to assert that with and without the miniq we get the same error. # ./test_progs -t tc_opts #244 tc_opts_after:OK #245 tc_opts_append:OK #246 tc_opts_basic:OK #247 tc_opts_before:OK #248 tc_opts_chain_classic:OK #249 tc_opts_delete_empty:OK #250 tc_opts_demixed:OK #251 tc_opts_detach:OK #252 tc_opts_detach_after:OK #253 tc_opts_detach_before:OK #254 tc_opts_dev_cleanup:OK #255 tc_opts_invalid:OK #256 tc_opts_mixed:OK #257 tc_opts_prepend:OK #258 tc_opts_replace:OK #259 tc_opts_revision:OK Summary: 16/0 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/r/20230804131112.11012-2-daniel@iogearbox.net Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Add several new tcx test cases to improve test coverage. This also includes a few new tests with ingress instead of clsact qdisc, to cover the fix from commit dc644b5 ("tcx: Fix splat in ingress_destroy upon tcx_entry_free"). # ./test_progs -t tc [...] #234 tc_links_after:OK #235 tc_links_append:OK #236 tc_links_basic:OK #237 tc_links_before:OK #238 tc_links_chain_classic:OK #239 tc_links_chain_mixed:OK #240 tc_links_dev_cleanup:OK #241 tc_links_dev_mixed:OK #242 tc_links_ingress:OK #243 tc_links_invalid:OK #244 tc_links_prepend:OK #245 tc_links_replace:OK #246 tc_links_revision:OK #247 tc_opts_after:OK #248 tc_opts_append:OK #249 tc_opts_basic:OK #250 tc_opts_before:OK #251 tc_opts_chain_classic:OK #252 tc_opts_chain_mixed:OK #253 tc_opts_delete_empty:OK #254 tc_opts_demixed:OK #255 tc_opts_detach:OK #256 tc_opts_detach_after:OK #257 tc_opts_detach_before:OK #258 tc_opts_dev_cleanup:OK #259 tc_opts_invalid:OK #260 tc_opts_mixed:OK #261 tc_opts_prepend:OK #262 tc_opts_replace:OK #263 tc_opts_revision:OK [...] Summary: 44/38 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/r/8699efc284b75ccdc51ddf7062fa2370330dc6c0.1692029283.git.daniel@iogearbox.net Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Adding test that attaches 50k usdt probes in usdt_multi binary. After the attach is done we run the binary and make sure we get proper amount of hits. With current uprobes: # perf stat --null ./test_progs -n 254/6 #254/6 uprobe_multi_test/bench_usdt:OK #254 uprobe_multi_test:OK Summary: 1/1 PASSED, 0 SKIPPED, 0 FAILED Performance counter stats for './test_progs -n 254/6': 1353.659680562 seconds time elapsed With uprobe_multi link: # perf stat --null ./test_progs -n 254/6 #254/6 uprobe_multi_test/bench_usdt:OK #254 uprobe_multi_test:OK Summary: 1/1 PASSED, 0 SKIPPED, 0 FAILED Performance counter stats for './test_progs -n 254/6': 0.322046364 seconds time elapsed Signed-off-by: Jiri Olsa <jolsa@kernel.org> Link: https://lore.kernel.org/r/20230809083440.3209381-26-jolsa@kernel.org Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Add various tests to check maximum number of supported programs being attached: # ./vmtest.sh -- ./test_progs -t tc_opts [...] ./test_progs -t tc_opts [ 1.185325] bpf_testmod: loading out-of-tree module taints kernel. [ 1.186826] bpf_testmod: module verification failed: signature and/or required key missing - tainting kernel [ 1.270123] tsc: Refined TSC clocksource calibration: 3407.988 MHz [ 1.272428] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x311fc932722, max_idle_ns: 440795381586 ns [ 1.276408] clocksource: Switched to clocksource tsc #252 tc_opts_after:OK #253 tc_opts_append:OK #254 tc_opts_basic:OK #255 tc_opts_before:OK #256 tc_opts_chain_classic:OK #257 tc_opts_chain_mixed:OK #258 tc_opts_delete_empty:OK #259 tc_opts_demixed:OK #260 tc_opts_detach:OK #261 tc_opts_detach_after:OK #262 tc_opts_detach_before:OK #263 tc_opts_dev_cleanup:OK #264 tc_opts_invalid:OK #265 tc_opts_max:OK <--- (new test) #266 tc_opts_mixed:OK #267 tc_opts_prepend:OK #268 tc_opts_replace:OK #269 tc_opts_revision:OK Summary: 18/0 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20230929204121.20305-2-daniel@iogearbox.net
Add a new test case which performs double query of the bpf_mprog through libbpf API, but also via raw bpf(2) syscall. This is testing to gather first the count and then in a subsequent probe the full information with the program array without clearing passed structs in between. # ./vmtest.sh -- ./test_progs -t tc_opts [...] ./test_progs -t tc_opts [ 1.398818] tsc: Refined TSC clocksource calibration: 3407.999 MHz [ 1.400263] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x311fd336761, max_idle_ns: 440795243819 ns [ 1.402734] clocksource: Switched to clocksource tsc [ 1.426639] bpf_testmod: loading out-of-tree module taints kernel. [ 1.428112] bpf_testmod: module verification failed: signature and/or required key missing - tainting kernel #252 tc_opts_after:OK #253 tc_opts_append:OK #254 tc_opts_basic:OK #255 tc_opts_before:OK #256 tc_opts_chain_classic:OK #257 tc_opts_chain_mixed:OK #258 tc_opts_delete_empty:OK #259 tc_opts_demixed:OK #260 tc_opts_detach:OK #261 tc_opts_detach_after:OK #262 tc_opts_detach_before:OK #263 tc_opts_dev_cleanup:OK #264 tc_opts_invalid:OK #265 tc_opts_max:OK #266 tc_opts_mixed:OK #267 tc_opts_prepend:OK #268 tc_opts_query:OK <--- (new test) #269 tc_opts_replace:OK #270 tc_opts_revision:OK Summary: 19/0 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/r/20231006220655.1653-4-daniel@iogearbox.net Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Add a new test case to query on an empty bpf_mprog and pass the revision directly into expected_revision for attachment to assert that this does succeed. ./test_progs -t tc_opts [ 1.406778] tsc: Refined TSC clocksource calibration: 3407.990 MHz [ 1.408863] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x311fcaf6eb0, max_idle_ns: 440795321766 ns [ 1.412419] clocksource: Switched to clocksource tsc [ 1.428671] bpf_testmod: loading out-of-tree module taints kernel. [ 1.430260] bpf_testmod: module verification failed: signature and/or required key missing - tainting kernel #252 tc_opts_after:OK #253 tc_opts_append:OK #254 tc_opts_basic:OK #255 tc_opts_before:OK #256 tc_opts_chain_classic:OK #257 tc_opts_chain_mixed:OK #258 tc_opts_delete_empty:OK #259 tc_opts_demixed:OK #260 tc_opts_detach:OK #261 tc_opts_detach_after:OK #262 tc_opts_detach_before:OK #263 tc_opts_dev_cleanup:OK #264 tc_opts_invalid:OK #265 tc_opts_max:OK #266 tc_opts_mixed:OK #267 tc_opts_prepend:OK #268 tc_opts_query:OK #269 tc_opts_query_attach:OK <--- (new test) #270 tc_opts_replace:OK #271 tc_opts_revision:OK Summary: 20/0 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/r/20231006220655.1653-6-daniel@iogearbox.net Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Add several new test cases which assert corner cases on the mprog query mechanism, for example, around passing in a too small or a larger array than the current count. ./test_progs -t tc_opts #252 tc_opts_after:OK #253 tc_opts_append:OK #254 tc_opts_basic:OK #255 tc_opts_before:OK #256 tc_opts_chain_classic:OK #257 tc_opts_chain_mixed:OK #258 tc_opts_delete_empty:OK #259 tc_opts_demixed:OK #260 tc_opts_detach:OK #261 tc_opts_detach_after:OK #262 tc_opts_detach_before:OK #263 tc_opts_dev_cleanup:OK #264 tc_opts_invalid:OK #265 tc_opts_max:OK #266 tc_opts_mixed:OK #267 tc_opts_prepend:OK #268 tc_opts_query:OK #269 tc_opts_query_attach:OK #270 tc_opts_replace:OK #271 tc_opts_revision:OK Summary: 20/0 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Reviewed-by: Alan Maguire <alan.maguire@oracle.com> Link: https://lore.kernel.org/bpf/20231017081728.24769-1-daniel@iogearbox.net
… rules rx_create no longer allocates a modify_hdr instance that needs to be cleaned up. The mlx5_modify_header_dealloc call will lead to a NULL pointer dereference. A leak in the rules also previously occurred since there are now two rules populated related to status. BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 109907067 P4D 109907067 PUD 116890067 PMD 0 Oops: 0000 [#1] SMP CPU: 1 PID: 484 Comm: ip Not tainted 6.9.0-rc2-rrameshbabu+ #254 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS Arch Linux 1.16.3-1-1 04/01/2014 RIP: 0010:mlx5_modify_header_dealloc+0xd/0x70 <snip> Call Trace: <TASK> ? show_regs+0x60/0x70 ? __die+0x24/0x70 ? page_fault_oops+0x15f/0x430 ? free_to_partial_list.constprop.0+0x79/0x150 ? do_user_addr_fault+0x2c9/0x5c0 ? exc_page_fault+0x63/0x110 ? asm_exc_page_fault+0x27/0x30 ? mlx5_modify_header_dealloc+0xd/0x70 rx_create+0x374/0x590 rx_add_rule+0x3ad/0x500 ? rx_add_rule+0x3ad/0x500 ? mlx5_cmd_exec+0x2c/0x40 ? mlx5_create_ipsec_obj+0xd6/0x200 mlx5e_accel_ipsec_fs_add_rule+0x31/0xf0 mlx5e_xfrm_add_state+0x426/0xc00 <snip> Fixes: 94af50c ("net/mlx5e: Unify esw and normal IPsec status table creation/destruction") Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com> Signed-off-by: Tariq Toukan <tariqt@nvidia.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
On my side, using https://github.com/multipath-tcp/mptcp-upstream-virtme-docker and:
... it is quite easy to reproduce it.
When I isolate this specific test to run only this one, I cannot reproduce it.
But when running
mptcp_join.sh -s
, it is quite easy:Capture:
mp_join-06-ns1-0-SGfe8N.pcap.gz
We can see the last Echo ADD-ADDR (38th packet) is sent after an MPJ
The text was updated successfully, but these errors were encountered: