Relay agent in Junos evo platform does not correctly perform DHCP relay for clients.
A client gets an address when it broadcasts for a request, from T1 interval onwards unicast responses are filtered, and this results in the agent entering a renewal state.
Ultimately T2 expires, the client gets desperate and starts broadcasting again, and these do successfully get delivered.
This configuration works successfully on junos platforms.
I have set lease time of 600s in lab (T1 at 50% is 300s & T2 at 87.5% is 75s).
labroot@jtac-acx7024-r2010> show dhcp relay binding routing-instance voip_inside
IP address Session Id Hardware address Expires State Interface
10.80.32.1 11 00:12:01:00:00:01 300 BOUND et-0/0/5.12
10.80.32.1 11 00:12:01:00:00:01 299 RENEWING et-0/0/5.12
10.80.32.1 11 00:12:01:00:00:01 151 RENEWING et-0/0/5.12
10.80.32.1 11 00:12:01:00:00:01 76 RENEWING et-0/0/5.12
10.80.32.1 11 00:12:01:00:00:01 599 BOUND et-0/0/5.12
This issue has been resolved via internal PR1829533.
Reason:
When a renew is received on a tunnelled interface, it doesn't have L2 IFL index.
In such cases jdhcpd flags it as mismatch, and the renew is NAKed.
Fix:
Don't consider the L2 interface, if it is not populated by PFE.
Resolved In:
23.4R2-S4-J24-EVO evo:24.4R1-EVO evo:25.1R1-EVO