]> The Tcpdump Group git mirrors - tcpdump/commitdiff
MPTCP: Add missing MP_CAPABLE Flags 934/head
authorRui <[email protected]>
Mon, 16 Aug 2021 18:36:00 +0000 (19:36 +0100)
committerDenis Ovsienko <[email protected]>
Wed, 18 Aug 2021 21:51:27 +0000 (22:51 +0100)
Parse previous ignored flags from MP_CAPABLE option

print-mptcp.c
tests/mptcp-aa-v1.out
tests/mptcp-fclose.out
tests/mptcp-v0.out
tests/mptcp-v1.out

index b8af92db0a4d6b199ad08ecf4f37382c85978d22..de12f30ed5afaa095c8c2a50c68c29cb52b82272 100644 (file)
@@ -66,6 +66,20 @@ struct mptcp_option {
 
 #define MPTCP_OPT_SUBTYPE(sub_etc)      (((sub_etc) >> 4) & 0xF)
 
+#define MP_CAPABLE_A                    0x80
+
+static const struct tok mp_capable_flags[] = {
+        { MP_CAPABLE_A, "A" },
+        { 0x40, "B" },
+        { 0x20, "C" },
+        { 0x10, "D" },
+        { 0x08, "E" },
+        { 0x04, "F" },
+        { 0x02, "G" },
+        { 0x01, "H" },
+        { 0, NULL }
+};
+
 struct mp_capable {
         nd_uint8_t     kind;
         nd_uint8_t     len;
@@ -77,8 +91,6 @@ struct mp_capable {
 };
 
 #define MP_CAPABLE_OPT_VERSION(sub_ver) (((sub_ver) >> 0) & 0xF)
-#define MP_CAPABLE_C                    0x80
-#define MP_CAPABLE_S                    0x01
 
 struct mp_join {
         nd_uint8_t     kind;
@@ -238,8 +250,11 @@ mp_capable_print(netdissect_options *ndo,
                         ND_PRINT(" Unknown Version (%u)", version);
                         return 1;
         }
+        ND_PRINT(" flags [%s]", bittok2str_nosep(mp_capable_flags, "none",
+                 GET_U_1(mpc->flags)));
 
-        csum_enabled = GET_U_1(mpc->flags) & MP_CAPABLE_C;
+        csum_enabled = GET_U_1(mpc->flags) & MP_CAPABLE_A;
         if (csum_enabled)
                 ND_PRINT(" csum");
         if (opt_len == 12 || opt_len >= 20) {
index 0fd8023e7a1d8e2d8a0c7782d67518f9bba933f1..55edf630efff4a680ab8507720ec93669a834933 100644 (file)
@@ -1,9 +1,9 @@
     1  18:44:15.949492 IP 192.168.125.165.43428 > 192.168.125.1.53: 61359+ A? proxy-chain.intel.com.network2. (48)
     2  18:44:15.949675 IP 192.168.125.165.43428 > 192.168.125.1.53: 30665+ AAAA? proxy-chain.intel.com.network2. (48)
-    3  18:44:24.039044 IP 192.168.125.212.52278 > 192.168.125.165.55555: Flags [S], seq 653223703, win 64240, options [mss 1460,sackOK,TS val 2070300959 ecr 0,nop,wscale 7,mptcp 4 capable v1], length 0
-    4  18:44:24.039622 IP 192.168.125.165.55555 > 192.168.125.212.52278: Flags [S.], seq 3797229782, ack 653223704, win 65160, options [mss 1460,sackOK,TS val 938670159 ecr 2070300959,nop,wscale 7,mptcp 12 capable v1 {0x73bb150358a0aecb}], length 0
-    5  18:44:24.039910 IP 192.168.125.212.52278 > 192.168.125.165.55555: Flags [.], ack 1, win 502, options [nop,nop,TS val 2070300960 ecr 938670159,mptcp 20 capable v1 {0x8f0c7c64a6a32ac1,0x73bb150358a0aecb}], length 0
-    6  18:44:24.042337 IP 192.168.125.212.52278 > 192.168.125.165.55555: Flags [P.], seq 1:17, ack 1, win 502, options [nop,nop,TS val 2070300963 ecr 938670159,mptcp 22 capable v1 {0x8f0c7c64a6a32ac1,0x73bb150358a0aecb,data_len=16},nop,nop], length 16
+    3  18:44:24.039044 IP 192.168.125.212.52278 > 192.168.125.165.55555: Flags [S], seq 653223703, win 64240, options [mss 1460,sackOK,TS val 2070300959 ecr 0,nop,wscale 7,mptcp 4 capable v1 flags [H]], length 0
+    4  18:44:24.039622 IP 192.168.125.165.55555 > 192.168.125.212.52278: Flags [S.], seq 3797229782, ack 653223704, win 65160, options [mss 1460,sackOK,TS val 938670159 ecr 2070300959,nop,wscale 7,mptcp 12 capable v1 flags [H] {0x73bb150358a0aecb}], length 0
+    5  18:44:24.039910 IP 192.168.125.212.52278 > 192.168.125.165.55555: Flags [.], ack 1, win 502, options [nop,nop,TS val 2070300960 ecr 938670159,mptcp 20 capable v1 flags [H] {0x8f0c7c64a6a32ac1,0x73bb150358a0aecb}], length 0
+    6  18:44:24.042337 IP 192.168.125.212.52278 > 192.168.125.165.55555: Flags [P.], seq 1:17, ack 1, win 502, options [nop,nop,TS val 2070300963 ecr 938670159,mptcp 22 capable v1 flags [H] {0x8f0c7c64a6a32ac1,0x73bb150358a0aecb,data_len=16},nop,nop], length 16
     7  18:44:24.042622 IP 192.168.125.165.55555 > 192.168.125.212.52278: Flags [.], ack 17, win 509, options [nop,nop,TS val 938670162 ecr 2070300963,mptcp 12 dss ack 17186763219675866565], length 0
     8  18:44:24.043277 IP 192.168.125.165.55555 > 192.168.125.212.52278: Flags [P.], seq 1:17, ack 17, win 509, options [nop,nop,TS val 938670163 ecr 2070300963,mptcp 26 dss ack 17186763219675866581 seq 12148165319181844526 subseq 1 len 16,nop,nop], length 16
     9  18:44:24.043512 IP 192.168.125.212.52278 > 192.168.125.165.55555: Flags [.], ack 17, win 502, options [nop,nop,TS val 2070300964 ecr 938670163,mptcp 12 dss ack 12148165319181844526], length 0
index a9b4d99eb81a71d4d10b707508899eeb3826a829..7136fc9dad4285019ac92a31c520d6a131469fda 100644 (file)
@@ -1,8 +1,8 @@
     1  15:40:42.767916 ARP, Request who-has 10.2.1.2 tell 10.2.1.1, length 28
     2  15:40:42.768169 ARP, Reply 10.2.1.2 is-at d6:06:3c:4a:35:7a, length 28
-    3  15:40:42.768187 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 12 capable v0 csum {0x9b59be3d695e66a7}], length 0
-    4  15:40:42.768439 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 12 capable v0 csum {0xd005b1ab34bad344}], length 0
-    5  15:40:42.768831 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 20 capable v0 csum {0x9b59be3d695e66a7,0xd005b1ab34bad344}], length 0
+    3  15:40:42.768187 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 12 capable v0 flags [AH] csum {0x9b59be3d695e66a7}], length 0
+    4  15:40:42.768439 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 12 capable v0 flags [AH] csum {0xd005b1ab34bad344}], length 0
+    5  15:40:42.768831 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 20 capable v0 flags [AH] csum {0x9b59be3d695e66a7,0xd005b1ab34bad344}], length 0
     6  15:40:42.769130 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 20 dss ack 3386645601 seq 2976985014 subseq 1 len 1 csum 0x9e91], length 1
     7  15:40:42.769364 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 8 dss ack 2976985015], length 0
     8  15:40:43.780182 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 20 dss ack 2976985015 seq 3386645601 subseq 1 len 1 csum 0x54ab], length 1
index 6f793f429b3ad2c146290c35ad4f653f9337163d..88610c74cc07cbba08c289e3972a410b881a2485 100644 (file)
@@ -1,6 +1,6 @@
-    1  12:56:35.701161 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 12 capable v0 csum {0x9c9eabd1e46a33b2}], length 0
-    2  12:56:35.701661 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 12 capable v0 csum {0x967d2770b6960552}], length 0
-    3  12:56:35.702022 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 20 capable v0 csum {0x9c9eabd1e46a33b2,0x967d2770b6960552}], length 0
+    1  12:56:35.701161 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 12 capable v0 flags [AH] csum {0x9c9eabd1e46a33b2}], length 0
+    2  12:56:35.701661 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 12 capable v0 flags [AH] csum {0x967d2770b6960552}], length 0
+    3  12:56:35.702022 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 20 capable v0 flags [AH] csum {0x9c9eabd1e46a33b2,0x967d2770b6960552}], length 0
     4  12:56:35.786074 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 8 add-addr v0-ip4 id 1 10.1.2.2,mptcp 20 dss ack 3576348362 seq 3518592144 subseq 1 len 41 csum 0x82f], length 41: SSH: SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze1
     5  12:56:35.786240 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 8 dss ack 3518592185], length 0
     6  12:56:35.787634 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 20 dss ack 3518592185 seq 3576348362 subseq 1 len 41 csum 0x45c9], length 41: SSH: SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze2
index 6cdb4a11ba41ea7e14c4d849cd41156ec3b71d6e..14260790cc920f13673e4b1c476918bb546e5f4b 100644 (file)
@@ -1,7 +1,7 @@
-    1  15:51:06.676845 IP 10.0.1.1.33306 > 10.0.2.1.10004: Flags [S], seq 2180756989, win 65535, options [mss 1460,sackOK,TS val 464494241 ecr 0,nop,wscale 8,mptcp 4 capable v1], length 0
-    2  15:51:06.676888 IP 10.0.2.1.10004 > 10.0.1.1.33306: Flags [S.], seq 791415661, ack 2180756990, win 65535, options [mss 1460,sackOK,TS val 3275212179 ecr 464494241,nop,wscale 8,mptcp 12 capable v1 {0x29a6c86981ad933c}], length 0
-    3  15:51:06.676958 IP 10.0.1.1.33306 > 10.0.2.1.10004: Flags [.], ack 1, win 256, options [nop,nop,TS val 464494241 ecr 3275212179,mptcp 20 capable v1 {0x1fdb5df328bc3def,0x29a6c86981ad933c}], length 0
-    4  15:51:06.677099 IP 10.0.1.1.33306 > 10.0.2.1.10004: Flags [P.], seq 1:7101, ack 1, win 256, options [nop,nop,TS val 464494241 ecr 3275212179,mptcp 22 capable v1 {0x1fdb5df328bc3def,0x29a6c86981ad933c,data_len=8192},nop,nop], length 7100
+    1  15:51:06.676845 IP 10.0.1.1.33306 > 10.0.2.1.10004: Flags [S], seq 2180756989, win 65535, options [mss 1460,sackOK,TS val 464494241 ecr 0,nop,wscale 8,mptcp 4 capable v1 flags [H]], length 0
+    2  15:51:06.676888 IP 10.0.2.1.10004 > 10.0.1.1.33306: Flags [S.], seq 791415661, ack 2180756990, win 65535, options [mss 1460,sackOK,TS val 3275212179 ecr 464494241,nop,wscale 8,mptcp 12 capable v1 flags [H] {0x29a6c86981ad933c}], length 0
+    3  15:51:06.676958 IP 10.0.1.1.33306 > 10.0.2.1.10004: Flags [.], ack 1, win 256, options [nop,nop,TS val 464494241 ecr 3275212179,mptcp 20 capable v1 flags [H] {0x1fdb5df328bc3def,0x29a6c86981ad933c}], length 0
+    4  15:51:06.677099 IP 10.0.1.1.33306 > 10.0.2.1.10004: Flags [P.], seq 1:7101, ack 1, win 256, options [nop,nop,TS val 464494241 ecr 3275212179,mptcp 22 capable v1 flags [H] {0x1fdb5df328bc3def,0x29a6c86981ad933c,data_len=8192},nop,nop], length 7100
     5  15:51:06.677113 IP 10.0.2.1.10004 > 10.0.1.1.33306: Flags [.], ack 7101, win 312, options [nop,nop,TS val 3275212179 ecr 464494241,mptcp 12 dss ack 14413541604287230030], length 0
     6  15:51:06.677130 IP 10.0.1.1.33306 > 10.0.2.1.10004: Flags [P.], seq 7101:8193, ack 1, win 256, options [nop,nop,TS val 464494241 ecr 3275212179,mptcp 12 dss ack 11713449205243392242], length 1092
     7  15:51:06.677136 IP 10.0.2.1.10004 > 10.0.1.1.33306: Flags [P.], seq 1:7101, ack 7101, win 312, options [nop,nop,TS val 3275212179 ecr 464494241,mptcp 26 dss ack 14413541604287230030 seq 11713449205243392242 subseq 1 len 8192,nop,nop], length 7100