Description

MX is used as BNG for DHCP end clients. Customer noticed that it took a very long time for the MX to respond to DHCP clients's connection requests after the routing-engine mastership switchover(GRES) .

Symptoms

It is found that sometimes the JDHCPd doesn't process any request after GRES or restarting dhcp-service, no matter MX is doing DHCP-relay or DHCP-Local-Server.

In problem state, "clients waiting to be restored" can be seen when "show dhcp server binding summary", or "show dhcp relay binding summary".

Example as below:

36099 clients, (0 init, 36099 bound, 0 selecting, 0 requesting, 0 renewing, 0 releasing)

19 clients waiting to be restored

 

After about 30 minutes, the service can be restored.

Solution

If there has in-flight DHCP login/logout, once the GRES/jdhcpd restarting is done, there might have few DHCP clients in the "clients waiting to be restarted" state. Only after those clients are restored/purged, the jdhcpd starts to respond to new request.

A hidden command in dhcp-relay stanza can be used to help reduce the waiting time.

set forwarding-options dhcp-relay persistent-stale-timer 300

Note The existing hidden  [forwarding-options dhcp-relay persistent-stale-timer <timer-value>] setting is “atypical” in a few different ways.

  • The setting applies to all DHCPv4 and DHCPv6 relay and local-server application scopes across all routing instances,  but the knob itself can only be explicitly configured in the dhcpv4 relay application scope in the default routing instance. That is,
    • You are not allowed to configure [forwarding-options dhcp-relay dhcpv6 persistent-stale-timer <timer-value>]
    • You are technically allowed to configure a [routing-instance <ri-name> forwarding-options dhcp-relay persistent-stale-timer <timer-value>] setting, but the setting will be ignored.


The point is that the JDHCPd infrastructure supports only one global underlying “persistent-stale-timer” mechanism that is enforced across all dhcp subscribers regardless of address family, relay/local-server application type,  or logical-system/routing-instance.   
 

 

 

Modification History

2024-08-20 : Article Created