<div dir="ltr"><div>Hi All, <br></div><div>Apologies if this is an obvious one but I'm new to using classes with isc-dhcpd.</div><div>I'm trying to set up a class to match some dev boards I am working with. <br></div><div>I'm trying to match on the "vendor-class-identifier" option but it's either not working or it's not working as I expected. </div><div>I've created a lab setup with a RaspberryPi as my server for the testing, <br></div><div>For the test setup I'm calling dhcpd from the cli directly and keeping it in the foreground so I can see the output and this makes restarting it quick for this job. <br></div><div>The dev boards use bootp for their boot process the only option I need to set for them is the next-server.</div><div>So I created a class as you can see below which matches on the vendor-class-identifier which I've confirmed is being sent. <br></div><div>But the board never gets the next-server from the class and I never see the log line on the console. <br></div><div>If I please the next server and log line in the subnet it works as expected. <br></div><div>Looking in the lease file I see the vendor-class-identifier is set as expected by the board. <br></div><div>I've had to scrub the mac address of the board so it's just replaced with a placeholder.</div><div>Can anyone please advise am I missing something or is my understanding of classes incorrect (This is very possible) <br></div><div>Thanks for your time <br></div><div>Cheers</div><div>Mark <br></div><div><br></div><div><br></div><div># dhcpd --version<br>isc-dhcpd-4.4.1<br><br><br><b><u>dhcpd.conf</u></b><br>option domain-name "<a href="http://example.org">example.org</a>";<br>option domain-name-servers 8.8.8.8;<br>default-lease-time 600;<br>max-lease-time 7200;<br>allow booting;<br>allow bootp;<br>ddns-update-style none;<br>authoritative;<br>subnet 192.168.20.0 netmask 255.255.255.0 {<br>  range dynamic-bootp 192.168.20.100 192.168.20.150;<br>  option domain-name-servers 198.18.198.18;<br>  option domain-name "<a href="http://blah.domain.ie">blah.domain.ie</a>.";<br>  option routers 192.168.20.1;<br>  default-lease-time 300;<br>  max-lease-time 300;<br>}<br><br>class "Devboot"{<br>        match if option vendor-class-identifier = "Mips_boot";<br>        next-server 192.168.20.10;<br>        log (info,"Devboot");<br>}</div><div><br></div><div><br><u><b>Console Output</b></u><br><br>root@server:/etc/dhcp# dhcpd -4 -f -d -cf /etc/dhcp/dhcpd.conf eth0<br>Internet Systems Consortium DHCP Server 4.4.1<br>Copyright 2004-2018 Internet Systems Consortium.<br>All rights reserved.<br>For info, please visit <a href="https://www.isc.org/software/dhcp/">https://www.isc.org/software/dhcp/</a><br>Config file: /etc/dhcp/dhcpd.conf<br>Database file: /var/lib/dhcp/dhcpd.leases<br>PID file: /var/run/dhcpd.pid<br>Wrote 0 class decls to leases file.<br>Wrote 0 leases to leases file.<br>Listening on LPF/eth0/dc:a6:32:5a:2c:24/<a href="http://192.168.20.0/24">192.168.20.0/24</a><br>Sending on   LPF/eth0/dc:a6:32:5a:2c:24/<a href="http://192.168.20.0/24">192.168.20.0/24</a><br>Sending on   Socket/fallback/fallback-net<br>Server starting service.<br><br>BOOTREQUEST from AA:BB:CC:DD:EE:FF via eth0<br>BOOTREPLY on 192.168.20.100 to AA:BB:CC:DD:EE:FF via eth0<br><br><br><u><b>dhcpd.leases</b></u><br>lease 192.168.20.100 {<br>  starts 1 2021/01/04 22:35:33;<br>  ends never;<br>  cltt 1 2021/01/04 22:35:33;<br>  binding state active;<br>  next binding state free;<br>  rewind binding state free;<br>  dynamic-bootp;<br>  hardware ethernet AA:BB:CC:DD:EE:FF;<br>  set vendor-class-identifier = "Mips_boot";<br></div><div><br></div><div><br></div></div>