linux/net/mptcp
Florian Westphal 3241a9c029 mptcp: re-arm retransmit timer if data is pending
The retransmit head will be NULL in case there is no in-flight data
(meaning all data injected into network has been acked).

In that case the retransmit timer is stopped.

This is only correct if there is no more pending, not-yet-sent data.

If there is, the retransmit timer needs to set the PENDING bit again so
that mptcp tries to send the remaining (new) data once a subflow can accept
more data.

Also, mptcp_subflow_get_retrans() has to be called unconditionally.

This function checks for subflows that have become unresponsive and marks
them as stale, so in the case where the rtx queue is empty, subflows
will never be marked stale which prevents available backup subflows from
becoming eligible for transmit.

Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/226
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-09-25 11:36:51 +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_FAIL 2021-08-25 11:02:35 +01:00
mib.h mptcp: add the mibs for MP_FAIL 2021-08-25 11:02:35 +01:00
mptcp_diag.c mptcp: add new mptcp_fill_diag helper 2021-09-18 14:20:00 +01:00
options.c mptcp: use OPTIONS_MPTCP_MPC 2021-09-25 11:36:51 +01:00
pm_netlink.c mptcp: Only send extra TCP acks in eligible socket states 2021-09-03 11:49:30 +01:00
pm.c mptcp: MP_FAIL suboption receiving 2021-08-25 11:02:34 +01:00
protocol.c mptcp: re-arm retransmit timer if data is pending 2021-09-25 11:36:51 +01:00
protocol.h mptcp: remove tx_pending_data 2021-09-25 11:36:51 +01:00
sockopt.c mptcp: add MPTCP_SUBFLOW_ADDRS getsockopt support 2021-09-18 14:20:01 +01:00
subflow.c mptcp: consolidate in_opt sub-options fields in a bitmask 2021-08-27 09:45:07 +01: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