]> git.baikalelectronics.ru Git - kernel.git/commit
mptcp: faster active backup recovery
authorPaolo Abeni <pabeni@redhat.com>
Fri, 13 Aug 2021 22:15:45 +0000 (15:15 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 14 Aug 2021 10:37:25 +0000 (11:37 +0100)
commitf0094b55ac0ffdb604c12d1cee9da5ac8c0c34b8
treec5601da51b264d08d1ce35d14d7a6b051d6786a5
parentd0d18d889d476f9011a578d7424de4318147d871
mptcp: faster active backup recovery

The msk can use backup subflows to transmit in-sequence data
only if there are no other active subflow. On active backup
scenario, the MPTCP connection can do forward progress only
due to MPTCP retransmissions - rtx can pick backup subflows.

This patch introduces a new flag flow MPTCP subflows: if the
underlying TCP connection made no progresses for long time,
and there are other less problematic subflows available, the
given subflow become stale.

Stale subflows are not considered active: if all non backup
subflows become stale, the MPTCP scheduler can pick backup
subflows for plain transmissions.

Stale subflows can return in active state, as soon as any reply
from the peer is observed.

Active backup scenarios can now leverage the available b/w
with no restrinction.

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>
Documentation/networking/mptcp-sysctl.rst
net/mptcp/ctrl.c
net/mptcp/pm.c
net/mptcp/pm_netlink.c
net/mptcp/protocol.c
net/mptcp/protocol.h