Discover packets are dropped by relay agent when inform packets are received before Discover.
On a setup where users are connected to DHCP server via the SRX (acting as a relay agent), if the SRX receives a DHCP INFORM packet before DHCP DISCOVER packet, the SRX will drop the DISCOVER packet; which may lead to a delay in IP assignment. If the SRX receives a DHCPINFORM packet when there is no binding for the client, a temporary client entry is created for INFORM processing which has a stale timeout of 120s.If the server does not respond with an ACK, the relay state machine on the SRX waits for the INFORM ACK to move to the next state and clear the temporary binding.Any new logins during this window are considered invalid as per current design and any DISCOVER messages, received during this time, are dropped until the stale timeout ends for the temporary client entry.
We have two solutions to address this issue:
1. The server should ACK the INFORM message due to which the temporary client entry would get cleared at RELAY and further DISCOVER messages can be processed normally.
2. Extend the 'delete-binding-on-renegotiation' functionality on SRX for temporary client entry created for INFORM processing.
When we have "overrides delete-binding-on-renegotiation" configured in relay mode, and client is in a state where INFORM is relayed to server and waiting for INFORM ACK;If a new DISCOVER is tried by the user machine i.e., relay gets DISCOVER from client, SRX would delete the temporary client entry.This would allow subsequent DISCOVER message to pass immediately, instead of preventing the client login for 120s (stale timeout).