linux/net/mptcp
Paolo Abeni ab174ad8ef mptcp: move ooo skbs into msk out of order queue.
Add an RB-tree to cope with OoO (at MPTCP level) data.
__mptcp_move_skb() insert into the RB tree "future"
data, eventually coalescing skb as allowed by the
MPTCP DSN.

To simplify sequence accounting, move the DSN inside
the cb.

After successfully enqueuing in sequence data, check
if we can use any data from the RB tree.

Additionally move the data_fin check after spooling
data from the OoO tree, otherwise we could miss shutdown
events.

The RB tree code is copied as verbatim as possible
from tcp_data_queue_ofo(), with a few simplifications
due to the fact that MPTCP doesn't need to cope with
sacks. All bugs here are added by me.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-09-14 13:28:02 -07:00
..
crypto_test.c mptcp: move crypto test to KUNIT 2020-06-26 16:21:39 -07:00
crypto.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
ctrl.c mptcp: enable JOIN requests even if cookies are in use 2020-07-31 16:55:32 -07:00
diag.c mptcp: allow dumping subflow context to userspace 2020-03-29 22:14:48 -07:00
Kconfig mptcp: add MPTCP socket diag interface 2020-07-09 12:38:41 -07:00
Makefile mptcp: enable JOIN requests even if cookies are in use 2020-07-31 16:55:32 -07:00
mib.c mptcp: add and use MIB counter infrastructure 2020-03-29 22:14:49 -07:00
mib.h mptcp: add and use MIB counter infrastructure 2020-03-29 22:14:49 -07:00
mptcp_diag.c mptcp: add MPTCP socket diag interface 2020-07-09 12:38:41 -07:00
options.c mptcp: Skip unnecessary skb extension allocation for bare acks 2020-07-28 17:02:42 -07:00
pm_netlink.c netlink: consistently use NLA_POLICY_EXACT_LEN() 2020-08-18 12:28:45 -07:00
pm.c mptcp: use mptcp worker for path management 2020-07-07 13:02:13 -07:00
protocol.c mptcp: move ooo skbs into msk out of order queue. 2020-09-14 13:28:02 -07:00
protocol.h mptcp: move ooo skbs into msk out of order queue. 2020-09-14 13:28:02 -07:00
subflow.c mptcp: move ooo skbs into msk out of order queue. 2020-09-14 13:28:02 -07:00
syncookies.c mptcp: fix syncookie build error on UP 2020-08-01 11:52:55 -07:00
token_test.c mptcp: introduce token KUNIT self-tests 2020-06-26 16:21:39 -07:00
token.c mptcp: subflow: add mptcp_subflow_init_cookie_req helper 2020-07-31 16:55:32 -07:00