]> 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)
commit026c9cdc51c090ea42173399a81d6823f7f8b02a
tree7c09b164c23c1846fb31afd02ed5e52ea3b79acd
parent436fc1bda0a5dce33793bff3f05db8ad08c52009
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