Struggling with classes not work

Thomas Markwalder tmark at
Tue Jan 5 12:33:27 UTC 2021

Hi Mark:

I suspect Simon's hunch is correct, the vendor identifier may actually 
be longer than "Mips_boot".  I just tried this configuration snippet and 
it works fine:

class "Mips_boot" {
     match if (option vendor-class-identifier = "Mips_boot");
     log (info,"Devboot");

subnet netmask {
     pool {

I get the log statement and the client gets next-server.   If there are 
additional bytes after "Mips_boot" which you do not care about you can 
use substr:

match if substring (option vendor-class-identifier, 0, 9) = "Mips_boot";

On 1/5/21 7:22 AM, Simon Hobson wrote:
> Mark Mc Nicholas <markmcn at> wrote:
>> Hey Simon,
>> Thanks for the suggestion,
>> I've just tried a very quick check changing the match statement to " match if vendor-class-identifier = "Mips_boot";"
>> however from a very quick glance the result looked the same as the device didn't boot and I saw no log lines "Devboot" on the console.
> One other thing to check is EXACTLY what the value is that you are testing for - in particular, look at a hex dump of the packet (or a decoded version of it). I've been caught out with things like trailing nulls, so it's 6 bytes of "value"0x00 not five bytes of "value" and the matching in dhcpd is very precise on this - they don't match.
> Simon
> _______________________________________________
> ISC funds the development of this software with paid support subscriptions. Contact us at for more information.
> dhcp-users mailing list
> dhcp-users at

More information about the dhcp-users mailing list