linux/net/mptcp
Geliang Tang 1e39e5a32a mptcp: infinite mapping sending
This patch adds the infinite mapping sending logic.

Add a new flag send_infinite_map in struct mptcp_subflow_context. Set
it true when a single contiguous subflow is in use and the
allow_infinite_fallback flag is true in mptcp_pm_mp_fail_received().

In mptcp_sendmsg_frag(), if this flag is true, call the new function
mptcp_update_infinite_map() to set the infinite mapping.

Add a new flag infinite_map in struct mptcp_ext, set it true in
mptcp_update_infinite_map(), and check this flag in a new helper
mptcp_check_infinite_map().

In mptcp_update_infinite_map(), set data_len to 0, and clear the
send_infinite_map flag, then do fallback.

In mptcp_established_options(), use the helper mptcp_check_infinite_map()
to let the infinite mapping DSS can be sent out in the fallback mode.

Suggested-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-04-23 11:51:05 +01:00
..
crypto_test.c mptcp: move crypto test to KUNIT 2020-06-26 16:21:39 -07:00
crypto.c kunit: mptcp: adhere to KUNIT formatting standard 2021-04-16 17:10:40 -07:00
ctrl.c mptcp: faster active backup recovery 2021-08-14 11:37:25 +01:00
diag.c mptcp: allow dumping subflow context to userspace 2020-03-29 22:14:48 -07:00
Kconfig kunit: mptcp: adhere to KUNIT formatting standard 2021-04-16 17:10:40 -07:00
Makefile kunit: mptcp: adhere to KUNIT formatting standard 2021-04-16 17:10:40 -07:00
mib.c mptcp: add the mibs for MP_RST 2022-03-04 21:54:30 -08:00
mib.h mptcp: add the mibs for MP_RST 2022-03-04 21:54:30 -08:00
mptcp_diag.c mptcp: listen diag dump support 2022-04-11 11:55:53 +01:00
options.c mptcp: infinite mapping sending 2022-04-23 11:51:05 +01:00
pm_netlink.c mptcp: add pm_nl_pernet helpers 2022-04-11 11:55:53 +01:00
pm.c mptcp: infinite mapping sending 2022-04-23 11:51:05 +01:00
protocol.c mptcp: infinite mapping sending 2022-04-23 11:51:05 +01:00
protocol.h mptcp: infinite mapping sending 2022-04-23 11:51:05 +01:00
sockopt.c mptcp: remove locking in mptcp_diag_fill_info 2022-04-11 11:55:53 +01:00
subflow.c mptcp: track and update contiguous data status 2022-04-23 11:51:05 +01:00
syncookies.c mptcp: don't return sockets in foreign netns 2021-09-24 10:51:36 +01:00
token_test.c mptcp: don't return sockets in foreign netns 2021-09-24 10:51:36 +01:00
token.c mptcp: full disconnect implementation 2022-01-07 11:27:06 +00:00