]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Merge pull request #574 from elear/master
authorGuy Harris <[email protected]>
Sat, 14 Jan 2017 03:57:07 +0000 (19:57 -0800)
committerGitHub <[email protected]>
Sat, 14 Jan 2017 03:57:07 +0000 (19:57 -0800)
Updated Pull Request for Manufacturer Usage Descriptions

13 files changed:
oui.c
oui.h
print-bootp.c
print-dhcp6.c
print-lldp.c
tests/TESTLIST
tests/dhcp-mud.out [new file with mode: 0644]
tests/dhcp-mud.pcap [new file with mode: 0644]
tests/dhcpv6-mud.out [new file with mode: 0644]
tests/dhcpv6-mud.pcap [new file with mode: 0644]
tests/lldp_mudurl-v.out [new file with mode: 0644]
tests/lldp_mudurl-vv.out [new file with mode: 0644]
tests/lldp_mudurl.pcap [new file with mode: 0644]

diff --git a/oui.c b/oui.c
index d00e7c5b0f6390c163b23516538f0e4279decdeb..1750799b6c85c1492d3ee2b83d770a8f2c2864d7 100644 (file)
--- a/oui.c
+++ b/oui.c
@@ -26,6 +26,7 @@
 const struct tok oui_values[] = {
     { OUI_ENCAP_ETHER, "Ethernet" },
     { OUI_CISCO, "Cisco" },
+    { OUI_IANA, "IANA"   },
     { OUI_NORTEL, "Nortel Networks SONMP" },
     { OUI_CISCO_90, "Cisco bridged" },
     { OUI_RFC2684, "Ethernet bridged" },
diff --git a/oui.h b/oui.h
index 4a983ecd3de8891166e7b87d4d2a29b7ede75dff..d2fb4b209e7bcb97dbb0777cbf8409a2923432f2 100644 (file)
--- a/oui.h
+++ b/oui.h
@@ -18,6 +18,7 @@ extern const struct tok smi_values[];
 
 #define OUI_ENCAP_ETHER 0x000000        /* encapsulated Ethernet */
 #define OUI_CISCO       0x00000c        /* Cisco protocols */
+#define OUI_IANA        0x00005E       /* IANA */
 #define OUI_NORTEL      0x000081        /* Nortel SONMP */
 #define OUI_CISCO_90    0x0000f8        /* Cisco bridging */
 #define OUI_RFC2684     0x0080c2        /* RFC 2427/2684 bridged Ethernet */
index d16bd9db854d96bf378b6df9c85aff3d3a469738..d6be1d5b631a509f6067adce944713850d076b4e 100644 (file)
@@ -212,8 +212,9 @@ struct bootp {
 #define        TAG_CLIENT_GUID         ((uint8_t)  97)
 #define        TAG_LDAP_URL            ((uint8_t)  95)
 #define        TAG_6OVER4              ((uint8_t)  96)
-#define        TAG_PRINTER_NAME        ((uint8_t) 100)
-#define        TAG_MDHCP_SERVER        ((uint8_t) 101)
+/* RFC 4833, TZ codes */
+#define        TAG_TZ_PCODE            ((uint8_t) 100)
+#define        TAG_TZ_TCODE            ((uint8_t) 101)
 #define        TAG_IPX_COMPAT          ((uint8_t) 110)
 #define        TAG_NETINFO_PARENT      ((uint8_t) 112)
 #define        TAG_NETINFO_PARENT_TAG  ((uint8_t) 113)
@@ -221,6 +222,7 @@ struct bootp {
 #define        TAG_FAILOVER            ((uint8_t) 115)
 #define        TAG_EXTENDED_REQUEST    ((uint8_t) 126)
 #define        TAG_EXTENDED_OPTION     ((uint8_t) 127)
+#define TAG_MUDURL              ((uint8_t) 161)
 
 /* DHCP Message types (values for TAG_DHCP_MESSAGE option) */
 #define DHCPDISCOVER   1
@@ -519,13 +521,14 @@ static const struct tok tag2str[] = {
        { TAG_CLIENT_GUID,      "bGUID" },      /* XXX 'b' */
        { TAG_LDAP_URL,         "aLDAP" },
        { TAG_6OVER4,           "i6o4" },
-       { TAG_PRINTER_NAME,     "aPRTR" },
-       { TAG_MDHCP_SERVER,     "bMDHCP" },     /* XXX 'b' */
+       { TAG_TZ_PCODE,         "aPOSIX-TZ" },
+       { TAG_TZ_TCODE,         "aTZ-Name" },
        { TAG_IPX_COMPAT,       "bIPX" },       /* XXX 'b' */
        { TAG_NETINFO_PARENT,   "iNI" },
        { TAG_NETINFO_PARENT_TAG, "aNITAG" },
        { TAG_URL,              "aURL" },
        { TAG_FAILOVER,         "bFAIL" },      /* XXX 'b' */
+       { TAG_MUDURL,           "aMUD-URL" },
        { 0, NULL }
 };
 /* 2-byte extended tags */
index 05ca6c4fde00c580b1661a1a0aa9360e2b142ffb..4b4ee7a8874da2470ad09ba5f6c9405f1d8cc8d3 100644 (file)
@@ -194,6 +194,7 @@ struct dhcp6_relay {
 #  define DH6OPT_NTP_SUBOPTION_MC_ADDR 2
 #  define DH6OPT_NTP_SUBOPTION_SRV_FQDN 3
 #define DH6OPT_AFTR_NAME 64
+#define DH6OPT_MUDURL 112
 
 static const struct tok dh6opt_str[] = {
        { DH6OPT_CLIENTID,           "client-ID"            },
@@ -244,6 +245,7 @@ static const struct tok dh6opt_str[] = {
        { DH6OPT_LQ_CLIENT_LINK,     "LQ-client-link"       },
        { DH6OPT_NTP_SERVER,         "NTP-server"           },
        { DH6OPT_AFTR_NAME,          "AFTR-Name"            },
+       { DH6OPT_MUDURL,             "MUD-URL"              },
        { 0, NULL }
 };
 
@@ -740,6 +742,20 @@ dhcp6opt_print(netdissect_options *ndo,
                        }
                        ND_PRINT((ndo, ")"));
                        break;
+               case DH6OPT_NEW_POSIX_TIMEZONE: /* all three of these options */
+               case DH6OPT_NEW_TZDB_TIMEZONE:  /* are encoded similarly */
+               case DH6OPT_MUDURL:             /* although GMT might not work */
+                       if ( optlen < 5 ) {
+                         ND_PRINT((ndo," ?)"));
+                         break;
+                       }
+                       tp=(u_char *) (dh6o + 1);
+                       ND_PRINT((ndo,"="));
+                       fn_printn(ndo,tp,(int) optlen,NULL);
+                       ND_PRINT((ndo,")"));
+                       break;
+                   
+
                default:
                        ND_PRINT((ndo, ")"));
                        break;
index e05394626e2d759ef27cd98163a682d72986dcaa..b62037d90b13ea77b0a4f274c1cf9cc557627739 100644 (file)
@@ -601,6 +601,14 @@ static const struct tok lldp_evb_mode_values[]={
 #define LLDP_PRIVATE_8021_SUBTYPE_EVB_LENGTH                      9
 #define LLDP_PRIVATE_8021_SUBTYPE_CDCP_MIN_LENGTH                 8
 
+#define LLDP_IANA_SUBTYPE_MUDURL 1
+
+static const struct tok lldp_iana_subtype_values[] =   {
+  { LLDP_IANA_SUBTYPE_MUDURL, "MUD-URL" },
+  { 0, NULL }
+};
+
+
 static void
 print_ets_priority_assignment_table(netdissect_options *ndo,
                                     const u_char *ptr)
@@ -914,6 +922,40 @@ lldp_extract_latlon(const u_char *tptr)
     return latlon;
 }
 
+/* objects defined in IANA subtype 00 00 5e
+ * (right now there is only one)
+ */
+
+static int
+lldp_private_iana_print(netdissect_options *ndo,
+                        const u_char *tptr, u_int tlv_len)
+{
+    int subtype, hexdump = FALSE;
+
+    if (tlv_len < 8) {
+        return hexdump;
+    }
+    subtype = *(tptr+3);
+
+    ND_PRINT((ndo, "\n\t  %s Subtype (%u)",
+           tok2str(lldp_iana_subtype_values, "unknown", subtype),
+           subtype));
+
+    switch (subtype) {
+    case LLDP_IANA_SUBTYPE_MUDURL:
+      ND_PRINT((ndo,"\n\t  MUD-URL="));
+      fn_printn(ndo,tptr+4,tlv_len-4,NULL);
+      break;
+    default:
+      hexdump=TRUE;
+    }
+    
+    return hexdump;
+}
+
+
+      
 /*
  * Print private TIA extensions.
  */
@@ -1573,6 +1615,9 @@ lldp_print(netdissect_options *ndo,
                 case OUI_IEEE_8023_PRIVATE:
                     hexdump = lldp_private_8023_print(ndo, tptr, tlv_len);
                     break;
+               case OUI_IANA:
+                 hexdump = lldp_private_iana_print(ndo,tptr,tlv_len);
+                   break;
                 case OUI_TIA:
                     hexdump = lldp_private_tia_print(ndo, tptr, tlv_len);
                     break;
index e6113b2c2403b9e88cc102a916ed602f7ef7da5f..4025047b736b0630d08e57482f93bd7258d66298 100644 (file)
@@ -154,6 +154,7 @@ dhcpv6-ia-ta        dhcpv6-ia-ta.pcap       dhcpv6-ia-ta.out        -t -v
 dhcpv6-ntp-server      dhcpv6-ntp-server.pcap  dhcpv6-ntp-server.out   -t -v
 dhcpv6-sip-server-d    dhcpv6-sip-server-d.pcap        dhcpv6-sip-server-d.out -t -v
 dhcpv6-domain-list     dhcpv6-domain-list.pcap dhcpv6-domain-list.out  -t -v
+dhcpv6-mud     dhcpv6-mud.pcap         dhcpv6-mud.out -t -vv
 
 # ZeroMQ/PGM tests
 # ZMTP/1.0 over TCP
@@ -263,6 +264,8 @@ lacp-ev             LACP.pcap               lacp-ev.out             -t -e -v
 lldp_cdp-ev    LLDP_and_CDP.pcap       lldp_cdp-ev.out         -t -e -v
 cdp-v          3560_CDP.pcap           cdp-v.out               -t -v
 udld-v         UDLD.pcap               udld-v.out              -t -v
+lldp_mud-v     lldp_mudurl.pcap        lldp_mudurl-v.out       -t -e -v
+lldp_mud-vv    lldp_mudurl.pcap        lldp_mudurl-vv.out      -t -e -vv
 
 # EIGRP tests
 eigrp1-v       EIGRP_adjacency.pcap    eigrp1-v.out    -t -v
@@ -289,6 +292,7 @@ geneve-tcp  geneve.pcap             geneve-tcp.out  -t "geneve && tcp"
 # DHCP tests
 dhcp-rfc3004   dhcp-rfc3004.pcap       dhcp-rfc3004-v.out      -t -v
 dhcp-rfc5859   dhcp-rfc5859.pcap       dhcp-rfc5859-v.out      -t -v
+dhcp-mud       dhcp-mud.pcap           dhcp-mud.out    -t -vv
 
 # MEDSA tests
 medsa          medsa.pcap              medsa.out       -t
diff --git a/tests/dhcp-mud.out b/tests/dhcp-mud.out
new file mode 100644 (file)
index 0000000..f492746
--- /dev/null
@@ -0,0 +1,36 @@
+IP (tos 0x0, ttl 255, id 9459, offset 0, flags [none], proto UDP (17), length 422)
+    62.12.173.121.67 > 62.12.173.114.67: [udp sum ok] BOOTP/DHCP, Request from b8:27:eb:b8:53:c8, length 394, hops 1, xid 0x68c4847, Flags [none] (0x0000)
+         Client-IP 62.12.173.123
+         Gateway-IP 62.12.173.121
+         Client-Ethernet-Address b8:27:eb:b8:53:c8
+         Vendor-rfc1048 Extensions
+           Magic Cookie 0x63825363
+           DHCP-Message Option 53, length 1: Request
+           Client-ID Option 61, length 7: ether b8:27:eb:b8:53:c8
+           MSZ Option 57, length 2: 1472
+           MUD-URL Option 161, length 54: "https://mudctl.example.com/.well-known/mud/v1/rasbp101"
+           Vendor-Class Option 60, length 45: "dhcpcd-6.11.5:Linux-4.1.18-v7+:armv7l:BCM2709"
+           Hostname Option 12, length 11: "raspberrypi"
+           T145 Option 145, length 1: 1
+           Parameter-Request Option 55, length 16: 
+             Subnet-Mask, Classless-Static-Route, Static-Route, Default-Gateway
+             Domain-Name-Server, Hostname, Domain-Name, BR
+             NTP, Lease-Time, Server-ID, RN
+             RB, POSIX-TZ, TZ-Name, Option 119
+IP (tos 0x0, ttl 64, id 10305, offset 0, flags [DF], proto UDP (17), length 338)
+    62.12.173.114.67 > 62.12.173.121.67: [udp sum ok] BOOTP/DHCP, Reply, length 310, hops 1, xid 0x68c4847, Flags [none] (0x0000)
+         Client-IP 62.12.173.123
+         Your-IP 62.12.173.123
+         Server-IP 62.12.173.114
+         Gateway-IP 62.12.173.121
+         Client-Ethernet-Address b8:27:eb:b8:53:c8
+         Vendor-rfc1048 Extensions
+           Magic Cookie 0x63825363
+           DHCP-Message Option 53, length 1: ACK
+           Server-ID Option 54, length 4: 62.12.173.114
+           Lease-Time Option 51, length 4: 600
+           Subnet-Mask Option 1, length 4: 255.255.255.248
+           Default-Gateway Option 3, length 4: 62.12.173.121
+           Domain-Name-Server Option 6, length 4: 62.12.173.114
+           Domain-Name Option 15, length 19: "ofcourseimright.com"
+           TZ-Name Option 101, length 13: "Europe/Berlin"
diff --git a/tests/dhcp-mud.pcap b/tests/dhcp-mud.pcap
new file mode 100644 (file)
index 0000000..717f019
Binary files /dev/null and b/tests/dhcp-mud.pcap differ
diff --git a/tests/dhcpv6-mud.out b/tests/dhcpv6-mud.out
new file mode 100644 (file)
index 0000000..c447dad
--- /dev/null
@@ -0,0 +1,5 @@
+IP6 (class 0xe0, hlim 255, next-header UDP (17) payload length: 252) 2001:8a8:1006:4:223:ebff:fe10:2c29.547 > 2001:8a8:1006:4:223:54ff:fec2:5702.547: [udp sum ok] dhcp6 relay-fwd (linkaddr=2001:8a8:1006:3:225:84ff:fedb:2380 peeraddr=fe80::ba27:ebff:feb8:53c8 (relay-message (dhcp6 solicit (xid=78244b (client-ID hwaddr/time type 1 time 509769483 b827ebb853c8) (elapsed-time 0) (vendor-class) (rapid-commit) (IA_NA IAID:3954725832 T1:0 T2:0) (Client-FQDN) (MUD-URL=https://mudctl.example.com/.well-known/mud/v1/rasbp101) (reconfigure-accept) (option-request DNS-server DNS-search-list SNTP-servers Client-FQDN opt_82 opt_83))) (interface-ID 00000008...))
+IP6 (class 0xe0, hlim 255, next-header UDP (17) payload length: 252) 2001:8a8:1006:4:223:ebff:fe10:2c29.547 > 2001:8a8:1006:4:223:54ff:fec2:5702.547: [udp sum ok] dhcp6 relay-fwd (linkaddr=2001:8a8:1006:3:225:84ff:fedb:2380 peeraddr=fe80::ba27:ebff:feb8:53c8 (relay-message (dhcp6 solicit (xid=78244b (client-ID hwaddr/time type 1 time 509769483 b827ebb853c8) (elapsed-time 96) (vendor-class) (rapid-commit) (IA_NA IAID:3954725832 T1:0 T2:0) (Client-FQDN) (MUD-URL=https://mudctl.example.com/.well-known/mud/v1/rasbp101) (reconfigure-accept) (option-request DNS-server DNS-search-list SNTP-servers Client-FQDN opt_82 opt_83))) (interface-ID 00000008...))
+IP6 (class 0xe0, hlim 255, next-header UDP (17) payload length: 252) 2001:8a8:1006:4:223:ebff:fe10:2c29.547 > 2001:8a8:1006:4:223:54ff:fec2:5702.547: [udp sum ok] dhcp6 relay-fwd (linkaddr=2001:8a8:1006:3:225:84ff:fedb:2380 peeraddr=fe80::ba27:ebff:feb8:53c8 (relay-message (dhcp6 solicit (xid=78244b (client-ID hwaddr/time type 1 time 509769483 b827ebb853c8) (elapsed-time 287) (vendor-class) (rapid-commit) (IA_NA IAID:3954725832 T1:0 T2:0) (Client-FQDN) (MUD-URL=https://mudctl.example.com/.well-known/mud/v1/rasbp101) (reconfigure-accept) (option-request DNS-server DNS-search-list SNTP-servers Client-FQDN opt_82 opt_83))) (interface-ID 00000008...))
+IP6 (class 0xe0, hlim 255, next-header UDP (17) payload length: 252) 2001:8a8:1006:4:223:ebff:fe10:2c29.547 > 2001:8a8:1006:4:223:54ff:fec2:5702.547: [udp sum ok] dhcp6 relay-fwd (linkaddr=2001:8a8:1006:3:225:84ff:fedb:2380 peeraddr=fe80::ba27:ebff:feb8:53c8 (relay-message (dhcp6 solicit (xid=78244b (client-ID hwaddr/time type 1 time 509769483 b827ebb853c8) (elapsed-time 677) (vendor-class) (rapid-commit) (IA_NA IAID:3954725832 T1:0 T2:0) (Client-FQDN) (MUD-URL=https://mudctl.example.com/.well-known/mud/v1/rasbp101) (reconfigure-accept) (option-request DNS-server DNS-search-list SNTP-servers Client-FQDN opt_82 opt_83))) (interface-ID 00000008...))
+IP6 (class 0xe0, hlim 255, next-header UDP (17) payload length: 252) 2001:8a8:1006:4:223:ebff:fe10:2c29.547 > 2001:8a8:1006:4:223:54ff:fec2:5702.547: [udp sum ok] dhcp6 relay-fwd (linkaddr=2001:8a8:1006:3:225:84ff:fedb:2380 peeraddr=fe80::ba27:ebff:feb8:53c8 (relay-message (dhcp6 solicit (xid=78244b (client-ID hwaddr/time type 1 time 509769483 b827ebb853c8) (elapsed-time 1421) (vendor-class) (rapid-commit) (IA_NA IAID:3954725832 T1:0 T2:0) (Client-FQDN) (MUD-URL=https://mudctl.example.com/.well-known/mud/v1/rasbp101) (reconfigure-accept) (option-request DNS-server DNS-search-list SNTP-servers Client-FQDN opt_82 opt_83))) (interface-ID 00000008...))
diff --git a/tests/dhcpv6-mud.pcap b/tests/dhcpv6-mud.pcap
new file mode 100644 (file)
index 0000000..baa0154
Binary files /dev/null and b/tests/dhcpv6-mud.pcap differ
diff --git a/tests/lldp_mudurl-v.out b/tests/lldp_mudurl-v.out
new file mode 100644 (file)
index 0000000..57ac6ff
--- /dev/null
@@ -0,0 +1,62 @@
+00:23:54:c2:57:02 > 01:80:c2:00:00:0e, ethertype LLDP (0x88cc), length 302: LLDP, length 288
+       Chassis ID TLV (1), length 7
+         Subtype MAC address (4): 00:23:54:c2:57:02
+       Port ID TLV (2), length 7
+         Subtype MAC address (3): 00:23:54:c2:57:02
+       Time to Live TLV (3), length 2: TTL 120s
+       System Name TLV (5), length 28: upstairs.ofcourseimright.com
+       System Description TLV (6), length 92
+         Ubuntu 14.04.5 LTS Linux 3.13.0-106-generic #153-Ubuntu SMP Tue Dec 6 15:45:13 UTC 2016 i686
+       System Capabilities TLV (7), length 4
+         System  Capabilities [Bridge, WLAN AP, Router, Station Only] (0x009c)
+         Enabled Capabilities [WLAN AP] (0x0008)
+       Management Address TLV (8), length 12
+         Management Address length 5, AFI IPv4 (1): 62.12.173.114
+         Interface Index Interface Numbering (2): 2
+       Management Address TLV (8), length 24
+         Management Address length 17, AFI IPv6 (2): 2001:8a8:1006:4:223:54ff:fec2:5702
+         Interface Index Interface Numbering (2): 2
+       Port Description TLV (4), length 4: eth0
+       Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
+         Link aggregation Subtype (3)
+           aggregation status [supported], aggregation port ID 0
+       Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
+         MAC/PHY configuration/status Subtype (1)
+           autonegotiation [supported, enabled] (0x03)
+           PMD autoneg capability [10BASE-T hdx, 10BASE-T fdx, 100BASE-TX hdx, 100BASE-TX fdx, Pause for fdx links, Asym PAUSE for fdx, 1000BASE-T hdx, 1000BASE-T fdx] (0xecc3)
+           MAU type 100BASETX fdx (0x0010)
+       Organization specific TLV (127), length 64: OUI IANA (0x00005e)
+         MUD-URL Subtype (1)
+         MUD-URL=https://imright.mud.example.com/.well-known/mud/v1/vomitv2.0
+       End TLV (0), length 0
+00:23:54:c2:57:02 > 01:80:c2:00:00:0e, ethertype LLDP (0x88cc), length 302: LLDP, length 288
+       Chassis ID TLV (1), length 7
+         Subtype MAC address (4): 00:23:54:c2:57:02
+       Port ID TLV (2), length 7
+         Subtype MAC address (3): 00:23:54:c2:57:02
+       Time to Live TLV (3), length 2: TTL 120s
+       System Name TLV (5), length 28: upstairs.ofcourseimright.com
+       System Description TLV (6), length 92
+         Ubuntu 14.04.5 LTS Linux 3.13.0-106-generic #153-Ubuntu SMP Tue Dec 6 15:45:13 UTC 2016 i686
+       System Capabilities TLV (7), length 4
+         System  Capabilities [Bridge, WLAN AP, Router, Station Only] (0x009c)
+         Enabled Capabilities [WLAN AP] (0x0008)
+       Management Address TLV (8), length 12
+         Management Address length 5, AFI IPv4 (1): 62.12.173.114
+         Interface Index Interface Numbering (2): 2
+       Management Address TLV (8), length 24
+         Management Address length 17, AFI IPv6 (2): 2001:8a8:1006:4:223:54ff:fec2:5702
+         Interface Index Interface Numbering (2): 2
+       Port Description TLV (4), length 4: eth0
+       Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
+         Link aggregation Subtype (3)
+           aggregation status [supported], aggregation port ID 0
+       Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
+         MAC/PHY configuration/status Subtype (1)
+           autonegotiation [supported, enabled] (0x03)
+           PMD autoneg capability [10BASE-T hdx, 10BASE-T fdx, 100BASE-TX hdx, 100BASE-TX fdx, Pause for fdx links, Asym PAUSE for fdx, 1000BASE-T hdx, 1000BASE-T fdx] (0xecc3)
+           MAU type 100BASETX fdx (0x0010)
+       Organization specific TLV (127), length 64: OUI IANA (0x00005e)
+         MUD-URL Subtype (1)
+         MUD-URL=https://imright.mud.example.com/.well-known/mud/v1/vomitv2.0
+       End TLV (0), length 0
diff --git a/tests/lldp_mudurl-vv.out b/tests/lldp_mudurl-vv.out
new file mode 100644 (file)
index 0000000..5564898
--- /dev/null
@@ -0,0 +1,106 @@
+00:23:54:c2:57:02 > 01:80:c2:00:00:0e, ethertype LLDP (0x88cc), length 302: LLDP, length 288
+       Chassis ID TLV (1), length 7
+         Subtype MAC address (4): 00:23:54:c2:57:02
+         0x0000:  0400 2354 c257 02
+       Port ID TLV (2), length 7
+         Subtype MAC address (3): 00:23:54:c2:57:02
+         0x0000:  0300 2354 c257 02
+       Time to Live TLV (3), length 2: TTL 120s
+         0x0000:  0078
+       System Name TLV (5), length 28: upstairs.ofcourseimright.com
+         0x0000:  7570 7374 6169 7273 2e6f 6663 6f75 7273
+         0x0010:  6569 6d72 6967 6874 2e63 6f6d
+       System Description TLV (6), length 92
+         Ubuntu 14.04.5 LTS Linux 3.13.0-106-generic #153-Ubuntu SMP Tue Dec 6 15:45:13 UTC 2016 i686
+         0x0000:  5562 756e 7475 2031 342e 3034 2e35 204c
+         0x0010:  5453 204c 696e 7578 2033 2e31 332e 302d
+         0x0020:  3130 362d 6765 6e65 7269 6320 2331 3533
+         0x0030:  2d55 6275 6e74 7520 534d 5020 5475 6520
+         0x0040:  4465 6320 3620 3135 3a34 353a 3133 2055
+         0x0050:  5443 2032 3031 3620 6936 3836
+       System Capabilities TLV (7), length 4
+         System  Capabilities [Bridge, WLAN AP, Router, Station Only] (0x009c)
+         Enabled Capabilities [WLAN AP] (0x0008)
+         0x0000:  009c 0008
+       Management Address TLV (8), length 12
+         Management Address length 5, AFI IPv4 (1): 62.12.173.114
+         Interface Index Interface Numbering (2): 2
+         0x0000:  0501 3e0c ad72 0200 0000 0200
+       Management Address TLV (8), length 24
+         Management Address length 17, AFI IPv6 (2): 2001:8a8:1006:4:223:54ff:fec2:5702
+         Interface Index Interface Numbering (2): 2
+         0x0000:  1102 2001 08a8 1006 0004 0223 54ff fec2
+         0x0010:  5702 0200 0000 0200
+       Port Description TLV (4), length 4: eth0
+         0x0000:  6574 6830
+       Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
+         Link aggregation Subtype (3)
+           aggregation status [supported], aggregation port ID 0
+         0x0000:  0012 0f03 0100 0000 00
+       Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
+         MAC/PHY configuration/status Subtype (1)
+           autonegotiation [supported, enabled] (0x03)
+           PMD autoneg capability [10BASE-T hdx, 10BASE-T fdx, 100BASE-TX hdx, 100BASE-TX fdx, Pause for fdx links, Asym PAUSE for fdx, 1000BASE-T hdx, 1000BASE-T fdx] (0xecc3)
+           MAU type 100BASETX fdx (0x0010)
+         0x0000:  0012 0f01 03ec c300 10
+       Organization specific TLV (127), length 64: OUI IANA (0x00005e)
+         MUD-URL Subtype (1)
+         MUD-URL=https://imright.mud.example.com/.well-known/mud/v1/vomitv2.0
+         0x0000:  0000 5e01 6874 7470 733a 2f2f 696d 7269
+         0x0010:  6768 742e 6d75 642e 6578 616d 706c 652e
+         0x0020:  636f 6d2f 2e77 656c 6c2d 6b6e 6f77 6e2f
+         0x0030:  6d75 642f 7631 2f76 6f6d 6974 7632 2e30
+       End TLV (0), length 0
+00:23:54:c2:57:02 > 01:80:c2:00:00:0e, ethertype LLDP (0x88cc), length 302: LLDP, length 288
+       Chassis ID TLV (1), length 7
+         Subtype MAC address (4): 00:23:54:c2:57:02
+         0x0000:  0400 2354 c257 02
+       Port ID TLV (2), length 7
+         Subtype MAC address (3): 00:23:54:c2:57:02
+         0x0000:  0300 2354 c257 02
+       Time to Live TLV (3), length 2: TTL 120s
+         0x0000:  0078
+       System Name TLV (5), length 28: upstairs.ofcourseimright.com
+         0x0000:  7570 7374 6169 7273 2e6f 6663 6f75 7273
+         0x0010:  6569 6d72 6967 6874 2e63 6f6d
+       System Description TLV (6), length 92
+         Ubuntu 14.04.5 LTS Linux 3.13.0-106-generic #153-Ubuntu SMP Tue Dec 6 15:45:13 UTC 2016 i686
+         0x0000:  5562 756e 7475 2031 342e 3034 2e35 204c
+         0x0010:  5453 204c 696e 7578 2033 2e31 332e 302d
+         0x0020:  3130 362d 6765 6e65 7269 6320 2331 3533
+         0x0030:  2d55 6275 6e74 7520 534d 5020 5475 6520
+         0x0040:  4465 6320 3620 3135 3a34 353a 3133 2055
+         0x0050:  5443 2032 3031 3620 6936 3836
+       System Capabilities TLV (7), length 4
+         System  Capabilities [Bridge, WLAN AP, Router, Station Only] (0x009c)
+         Enabled Capabilities [WLAN AP] (0x0008)
+         0x0000:  009c 0008
+       Management Address TLV (8), length 12
+         Management Address length 5, AFI IPv4 (1): 62.12.173.114
+         Interface Index Interface Numbering (2): 2
+         0x0000:  0501 3e0c ad72 0200 0000 0200
+       Management Address TLV (8), length 24
+         Management Address length 17, AFI IPv6 (2): 2001:8a8:1006:4:223:54ff:fec2:5702
+         Interface Index Interface Numbering (2): 2
+         0x0000:  1102 2001 08a8 1006 0004 0223 54ff fec2
+         0x0010:  5702 0200 0000 0200
+       Port Description TLV (4), length 4: eth0
+         0x0000:  6574 6830
+       Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
+         Link aggregation Subtype (3)
+           aggregation status [supported], aggregation port ID 0
+         0x0000:  0012 0f03 0100 0000 00
+       Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
+         MAC/PHY configuration/status Subtype (1)
+           autonegotiation [supported, enabled] (0x03)
+           PMD autoneg capability [10BASE-T hdx, 10BASE-T fdx, 100BASE-TX hdx, 100BASE-TX fdx, Pause for fdx links, Asym PAUSE for fdx, 1000BASE-T hdx, 1000BASE-T fdx] (0xecc3)
+           MAU type 100BASETX fdx (0x0010)
+         0x0000:  0012 0f01 03ec c300 10
+       Organization specific TLV (127), length 64: OUI IANA (0x00005e)
+         MUD-URL Subtype (1)
+         MUD-URL=https://imright.mud.example.com/.well-known/mud/v1/vomitv2.0
+         0x0000:  0000 5e01 6874 7470 733a 2f2f 696d 7269
+         0x0010:  6768 742e 6d75 642e 6578 616d 706c 652e
+         0x0020:  636f 6d2f 2e77 656c 6c2d 6b6e 6f77 6e2f
+         0x0030:  6d75 642f 7631 2f76 6f6d 6974 7632 2e30
+       End TLV (0), length 0
diff --git a/tests/lldp_mudurl.pcap b/tests/lldp_mudurl.pcap
new file mode 100644 (file)
index 0000000..49d83a3
Binary files /dev/null and b/tests/lldp_mudurl.pcap differ