OpenCloudOS-Kernel/net/mptcp
Davide Caratti 43eca11b7c mptcp: don't account accept() of non-MPC client as fallback to TCP
commit 7a1b3490f47e88ec4cbde65f1a77a0f4bc972282 upstream.

Current MPTCP servers increment MPTcpExtMPCapableFallbackACK when they
accept non-MPC connections. As reported by Christoph, this is "surprising"
because the counter might become greater than MPTcpExtMPCapableSYNRX.

MPTcpExtMPCapableFallbackACK counter's name suggests it should only be
incremented when a connection was seen using MPTCP options, then a
fallback to TCP has been done. Let's do that by incrementing it when
the subflow context of an inbound MPC connection attempt is dropped.
Also, update mptcp_connect.sh kselftest, to ensure that the
above MIB does not increment in case a pure TCP client connects to a
MPTCP server.

Fixes: fc518953bc ("mptcp: add and use MIB counter infrastructure")
Cc: stable@vger.kernel.org
Reported-by: Christoph Paasch <cpaasch@apple.com>
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/449
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://lore.kernel.org/r/20240329-upstream-net-20240329-fallback-mib-v1-1-324a8981da48@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-04-10 16:36:06 +02:00
..
Kconfig kunit: mptcp: adhere to KUNIT formatting standard 2021-04-16 17:10:40 -07:00
Makefile mptcp: add struct mptcp_sched_ops 2023-08-22 17:31:18 -07:00
bpf.c bpf: Add update_socket_protocol hook 2023-08-16 10:22:16 -07:00
crypto.c kunit: mptcp: adhere to KUNIT formatting standard 2021-04-16 17:10:40 -07:00
crypto_test.c mptcp: move crypto test to KUNIT 2020-06-26 16:21:39 -07:00
ctrl.c sysctl-6.6-rc1 2023-08-29 17:39:15 -07:00
diag.c mptcp: fix possible deadlock in subflow diag 2024-03-06 14:48:42 +00:00
fastopen.c mptcp: corner case locking for rx path fields initialization 2024-03-01 13:34:57 +01:00
mib.c mptcp: add CurrEstab MIB counter support 2024-03-01 13:34:57 +01:00
mib.h mptcp: add CurrEstab MIB counter support 2024-03-01 13:34:57 +01:00
mptcp_diag.c tcp: Access &tcp_hashinfo via net. 2022-09-20 10:21:49 -07:00
options.c mptcp: avoid printing warning once on client side 2024-03-06 14:48:42 +00:00
pm.c mptcp: drop last_snd and MPTCP_RESET_SCHEDULER 2023-08-22 17:31:18 -07:00
pm_netlink.c mptcp: add needs_id for netlink appending addr 2024-03-01 13:35:11 +01:00
pm_userspace.c mptcp: map v4 address to v6 when destroying subflow 2024-03-06 14:48:42 +00:00
protocol.c mptcp: don't account accept() of non-MPC client as fallback to TCP 2024-04-10 16:36:06 +02:00
protocol.h mptcp: fix potential wake-up event loss 2024-03-06 14:48:42 +00:00
sched.c mptcp: register default scheduler 2023-08-22 17:31:19 -07:00
sockopt.c mptcp: refactor sndbuf auto-tuning 2024-01-05 15:19:41 +01:00
subflow.c mptcp: don't account accept() of non-MPC client as fallback to TCP 2024-04-10 16:36:06 +02:00
syncookies.c mptcp: don't return sockets in foreign netns 2021-09-24 10:51:36 +01:00
token.c mptcp: add statistics for mptcp socket in use 2023-01-09 07:30:50 +00:00
token_test.c mptcp: init sk->sk_prot in build_msk() 2023-01-09 07:30:50 +00:00