]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: propagate MPTCP skb extensions on xmit splits
authorPaolo Abeni <pabeni@redhat.com>
Tue, 3 Nov 2020 19:05:05 +0000 (11:05 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 5 Nov 2020 01:45:53 +0000 (17:45 -0800)
commit34b104d6c3c0e75dfc73151f99d118dfdfc04fdd
tree4af5d3c6d1086f2d64adde122e2b780eb326011f
parentfb9657cfed9970e2ef4c1f58c28c58c51d651ffe
tcp: propagate MPTCP skb extensions on xmit splits

When the TCP stack splits a packet on the write queue, the tail
half currently lose the associated skb extensions, and will not
carry the DSM on the wire.

The above does not cause functional problems and is allowed by
the RFC, but interact badly with GRO and RX coalescing, as possible
candidates for aggregation will carry different TCP options.

This change tries to improve the MPTCP behavior, propagating the
skb extensions on split.

Additionally, we must prevent the MPTCP stack from updating the
mapping after the split occur: that will both violate the RFC and
fool the reader.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/mptcp.h
net/ipv4/tcp_output.c
net/mptcp/protocol.c