Lines Matching refs:mpext
443 struct mptcp_ext *mpext; in mptcp_established_options_mp() local
463 mpext = mptcp_get_ext(skb); in mptcp_established_options_mp()
464 data_len = mpext ? mpext->data_len : 0; in mptcp_established_options_mp()
486 opts->data_seq = mpext->data_seq; in mptcp_established_options_mp()
487 opts->subflow_seq = mpext->subflow_seq; in mptcp_established_options_mp()
488 opts->csum = mpext->csum; in mptcp_established_options_mp()
558 struct mptcp_ext *mpext; in mptcp_established_options_dss() local
564 mpext = skb ? mptcp_get_ext(skb) : NULL; in mptcp_established_options_dss()
566 if (!skb || (mpext && mpext->use_map) || snd_data_fin_enable) { in mptcp_established_options_dss()
569 if (mpext) { in mptcp_established_options_dss()
573 opts->ext_copy = *mpext; in mptcp_established_options_dss()
1077 struct mptcp_ext *mpext; in mptcp_incoming_options() local
1165 mpext = skb_ext_add(skb, SKB_EXT_MPTCP); in mptcp_incoming_options()
1166 if (!mpext) in mptcp_incoming_options()
1169 memset(mpext, 0, sizeof(*mpext)); in mptcp_incoming_options()
1177 &mpext->data_seq); in mptcp_incoming_options()
1178 mpext->data_seq++; in mptcp_incoming_options()
1179 mpext->subflow_seq = 1; in mptcp_incoming_options()
1180 mpext->dsn64 = 1; in mptcp_incoming_options()
1181 mpext->mpc_map = 1; in mptcp_incoming_options()
1182 mpext->data_fin = 0; in mptcp_incoming_options()
1184 mpext->data_seq = mp_opt.data_seq; in mptcp_incoming_options()
1185 mpext->subflow_seq = mp_opt.subflow_seq; in mptcp_incoming_options()
1186 mpext->dsn64 = mp_opt.dsn64; in mptcp_incoming_options()
1187 mpext->data_fin = mp_opt.data_fin; in mptcp_incoming_options()
1189 mpext->data_len = mp_opt.data_len; in mptcp_incoming_options()
1190 mpext->use_map = 1; in mptcp_incoming_options()
1191 mpext->csum_reqd = !!(mp_opt.suboptions & OPTION_MPTCP_CSUMREQD); in mptcp_incoming_options()
1193 if (mpext->csum_reqd) in mptcp_incoming_options()
1194 mpext->csum = mp_opt.csum; in mptcp_incoming_options()
1235 static __sum16 mptcp_make_csum(const struct mptcp_ext *mpext) in mptcp_make_csum() argument
1237 return __mptcp_make_csum(mpext->data_seq, mpext->subflow_seq, mpext->data_len, in mptcp_make_csum()
1238 ~csum_unfold(mpext->csum)); in mptcp_make_csum()
1281 struct mptcp_ext *mpext = &opts->ext_copy; in mptcp_write_options() local
1285 if (mpext->use_ack) { in mptcp_write_options()
1287 if (mpext->ack64) { in mptcp_write_options()
1295 if (mpext->use_map) { in mptcp_write_options()
1302 if (mpext->data_fin) in mptcp_write_options()
1311 if (mpext->use_ack) { in mptcp_write_options()
1312 if (mpext->ack64) { in mptcp_write_options()
1313 put_unaligned_be64(mpext->data_ack, ptr); in mptcp_write_options()
1316 put_unaligned_be32(mpext->data_ack32, ptr); in mptcp_write_options()
1321 if (mpext->use_map) { in mptcp_write_options()
1322 put_unaligned_be64(mpext->data_seq, ptr); in mptcp_write_options()
1324 put_unaligned_be32(mpext->subflow_seq, ptr); in mptcp_write_options()
1327 put_len_csum(mpext->data_len, in mptcp_write_options()
1328 mptcp_make_csum(mpext), in mptcp_write_options()
1331 put_unaligned_be32(mpext->data_len << 16 | in mptcp_write_options()