Lines Matching refs:mp_opt

145 	struct mptcp_options_received mp_opt;  in subflow_check_req()  local
158 mptcp_get_options(skb, &mp_opt); in subflow_check_req()
160 opt_mp_capable = !!(mp_opt.suboptions & OPTIONS_MPTCP_MPC); in subflow_check_req()
161 opt_mp_join = !!(mp_opt.suboptions & OPTIONS_MPTCP_MPJ); in subflow_check_req()
205 subflow_req->backup = mp_opt.backup; in subflow_check_req()
206 subflow_req->remote_id = mp_opt.join_id; in subflow_check_req()
207 subflow_req->token = mp_opt.token; in subflow_check_req()
208 subflow_req->remote_nonce = mp_opt.nonce; in subflow_check_req()
250 struct mptcp_options_received mp_opt; in mptcp_subflow_init_cookie_req() local
255 mptcp_get_options(skb, &mp_opt); in mptcp_subflow_init_cookie_req()
257 opt_mp_capable = !!(mp_opt.suboptions & OPTIONS_MPTCP_MPC); in mptcp_subflow_init_cookie_req()
258 opt_mp_join = !!(mp_opt.suboptions & OPTIONS_MPTCP_MPJ); in mptcp_subflow_init_cookie_req()
263 if (mp_opt.sndr_key == 0) in mptcp_subflow_init_cookie_req()
266 subflow_req->local_key = mp_opt.rcvr_key; in mptcp_subflow_init_cookie_req()
438 const struct mptcp_options_received *mp_opt) in subflow_set_remote_key() argument
447 subflow->remote_key = mp_opt->sndr_key; in subflow_set_remote_key()
460 struct mptcp_options_received mp_opt; in subflow_finish_connect() local
477 mptcp_get_options(skb, &mp_opt); in subflow_finish_connect()
479 if (!(mp_opt.suboptions & OPTIONS_MPTCP_MPC)) { in subflow_finish_connect()
487 if (mp_opt.suboptions & OPTION_MPTCP_CSUMREQD) in subflow_finish_connect()
489 if (mp_opt.deny_join_id0) in subflow_finish_connect()
492 subflow_set_remote_key(msk, subflow, &mp_opt); in subflow_finish_connect()
499 if (!(mp_opt.suboptions & OPTIONS_MPTCP_MPJ)) { in subflow_finish_connect()
504 subflow->backup = mp_opt.backup; in subflow_finish_connect()
505 subflow->thmac = mp_opt.thmac; in subflow_finish_connect()
506 subflow->remote_nonce = mp_opt.nonce; in subflow_finish_connect()
507 subflow->remote_id = mp_opt.join_id; in subflow_finish_connect()
676 const struct mptcp_options_received *mp_opt) in subflow_hmac_valid() argument
691 return !crypto_memneq(hmac, mp_opt->hmac, MPTCPOPT_HMAC_LEN); in subflow_hmac_valid()
729 const struct mptcp_options_received *mp_opt) in mptcp_subflow_fully_established() argument
733 subflow_set_remote_key(msk, subflow, mp_opt); in mptcp_subflow_fully_established()
738 mptcp_fastopen_gen_msk_ackseq(msk, subflow, mp_opt); in mptcp_subflow_fully_established()
750 struct mptcp_options_received mp_opt; in subflow_syn_recv_sock() local
760 mp_opt.suboptions = 0; in subflow_syn_recv_sock()
779 mptcp_get_options(skb, &mp_opt); in subflow_syn_recv_sock()
780 if (!(mp_opt.suboptions & OPTIONS_MPTCP_MPC)) { in subflow_syn_recv_sock()
785 new_msk = mptcp_sk_clone(listener->conn, &mp_opt, req); in subflow_syn_recv_sock()
789 mptcp_get_options(skb, &mp_opt); in subflow_syn_recv_sock()
790 if (!(mp_opt.suboptions & OPTIONS_MPTCP_MPJ) || in subflow_syn_recv_sock()
791 !subflow_hmac_valid(req, &mp_opt) || in subflow_syn_recv_sock()
854 if (mp_opt.suboptions & OPTION_MPTCP_MPC_ACK) in subflow_syn_recv_sock()
855 mptcp_subflow_fully_established(ctx, &mp_opt); in subflow_syn_recv_sock()