]> The Tcpdump Group git mirrors - tcpdump/commitdiff
cdp: support CDP TLV 0x001a.
authorGuy Harris <[email protected]>
Tue, 11 Apr 2023 05:49:46 +0000 (22:49 -0700)
committerGuy Harris <[email protected]>
Tue, 11 Apr 2023 05:49:46 +0000 (22:49 -0700)
Based on the way it's dissected in Wireshark.

print-cdp.c
tests/cdp-v.out
tests/lldp_cdp-ev.out

index 204131cd05f02bc5f78f26b4b6d91d9ef87f02de..d3bce2e9caa2b91390461ffda5f49bb0d84861d4 100644 (file)
@@ -182,6 +182,22 @@ cdp_print_phys_loc(netdissect_options *ndo,
        }
 }
 
+static void
+cdp_print_power_avail(netdissect_options *ndo,
+                   const u_char *cp, const u_int len)
+{
+       ND_PRINT("reqid %u, mgmtid %u", GET_BE_U_2(cp), GET_BE_U_2(cp + 2));
+       if (len > 4) {
+               const u_char *powerp;
+               u_int powerlen;
+
+               ND_PRINT(", pwravail");
+               for (powerp = cp + 4, powerlen = len - 4;
+                   powerlen >= 4; powerp += 4, powerlen -= 4)
+                       ND_PRINT(" %u mW", GET_BE_U_4(powerp));
+       }
+}
+
 typedef enum {
        VERBOSE_OR_NOT_VERBOSE,
        VERBOSE_ONLY
@@ -232,6 +248,8 @@ static const struct cdp_tlvinfo cdptlvs[] = {
        [ 0x16 ] = { "Management Addresses", cdp_print_addr, VERBOSE_ONLY, 4, -1 },
        /* not documented */
        [ 0x17 ] = { "Physical Location", cdp_print_phys_loc, VERBOSE_ONLY, 1, -1 },
+       /* not documented */
+       [ 0x1a ] = { "Power available", cdp_print_power_avail, VERBOSE_ONLY, 8, -1 },
 };
 
 #define T_MAX  (sizeof cdptlvs / sizeof cdptlvs[0])
index 78e5011a481798e088fc919e774609b801bab50e..003763482aac9aca212a3968ed5e895a7e084acf 100644 (file)
@@ -15,8 +15,7 @@
        AVVID trust bitmap (0x12), value length: 1 byte: 0x00
        AVVID untrusted ports CoS (0x13), value length: 1 byte: 0x00
        Management Addresses (0x16), value length: 13 bytes: IPv4 (1) 192.168.0.1
-       unknown field type (0x1a), value length: 12 bytes: 
-         0x0000:  0000 0001 0000 0000 ffff ffff
+       Power available (0x1a), value length: 12 bytes: reqid 0, mgmtid 1, pwravail 0 mW 4294967295 mW
     2  11:47:08.378706 CDPv2, ttl: 180s, checksum: 0xb0bd (unverified), length 378
        Device-ID (0x01), value length: 6 bytes: 'Switch'
        Version String (0x05), value length: 192 bytes: 
@@ -34,8 +33,7 @@
        AVVID trust bitmap (0x12), value length: 1 byte: 0x00
        AVVID untrusted ports CoS (0x13), value length: 1 byte: 0x00
        Management Addresses (0x16), value length: 13 bytes: IPv4 (1) 192.168.0.1
-       unknown field type (0x1a), value length: 12 bytes: 
-         0x0000:  0000 0001 0000 0000 ffff ffff
+       Power available (0x1a), value length: 12 bytes: reqid 0, mgmtid 1, pwravail 0 mW 4294967295 mW
     3  11:48:08.392643 CDPv2, ttl: 180s, checksum: 0xb0bd (unverified), length 378
        Device-ID (0x01), value length: 6 bytes: 'Switch'
        Version String (0x05), value length: 192 bytes: 
@@ -53,5 +51,4 @@
        AVVID trust bitmap (0x12), value length: 1 byte: 0x00
        AVVID untrusted ports CoS (0x13), value length: 1 byte: 0x00
        Management Addresses (0x16), value length: 13 bytes: IPv4 (1) 192.168.0.1
-       unknown field type (0x1a), value length: 12 bytes: 
-         0x0000:  0000 0001 0000 0000 ffff ffff
+       Power available (0x1a), value length: 12 bytes: reqid 0, mgmtid 1, pwravail 0 mW 4294967295 mW
index ee1e8c37a647a5088bc624ab25c68fc3a4713472..1bd122afe1b0e7e228a30b591e27644a4709e1d4 100644 (file)
@@ -15,8 +15,7 @@
        AVVID trust bitmap (0x12), value length: 1 byte: 0x00
        AVVID untrusted ports CoS (0x13), value length: 1 byte: 0x00
        Management Addresses (0x16), value length: 13 bytes: IPv4 (1) 0.0.0.0
-       unknown field type (0x1a), value length: 12 bytes: 
-         0x0000:  0000 0001 0000 0000 ffff ffff
+       Power available (0x1a), value length: 12 bytes: reqid 0, mgmtid 1, pwravail 0 mW 4294967295 mW
     2  03:00:39.208974 00:19:2f:a7:b2:8d > 01:00:0c:cc:cc:cc, 802.3, length 378: LLC, dsap SNAP (0xaa) Individual, ssap SNAP (0xaa) Command, ctrl 0x03: oui Cisco (0x00000c), pid CDP (0x2000), length 370: CDPv2, ttl: 180s, checksum: 0x971d (unverified), length 370
        Device-ID (0x01), value length: 2 bytes: 'S2'
        Version String (0x05), value length: 190 bytes: 
@@ -34,8 +33,7 @@
        AVVID trust bitmap (0x12), value length: 1 byte: 0x00
        AVVID untrusted ports CoS (0x13), value length: 1 byte: 0x00
        Management Addresses (0x16), value length: 13 bytes: IPv4 (1) 0.0.0.0
-       unknown field type (0x1a), value length: 12 bytes: 
-         0x0000:  0000 0001 0000 0000 ffff ffff
+       Power available (0x1a), value length: 12 bytes: reqid 0, mgmtid 1, pwravail 0 mW 4294967295 mW
     3  03:00:41.163180 00:19:2f:a7:b2:8d > 01:80:c2:00:00:0e, ethertype LLDP (0x88cc), length 296: LLDP, length 282
        Chassis ID TLV (1), length 7
          Subtype MAC address (4): 00:19:2f:a7:b2:8d
        AVVID trust bitmap (0x12), value length: 1 byte: 0x00
        AVVID untrusted ports CoS (0x13), value length: 1 byte: 0x00
        Management Addresses (0x16), value length: 13 bytes: IPv4 (1) 0.0.0.0
-       unknown field type (0x1a), value length: 12 bytes: 
-         0x0000:  0000 0001 0000 0000 ffff ffff
+       Power available (0x1a), value length: 12 bytes: reqid 0, mgmtid 1, pwravail 0 mW 4294967295 mW
     8  03:01:39.211811 00:19:2f:a7:b2:8d > 01:00:0c:cc:cc:cc, 802.3, length 378: LLC, dsap SNAP (0xaa) Individual, ssap SNAP (0xaa) Command, ctrl 0x03: oui Cisco (0x00000c), pid CDP (0x2000), length 370: CDPv2, ttl: 180s, checksum: 0x971c (unverified), length 370
        Device-ID (0x01), value length: 2 bytes: 'S2'
        Version String (0x05), value length: 190 bytes: 
        AVVID trust bitmap (0x12), value length: 1 byte: 0x00
        AVVID untrusted ports CoS (0x13), value length: 1 byte: 0x00
        Management Addresses (0x16), value length: 13 bytes: IPv4 (1) 0.0.0.0
-       unknown field type (0x1a), value length: 12 bytes: 
-         0x0000:  0000 0001 0000 0000 ffff ffff
+       Power available (0x1a), value length: 12 bytes: reqid 0, mgmtid 1, pwravail 0 mW 4294967295 mW
     9  03:01:40.932913 00:19:2f:a7:b2:8d > 01:80:c2:00:00:0e, ethertype LLDP (0x88cc), length 296: LLDP, length 282
        Chassis ID TLV (1), length 7
          Subtype MAC address (4): 00:19:2f:a7:b2:8d