]> git.baikalelectronics.ru Git - kernel.git/commit
mptcp: explicitly track the fully established status
authorPaolo Abeni <pabeni@redhat.com>
Thu, 23 Jul 2020 11:02:32 +0000 (13:02 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Jul 2020 18:47:24 +0000 (11:47 -0700)
commit084e8b62d5f100c6569b5904e70d49a2451378b3
tree7c09b164c23c1846fb31afd02ed5e52ea3b79acd
parent1b8e0e3b85fd52e7ccdd6263a72f5bf76eb8491f
mptcp: explicitly track the fully established status

Currently accepted msk sockets become established only after
accept() returns the new sk to user-space.

As MP_JOIN request are refused as per RFC spec on non fully
established socket, the above causes mp_join self-tests
instabilities.

This change lets the msk entering the established status
as soon as it receives the 3rd ack and propagates the first
subflow fully established status on the msk socket.

Finally we can change the subflow acceptance condition to
take in account both the sock state and the msk fully
established flag.

Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Tested-by: Christoph Paasch <cpaasch@apple.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mptcp/options.c
net/mptcp/protocol.c
net/mptcp/protocol.h
net/mptcp/subflow.c