Lines Matching defs:mpext
450 struct mptcp_ext *mpext;
470 mpext = mptcp_get_ext(skb);
471 data_len = mpext ? mpext->data_len : 0;
493 opts->data_seq = mpext->data_seq;
494 opts->subflow_seq = mpext->subflow_seq;
495 opts->csum = mpext->csum;
564 struct mptcp_ext *mpext;
570 mpext = skb ? mptcp_get_ext(skb) : NULL;
572 if (!skb || (mpext && mpext->use_map) || snd_data_fin_enable) {
575 if (mpext) {
579 opts->ext_copy = *mpext;
1119 struct mptcp_ext *mpext;
1215 mpext = skb_ext_add(skb, SKB_EXT_MPTCP);
1216 if (!mpext)
1219 memset(mpext, 0, sizeof(*mpext));
1227 &mpext->data_seq);
1228 mpext->data_seq++;
1229 mpext->subflow_seq = 1;
1230 mpext->dsn64 = 1;
1231 mpext->mpc_map = 1;
1232 mpext->data_fin = 0;
1234 mpext->data_seq = mp_opt.data_seq;
1235 mpext->subflow_seq = mp_opt.subflow_seq;
1236 mpext->dsn64 = mp_opt.dsn64;
1237 mpext->data_fin = mp_opt.data_fin;
1239 mpext->data_len = mp_opt.data_len;
1240 mpext->use_map = 1;
1241 mpext->csum_reqd = !!(mp_opt.suboptions & OPTION_MPTCP_CSUMREQD);
1243 if (mpext->csum_reqd)
1244 mpext->csum = mp_opt.csum;
1328 static __sum16 mptcp_make_csum(const struct mptcp_ext *mpext)
1330 return __mptcp_make_csum(mpext->data_seq, mpext->subflow_seq, mpext->data_len,
1331 ~csum_unfold(mpext->csum));
1373 struct mptcp_ext *mpext = &opts->ext_copy;
1377 if (mpext->use_ack) {
1379 if (mpext->ack64) {
1387 if (mpext->use_map) {
1394 if (mpext->data_fin)
1403 if (mpext->use_ack) {
1404 if (mpext->ack64) {
1405 put_unaligned_be64(mpext->data_ack, ptr);
1408 put_unaligned_be32(mpext->data_ack32, ptr);
1413 if (mpext->use_map) {
1414 put_unaligned_be64(mpext->data_seq, ptr);
1416 put_unaligned_be32(mpext->subflow_seq, ptr);
1422 put_len_csum(mpext->data_len,
1423 (mpext->data_len ? mptcp_make_csum(mpext) : 0),
1426 put_unaligned_be32(mpext->data_len << 16 |