DHCP message processing overload protection

A DHCP message processing overload condition occurs when the arrival rate of DHCP packets is higher than what the applications can process. For example, when inadequate lease times are used in a scaled BNG setup. The SR OS measures and reports DHCP message processing overload and acts upon it by selectively dropping DHCP messages for new connections before DHCP messages for ongoing sessions. When in overload, DHCP messages are dropped in following order (similar for DHCPv6):

When DHCP message drops occurred within the last 5 minute interval, then a ‟DHCP message processing overload detected: true” trap is generated. When no DHCP message drops occurred in the last 5 minutes interval, a ‟DHCP message processing overload detected: false” trap is generated as shown in the following example:

A:pe1# show log event-control "svcmgr" 2572
=======================================================================
Log Events
=======================================================================
Application
ID#    Event Name                       P   g/s     Logged     Dropped
-----------------------------------------------------------------------
   2572 tmnxSubDhcpOverloadDetected      WA  thr          0           0
=======================================================================

The DHCP message processing overload state can also be checked with the show>subscriber-mgmt>status system command. The following output displays an example.

A:pe1# show subscriber-mgmt status system
===============================================================================
Subscriber Management System Status
===============================================================================
Chassis 1
-------------------------------------------------------------------------------
Memory usage high                                       : No
DHCP message processing overload                        : No
Statistics usage high                                   : No
Number of subscribers using statistics                  : 0

Data-trigger statistics
-------------------------------------------------------------------------------
Packets received                                        : 0
Packets dropped                                         : 0
Packets in queue (actual)                               : 0
Packets in queue (peak)                                 : 0

Bridged Residential Gateway statistics
-------------------------------------------------------------------------------
BRG initialized                                         : 0
BRG operational                                         : 0
BRG in connectivity verification                        : 0
BRG on hold                                             : 0
BRG authenticated by proxy                              : 0

Subscriber VLAN statistics resources
-------------------------------------------------------------------------------
Administrative state                                    : out-of-service
Number of entries                                       : 0
===============================================================================

Statistics for dropped DHCP packets can be displayed and cleared with the tools>dump>dhcp-rx-stats command. The following output displays an example.

A:pe1# tools dump dhcp-rx-stats
===============================================================================
DHCP Received Packet Statistics
===============================================================================
     Type                  Received     Forwarded       Dropped  Dropped(ESM)
-------------------------------------------------------------------------------
IPv4 DISCOVER                     0             0             0             0
     OFFER                        0             0             0             0
     REQUEST                      0             0             0             0
     DECLINE                      0             0             0             0
     ACK                          0             0             0             0
     NAK                          0             0             0             0
     RELEASE                      0             0             0             0
     INFORM                       0             0             0             0
     FORCERENEW                   0             0             0             0
     LEASEQUERY                   0             0             0             0
     LEASEUNASSIGNED              0             0             0             0
     LEASEUNKNOWN                 0             0             0             0
     LEASEACTIVE                  0             0             0             0
     RENEW                        0             0             0             0
-------------------------------------------------------------------------------
IPv6 SOLICIT                      0             0             0             0
     ADVERTISE                    0             0             0             0
     REQUEST                      0             0             0             0
     CONFIRM                      0             0             0             0
     RENEW                        0             0             0             0
     REBIND                       0             0             0             0
     REPLY                        0             0             0             0
     RELEASE                      0             0             0             0
     DECLINE                      0             0             0             0
     RECONFIGURE                  0             0             0             0
     INFO_REQUEST                 0             0             0             0
     RELAY_FORW                   0             0             0             0
     RELAY_REPLY                  0             0             0             0
     LEASEQUERY                   0             0             0             0
     LEASEQUERY_REPLY             0             0             0             0
-------------------------------------------------------------------------------
     Total                        0             0             0             0
-------------------------------------------------------------------------------
Maximum queue length          : 0
Maximum outst pbufs total     : 0
Maximum outst pbufs to client : 0
===============================================================================