Lines Matching refs:mp_opt
121 struct mptcp_options_received mp_opt; in subflow_init_req() local
130 mptcp_get_options(skb, &mp_opt); in subflow_init_req()
132 if (mp_opt.mp_capable) { in subflow_init_req()
135 if (mp_opt.mp_join) in subflow_init_req()
137 } else if (mp_opt.mp_join) { in subflow_init_req()
141 if (mp_opt.mp_capable && listener->request_mptcp) { in subflow_init_req()
169 } else if (mp_opt.mp_join && listener->request_mptcp) { in subflow_init_req()
172 subflow_req->backup = mp_opt.backup; in subflow_init_req()
173 subflow_req->remote_id = mp_opt.join_id; in subflow_init_req()
174 subflow_req->token = mp_opt.token; in subflow_init_req()
175 subflow_req->remote_nonce = mp_opt.nonce; in subflow_init_req()
194 struct mptcp_options_received mp_opt; in mptcp_subflow_init_cookie_req() local
201 mptcp_get_options(skb, &mp_opt); in mptcp_subflow_init_cookie_req()
203 if (mp_opt.mp_capable && mp_opt.mp_join) in mptcp_subflow_init_cookie_req()
206 if (mp_opt.mp_capable && listener->request_mptcp) { in mptcp_subflow_init_cookie_req()
207 if (mp_opt.sndr_key == 0) in mptcp_subflow_init_cookie_req()
210 subflow_req->local_key = mp_opt.rcvr_key; in mptcp_subflow_init_cookie_req()
217 } else if (mp_opt.mp_join && listener->request_mptcp) { in mptcp_subflow_init_cookie_req()
290 struct mptcp_options_received mp_opt; in subflow_finish_connect() local
309 mptcp_get_options(skb, &mp_opt); in subflow_finish_connect()
311 if (!mp_opt.mp_capable) { in subflow_finish_connect()
321 subflow->remote_key = mp_opt.sndr_key; in subflow_finish_connect()
328 if (!mp_opt.mp_join) in subflow_finish_connect()
331 subflow->thmac = mp_opt.thmac; in subflow_finish_connect()
332 subflow->remote_nonce = mp_opt.nonce; in subflow_finish_connect()
417 const struct mptcp_options_received *mp_opt) in subflow_hmac_valid() argument
432 return !crypto_memneq(hmac, mp_opt->hmac, MPTCPOPT_HMAC_LEN); in subflow_hmac_valid()
490 struct mptcp_options_received *mp_opt) in mptcp_subflow_fully_established() argument
494 subflow->remote_key = mp_opt->sndr_key; in mptcp_subflow_fully_established()
509 struct mptcp_options_received mp_opt; in subflow_syn_recv_sock() local
519 mp_opt.mp_capable = 0; in subflow_syn_recv_sock()
538 mptcp_get_options(skb, &mp_opt); in subflow_syn_recv_sock()
539 if (!mp_opt.mp_capable) { in subflow_syn_recv_sock()
544 new_msk = mptcp_sk_clone(listener->conn, &mp_opt, req); in subflow_syn_recv_sock()
548 mptcp_get_options(skb, &mp_opt); in subflow_syn_recv_sock()
549 if (!mp_opt.mp_join || !subflow_hmac_valid(req, &mp_opt) || in subflow_syn_recv_sock()
595 if (mp_opt.mp_capable) in subflow_syn_recv_sock()
596 mptcp_subflow_fully_established(ctx, &mp_opt); in subflow_syn_recv_sock()