54f1944ed6
The current MPTCP connect implementation duplicates a bit of inet
code and does not use nor provide a struct proto->connect callback,
which in turn will not fit the upcoming fastopen implementation.
Refactor such implementation to use the common helper, moving the
MPTCP-specific bits into mptcp_connect(). Additionally, avoid an
indirect call to the subflow connect callback.
Note that the fastopen call-path invokes mptcp_connect() while already
holding the subflow socket lock. Explicitly keep track of such path
via a new MPTCP-level flag and handle the locking accordingly.
Additionally, track the connect flags in a new msk field to allow
propagating them to the subflow inet_stream_connect call.
Fixes:
|
||
---|---|---|
.. | ||
bpf.c | ||
crypto_test.c | ||
crypto.c | ||
ctrl.c | ||
diag.c | ||
Kconfig | ||
Makefile | ||
mib.c | ||
mib.h | ||
mptcp_diag.c | ||
options.c | ||
pm_netlink.c | ||
pm_userspace.c | ||
pm.c | ||
protocol.c | ||
protocol.h | ||
sockopt.c | ||
subflow.c | ||
syncookies.c | ||
token_test.c | ||
token.c |