I'm trying to use an existing dhcpd
to autoconfigure Raritan networked PDUs. This works roughly like PXE booting: there are additional DHCP options that direct the device to fetch a config file via TFTP. However, it uses vendor DHCP options to do this.
I have defined the option space, and a new class for the PDUs. I can see that my class is being matched (I set the DNS and domain-name differently inside the class, and those options are sent). However, the vendor-specific options are not sent (checked with dhcpdump
). The server has no problem with the config though (that it logs anyway).
What can cause it to not send vendor options?
set vendor-string = option vendor-class-identifier;
option space RARITAN code width 1 length width 1 hash size 3;
option RARITAN.pdu-tftp-server code 1 = ip-address;
option RARITAN.pdu-update-control-file code 2 = text;
option RARITAN.pdu-update-magic code 3 = text;
class "PDUs" {
match if option vendor-class-identifier = "Raritan PDU 1.0";
vendor-option-space RARITAN;
option vendor-class-identifier "Raritan PDU 1.0";
option domain-name-servers 1.1.1.1;
option domain-name "pdu.net";
option RARITAN.pdu-tftp-server 10.251.0.9;
option RARITAN.pdu-update-control-file "raritan-update.cfg";
option RARITAN.pdu-update-magic "20180822-0005";
}
Nothing in any of the existing scopes uses vendor-option-space
, so I don't think there are any conflicts there.