Lines Matching refs:mpext
449 struct mptcp_ext *mpext; in mptcp_established_options_mp() local
469 mpext = mptcp_get_ext(skb); in mptcp_established_options_mp()
470 data_len = mpext ? mpext->data_len : 0; in mptcp_established_options_mp()
492 opts->data_seq = mpext->data_seq; in mptcp_established_options_mp()
493 opts->subflow_seq = mpext->subflow_seq; in mptcp_established_options_mp()
494 opts->csum = mpext->csum; in mptcp_established_options_mp()
563 struct mptcp_ext *mpext; in mptcp_established_options_dss() local
569 mpext = skb ? mptcp_get_ext(skb) : NULL; in mptcp_established_options_dss()
571 if (!skb || (mpext && mpext->use_map) || snd_data_fin_enable) { in mptcp_established_options_dss()
574 if (mpext) { in mptcp_established_options_dss()
578 opts->ext_copy = *mpext; in mptcp_established_options_dss()
1117 struct mptcp_ext *mpext; in mptcp_incoming_options() local
1213 mpext = skb_ext_add(skb, SKB_EXT_MPTCP); in mptcp_incoming_options()
1214 if (!mpext) in mptcp_incoming_options()
1217 memset(mpext, 0, sizeof(*mpext)); in mptcp_incoming_options()
1225 &mpext->data_seq); in mptcp_incoming_options()
1226 mpext->data_seq++; in mptcp_incoming_options()
1227 mpext->subflow_seq = 1; in mptcp_incoming_options()
1228 mpext->dsn64 = 1; in mptcp_incoming_options()
1229 mpext->mpc_map = 1; in mptcp_incoming_options()
1230 mpext->data_fin = 0; in mptcp_incoming_options()
1232 mpext->data_seq = mp_opt.data_seq; in mptcp_incoming_options()
1233 mpext->subflow_seq = mp_opt.subflow_seq; in mptcp_incoming_options()
1234 mpext->dsn64 = mp_opt.dsn64; in mptcp_incoming_options()
1235 mpext->data_fin = mp_opt.data_fin; in mptcp_incoming_options()
1237 mpext->data_len = mp_opt.data_len; in mptcp_incoming_options()
1238 mpext->use_map = 1; in mptcp_incoming_options()
1239 mpext->csum_reqd = !!(mp_opt.suboptions & OPTION_MPTCP_CSUMREQD); in mptcp_incoming_options()
1241 if (mpext->csum_reqd) in mptcp_incoming_options()
1242 mpext->csum = mp_opt.csum; in mptcp_incoming_options()
1326 static __sum16 mptcp_make_csum(const struct mptcp_ext *mpext) in mptcp_make_csum() argument
1328 return __mptcp_make_csum(mpext->data_seq, mpext->subflow_seq, mpext->data_len, in mptcp_make_csum()
1329 ~csum_unfold(mpext->csum)); in mptcp_make_csum()
1371 struct mptcp_ext *mpext = &opts->ext_copy; in mptcp_write_options() local
1375 if (mpext->use_ack) { in mptcp_write_options()
1377 if (mpext->ack64) { in mptcp_write_options()
1385 if (mpext->use_map) { in mptcp_write_options()
1392 if (mpext->data_fin) in mptcp_write_options()
1401 if (mpext->use_ack) { in mptcp_write_options()
1402 if (mpext->ack64) { in mptcp_write_options()
1403 put_unaligned_be64(mpext->data_ack, ptr); in mptcp_write_options()
1406 put_unaligned_be32(mpext->data_ack32, ptr); in mptcp_write_options()
1411 if (mpext->use_map) { in mptcp_write_options()
1412 put_unaligned_be64(mpext->data_seq, ptr); in mptcp_write_options()
1414 put_unaligned_be32(mpext->subflow_seq, ptr); in mptcp_write_options()
1420 put_len_csum(mpext->data_len, in mptcp_write_options()
1421 (mpext->data_len ? mptcp_make_csum(mpext) : 0), in mptcp_write_options()
1424 put_unaligned_be32(mpext->data_len << 16 | in mptcp_write_options()