]> The Tcpdump Group git mirrors - tcpdump/commitdiff
DHCPv6: Print the details of the Vendor Class Option
authorFrancois-Xavier Le Bail <[email protected]>
Sat, 13 Jan 2024 18:34:29 +0000 (19:34 +0100)
committerfxlb <[email protected]>
Sun, 14 Jan 2024 08:54:35 +0000 (08:54 +0000)
Print the enterprise number and the vendor-class-data items
(RFC 8415 section 21.16).

Update three test outputs accordingly.

print-dhcp6.c
tests/dhcpv6-mud.out
tests/dhcpv6-vendor-specific-information-vv.out
tests/dhcpv6-vendor-specific-information.out

index c53d98fb08a955cb23e0bda0c96db897acefdb53..bb739c71fb647e5f1f7f3244797a28ac7e2254ca 100644 (file)
@@ -859,6 +859,40 @@ dhcp6opt_print(netdissect_options *ndo,
                        ND_PRINT(")");
                        break;
 
+               case DH6OPT_VENDOR_CLASS:
+                       /* RFC 8415 section 21.16 */
+                       if (optlen < 4) {
+                               ND_PRINT(" ?)");
+                               break;
+                       }
+                       tp = (const u_char *)(dh6o + 1);
+                       remain_len = optlen;
+                       ND_PRINT(" enterprise %u", GET_BE_U_4(tp));
+                       remain_len -= 4;
+                       tp += 4;
+                       while (remain_len >= 2) {
+                               /* there are vendor-class-data */
+                               subopt_len = GET_BE_U_2(tp);
+                               ND_PRINT(" (len %u", subopt_len);
+                               tp += 2;
+                               remain_len -= 2;
+                               if (subopt_len > remain_len) {
+                                       ND_PRINT(" ?");
+                                       break;
+                               }
+                               if (subopt_len > 0) {
+                                       ND_PRINT(" data ");
+                                       nd_printjn(ndo, tp, subopt_len);
+                                       tp += subopt_len;
+                                       remain_len -= subopt_len;
+                               }
+                               ND_PRINT(")");
+                       }
+                       if (remain_len != 0)
+                               ND_PRINT(" ?");
+                       ND_PRINT(")");
+                       break;
+
                case DH6OPT_VENDOR_OPTS:
                        /* RFC 8415 section 21.17 */
                        if (optlen < 4) {
index d501dc437c2cc181de2208d42f51acd85ad2dd61..0df29beba3372cb91ec60bda1a411c49865ca741 100644 (file)
@@ -1,5 +1,5 @@
-    1  12:26:59.227100 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))
-    2  12:27:00.196042 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))
-    3  12:27:02.105740 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))
-    4  12:27:06.006803 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))
-    5  12:27:13.444264 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))
+    1  12:26:59.227100 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 enterprise 40712 (len 45 data dhcpcd-6.11.5:Linux-4.1.18-v7+:armv7l:BCM2709)) (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))
+    2  12:27:00.196042 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 enterprise 40712 (len 45 data dhcpcd-6.11.5:Linux-4.1.18-v7+:armv7l:BCM2709)) (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))
+    3  12:27:02.105740 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 enterprise 40712 (len 45 data dhcpcd-6.11.5:Linux-4.1.18-v7+:armv7l:BCM2709)) (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))
+    4  12:27:06.006803 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 enterprise 40712 (len 45 data dhcpcd-6.11.5:Linux-4.1.18-v7+:armv7l:BCM2709)) (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))
+    5  12:27:13.444264 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 enterprise 40712 (len 45 data dhcpcd-6.11.5:Linux-4.1.18-v7+:armv7l:BCM2709)) (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))
index df4c136c3aa5aab63e3077719b634b693e550750..2b1621b8d1fba3b40fb564a6b282b2ecdc59d7a1 100644 (file)
@@ -1 +1 @@
-    1  23:25:55.136477 IP6 (hlim 64, next-header UDP (17) payload length: 595) fc00:502:411:1::1.546 > fc00:502:400:0:10:32:0:69.547: [udp sum ok] dhcp6 relay-fwd (linkaddr=fc00:502:411:1::1 peeraddr=fc00:502:411:1::1 (interface-ID 54d46ffa109a) (vendor-specific-info enterprise 4491 (code 38 len 4 data 01020300) (code 39 len 6 data 54d46ffa109a)) (relay-message (dhcp6 request (xid=d98c5d (reconfigure-accept) (vendor-class) (option-request vendor-specific-info) (vendor-specific-info enterprise 4491 (code 1 len 16 data 00200021002200250026087a087b0027) (code 2 len 3 data 45434d) (code 3 len 12 data 45434d3a454d54413a455053) (code 4 len 10 data 445247373930382d3533) (code 5 len 3 data 312e30) (code 6 len 26 data 647267373930382d5031352d31342d7633303272313231313161) (code 7 len 5 data 322e332e31) (code 8 len 6 data 353444343646) (code 9 len 7 data 44524737393038) (code 10 len 5 data 436973636f) (code 35 len 122 data 057801010102010303010104010105010106010107010f0801100901000a01010b01180c01010d0200400e02000a0f010110040000000611010014010015013f1601011701011801041901041a01041b01201c01021d01081e01201f0110200110210102220101230100240100250101260200ff270101280100) (code 36 len 6 data 54d46ffa109a)) (client-ID hwaddr type 1 54d46ffa109a) (server-ID hwaddr/time type 1 time 336091266 000c290f1c3b) (IA_NA IAID:1878659226 T1:0 T2:0 (IA_ADDR fc00:502:411:1::31 pltime:27000 vltime:43200) (vendor-specific-info enterprise 4491 (code 32 len 16 data fc000502040000000010003200000069) (code 2170 len 16 data 000200040a200045000100040a200045) (code 3 len 4 data 00000001) (code 37 len 16 data fc000502040000000010003200000069) (code 38 len 4 data 00000000) (code 33 len 13 data 73616d706c65636d362e62696e) (code 34 len 16 data fc000502040000000010003200000069))) (elapsed-time 0))))
+    1  23:25:55.136477 IP6 (hlim 64, next-header UDP (17) payload length: 595) fc00:502:411:1::1.546 > fc00:502:400:0:10:32:0:69.547: [udp sum ok] dhcp6 relay-fwd (linkaddr=fc00:502:411:1::1 peeraddr=fc00:502:411:1::1 (interface-ID 54d46ffa109a) (vendor-specific-info enterprise 4491 (code 38 len 4 data 01020300) (code 39 len 6 data 54d46ffa109a)) (relay-message (dhcp6 request (xid=d98c5d (reconfigure-accept) (vendor-class enterprise 4491 (len 9 data docsis3.0)) (option-request vendor-specific-info) (vendor-specific-info enterprise 4491 (code 1 len 16 data 00200021002200250026087a087b0027) (code 2 len 3 data 45434d) (code 3 len 12 data 45434d3a454d54413a455053) (code 4 len 10 data 445247373930382d3533) (code 5 len 3 data 312e30) (code 6 len 26 data 647267373930382d5031352d31342d7633303272313231313161) (code 7 len 5 data 322e332e31) (code 8 len 6 data 353444343646) (code 9 len 7 data 44524737393038) (code 10 len 5 data 436973636f) (code 35 len 122 data 057801010102010303010104010105010106010107010f0801100901000a01010b01180c01010d0200400e02000a0f010110040000000611010014010015013f1601011701011801041901041a01041b01201c01021d01081e01201f0110200110210102220101230100240100250101260200ff270101280100) (code 36 len 6 data 54d46ffa109a)) (client-ID hwaddr type 1 54d46ffa109a) (server-ID hwaddr/time type 1 time 336091266 000c290f1c3b) (IA_NA IAID:1878659226 T1:0 T2:0 (IA_ADDR fc00:502:411:1::31 pltime:27000 vltime:43200) (vendor-specific-info enterprise 4491 (code 32 len 16 data fc000502040000000010003200000069) (code 2170 len 16 data 000200040a200045000100040a200045) (code 3 len 4 data 00000001) (code 37 len 16 data fc000502040000000010003200000069) (code 38 len 4 data 00000000) (code 33 len 13 data 73616d706c65636d362e62696e) (code 34 len 16 data fc000502040000000010003200000069))) (elapsed-time 0))))
index a9dc1f624f1670d61d76417f0c138e307b7027cc..e927df3a05814fcb475260d867974ad038eed6aa 100644 (file)
@@ -1 +1 @@
-    1  23:25:55.136477 IP6 (hlim 64, next-header UDP (17) payload length: 595) fc00:502:411:1::1.546 > fc00:502:400:0:10:32:0:69.547: [udp sum ok] dhcp6 relay-fwd (linkaddr=fc00:502:411:1::1 peeraddr=fc00:502:411:1::1 (interface-ID 54d46ffa109a) (vendor-specific-info enterprise 4491 (code 38 len 4 data 01020300) (code 39 len 6 data 54d46ffa109a)) (relay-message (dhcp6 request (xid=d98c5d (reconfigure-accept) (vendor-class) (option-request vendor-specific-info) (vendor-specific-info enterprise 4491 (code 1 len 16 data 00200021002200250026...) (code 2 len 3 data 45434d) (code 3 len 12 data 45434d3a454d54413a45...) (code 4 len 10 data 445247373930382d3533) (code 5 len 3 data 312e30) (code 6 len 26 data 647267373930382d5031...) (code 7 len 5 data 322e332e31) (code 8 len 6 data 353444343646) (code 9 len 7 data 44524737393038) (code 10 len 5 data 436973636f) (code 35 len 122 data 05780101010201030301...) (code 36 len 6 data 54d46ffa109a)) (client-ID hwaddr type 1 54d46ffa109a) (server-ID hwaddr/time type 1 time 336091266 000c290f1c3b) (IA_NA IAID:1878659226 T1:0 T2:0 (IA_ADDR fc00:502:411:1::31 pltime:27000 vltime:43200) (vendor-specific-info enterprise 4491 (code 32 len 16 data fc000502040000000010...) (code 2170 len 16 data 000200040a2000450001...) (code 3 len 4 data 00000001) (code 37 len 16 data fc000502040000000010...) (code 38 len 4 data 00000000) (code 33 len 13 data 73616d706c65636d362e...) (code 34 len 16 data fc000502040000000010...))) (elapsed-time 0))))
+    1  23:25:55.136477 IP6 (hlim 64, next-header UDP (17) payload length: 595) fc00:502:411:1::1.546 > fc00:502:400:0:10:32:0:69.547: [udp sum ok] dhcp6 relay-fwd (linkaddr=fc00:502:411:1::1 peeraddr=fc00:502:411:1::1 (interface-ID 54d46ffa109a) (vendor-specific-info enterprise 4491 (code 38 len 4 data 01020300) (code 39 len 6 data 54d46ffa109a)) (relay-message (dhcp6 request (xid=d98c5d (reconfigure-accept) (vendor-class enterprise 4491 (len 9 data docsis3.0)) (option-request vendor-specific-info) (vendor-specific-info enterprise 4491 (code 1 len 16 data 00200021002200250026...) (code 2 len 3 data 45434d) (code 3 len 12 data 45434d3a454d54413a45...) (code 4 len 10 data 445247373930382d3533) (code 5 len 3 data 312e30) (code 6 len 26 data 647267373930382d5031...) (code 7 len 5 data 322e332e31) (code 8 len 6 data 353444343646) (code 9 len 7 data 44524737393038) (code 10 len 5 data 436973636f) (code 35 len 122 data 05780101010201030301...) (code 36 len 6 data 54d46ffa109a)) (client-ID hwaddr type 1 54d46ffa109a) (server-ID hwaddr/time type 1 time 336091266 000c290f1c3b) (IA_NA IAID:1878659226 T1:0 T2:0 (IA_ADDR fc00:502:411:1::31 pltime:27000 vltime:43200) (vendor-specific-info enterprise 4491 (code 32 len 16 data fc000502040000000010...) (code 2170 len 16 data 000200040a2000450001...) (code 3 len 4 data 00000001) (code 37 len 16 data fc000502040000000010...) (code 38 len 4 data 00000000) (code 33 len 13 data 73616d706c65636d362e...) (code 34 len 16 data fc000502040000000010...))) (elapsed-time 0))))