return true;
}
-#define pr_fallback(a) pr_debug("%s:fallback to TCP (msk=%p)\n", __func__, a)
-
static inline void mptcp_early_fallback(struct mptcp_sock *msk,
struct mptcp_subflow_context *subflow,
int fb_mib)
{
- pr_fallback(msk);
subflow->request_mptcp = 0;
WARN_ON_ONCE(!__mptcp_try_fallback(msk, fb_mib));
}
goto do_reset;
}
- pr_fallback(msk);
goto fallback;
}
{
struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(sk);
struct sock *parent = subflow->conn;
- struct mptcp_sock *msk;
__subflow_state_change(sk);
- msk = mptcp_sk(parent);
if (subflow_simultaneous_connect(sk)) {
WARN_ON_ONCE(!mptcp_try_fallback(sk, MPTCP_MIB_SIMULTCONNFALLBACK));
- pr_fallback(msk);
subflow->conn_finished = 1;
mptcp_propagate_state(parent, sk, subflow, NULL);
}