I was recently trying to do some tricky things using a DHCP server and the ‘subscriber-id’ option (part of option 82). It turns out that ISC DHCPD doesn’t support this out of the box. There’s two options: recompile the dhcp server, or add support using the config file. Since I don’t really have a decent way to maintain custom compiled versions of software (nor do I want to), adding support via the config file was the way to go.
This is actually pretty straightforward, just add the following to your config file, and use ‘myagent.subscriber-id’ to retrieve the value for it. You shouldn’t have to do any decoding, it’s handled automatically.
option space myagent; option myagent.circuit-id code 1 = text; option myagent.remote-id code 2 = text; option myagent.agent-id code 3 = text; option myagent.DOCSIS-device-class code 4 = unsigned integer 32; option myagent.link-selection code 5 = ip-address; option myagent.subscriber-id code 6 = text; option myagent-encapsulation code 82 = encapsulate myagent;