I have written a custom DHCP server intended for the provisioning of SIP handsets. When tested locally (with broadcast requests), it works perfectly, but when used via a relay agent, the DHCPOFFER messages are not being forwarded from the relay to the client (the DHCPDISCOVER messages arrive at the server just fine).
I have absolutely no idea why this is. I have eliminated the router as the cause by testing it with several different networks and I can only assume that the problem is due to the contents of the DHCPOFFER message. Is there a specific way in which these need to be different from a normal broadcast response in order to be accepted?
I've checked the flags, giaddr, hops, lease time (option 51), tried ignoring and echoing option 82, you name it - makes no difference.