[Kea-users] Option 43 problems

Michael Schwartzkopff ms at sys4.de
Sun Feb 5 14:21:32 UTC 2023


Hi,


I want to implement an option 43 string in the answer of the dhcp 
server. especially wand to implement Cisco openpnp as defined here: 
https://developer.cisco.com/site/open-plug-n-play/learn/learn-open-pnp-protocol/ 



The dhcp server should return the string "5A1N;K4;B3;I192.168.100.10".


In ISC dhcpd the following config works:

option space CISCOPNP;
option CISCOPNP.pnpserver code 43 = string;
class "ciscopnp" {
   match if option vendor-class-identifier = "ciscopnp";
   option vendor-class-identifier "ciscopnp";
   vendor-option-space CISCOPNP;
   option CISCOPNP.pnpserver = "5A1D;K4;B2;I192.168.100.10";
}


In kea I read a lot of doc, but I was not able to configure the server 
correctly.


"Dhcp4": {
   "option-def": [
     {
       "name": "openpnp",
       "code": 5,
       "space": "vendor-encapsulated-options-space",
       "type": "string",
       "array": false,
       "record-types": "",
       "encapsulate": ""
     }

]

(...)

subnet {

(...)

         "reservations": [
           {
             "hw-address": "00:b8:b3:6b:69:c0",
             "ip-address": "192.168.100.24",
             "hostname":   "staging01",
             "option-data": [
               {
                 "name": "openpnp",
                 "space": "vendor-encapsulated-options-space",
                 "code": 5,
                 "data": "5A1D;K4;B2;I192.168.100.10"
               }
             ]
(...)


But the server does not return the option at all:

DEBUG DHCP4_RESPONSE_DATA [hwtype=1 00:b8:b3:6b:69:c0], 
cid=[00:63:69:73:63:6f:2d:30:30:62:38:2e:62:33:36:62:2e:36:39:63:30:2d:56:6c:31], 
tid=0x1e47: responding with packet DHCPACK (type 5), packet details: 
local_address=192.168.100.10:67, remote_address=255.255.255.255:68, 
msg_type=DHCPACK (5), transid=0x1e47,
options:
   type=001, len=004: 4294967040 (uint32)
   type=006, len=008: 192.0.2.1 192.0.2.2
   type=012, len=009: "staging01" (string)
   type=015, len=011: "example.org" (string)
   type=051, len=004: 3600 (uint32)
   type=053, len=001: 5 (uint8)
   type=054, len=004: 192.168.100.10
   type=058, len=004: 900 (uint32)
   type=059, len=004: 1800 (uint32)
   type=061, len=025: 
00:63:69:73:63:6f:2d:30:30:62:38:2e:62:33:36:62:2e:36:39:63:30:2d:56:6c:31


Any idea what I am missing?


Michael Schwartzkopff



More information about the Kea-users mailing list