Lines Matching refs:mp_opt

143 	struct mptcp_options_received mp_opt;  in subflow_check_req()  local
156 mptcp_get_options(sk_listener, skb, &mp_opt); in subflow_check_req()
158 opt_mp_capable = !!(mp_opt.suboptions & OPTIONS_MPTCP_MPC); in subflow_check_req()
159 opt_mp_join = !!(mp_opt.suboptions & OPTIONS_MPTCP_MPJ); in subflow_check_req()
203 subflow_req->backup = mp_opt.backup; in subflow_check_req()
204 subflow_req->remote_id = mp_opt.join_id; in subflow_check_req()
205 subflow_req->token = mp_opt.token; in subflow_check_req()
206 subflow_req->remote_nonce = mp_opt.nonce; in subflow_check_req()
248 struct mptcp_options_received mp_opt; in mptcp_subflow_init_cookie_req() local
253 mptcp_get_options(sk_listener, skb, &mp_opt); in mptcp_subflow_init_cookie_req()
255 opt_mp_capable = !!(mp_opt.suboptions & OPTIONS_MPTCP_MPC); in mptcp_subflow_init_cookie_req()
256 opt_mp_join = !!(mp_opt.suboptions & OPTIONS_MPTCP_MPJ); in mptcp_subflow_init_cookie_req()
261 if (mp_opt.sndr_key == 0) in mptcp_subflow_init_cookie_req()
264 subflow_req->local_key = mp_opt.rcvr_key; in mptcp_subflow_init_cookie_req()
398 struct mptcp_options_received mp_opt; in subflow_finish_connect() local
413 mptcp_get_options(sk, skb, &mp_opt); in subflow_finish_connect()
415 if (!(mp_opt.suboptions & OPTIONS_MPTCP_MPC)) { in subflow_finish_connect()
423 if (mp_opt.suboptions & OPTION_MPTCP_CSUMREQD) in subflow_finish_connect()
425 if (mp_opt.deny_join_id0) in subflow_finish_connect()
429 subflow->remote_key = mp_opt.sndr_key; in subflow_finish_connect()
438 if (!(mp_opt.suboptions & OPTIONS_MPTCP_MPJ)) { in subflow_finish_connect()
443 subflow->backup = mp_opt.backup; in subflow_finish_connect()
444 subflow->thmac = mp_opt.thmac; in subflow_finish_connect()
445 subflow->remote_nonce = mp_opt.nonce; in subflow_finish_connect()
542 const struct mptcp_options_received *mp_opt) in subflow_hmac_valid() argument
557 return !crypto_memneq(hmac, mp_opt->hmac, MPTCPOPT_HMAC_LEN); in subflow_hmac_valid()
618 struct mptcp_options_received *mp_opt) in mptcp_subflow_fully_established() argument
622 subflow->remote_key = mp_opt->sndr_key; in mptcp_subflow_fully_established()
637 struct mptcp_options_received mp_opt; in subflow_syn_recv_sock() local
647 mp_opt.suboptions = 0; in subflow_syn_recv_sock()
666 mptcp_get_options(sk, skb, &mp_opt); in subflow_syn_recv_sock()
667 if (!(mp_opt.suboptions & OPTIONS_MPTCP_MPC)) { in subflow_syn_recv_sock()
672 new_msk = mptcp_sk_clone(listener->conn, &mp_opt, req); in subflow_syn_recv_sock()
676 mptcp_get_options(sk, skb, &mp_opt); in subflow_syn_recv_sock()
677 if (!(mp_opt.suboptions & OPTIONS_MPTCP_MPJ) || in subflow_syn_recv_sock()
678 !subflow_hmac_valid(req, &mp_opt) || in subflow_syn_recv_sock()
735 if (mp_opt.suboptions & OPTIONS_MPTCP_MPC) in subflow_syn_recv_sock()
736 mptcp_subflow_fully_established(ctx, &mp_opt); in subflow_syn_recv_sock()