Description

The article describes a slt memory exhausted issue which has service impact on ECMP links.

 

Symptoms

cannot ping but isis is establish.

On PTX platforms running as Transit Label Switching Routers (LSR) in Multiprotocol Label Switching (MPLS) network, if Intermediate System to Intermediate System (IS-IS) segment routing is enabled, when there are too many Equal-Cost Multipath (ECMP) links (e.g. more than 7) to the same adjacent node for the L-ISIS route entries which have "swap" label action in the mpls.0 table, the Swap Label Table (SLT) memory on the Packet Forwarding Engine (PFE) might get exhausted due to this issue. It will lead to unequal load-balance among ECMP links and might result in traffic loss.
 

Here is an example of the label with ECMP links that might trigger the issue:

user@router> show route table mpls.0 label 101000 | no-more

 mpls.0: 68 destinations, 68 routes (68 active, 0 holddown, 0 hidden)
 + = Active Route, - = Last Active, * = Both

 101000             *[L-ISIS/14] 01:02:30, metric 20
                     >  to 192.168.12.2 via et-0/0/0.1, Swap 101000
..
                        to 192.168.12.35 via et-0/0/0.18, Swap 101000
                        to 192.168.12.37 via et-0/0/0.19, Swap 101000


When the issue happens, the following logs might be seen:

R1 fpc5 For unilist nh, n_nhs is 0
R1 fpc5 creation of new selector for nh 2105035 failed when slt memory is exhausted
R1 fpc5 Creation of handles for nh 2105035 failed

Solution

The problem has been fixed in PR1532390 , resolved in following branches: 
junos:18.2X75-D42 junos:18.2X75-D61 junos:18.2X75-D65 junos:19.2R1-S5-J1 junos:19.2R1-S6 junos:19.2R3-S1 junos:19.3R3-S1 junos:20.1R2 junos:20.2R1-S3 junos:20.2R2 junos:20.2R3 junos:20.3R2 junos:20.3X75-D10 junos:20.4R1

To avoid this issue, please consider reducing the number of ECMP links to the same adjacent node and make sure it is no more than 7.

Modification History

2024-06-03 : Article Created