Lines Matching refs:mp_opt
153 struct mptcp_options_received mp_opt; in subflow_check_req() local
168 mptcp_get_options(skb, &mp_opt); in subflow_check_req()
170 opt_mp_capable = !!(mp_opt.suboptions & OPTION_MPTCP_MPC_SYN); in subflow_check_req()
171 opt_mp_join = !!(mp_opt.suboptions & OPTION_MPTCP_MPJ_SYN); in subflow_check_req()
182 if (mp_opt.backup) in subflow_check_req()
222 subflow_req->backup = mp_opt.backup; in subflow_check_req()
223 subflow_req->remote_id = mp_opt.join_id; in subflow_check_req()
224 subflow_req->token = mp_opt.token; in subflow_check_req()
225 subflow_req->remote_nonce = mp_opt.nonce; in subflow_check_req()
271 struct mptcp_options_received mp_opt; in mptcp_subflow_init_cookie_req() local
276 mptcp_get_options(skb, &mp_opt); in mptcp_subflow_init_cookie_req()
278 opt_mp_capable = !!(mp_opt.suboptions & OPTION_MPTCP_MPC_ACK); in mptcp_subflow_init_cookie_req()
279 opt_mp_join = !!(mp_opt.suboptions & OPTION_MPTCP_MPJ_ACK); in mptcp_subflow_init_cookie_req()
284 if (mp_opt.sndr_key == 0) in mptcp_subflow_init_cookie_req()
287 subflow_req->local_key = mp_opt.rcvr_key; in mptcp_subflow_init_cookie_req()
481 const struct mptcp_options_received *mp_opt) in subflow_set_remote_key() argument
490 subflow->remote_key = mp_opt->sndr_key; in subflow_set_remote_key()
502 const struct mptcp_options_received *mp_opt) in mptcp_propagate_state() argument
507 if (mp_opt) { in mptcp_propagate_state()
513 subflow_set_remote_key(msk, subflow, mp_opt); in mptcp_propagate_state()
528 struct mptcp_options_received mp_opt; in subflow_finish_connect() local
544 mptcp_get_options(skb, &mp_opt); in subflow_finish_connect()
546 if (!(mp_opt.suboptions & OPTION_MPTCP_MPC_SYNACK)) { in subflow_finish_connect()
557 if (mp_opt.suboptions & OPTION_MPTCP_CSUMREQD) in subflow_finish_connect()
559 if (mp_opt.deny_join_id0) in subflow_finish_connect()
565 mptcp_propagate_state(parent, sk, subflow, &mp_opt); in subflow_finish_connect()
569 if (!(mp_opt.suboptions & OPTION_MPTCP_MPJ_SYNACK)) { in subflow_finish_connect()
574 subflow->backup = mp_opt.backup; in subflow_finish_connect()
575 subflow->thmac = mp_opt.thmac; in subflow_finish_connect()
576 subflow->remote_nonce = mp_opt.nonce; in subflow_finish_connect()
577 WRITE_ONCE(subflow->remote_id, mp_opt.join_id); in subflow_finish_connect()
753 const struct mptcp_options_received *mp_opt) in subflow_hmac_valid() argument
763 return !crypto_memneq(hmac, mp_opt->hmac, MPTCPOPT_HMAC_LEN); in subflow_hmac_valid()
798 const struct mptcp_options_received *mp_opt) in __mptcp_subflow_fully_established() argument
800 subflow_set_remote_key(msk, subflow, mp_opt); in __mptcp_subflow_fully_established()
814 struct mptcp_options_received mp_opt; in subflow_syn_recv_sock() local
825 mp_opt.suboptions = 0; in subflow_syn_recv_sock()
844 mptcp_get_options(skb, &mp_opt); in subflow_syn_recv_sock()
845 if (!(mp_opt.suboptions & in subflow_syn_recv_sock()
850 mptcp_get_options(skb, &mp_opt); in subflow_syn_recv_sock()
851 if (!(mp_opt.suboptions & OPTION_MPTCP_MPJ_ACK)) in subflow_syn_recv_sock()
880 ctx->conn = mptcp_sk_clone_init(listener->conn, &mp_opt, child, req); in subflow_syn_recv_sock()
891 if (mp_opt.suboptions & OPTION_MPTCP_MPC_ACK) { in subflow_syn_recv_sock()
902 if (!subflow_hmac_valid(subflow_req, &mp_opt)) { in subflow_syn_recv_sock()