Thanks for that answer, but I'm not sure what you are telling me here.
Let me give you some information from Tropos that may help you understand what I am asking for.
With this information maybe you can better see what is happening.
A Tropos mesh radio is actually a router as well, so the DHCP requests are coming to you from a downstream router.
Why do some DHCP servers not work with Tropos routers?
Tropos Metro Mesh routers are Layer 3 devices and as such, we do not forward broadcast packets. This includes DHCP broadcasts.
Whenever a client associates to a Tropos router, the client will send out a DHCP broadcast Discovery packet. The Tropos Router will then forward this Discovery packet as a DHCP Relay Unicast request to its upstream Tropos Gateway, the Gateway will forward the unicast request to the DHCP server. The problem arises if 1) the DHCP server responds to this DHCP Discovery with a broadcast offer, or 2) the DHCP server responds to the Tropos gateway that forwarded the request rather than the giaddr (the IP of the node where the client is associated)
What is a relay agent?
A relay agent acts on behalf of a client and ensures that clients can be served with IP addresses in a routed environment.
The way this process happens is by using a field called giaddr (Relay Agent Addr) in all DHCP packets relayed to the DHCP server. An RFC 2131 (and RFC1532) compliant server SHOULD always unicast the DHCP Reply messages (OFFER & ACK) back to the giaddr if present. Please refer to the above two RFCs for precise details.
Some servers send a unicast reply back to the Gateway (Note: not to the giaddr). We don't like those packets too as the giaddr in the corresponding request packet is typically the wlan0 address of the node that has the client association. Although the relay agent at the gateway sees such packets it does not forward the packet to the node.
Here's an excerpt from RFC 1532 which describes how the DHCP server should respond.
"The server SHOULD next check the 'giaddr' field. If this field is non-zero, the server SHOULD send the BOOTREPLY as an IP unicast to the IP address identified in the 'giaddr' field."
The DHCP RFCs specify that the DHCP server SHOULD respond in a specific way. However, the RFCs do not say MUST, so technically, the DHCP servers are not breaking the RFC. But, we only support DHCP servers that respond with Unicast packets to the IP in the giaddr field