linux/net/mptcp
Paolo Abeni 1e1d9d6f11 mptcp: handle pending data on closed subflow
The PM can close active subflow, e.g. due to ingress RM_ADDR
option. Such subflow could carry data still unacked at the
MPTCP-level, both in the write and the rtx_queue, which has
never reached the other peer.

Currently the mptcp-level retransmission will deliver such data,
but at a very low rate (at most 1 DSM for each MPTCP rtx interval).

We can speed-up the recovery a lot, moving all the unacked in the
tcp write_queue, so that it will be pushed again via other
subflows, at the speed allowed by them.

Also make available the new helper for later patches.

Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/207
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>
2021-08-14 11:37:25 +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: add sysctl allow_join_initial_addr_port 2021-06-22 14:36:01 -07: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: properly account bulk freed memory 2021-07-09 18:38:53 -07:00
mib.h mptcp: properly account bulk freed memory 2021-07-09 18:38:53 -07:00
mptcp_diag.c net: Use nlmsg_unicast() instead of netlink_unicast() 2021-07-13 09:28:29 -07:00
options.c mptcp: handle pending data on closed subflow 2021-08-14 11:37:25 +01:00
pm_netlink.c mptcp: drop unused rcu member in mptcp_pm_addr_entry 2021-08-03 14:26:46 -07:00
pm.c mptcp: less aggressive retransmission strategy 2021-08-14 11:37:25 +01:00
protocol.c mptcp: handle pending data on closed subflow 2021-08-14 11:37:25 +01:00
protocol.h mptcp: handle pending data on closed subflow 2021-08-14 11:37:25 +01:00
sockopt.c net: sock: extend SO_TIMESTAMPING for PHC binding 2021-07-01 13:08:18 -07:00
subflow.c mptcp: fix syncookie process if mptcp can not_accept new subflow 2021-07-09 18:38:53 -07:00
syncookies.c mptcp: fix warning in __skb_flow_dissect() when do syn cookie for subflow join 2021-07-09 18:38:53 -07:00
token_test.c mptcp: introduce token KUNIT self-tests 2020-06-26 16:21:39 -07:00
token.c mptcp: using TOKEN_MAX_RETRIES instead of magic number 2021-05-28 13:59:15 -07:00