This article explains why "cache limit reached" messages are seen on MX Series routers even though the ARP cache limit threshold value may not have been reached.
The default ARP cache limit is as follows:
show system statistics arp 75000 Max System ARP nh cache limit 59840 Max Public ARP nh cache limit 200 Max IRI ARP nh cache limit 14960 Max Management intf ARP nh cache limit
Now let's say that we change the default value to 200000.
set system arp-system-cache-limit 2000000 commit
show system statistics arp 2000000 Max System ARP nh cache limit 1599840 Max Public ARP nh cache limit >>> 80% of the Maximum System ARP nh cache limit is given for the user (approx 160k). 200 Max IRI ARP nh cache limit 399960 Max Management intf ARP nh cache limit user@host> show arp | count Count: 134231 lines >>>>>>> Current ARP entries
However, the following log messages are seen even when the ARP entry is seen to be below the Max Public ARP nh cache limit.
Feb 4 06:19:12.361 2020 router kernel: Public intf soft (80%) arp nh cache limit reached Feb 4 06:24:12.362 2020 router kernel: Public intf soft (80%) arp nh cache limit reached. Feb 4 06:29:12.369 2020 router kernel: Public intf soft (80%) arp nh cache limit reached. Feb 4 06:34:12.545 2020 router kernel: Public intf soft (80%) arp nh cache limit reached.
Max Public ARP nh cache limit is the ARP limit for users. When ARP entries cross 80% of 160K (128K) in the above example, the log messages shown above will be observed.
arp-system-cache-limit can be set as per user requirement. However, users need to remember that the system starts logging "cache limit reached" messages when 80% of the Max Public ARP nh cache limit is reached.
arp-system-cache-limit
For more information about configuring ARP cache limit, see Example: Configuring ARP Cache Protection .
2022-08-09: Article reviewed for accuracy; minor non-technical edits; article valid and relevant.