Lines Matching defs:mp_opt
120 struct mptcp_options_received mp_opt;
129 mptcp_get_options(skb, &mp_opt);
131 if (mp_opt.mp_capable) {
134 if (mp_opt.mp_join)
136 } else if (mp_opt.mp_join) {
140 if (mp_opt.mp_capable && listener->request_mptcp) {
168 } else if (mp_opt.mp_join && listener->request_mptcp) {
171 subflow_req->backup = mp_opt.backup;
172 subflow_req->remote_id = mp_opt.join_id;
173 subflow_req->token = mp_opt.token;
174 subflow_req->remote_nonce = mp_opt.nonce;
193 struct mptcp_options_received mp_opt;
200 mptcp_get_options(skb, &mp_opt);
202 if (mp_opt.mp_capable && mp_opt.mp_join)
205 if (mp_opt.mp_capable && listener->request_mptcp) {
206 if (mp_opt.sndr_key == 0)
209 subflow_req->local_key = mp_opt.rcvr_key;
216 } else if (mp_opt.mp_join && listener->request_mptcp) {
288 struct mptcp_options_received mp_opt;
307 mptcp_get_options(skb, &mp_opt);
309 if (!mp_opt.mp_capable) {
319 subflow->remote_key = mp_opt.sndr_key;
326 if (!mp_opt.mp_join)
329 subflow->thmac = mp_opt.thmac;
330 subflow->remote_nonce = mp_opt.nonce;
442 const struct mptcp_options_received *mp_opt)
457 return !crypto_memneq(hmac, mp_opt->hmac, MPTCPOPT_HMAC_LEN);
515 struct mptcp_options_received *mp_opt)
519 subflow->remote_key = mp_opt->sndr_key;
534 struct mptcp_options_received mp_opt;
544 mp_opt.mp_capable = 0;
563 mptcp_get_options(skb, &mp_opt);
564 if (!mp_opt.mp_capable) {
569 new_msk = mptcp_sk_clone(listener->conn, &mp_opt, req);
573 mptcp_get_options(skb, &mp_opt);
574 if (!mp_opt.mp_join || !subflow_hmac_valid(req, &mp_opt) ||
620 if (mp_opt.mp_capable)
621 mptcp_subflow_fully_established(ctx, &mp_opt);