OpenCloudOS-Kernel/net/mptcp
Peter Krystad ec3edaa7ca mptcp: Add handling of outgoing MP_JOIN requests
Subflow creation may be initiated by the path manager when
the primary connection is fully established and a remote
address has been received via ADD_ADDR.

Create an in-kernel sock and use kernel_connect() to
initiate connection.

Passive sockets can't acquire the mptcp socket lock at
subflow creation time, so an additional list protected by
a new spinlock is used to track the MPJ subflows.

Such list is spliced into conn_list tail every time the msk
socket lock is acquired, so that it will not interfere
with data flow on the original connection.

Data flow and connection failover not addressed by this commit.

Co-developed-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Florian Westphal <fw@strlen.de>
Co-developed-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Co-developed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Peter Krystad <peter.krystad@linux.intel.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-03-29 22:14:48 -07:00
..
Kconfig mptcp: select CRYPTO 2020-02-16 19:37:16 -08:00
Makefile mptcp: Add path manager interface 2020-03-29 22:14:48 -07:00
crypto.c mptcp: Add ADD_ADDR handling 2020-03-29 22:14:48 -07:00
ctrl.c mptcp: new sysctl to control the activation per NS 2020-01-24 13:44:08 +01:00
options.c mptcp: Add handling of outgoing MP_JOIN requests 2020-03-29 22:14:48 -07:00
pm.c mptcp: Add path manager interface 2020-03-29 22:14:48 -07:00
protocol.c mptcp: Add handling of outgoing MP_JOIN requests 2020-03-29 22:14:48 -07:00
protocol.h mptcp: Add handling of outgoing MP_JOIN requests 2020-03-29 22:14:48 -07:00
subflow.c mptcp: Add handling of outgoing MP_JOIN requests 2020-03-29 22:14:48 -07:00
token.c mptcp: Add handling of incoming MP_JOIN requests 2020-03-29 22:14:48 -07:00