Searched hist:"8 ab183deb26a3b79f8021afa9e83cc1bbd812031" (Results 1 – 2 of 2) sorted by relevance
/openbmc/linux/net/mptcp/ |
H A D | protocol.h | diff 8ab183deb26a3b79f8021afa9e83cc1bbd812031 Tue Jan 21 18:56:33 CST 2020 Paolo Abeni <pabeni@redhat.com> 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>
|
H A D | protocol.c | diff 8ab183deb26a3b79f8021afa9e83cc1bbd812031 Tue Jan 21 18:56:33 CST 2020 Paolo Abeni <pabeni@redhat.com> 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>
|