]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Multipath TCP (RFC 6824) support
authorGregory Detal <[email protected]>
Mon, 25 Feb 2013 16:00:02 +0000 (17:00 +0100)
committerGuy Harris <[email protected]>
Sun, 14 Apr 2013 23:57:14 +0000 (16:57 -0700)
This commit adds the support of Multipath TCP (MPTCP). MPTCP is a new
extension to TCP standardized at the IETF. MPTCP allows to use several IP
addresses at the same time by distributing data across several subflows (TCP
connections) while still presenting the standard TCP socket API to the
application. Its benefits are better resource utilization, better throughput
and smoother reaction to failures.

Makefile.in
interface.h
mptcp.h [new file with mode: 0644]
print-mptcp.c [new file with mode: 0644]
print-tcp.c
tcp.h
tests/TESTLIST
tests/mptcp-fclose.out [new file with mode: 0644]
tests/mptcp-fclose.pcap [new file with mode: 0644]
tests/mptcp.out [new file with mode: 0644]
tests/mptcp.pcap [new file with mode: 0644]

index dda4eb5e39b64d182f1b1df02334049692c1ac9e..40ad737ead7ccc1400c0ec55c30051916afefeee 100644 (file)
@@ -83,7 +83,7 @@ CSRC =        addrtoname.c af.c checksum.c cpack.c gmpls.c oui.c gmt2local.c ipproto.c
        print-ipx.c print-isoclns.c print-juniper.c print-krb.c \
        print-l2tp.c print-lane.c print-ldp.c print-lldp.c print-llc.c \
         print-lmp.c print-lspping.c print-lwapp.c \
-       print-lwres.c print-mobile.c print-mpcp.c print-mpls.c print-msdp.c \
+       print-lwres.c print-mobile.c print-mpcp.c print-mpls.c print-mptcp.c print-msdp.c \
        print-msnlb.c print-nfs.c print-ntp.c print-null.c print-olsr.c print-ospf.c \
        print-pgm.c print-pim.c \
        print-ppi.c print-ppp.c print-pppoe.c print-pptp.c \
index 5703f3d5c63be9cd2322e9cad34ecd5e868cdfe5..ed2ab8477cd7177ab923db8d5722452bfe0ed764 100644 (file)
@@ -318,6 +318,7 @@ extern void hsrp_print(const u_char *, u_int);
 extern void bfd_print(const u_char *, u_int, u_int);
 extern void sip_print(const u_char *, u_int);
 extern void syslog_print(const u_char *, u_int);
+extern int mptcp_print(const u_char *, u_int);
 extern u_int bt_if_print(const struct pcap_pkthdr *, const u_char *);
 extern u_int usb_linux_48_byte_print(const struct pcap_pkthdr *, const u_char *);
 extern u_int usb_linux_64_byte_print(const struct pcap_pkthdr *, const u_char *);
diff --git a/mptcp.h b/mptcp.h
new file mode 100644 (file)
index 0000000..5980ad2
--- /dev/null
+++ b/mptcp.h
@@ -0,0 +1,210 @@
+/**
+ * Copyright (c) 2012
+ *
+ * Gregory Detal <[email protected]>
+ * Christoph Paasch <[email protected]>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * 3. Neither the name of the University nor of the Laboratory may be used
+ *    to endorse or promote products derived from this software without
+ *    specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#define MPTCP_SUB_CAPABLE       0x0
+#define MPTCP_SUB_JOIN          0x1
+#define MPTCP_SUB_DSS           0x2
+#define MPTCP_SUB_ADD_ADDR      0x3
+#define MPTCP_SUB_REMOVE_ADDR   0x4
+#define MPTCP_SUB_PRIO          0x5
+#define MPTCP_SUB_FAIL          0x6
+#define MPTCP_SUB_FCLOSE        0x7
+
+
+struct mptcp_option {
+        u_int8_t        kind;
+        u_int8_t        len;
+#if !LBL_ALIGN
+        u_int8_t        ver:4,
+                        sub:4;
+#else
+        u_int8_t        sub:4,
+                        ver:4;
+#endif
+};
+
+struct mp_capable {
+        u_int8_t        kind;
+        u_int8_t        len;
+#if !LBL_ALIGN
+        u_int8_t        ver:4,
+                        sub:4;
+        u_int8_t        s:1,
+                        rsv:6,
+                        c:1;
+#else
+        u_int8_t        sub:4,
+                        ver:4;
+        u_int8_t        c:1,
+                        rsv:6,
+                        s:1;
+#endif
+        u_int64_t        sender_key;
+        u_int64_t        receiver_key;
+} __attribute__((__packed__));
+
+struct mp_join {
+        u_int8_t        kind;
+        u_int8_t        len;
+#if !LBL_ALIGN
+        u_int8_t        b:1,
+                        rsv:3,
+                        sub:4;
+#else
+        u_int8_t        sub:4,
+                        rsv:3,
+                        b:1;
+#endif
+        u_int8_t        addr_id;
+        union {
+                struct {
+                        u_int32_t        token;
+                        u_int32_t        nonce;
+                } syn;
+                struct {
+                        u_int64_t        mac;
+                        u_int32_t        nonce;
+                } synack;
+                struct {
+                        u_int8_t        mac[20];
+                } ack;
+        } u;
+} __attribute__((__packed__));
+
+struct mp_dss {
+        u_int8_t        kind;
+        u_int8_t        len;
+#if !LBL_ALIGN
+        u_int16_t        rsv1:4,
+                        sub:4,
+                        A:1,
+                        a:1,
+                        M:1,
+                        m:1,
+                        F:1,
+                        rsv2:3;
+#else
+        u_int16_t        sub:4,
+                        rsv1:4,
+                        rsv2:3,
+                        F:1,
+                        m:1,
+                        M:1,
+                        a:1,
+                        A:1;
+#endif
+};
+
+struct mp_add_addr {
+        u_int8_t        kind;
+        u_int8_t        len;
+#if !LBL_ALIGN
+        u_int8_t        ipver:4,
+                        sub:4;
+#else
+        u_int8_t        sub:4,
+                        ipver:4;
+#endif
+        u_int8_t        addr_id;
+        union {
+                struct {
+                        struct in_addr   addr;
+                        u_int16_t        port;
+                } v4;
+                struct {
+                        struct in6_addr  addr;
+                        u_int16_t        port;
+                } v6;
+        } u;
+} __attribute__((__packed__));
+
+struct mp_remove_addr {
+        u_int8_t        kind;
+        u_int8_t        len;
+#if !LBL_ALIGN
+        u_int8_t        rsv:4,
+                        sub:4;
+#else
+        u_int8_t        sub:4,
+                        rsv:4;
+#endif
+        /* list of addr_id */
+        u_int8_t        addrs_id;
+};
+
+struct mp_fail {
+        u_int8_t        kind;
+        u_int8_t        len;
+#if !LBL_ALIGN
+        u_int16_t       rsv1:4,
+                        sub:4,
+                        rsv2:8;
+#else
+        u_int16_t       sub:4,
+                        rsv1:4,
+                        rsv2:8;
+#endif
+        u_int64_t        data_seq;
+} __attribute__((__packed__));
+
+struct mp_fclose {
+        u_int8_t        kind;
+        u_int8_t        len;
+#if !LBL_ALIGN
+        u_int16_t       rsv1:4,
+                        sub:4,
+                        rsv2:8;
+#else
+        u_int16_t       sub:4,
+                        rsv1:4,
+                        rsv2:8;
+#endif
+        u_int64_t        key;
+} __attribute__((__packed__));
+
+struct mp_prio {
+        u_int8_t        kind;
+        u_int8_t        len;
+#if !LBL_ALIGN
+        u_int8_t        b:1,
+                        rsv:3,
+                        sub:4;
+#else
+        u_int8_t        sub:4,
+                        rsv:3,
+                        b:1;
+#endif
+        u_int8_t        addr_id;
+} __attribute__((__packed__));
+
diff --git a/print-mptcp.c b/print-mptcp.c
new file mode 100644 (file)
index 0000000..66b3adb
--- /dev/null
@@ -0,0 +1,207 @@
+/**
+ * Copyright (c) 2012
+ *
+ * Gregory Detal <[email protected]>
+ * Christoph Paasch <[email protected]>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * 3. Neither the name of the University nor of the Laboratory may be used
+ *    to endorse or promote products derived from this software without
+ *    specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <tcpdump-stdinc.h>
+
+#include <stdio.h>
+#include <string.h>
+
+#include "interface.h"
+#include "extract.h"
+#include "addrtoname.h"
+
+#include "ipproto.h"
+#include "mptcp.h"
+
+static int dummy_print(const u_char *opt, u_int opt_len)
+{
+        return 1;
+}
+
+static int mp_capable_print(const u_char *opt, u_int opt_len)
+{
+        struct mp_capable *mpc = (struct mp_capable *) opt;
+
+        if (mpc->c)
+                printf(" csum");
+        printf(" {0x%" PRIx64, mpc->sender_key);
+        if (opt_len == 20)
+                printf(",0x%" PRIx64, mpc->receiver_key);
+        printf("}");
+        return 1;
+}
+
+static int mp_join_print(const u_char *opt, u_int opt_len)
+{
+        struct mp_join *mpj = (struct mp_join *) opt;
+
+        if (mpj->b)
+                printf(" backup");
+        printf(" id %" PRIu8, mpj->addr_id);
+
+        if (opt_len == 12)
+                printf(" token 0x%" PRIx32, mpj->u.syn.token);
+
+        return 1;
+}
+
+static u_int mp_dss_len(struct mp_dss *m, u_int csum)
+{
+        return 4 + m->A * (4 + m->a * 4) + m->M * (10 + m->m * 4 + csum * 2);
+}
+
+static int mp_dss_print(const u_char *opt, u_int opt_len)
+{
+        struct mp_dss *mdss = (struct mp_dss *) opt;
+
+        if (mdss->F)
+                printf(" fin");
+
+        opt += 4;
+        if (mdss->A) {
+                printf(" ack ");
+                if (mdss->a)
+                        printf("%" PRIu64, EXTRACT_64BITS(opt));
+                else
+                        printf("%" PRIu32, EXTRACT_32BITS(opt));
+                opt += mdss->a ? 8 : 4;
+        }
+
+        if (mdss->M) {
+                printf(" seq ");
+                if (mdss->m)
+                        printf("%" PRIu64, EXTRACT_64BITS(opt));
+                else
+                        printf("%" PRIu32, EXTRACT_32BITS(opt));
+                opt += mdss->m ? 8 : 4;
+                printf(" subseq %" PRIu32, EXTRACT_32BITS(opt));
+                opt += 4;
+                printf(" len %" PRIu16, EXTRACT_16BITS(opt));
+                opt += 2;
+
+                if (opt_len == mp_dss_len(mdss, 1))
+                        printf(" csum 0x%" PRIx16, EXTRACT_16BITS(opt));
+        }
+        return 1;
+}
+
+static int add_addr_print(const u_char *opt, u_int opt_len)
+{
+        struct mp_add_addr *add_addr = (struct mp_add_addr *) opt;
+
+        printf(" id %" PRIu8, add_addr->addr_id);
+        switch (add_addr->ipver) {
+        case 4:
+                printf(" %s", ipaddr_string(&add_addr->u.v4.addr));
+                break;
+#ifdef INET6
+        case 6:
+                printf(" %s", ip6addr_string(&add_addr->u.v6.addr));
+                break;
+#endif
+        default:
+                return 0;
+        }
+        if (opt_len == 10 || opt_len == 22)
+                printf(":%" PRIu16, ntohs(add_addr->ipver == 4 ?
+                                         add_addr->u.v4.port :
+                                         add_addr->u.v6.port));
+        return 1;
+}
+
+static int remove_addr_print(const u_char *opt, u_int opt_len)
+{
+        struct mp_remove_addr *rem_addr = (struct mp_remove_addr *) opt;
+        u_int8_t *addr_id = &rem_addr->addrs_id;
+
+        opt_len -= 3;
+        printf(" id");
+        while (opt_len--)
+                printf(" %" PRIu8, *addr_id++);
+        return 1;
+}
+
+static int mp_prio_print(const u_char *opt, u_int opt_len)
+{
+        struct mp_prio *mpp = (struct mp_prio *) opt;
+
+        if (mpp->b)
+                printf(" backup");
+        else
+                printf(" non-backup");
+        if (opt_len == 4)
+                printf(" id %" PRIu8, mpp->addr_id);
+
+        return 1;
+}
+
+static int mp_fail_print(const u_char *opt, u_int opt_len)
+{
+        opt += 4;
+        printf(" seq %" PRIu64, EXTRACT_64BITS(opt));
+}
+
+static int mp_fast_close_print(const u_char *opt, u_int opt_len)
+{
+        opt += 4;
+        printf(" key 0x%" PRIx64, *((uint64_t *)opt));
+}
+
+static struct {
+        const char *name;
+        int (*print)(const u_char *, u_int);
+} mptcp_options[] = {
+        { "capable",        mp_capable_print },
+        { "join",        mp_join_print },
+        { "dss",        mp_dss_print },
+        { "add-addr",        add_addr_print },
+        { "rem-addr",        remove_addr_print },
+        { "prio",        mp_prio_print },
+        { "fail",        mp_fail_print },
+        { "fast-close",        mp_fast_close_print },
+        { "unknown",        dummy_print },
+};
+
+int mptcp_print(const u_char *cp, u_int len)
+{
+        struct mptcp_option *opt = (struct mptcp_option *) cp;
+        u_int subtype = min(opt->sub, MPTCP_SUB_FCLOSE + 1);
+
+        printf(" %s", mptcp_options[subtype].name);
+        return mptcp_options[subtype].print(cp, len);
+}
index 3b0a13541afce82b1da3b26b144efd4678c8fc2f..b42cefd283b821534667a625d514c77b1bacf065 100644 (file)
@@ -122,6 +122,7 @@ struct tok tcp_option_values[] = {
         { TCPOPT_SIGNATURE, "md5" },
         { TCPOPT_AUTH, "enhanced auth" },
         { TCPOPT_UTO, "uto" },
+        { TCPOPT_MPTCP, "MPTCP" },
         { 0, NULL }
 };
 
@@ -596,6 +597,12 @@ tcp_print(register const u_char *bp, register u_int length,
                                 (void)printf(" %u", utoval);
                                 break;
 
+                        case TCPOPT_MPTCP:
+                                datalen = len - 2;
+                                if (!mptcp_print(cp-2, len))
+                                        goto bad;
+                                break;
+
                         default:
                                 datalen = len - 2;
                                 for (i = 0; i < datalen; ++i) {
diff --git a/tcp.h b/tcp.h
index 92d505ae1404e6b4b5f84983b18c25a1ca601734..6b206feb81f728b26f0be28ad15e65bdead984a0 100644 (file)
--- a/tcp.h
+++ b/tcp.h
@@ -85,7 +85,7 @@ struct tcphdr {
 #define TCPOPT_AUTH             20      /* Enhanced AUTH option */
 #define        TCPOPT_UTO              28      /* tcp user timeout (rfc5482) */
 #define           TCPOLEN_UTO                  4
-
+#define        TCPOPT_MPTCP            30      /* MPTCP options */
 
 #define TCPOPT_TSTAMP_HDR      \
     (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP)
index 73cf7c20f0788a9a9008b9f04dc42605e6151985..ef763658913ff9acd7ea4466be4b0833c38c33b2 100644 (file)
@@ -95,3 +95,7 @@ zmtp1v                zmtp1.pcap              zmtp1.out       -t -v -T zmtp1
 # MS NLB tests
 msnlb          msnlb.pcap              msnlb.out       -t
 msnlb2         msnlb2.pcap             msnlb2.out      -t
+
+# MPTCP tests
+mptcp          mptcp.pcap              mptcp.out               -t
+mptcp-fclose   mptcp-fclose.pcap       mptcp-fclose.out        -t
diff --git a/tests/mptcp-fclose.out b/tests/mptcp-fclose.out
new file mode 100644 (file)
index 0000000..674f27b
--- /dev/null
@@ -0,0 +1,11 @@
+ARP, Request who-has 10.2.1.2 tell 10.2.1.1, length 28
+ARP, Reply 10.2.1.2 is-at d6:06:3c:4a:35:7a, length 28
+IP 10.1.1.2.37479 > 10.2.1.2.2002: Flags [S], seq 1895673170, win 14600, options [mss 1460,sackOK,TS val 38230 ecr 0,nop,wscale 6,MPTCP capable csum {0xa7665e693dbe599b}], length 0
+IP 10.2.1.2.2002 > 10.1.1.2.37479: Flags [S.], seq 2868811558, ack 1895673171, win 14280, options [mss 1460,sackOK,TS val 4294943148 ecr 38230,nop,wscale 6,MPTCP capable csum {0x44d3ba34abb105d0}], length 0
+IP 10.1.1.2.37479 > 10.2.1.2.2002: Flags [.], ack 1, win 229, options [nop,nop,TS val 38230 ecr 4294943148,MPTCP capable csum {0xa7665e693dbe599b,0x44d3ba34abb105d0}], length 0
+IP 10.1.1.2.37479 > 10.2.1.2.2002: Flags [P.], seq 1:2, ack 1, win 229, options [nop,nop,TS val 38230 ecr 4294943148,MPTCP dss ack 3386645601 seq 2976985014 subseq 1 len 1 csum 0x9e91], length 1
+IP 10.2.1.2.2002 > 10.1.1.2.37479: Flags [.], ack 2, win 224, options [nop,nop,TS val 4294943148 ecr 38230,MPTCP dss ack 2976985015], length 0
+IP 10.2.1.2.2002 > 10.1.1.2.37479: Flags [P.], seq 1:2, ack 2, win 224, options [nop,nop,TS val 4294943250 ecr 38230,MPTCP dss ack 2976985015 seq 3386645601 subseq 1 len 1 csum 0x54ab], length 1
+IP 10.1.1.2.37479 > 10.2.1.2.2002: Flags [.], ack 2, win 229, options [nop,nop,TS val 38334 ecr 4294943250,MPTCP dss ack 3386645602], length 0
+IP 10.1.1.2.37479 > 10.2.1.2.2002: Flags [.], ack 2, win 229, options [nop,nop,TS val 38734 ecr 4294943250,MPTCP fast-close key 0x44d3ba34abb105d0], length 0
+IP 10.2.1.2.2002 > 10.1.1.2.37479: Flags [R.], seq 2, ack 2, win 224, options [nop,nop,TS val 4294943650 ecr 38734,MPTCP dss ack 2976985015], length 0
diff --git a/tests/mptcp-fclose.pcap b/tests/mptcp-fclose.pcap
new file mode 100644 (file)
index 0000000..6949548
Binary files /dev/null and b/tests/mptcp-fclose.pcap differ
diff --git a/tests/mptcp.out b/tests/mptcp.out
new file mode 100644 (file)
index 0000000..f943db0
--- /dev/null
@@ -0,0 +1,264 @@
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [S], seq 2912457561, win 14600, options [mss 1460,sackOK,TS val 4294943152 ecr 0,nop,wscale 6,MPTCP capable csum {0xb2336ae4d1ab9e9c}], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [S.], seq 125971326, ack 2912457562, win 14280, options [mss 1460,sackOK,TS val 4294943467 ecr 4294943152,nop,wscale 5,MPTCP capable csum {0x520596b670277d96}], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1, win 229, options [nop,nop,TS val 4294943152 ecr 4294943467,MPTCP capable csum {0xb2336ae4d1ab9e9c,0x520596b670277d96}], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1:42, ack 1, win 447, options [nop,nop,TS val 4294943474 ecr 4294943152,MPTCP add-addr id 1 10.1.2.2,MPTCP dss ack 3576348362 seq 3518592144 subseq 1 len 41 csum 0x82f], length 41
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 42, win 229, options [nop,nop,TS val 4294943168 ecr 4294943474,MPTCP dss ack 3518592185], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 1:42, ack 42, win 229, options [nop,nop,TS val 4294943168 ecr 4294943474,MPTCP dss ack 3518592185 seq 3576348362 subseq 1 len 41 csum 0x45c9], length 41
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [.], ack 42, win 447, options [nop,nop,TS val 4294943474 ecr 4294943168,MPTCP dss ack 3576348403], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [S], seq 1863826096, win 14600, options [mss 1460,sackOK,TS val 4294943168 ecr 0,nop,wscale 6,MPTCP join id 0 token 0x42017fe4], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [S.], seq 1704897135, ack 1863826097, win 14280, options [mss 1460,sackOK,TS val 4294943474 ecr 4294943168,nop,wscale 5,MPTCP join id 1], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 1, win 229, options [nop,nop,TS val 4294943168 ecr 4294943474,MPTCP join id 0], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 42:890, ack 42, win 229, options [nop,nop,TS val 4294943168 ecr 4294943474,MPTCP dss ack 3518592185 seq 3576348403 subseq 42 len 848 csum 0x6d11], length 848
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [.], ack 1, win 447, options [nop,nop,TS val 4294943474 ecr 4294943168,MPTCP dss ack 3576348403], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [.], ack 890, win 500, options [nop,nop,TS val 4294943474 ecr 4294943168,MPTCP dss ack 3576349251], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 1:785, ack 1, win 500, options [nop,nop,TS val 4294943474 ecr 4294943168,MPTCP dss ack 3576349251 seq 3518592185 subseq 1 len 784 csum 0x5187], length 784
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 785, win 253, options [nop,nop,TS val 4294943170 ecr 4294943474,MPTCP dss ack 3518592969], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 1:25, ack 785, win 253, options [nop,nop,TS val 4294943170 ecr 4294943474,MPTCP dss ack 3518592969 seq 3576349251 subseq 1 len 24 csum 0xec8a], length 24
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [.], ack 25, win 500, options [nop,nop,TS val 4294943474 ecr 4294943170,MPTCP dss ack 3576349275], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 785:937, ack 25, win 500, options [nop,nop,TS val 4294943474 ecr 4294943170,MPTCP dss ack 3576349275 seq 3518592969 subseq 785 len 152 csum 0x217c], length 152
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 25:169, ack 937, win 258, options [nop,nop,TS val 4294943170 ecr 4294943474,MPTCP dss ack 3518593121 seq 3576349275 subseq 25 len 144 csum 0x7220], length 144
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 937:1657, ack 169, win 533, options [nop,nop,TS val 4294943474 ecr 4294943170,MPTCP dss ack 3576349419 seq 3518593121 subseq 937 len 720 csum 0xfb83], length 720
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 890:906, ack 42, win 280, options [nop,nop,TS val 4294943172 ecr 4294943474,MPTCP dss ack 3518593841 seq 3576349419 subseq 890 len 16 csum 0xc87], length 16
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [.], ack 906, win 533, options [nop,nop,TS val 4294943474 ecr 4294943172,MPTCP dss ack 3576349435], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 906:954, ack 42, win 280, options [nop,nop,TS val 4294943172 ecr 4294943474,MPTCP dss ack 3518593841 seq 3576349435 subseq 906 len 48 csum 0x36d0], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [.], ack 954, win 533, options [nop,nop,TS val 4294943474 ecr 4294943172,MPTCP dss ack 3576349483], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 1657:1705, ack 169, win 533, options [nop,nop,TS val 4294943474 ecr 4294943170,MPTCP dss ack 3576349483 seq 3518593841 subseq 1657 len 48 csum 0xb8f3], length 48
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 1705, win 280, options [nop,nop,TS val 4294943172 ecr 4294943474,MPTCP dss ack 3518593889], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 954:1018, ack 42, win 280, options [nop,nop,TS val 4294943172 ecr 4294943474,MPTCP dss ack 3518593889 seq 3576349483 subseq 954 len 64 csum 0x71f6], length 64
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [.], ack 1018, win 533, options [nop,nop,TS val 4294943474 ecr 4294943172,MPTCP dss ack 3576349547], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 1705:1769, ack 169, win 533, options [nop,nop,TS val 4294943474 ecr 4294943172,MPTCP dss ack 3576349547 seq 3518593889 subseq 1705 len 64 csum 0x67b9], length 64
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 1018:1386, ack 42, win 280, options [nop,nop,TS val 4294943175 ecr 4294943474,MPTCP dss ack 3518593953 seq 3576349547 subseq 1018 len 368 csum 0x81d2], length 368
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [.], ack 1386, win 567, options [nop,nop,TS val 4294943474 ecr 4294943175,MPTCP dss ack 3576349915], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 1769:2089, ack 169, win 567, options [nop,nop,TS val 4294943474 ecr 4294943172,MPTCP dss ack 3576349915 seq 3518593953 subseq 1769 len 320 csum 0x5fc5], length 320
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2089, win 290, options [nop,nop,TS val 4294943175 ecr 4294943474,MPTCP dss ack 3518594273], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 1386:2026, ack 42, win 290, options [nop,nop,TS val 4294943175 ecr 4294943474,MPTCP dss ack 3518594273 seq 3576349915 subseq 1386 len 640 csum 0x5af4], length 640
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [.], ack 2026, win 607, options [nop,nop,TS val 4294943485 ecr 4294943175,MPTCP dss ack 3576350555], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2089:2153, ack 169, win 607, options [nop,nop,TS val 4294943485 ecr 4294943175,MPTCP dss ack 3576350555 seq 3518594273 subseq 2089 len 64 csum 0x548b], length 64
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2153, win 290, options [nop,nop,TS val 4294943179 ecr 4294943485,MPTCP dss ack 3518594337], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2026:2170, ack 42, win 290, options [nop,nop,TS val 4294943301 ecr 4294943485,MPTCP dss ack 3518594337 seq 3576350555 subseq 2026 len 144 csum 0x62d7], length 144
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [.], ack 2170, win 640, options [nop,nop,TS val 4294943610 ecr 4294943301,MPTCP dss ack 3576350699], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 42:74, ack 2170, win 640, options [nop,nop,TS val 4294943611 ecr 4294943301,MPTCP dss ack 3576350699 seq 3518594337 subseq 42 len 32 csum 0x24cb], length 32
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2170:2298, ack 74, win 290, options [nop,nop,TS val 4294943304 ecr 4294943611,MPTCP dss ack 3518594369 seq 3576350699 subseq 2170 len 128 csum 0x33ac], length 128
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 74:122, ack 2298, win 674, options [nop,nop,TS val 4294943611 ecr 4294943304,MPTCP dss ack 3576350827 seq 3518594369 subseq 74 len 48 csum 0xf616], length 48
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 169:617, ack 2153, win 290, options [nop,nop,TS val 4294943306 ecr 4294943485,MPTCP dss ack 3518594417 seq 3576350827 subseq 169 len 448 csum 0xe192], length 448
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 122:234, ack 2298, win 707, options [nop,nop,TS val 4294943611 ecr 4294943304,MPTCP dss ack 3576351275 seq 3518594417 subseq 122 len 112 csum 0xeb29], length 112
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 234, win 290, options [nop,nop,TS val 4294943306 ecr 4294943611,MPTCP dss ack 3518594529], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 234:346, ack 2298, win 707, options [nop,nop,TS val 4294943611 ecr 4294943306,MPTCP dss ack 3576351275 seq 3518594529 subseq 234 len 112 csum 0x70c0], length 112
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 346:538, ack 2298, win 707, options [nop,nop,TS val 4294943611 ecr 4294943306,MPTCP dss ack 3576351275 seq 3518594641 subseq 346 len 192 csum 0x91c], length 192
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 538, win 296, options [nop,nop,TS val 4294943309 ecr 4294943611,MPTCP dss ack 3518594833], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 538:634, ack 2298, win 707, options [nop,nop,TS val 4294943611 ecr 4294943309,MPTCP dss ack 3576351275 seq 3518594833 subseq 538 len 96 csum 0x5851], length 96
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 634:778, ack 2298, win 707, options [nop,nop,TS val 4294943611 ecr 4294943309,MPTCP dss ack 3576351275 seq 3518594929 subseq 634 len 144 csum 0x405a], length 144
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 778, win 301, options [nop,nop,TS val 4294943309 ecr 4294943611,MPTCP dss ack 3518595073], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [.], ack 617, win 707, options [nop,nop,TS val 4294943621 ecr 4294943306,MPTCP dss ack 3576351275], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 778:858, ack 2298, win 707, options [nop,nop,TS val 4294943621 ecr 4294943309,MPTCP dss ack 3576351275 seq 3518595073 subseq 778 len 80 csum 0x3c7b], length 80
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 858, win 301, options [nop,nop,TS val 4294943316 ecr 4294943621,MPTCP dss ack 3518595153], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2298:2346, ack 858, win 301, options [nop,nop,TS val 4294943328 ecr 4294943621,MPTCP dss ack 3518595153 seq 3576351275 subseq 2298 len 48 csum 0xe0ce], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 858:906, ack 2346, win 707, options [nop,nop,TS val 4294943629 ecr 4294943328,MPTCP dss ack 3576351323 seq 3518595153 subseq 858 len 48 csum 0xbe20], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 906, win 301, options [nop,nop,TS val 4294943328 ecr 4294943629,MPTCP dss ack 3518595201], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 906:1034, ack 2346, win 707, options [nop,nop,TS val 4294943645 ecr 4294943328,MPTCP dss ack 3576351323 seq 3518595201 subseq 906 len 128 csum 0x3d9d], length 128
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1034, win 305, options [nop,nop,TS val 4294943339 ecr 4294943645,MPTCP dss ack 3518595329], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2346:2394, ack 1034, win 305, options [nop,nop,TS val 4294943343 ecr 4294943645,MPTCP dss ack 3518595329 seq 3576351323 subseq 2346 len 48 csum 0x8505], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1034:1114, ack 2394, win 707, options [nop,nop,TS val 4294943651 ecr 4294943343,MPTCP dss ack 3576351371 seq 3518595329 subseq 1034 len 80 csum 0xb3da], length 80
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1114, win 305, options [nop,nop,TS val 4294943343 ecr 4294943651,MPTCP dss ack 3518595409], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2394:2442, ack 1114, win 305, options [nop,nop,TS val 4294943355 ecr 4294943651,MPTCP dss ack 3518595409 seq 3576351371 subseq 2394 len 48 csum 0xd46b], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1114:1194, ack 2442, win 707, options [nop,nop,TS val 4294943663 ecr 4294943355,MPTCP dss ack 3576351419 seq 3518595409 subseq 1114 len 80 csum 0xfe3d], length 80
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1194, win 305, options [nop,nop,TS val 4294943355 ecr 4294943663,MPTCP dss ack 3518595489], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2442:2490, ack 1194, win 305, options [nop,nop,TS val 4294943387 ecr 4294943663,MPTCP dss ack 3518595489 seq 3576351419 subseq 2442 len 48 csum 0xd83], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1194:1242, ack 2490, win 707, options [nop,nop,TS val 4294943695 ecr 4294943387,MPTCP dss ack 3576351467 seq 3518595489 subseq 1194 len 48 csum 0xad99], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1242, win 305, options [nop,nop,TS val 4294943387 ecr 4294943695,MPTCP dss ack 3518595537], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2490:2538, ack 1242, win 305, options [nop,nop,TS val 4294943395 ecr 4294943695,MPTCP dss ack 3518595537 seq 3576351467 subseq 2490 len 48 csum 0x3689], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1242:1290, ack 2538, win 707, options [nop,nop,TS val 4294943703 ecr 4294943395,MPTCP dss ack 3576351515 seq 3518595537 subseq 1242 len 48 csum 0xf0cf], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1290, win 305, options [nop,nop,TS val 4294943395 ecr 4294943703,MPTCP dss ack 3518595585], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2538:2586, ack 1290, win 305, options [nop,nop,TS val 4294943408 ecr 4294943703,MPTCP dss ack 3518595585 seq 3576351515 subseq 2538 len 48 csum 0xed5f], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1290:1338, ack 2586, win 707, options [nop,nop,TS val 4294943717 ecr 4294943408,MPTCP dss ack 3576351563 seq 3518595585 subseq 1290 len 48 csum 0xf2ec], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1338, win 305, options [nop,nop,TS val 4294943408 ecr 4294943717,MPTCP dss ack 3518595633], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2586:2634, ack 1338, win 305, options [nop,nop,TS val 4294943417 ecr 4294943717,MPTCP dss ack 3518595633 seq 3576351563 subseq 2586 len 48 csum 0x3678], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1338:1386, ack 2634, win 707, options [nop,nop,TS val 4294943726 ecr 4294943417,MPTCP dss ack 3576351611 seq 3518595633 subseq 1338 len 48 csum 0xc9a1], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1386, win 305, options [nop,nop,TS val 4294943417 ecr 4294943726,MPTCP dss ack 3518595681], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2634:2682, ack 1386, win 305, options [nop,nop,TS val 4294943424 ecr 4294943726,MPTCP dss ack 3518595681 seq 3576351611 subseq 2634 len 48 csum 0x54c7], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1386:1434, ack 2682, win 707, options [nop,nop,TS val 4294943733 ecr 4294943424,MPTCP dss ack 3576351659 seq 3518595681 subseq 1386 len 48 csum 0xf5e9], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1434, win 305, options [nop,nop,TS val 4294943424 ecr 4294943733,MPTCP dss ack 3518595729], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2682:2730, ack 1434, win 305, options [nop,nop,TS val 4294943435 ecr 4294943733,MPTCP dss ack 3518595729 seq 3576351659 subseq 2682 len 48 csum 0xc90a], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1434:1482, ack 2730, win 707, options [nop,nop,TS val 4294943743 ecr 4294943435,MPTCP dss ack 3576351707 seq 3518595729 subseq 1434 len 48 csum 0x4e7d], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1482, win 305, options [nop,nop,TS val 4294943435 ecr 4294943743,MPTCP dss ack 3518595777], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2730:2778, ack 1482, win 305, options [nop,nop,TS val 4294943440 ecr 4294943743,MPTCP dss ack 3518595777 seq 3576351707 subseq 2730 len 48 csum 0x7b3d], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1482:1530, ack 2778, win 707, options [nop,nop,TS val 4294943749 ecr 4294943440,MPTCP dss ack 3576351755 seq 3518595777 subseq 1482 len 48 csum 0x83e2], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1530, win 305, options [nop,nop,TS val 4294943440 ecr 4294943749,MPTCP dss ack 3518595825], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2778:2826, ack 1530, win 305, options [nop,nop,TS val 4294943453 ecr 4294943749,MPTCP dss ack 3518595825 seq 3576351755 subseq 2778 len 48 csum 0x6e36], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1530:1578, ack 2826, win 707, options [nop,nop,TS val 4294943762 ecr 4294943453,MPTCP dss ack 3576351803 seq 3518595825 subseq 1530 len 48 csum 0xb348], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1578, win 305, options [nop,nop,TS val 4294943453 ecr 4294943762,MPTCP dss ack 3518595873], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2826:2874, ack 1578, win 305, options [nop,nop,TS val 4294943458 ecr 4294943762,MPTCP dss ack 3518595873 seq 3576351803 subseq 2826 len 48 csum 0x1991], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1578:1626, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943458,MPTCP dss ack 3576351851 seq 3518595873 subseq 1578 len 48 csum 0xb4f], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1626, win 305, options [nop,nop,TS val 4294943458 ecr 4294943766,MPTCP dss ack 3518595921], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1626:1722, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943458,MPTCP dss ack 3576351851 seq 3518595921 subseq 1626 len 96 csum 0x9334], length 96
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1722:1834, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943458,MPTCP dss ack 3576351851 seq 3518596017 subseq 1722 len 112 csum 0xdc3f], length 112
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1722, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518596017], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1834, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518596129], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1834:1946, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518596129 subseq 1834 len 112 csum 0x349e], length 112
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 1946, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518596241], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 1946:2042, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518596241 subseq 1946 len 96 csum 0xd5fe], length 96
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 2042, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518596337], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 2042:2154, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518596337 subseq 2042 len 112 csum 0x2c14], length 112
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 2154, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518596449], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 2154:2266, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518596449 subseq 2154 len 112 csum 0xe76e], length 112
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 2266, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518596561], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 2266:2346, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518596561 subseq 2266 len 80 csum 0x839a], length 80
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 2346:2442, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518596641 subseq 2346 len 96 csum 0xc1ee], length 96
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 2346, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518596641], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 2442, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518596737], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 2442:2506, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518596737 subseq 2442 len 64 csum 0xe67], length 64
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 2506:2554, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518596801 subseq 2506 len 48 csum 0x1474], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 2506, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518596801], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 2554, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518596849], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 2554:2650, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518596849 subseq 2554 len 96 csum 0x5dc1], length 96
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 2650, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518596945], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 2650:2762, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518596945 subseq 2650 len 112 csum 0xa20c], length 112
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 2762, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518597057], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 2762:2874, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518597057 subseq 2762 len 112 csum 0x643c], length 112
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 2874, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518597169], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 2874:2970, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518597169 subseq 2874 len 96 csum 0x5244], length 96
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 2970, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518597265], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 2970:3082, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518597265 subseq 2970 len 112 csum 0x295a], length 112
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 3082, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518597377], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 3082:3194, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518597377 subseq 3082 len 112 csum 0x510b], length 112
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 3194, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518597489], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 3194:3274, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518597489 subseq 3194 len 80 csum 0xc29a], length 80
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 3274, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518597569], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 3274:3370, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518597569 subseq 3274 len 96 csum 0x22a5], length 96
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 3370, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518597665], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 3370:3434, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518597665 subseq 3370 len 64 csum 0xe385], length 64
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 3434, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518597729], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 3434:3482, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518597729 subseq 3434 len 48 csum 0xd6b0], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 3482, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518597777], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 3482:3562, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518597777 subseq 3482 len 80 csum 0xec9d], length 80
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 3562, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518597857], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 3562:3658, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518597857 subseq 3562 len 96 csum 0x1eee], length 96
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 3658, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518597953], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 3658:3738, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518597953 subseq 3658 len 80 csum 0xbc5e], length 80
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 3738, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518598033], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 3738:3834, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518598033 subseq 3738 len 96 csum 0xe], length 96
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 3834, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518598129], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 3834:3930, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518598129 subseq 3834 len 96 csum 0xd42], length 96
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 3930, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518598225], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 3930:4042, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518598225 subseq 3930 len 112 csum 0xb006], length 112
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4042, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518598337], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4042:4122, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518598337 subseq 4042 len 80 csum 0x986f], length 80
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4122, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518598417], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4122:4218, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518598417 subseq 4122 len 96 csum 0x43ff], length 96
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4218, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518598513], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4218:4266, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518598513 subseq 4218 len 48 csum 0x8666], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4266, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518598561], length 0
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4266:4346, ack 2874, win 707, options [nop,nop,TS val 4294943766 ecr 4294943460,MPTCP dss ack 3576351851 seq 3518598561 subseq 4266 len 80 csum 0x9239], length 80
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4346, win 305, options [nop,nop,TS val 4294943460 ecr 4294943766,MPTCP dss ack 3518598641], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2874:2922, ack 4346, win 305, options [nop,nop,TS val 4294943484 ecr 4294943766,MPTCP dss ack 3518598641 seq 3576351851 subseq 2874 len 48 csum 0xd397], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4346:4394, ack 2922, win 707, options [nop,nop,TS val 4294943793 ecr 4294943484,MPTCP dss ack 3576351899 seq 3518598641 subseq 4346 len 48 csum 0xeeaa], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4394, win 305, options [nop,nop,TS val 4294943484 ecr 4294943793,MPTCP dss ack 3518598689], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2922:2970, ack 4394, win 305, options [nop,nop,TS val 4294943496 ecr 4294943793,MPTCP dss ack 3518598689 seq 3576351899 subseq 2922 len 48 csum 0x48a7], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4394:4442, ack 2970, win 707, options [nop,nop,TS val 4294943805 ecr 4294943496,MPTCP dss ack 3576351947 seq 3518598689 subseq 4394 len 48 csum 0xc354], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4442, win 305, options [nop,nop,TS val 4294943496 ecr 4294943805,MPTCP dss ack 3518598737], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 2970:3018, ack 4442, win 305, options [nop,nop,TS val 4294943513 ecr 4294943805,MPTCP dss ack 3518598737 seq 3576351947 subseq 2970 len 48 csum 0xf6d], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4442:4490, ack 3018, win 707, options [nop,nop,TS val 4294943822 ecr 4294943513,MPTCP dss ack 3576351995 seq 3518598737 subseq 4442 len 48 csum 0xe0e2], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4490, win 305, options [nop,nop,TS val 4294943513 ecr 4294943822,MPTCP dss ack 3518598785], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3018:3066, ack 4490, win 305, options [nop,nop,TS val 4294943521 ecr 4294943822,MPTCP dss ack 3518598785 seq 3576351995 subseq 3018 len 48 csum 0xf320], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4490:4538, ack 3066, win 707, options [nop,nop,TS val 4294943830 ecr 4294943521,MPTCP dss ack 3576352043 seq 3518598785 subseq 4490 len 48 csum 0x9c04], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4538, win 305, options [nop,nop,TS val 4294943521 ecr 4294943830,MPTCP dss ack 3518598833], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3066:3114, ack 4538, win 305, options [nop,nop,TS val 4294943525 ecr 4294943830,MPTCP dss ack 3518598833 seq 3576352043 subseq 3066 len 48 csum 0x88f6], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4538:4586, ack 3114, win 707, options [nop,nop,TS val 4294943834 ecr 4294943525,MPTCP dss ack 3576352091 seq 3518598833 subseq 4538 len 48 csum 0x8612], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4586, win 305, options [nop,nop,TS val 4294943525 ecr 4294943834,MPTCP dss ack 3518598881], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3114:3162, ack 4586, win 305, options [nop,nop,TS val 4294943532 ecr 4294943834,MPTCP dss ack 3518598881 seq 3576352091 subseq 3114 len 48 csum 0xa14c], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4586:4634, ack 3162, win 707, options [nop,nop,TS val 4294943841 ecr 4294943532,MPTCP dss ack 3576352139 seq 3518598881 subseq 4586 len 48 csum 0x7979], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4634, win 305, options [nop,nop,TS val 4294943532 ecr 4294943841,MPTCP dss ack 3518598929], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3162:3210, ack 4634, win 305, options [nop,nop,TS val 4294943543 ecr 4294943841,MPTCP dss ack 3518598929 seq 3576352139 subseq 3162 len 48 csum 0x7c49], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4634:4682, ack 3210, win 707, options [nop,nop,TS val 4294943851 ecr 4294943543,MPTCP dss ack 3576352187 seq 3518598929 subseq 4634 len 48 csum 0x7799], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4682, win 305, options [nop,nop,TS val 4294943543 ecr 4294943851,MPTCP dss ack 3518598977], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3210:3258, ack 4682, win 305, options [nop,nop,TS val 4294943549 ecr 4294943851,MPTCP dss ack 3518598977 seq 3576352187 subseq 3210 len 48 csum 0x7589], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4682:4730, ack 3258, win 707, options [nop,nop,TS val 4294943858 ecr 4294943549,MPTCP dss ack 3576352235 seq 3518598977 subseq 4682 len 48 csum 0x9da3], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4730, win 305, options [nop,nop,TS val 4294943549 ecr 4294943858,MPTCP dss ack 3518599025], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3258:3306, ack 4730, win 305, options [nop,nop,TS val 4294943560 ecr 4294943858,MPTCP dss ack 3518599025 seq 3576352235 subseq 3258 len 48 csum 0x652], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4730:4778, ack 3306, win 707, options [nop,nop,TS val 4294943869 ecr 4294943560,MPTCP dss ack 3576352283 seq 3518599025 subseq 4730 len 48 csum 0xf212], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4778, win 305, options [nop,nop,TS val 4294943560 ecr 4294943869,MPTCP dss ack 3518599073], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3306:3354, ack 4778, win 305, options [nop,nop,TS val 4294943572 ecr 4294943869,MPTCP dss ack 3518599073 seq 3576352283 subseq 3306 len 48 csum 0x757c], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4778:4826, ack 3354, win 707, options [nop,nop,TS val 4294943881 ecr 4294943572,MPTCP dss ack 3576352331 seq 3518599073 subseq 4778 len 48 csum 0x5cf1], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4826, win 305, options [nop,nop,TS val 4294943572 ecr 4294943881,MPTCP dss ack 3518599121], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3354:3402, ack 4826, win 305, options [nop,nop,TS val 4294943580 ecr 4294943881,MPTCP dss ack 3518599121 seq 3576352331 subseq 3354 len 48 csum 0x363c], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4826:4874, ack 3402, win 707, options [nop,nop,TS val 4294943889 ecr 4294943580,MPTCP dss ack 3576352379 seq 3518599121 subseq 4826 len 48 csum 0xdae4], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4874, win 305, options [nop,nop,TS val 4294943580 ecr 4294943889,MPTCP dss ack 3518599169], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3402:3450, ack 4874, win 305, options [nop,nop,TS val 4294943589 ecr 4294943889,MPTCP dss ack 3518599169 seq 3576352379 subseq 3402 len 48 csum 0x5ded], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4874:4922, ack 3450, win 707, options [nop,nop,TS val 4294943898 ecr 4294943589,MPTCP dss ack 3576352427 seq 3518599169 subseq 4874 len 48 csum 0xb977], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4922, win 305, options [nop,nop,TS val 4294943589 ecr 4294943898,MPTCP dss ack 3518599217], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3450:3498, ack 4922, win 305, options [nop,nop,TS val 4294943624 ecr 4294943898,MPTCP dss ack 3518599217 seq 3576352427 subseq 3450 len 48 csum 0x8425], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4922:4970, ack 3498, win 707, options [nop,nop,TS val 4294943933 ecr 4294943624,MPTCP dss ack 3576352475 seq 3518599217 subseq 4922 len 48 csum 0x1a42], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 4970, win 305, options [nop,nop,TS val 4294943624 ecr 4294943933,MPTCP dss ack 3518599265], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3498:3546, ack 4970, win 305, options [nop,nop,TS val 4294943675 ecr 4294943933,MPTCP dss ack 3518599265 seq 3576352475 subseq 3498 len 48 csum 0x37f5], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 4970:5018, ack 3546, win 707, options [nop,nop,TS val 4294943983 ecr 4294943675,MPTCP dss ack 3576352523 seq 3518599265 subseq 4970 len 48 csum 0xb0f0], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 5018, win 305, options [nop,nop,TS val 4294943675 ecr 4294943983,MPTCP dss ack 3518599313], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3546:3594, ack 5018, win 305, options [nop,nop,TS val 4294943688 ecr 4294943983,MPTCP dss ack 3518599313 seq 3576352523 subseq 3546 len 48 csum 0xd912], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 5018:5066, ack 3594, win 707, options [nop,nop,TS val 4294943997 ecr 4294943688,MPTCP dss ack 3576352571 seq 3518599313 subseq 5018 len 48 csum 0x5be5], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 5066, win 305, options [nop,nop,TS val 4294943688 ecr 4294943997,MPTCP dss ack 3518599361], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3594:3642, ack 5066, win 305, options [nop,nop,TS val 4294943703 ecr 4294943997,MPTCP dss ack 3518599361 seq 3576352571 subseq 3594 len 48 csum 0x539a], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 5066:5114, ack 3642, win 707, options [nop,nop,TS val 4294944011 ecr 4294943703,MPTCP dss ack 3576352619 seq 3518599361 subseq 5066 len 48 csum 0x2d9e], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 5114, win 305, options [nop,nop,TS val 4294943703 ecr 4294944011,MPTCP dss ack 3518599409], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3642:3690, ack 5114, win 305, options [nop,nop,TS val 4294943712 ecr 4294944011,MPTCP dss ack 3518599409 seq 3576352619 subseq 3642 len 48 csum 0xbda6], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 5114:5162, ack 3690, win 707, options [nop,nop,TS val 4294944021 ecr 4294943712,MPTCP dss ack 3576352667 seq 3518599409 subseq 5114 len 48 csum 0x1bc7], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 5162, win 305, options [nop,nop,TS val 4294943712 ecr 4294944021,MPTCP dss ack 3518599457], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3690:3738, ack 5162, win 305, options [nop,nop,TS val 4294943725 ecr 4294944021,MPTCP dss ack 3518599457 seq 3576352667 subseq 3690 len 48 csum 0xad71], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 5162:5210, ack 3738, win 707, options [nop,nop,TS val 4294944034 ecr 4294943725,MPTCP dss ack 3576352715 seq 3518599457 subseq 5162 len 48 csum 0xf8f7], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 5210, win 305, options [nop,nop,TS val 4294943725 ecr 4294944034,MPTCP dss ack 3518599505], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [P.], seq 3738:3786, ack 5210, win 305, options [nop,nop,TS val 4294943746 ecr 4294944034,MPTCP dss ack 3518599505 seq 3576352715 subseq 3738 len 48 csum 0xd16], length 48
+IP 10.1.1.2.22 > 10.2.1.2.35961: Flags [P.], seq 5210:5258, ack 3786, win 707, options [nop,nop,TS val 4294944054 ecr 4294943746,MPTCP dss ack 3576352763 seq 3518599505 subseq 5210 len 48 csum 0x8122], length 48
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [.], ack 5258, win 305, options [nop,nop,TS val 4294943746 ecr 4294944054,MPTCP dss ack 3518599553], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [.], ack 617, win 707, options [nop,nop,TS val 4294944054 ecr 4294943306,MPTCP rem-addr id 0,MPTCP dss ack 3576352763], length 0
+IP 10.2.1.2.35961 > 10.1.1.2.22: Flags [R.], seq 3786, ack 5258, win 305, options [nop,nop,TS val 4294943749 ecr 4294944054,MPTCP dss ack 3518599553], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2153:2233, ack 617, win 707, options [nop,nop,TS val 4294944054 ecr 4294943306,MPTCP dss ack 3576352763 seq 3518599553 subseq 2153 len 80 csum 0xe206], length 80
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2233, win 305, options [nop,nop,TS val 4294943749 ecr 4294944054,MPTCP dss ack 3518599633], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 617:665, ack 2233, win 305, options [nop,nop,TS val 4294943782 ecr 4294944054,MPTCP dss ack 3518599633 seq 3576352763 subseq 617 len 48 csum 0xa135], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [.], ack 665, win 707, options [nop,nop,TS val 4294944090 ecr 4294943782,MPTCP dss ack 3576352811], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2233:2313, ack 665, win 707, options [nop,nop,TS val 4294944090 ecr 4294943782,MPTCP dss ack 3576352811 seq 3518599633 subseq 2233 len 80 csum 0x917d], length 80
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2313, win 305, options [nop,nop,TS val 4294943782 ecr 4294944090,MPTCP dss ack 3518599713], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 665:713, ack 2313, win 305, options [nop,nop,TS val 4294943797 ecr 4294944090,MPTCP dss ack 3518599713 seq 3576352811 subseq 665 len 48 csum 0x3789], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2313:2393, ack 713, win 707, options [nop,nop,TS val 4294944106 ecr 4294943797,MPTCP dss ack 3576352859 seq 3518599713 subseq 2313 len 80 csum 0x6cf1], length 80
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2393, win 305, options [nop,nop,TS val 4294943797 ecr 4294944106,MPTCP dss ack 3518599793], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 713:761, ack 2393, win 305, options [nop,nop,TS val 4294943811 ecr 4294944106,MPTCP dss ack 3518599793 seq 3576352859 subseq 713 len 48 csum 0xc47b], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2393:2473, ack 761, win 707, options [nop,nop,TS val 4294944119 ecr 4294943811,MPTCP dss ack 3576352907 seq 3518599793 subseq 2393 len 80 csum 0x226], length 80
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2473, win 305, options [nop,nop,TS val 4294943811 ecr 4294944119,MPTCP dss ack 3518599873], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 761:809, ack 2473, win 305, options [nop,nop,TS val 4294943826 ecr 4294944119,MPTCP dss ack 3518599873 seq 3576352907 subseq 761 len 48 csum 0x187f], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2473:2553, ack 809, win 707, options [nop,nop,TS val 4294944134 ecr 4294943826,MPTCP dss ack 3576352955 seq 3518599873 subseq 2473 len 80 csum 0xe4fe], length 80
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2553, win 305, options [nop,nop,TS val 4294943826 ecr 4294944134,MPTCP dss ack 3518599953], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 809:857, ack 2553, win 305, options [nop,nop,TS val 4294943840 ecr 4294944134,MPTCP dss ack 3518599953 seq 3576352955 subseq 809 len 48 csum 0xf780], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2553:2633, ack 857, win 707, options [nop,nop,TS val 4294944149 ecr 4294943840,MPTCP dss ack 3576353003 seq 3518599953 subseq 2553 len 80 csum 0xb0e6], length 80
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2633, win 305, options [nop,nop,TS val 4294943841 ecr 4294944149,MPTCP dss ack 3518600033], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 857:905, ack 2633, win 305, options [nop,nop,TS val 4294943856 ecr 4294944149,MPTCP dss ack 3518600033 seq 3576353003 subseq 857 len 48 csum 0x1272], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2633:2713, ack 905, win 707, options [nop,nop,TS val 4294944164 ecr 4294943856,MPTCP dss ack 3576353051 seq 3518600033 subseq 2633 len 80 csum 0x2521], length 80
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2713, win 305, options [nop,nop,TS val 4294943856 ecr 4294944164,MPTCP dss ack 3518600113], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 905:953, ack 2713, win 305, options [nop,nop,TS val 4294943871 ecr 4294944164,MPTCP dss ack 3518600113 seq 3576353051 subseq 905 len 48 csum 0xeb71], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2713:2793, ack 953, win 707, options [nop,nop,TS val 4294944179 ecr 4294943871,MPTCP dss ack 3576353099 seq 3518600113 subseq 2713 len 80 csum 0xdd08], length 80
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2793, win 305, options [nop,nop,TS val 4294943871 ecr 4294944179,MPTCP dss ack 3518600193], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 953:1001, ack 2793, win 305, options [nop,nop,TS val 4294943887 ecr 4294944179,MPTCP dss ack 3518600193 seq 3576353099 subseq 953 len 48 csum 0xf047], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2793:2873, ack 1001, win 707, options [nop,nop,TS val 4294944195 ecr 4294943887,MPTCP dss ack 3576353147 seq 3518600193 subseq 2793 len 80 csum 0x3967], length 80
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2873, win 305, options [nop,nop,TS val 4294943887 ecr 4294944195,MPTCP dss ack 3518600273], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 1001:1049, ack 2873, win 305, options [nop,nop,TS val 4294944018 ecr 4294944195,MPTCP dss ack 3518600273 seq 3576353147 subseq 1001 len 48 csum 0xa43d], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2873:2921, ack 1049, win 707, options [nop,nop,TS val 4294944326 ecr 4294944018,MPTCP dss ack 3576353195 seq 3518600273 subseq 2873 len 48 csum 0x1c25], length 48
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2921, win 305, options [nop,nop,TS val 4294944018 ecr 4294944326,MPTCP dss ack 3518600321], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 1049:1097, ack 2921, win 305, options [nop,nop,TS val 4294944032 ecr 4294944326,MPTCP dss ack 3518600321 seq 3576353195 subseq 1049 len 48 csum 0xebdc], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2921:2969, ack 1097, win 707, options [nop,nop,TS val 4294944341 ecr 4294944032,MPTCP dss ack 3576353243 seq 3518600321 subseq 2921 len 48 csum 0xf7df], length 48
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 2969, win 305, options [nop,nop,TS val 4294944032 ecr 4294944341,MPTCP dss ack 3518600369], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 1097:1145, ack 2969, win 305, options [nop,nop,TS val 4294944037 ecr 4294944341,MPTCP dss ack 3518600369 seq 3576353243 subseq 1097 len 48 csum 0xb656], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 2969:3017, ack 1145, win 707, options [nop,nop,TS val 4294944346 ecr 4294944037,MPTCP dss ack 3576353291 seq 3518600369 subseq 2969 len 48 csum 0x73fb], length 48
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 3017, win 305, options [nop,nop,TS val 4294944037 ecr 4294944346,MPTCP dss ack 3518600417], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 1145:1193, ack 3017, win 305, options [nop,nop,TS val 4294944056 ecr 4294944346,MPTCP dss ack 3518600417 seq 3576353291 subseq 1145 len 48 csum 0x7813], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 3017:3065, ack 1193, win 707, options [nop,nop,TS val 4294944365 ecr 4294944056,MPTCP dss ack 3576353339 seq 3518600417 subseq 3017 len 48 csum 0xa7ff], length 48
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 3065, win 305, options [nop,nop,TS val 4294944056 ecr 4294944365,MPTCP dss ack 3518600465], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 1193:1241, ack 3065, win 305, options [nop,nop,TS val 4294944064 ecr 4294944365,MPTCP dss ack 3518600465 seq 3576353339 subseq 1193 len 48 csum 0xd43c], length 48
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 3065:3241, ack 1241, win 707, options [nop,nop,TS val 4294944372 ecr 4294944064,MPTCP dss ack 3576353387 seq 3518600465 subseq 3065 len 176 csum 0x49a0], length 176
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [P.], seq 3241:3305, ack 1241, win 707, options [nop,nop,TS val 4294944372 ecr 4294944064,MPTCP dss ack 3576353387 seq 3518600641 subseq 3241 len 64 csum 0x2541], length 64
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 3241, win 310, options [nop,nop,TS val 4294944064 ecr 4294944372,MPTCP dss ack 3518600641], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 3305, win 310, options [nop,nop,TS val 4294944064 ecr 4294944372,MPTCP dss ack 3518600705], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 1241:1273, ack 3305, win 310, options [nop,nop,TS val 4294944064 ecr 4294944372,MPTCP dss ack 3518600705 seq 3576353387 subseq 1241 len 32 csum 0xec34], length 32
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [P.], seq 1273:1337, ack 3305, win 310, options [nop,nop,TS val 4294944064 ecr 4294944372,MPTCP dss ack 3518600705 seq 3576353419 subseq 1273 len 64 csum 0x3f93], length 64
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [.], ack 1337, win 707, options [nop,nop,TS val 4294944372 ecr 4294944064,MPTCP dss ack 3576353483], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 3305, win 310, options [nop,nop,TS val 4294944064 ecr 4294944372,MPTCP dss fin ack 3518600705 seq 3576353483 subseq 0 len 1 csum 0xa51], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [.], ack 1337, win 707, options [nop,nop,TS val 4294944372 ecr 4294944064,MPTCP dss fin ack 3576353484 seq 3518600705 subseq 0 len 1 csum 0xbe46], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [F.], seq 1337, ack 3305, win 310, options [nop,nop,TS val 4294944066 ecr 4294944372,MPTCP dss ack 3518600705], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 3305, win 310, options [nop,nop,TS val 4294944066 ecr 4294944372,MPTCP dss ack 3518600706], length 0
+IP 10.1.2.2.22 > 10.2.1.2.41221: Flags [F.], seq 3305, ack 1338, win 707, options [nop,nop,TS val 4294944372 ecr 4294944066,MPTCP dss ack 3576353484], length 0
+IP 10.2.1.2.41221 > 10.1.2.2.22: Flags [.], ack 3306, win 310, options [nop,nop,TS val 4294944066 ecr 4294944372,MPTCP dss ack 3518600706], length 0
diff --git a/tests/mptcp.pcap b/tests/mptcp.pcap
new file mode 100644 (file)
index 0000000..c3eaae5
Binary files /dev/null and b/tests/mptcp.pcap differ