aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/ipv6.h
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2020-01-21 16:56:33 -0800
committerDavid S. Miller <davem@davemloft.net>2020-01-24 13:44:08 +0100
commit8ab183deb26a3b79f8021afa9e83cc1bbd812031 (patch)
tree85962ea27c8820b48348119223d321b471627f4c /include/net/ipv6.h
parentmptcp: process MP_CAPABLE data option (diff)
downloadlinux-dev-8ab183deb26a3b79f8021afa9e83cc1bbd812031.tar.xz
linux-dev-8ab183deb26a3b79f8021afa9e83cc1bbd812031.zip
mptcp: cope with later TCP fallback
With MPTCP v1, passive connections can fallback to TCP after the subflow becomes established: syn + MP_CAPABLE -> <- syn, ack + MP_CAPABLE ack, seq = 3 -> // OoO packet is accepted because in-sequence // passive socket is created, is in ESTABLISHED // status and tentatively as MP_CAPABLE ack, seq = 2 -> // no MP_CAPABLE opt, subflow should fallback to TCP We can't use the 'subflow' socket fallback, as we don't have it available for passive connection. Instead, when the fallback is detected, replace the mptcp socket with the underlying TCP subflow. Beyond covering the above scenario, it makes a TCP fallback socket as efficient as plain TCP ones. Co-developed-by: Florian Westphal <fw@strlen.de> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Christoph Paasch <cpaasch@apple.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions