Posted on April 9, 2021 3:13 am
 |  Asked by Niranjan Murali
 |  212 views
RESOLVED
0
0
Print Friendly, PDF & Email

Hi Team, I have a 7280SR2-48YC6 router. I have been importing the full routing table from ISP. Is there any minimum system memory required to install the full routing table. My total system memory is 8GB. please clarify.

0
Answered on April 9, 2021 3:18 am

Hi Niranjan,

Thanks for reaching out.

Yes System memory and Routing table are directly related(i.e directly proportional to each other).If a device gets more routes or if a switch is expected to receive Full internet scale routes from ISP then it consumes certain amount of space in Hardware to program these routes in hardware.

You can check the Resource usage and current hardware utilization by issuing "show hardware capacity" which outputs Used entries ,Free entries and also in % for the resources.

Sample Output:

switch(config)#sh hardware capacity
Forwarding Resources Usage

Table Feature Chip Used Used Free Committed Best Case Max High

Entries (%) Entries Entries Entries Watermark

----------------- ----------------- ------------- ---------- -------- ----------- ------------- ------------- ---------------------

Routing Resource1 Jericho 10 0% 2294 0 2304 10

Routing Resource2 Jericho 4 0% 2300 0 2304 4

Routing Resource3 Jericho 20 0% 73708 0 73728 20

Routing V4Hosts 0 0% 163840 0 163840 0

Routing V4Routes 0 0% 786350 0 786432 0

Routing V6Hosts 0 0% 163840 0 163840 0

Routing V6Routes 0 0% 786350 0 786432 0

Also Arista's Flex route feature provides support for the full internet routing table, in hardware, with IP forwarding at Layer 3 and with sufficient headroom for future growth in both IPv4 and IPv6 route scale to more than 2.5 million routes.

You can refer to the below White paper for more details regarding Flex Route feature:

https://www.arista.com/assets/data/pdf/Whitepapers/FlexRoute-WP.pdf

 

Also you can enhance/optimize the storage of Ipv4 routes in routing table by either route expansion/compression feature as stated in below TOI's:

https://eos.arista.com/eos-4-22-0f/optimized-ipv4-route-scale-with-2-to-1-compression/

https://eos.arista.com/eos-4-21-3f/ipv4-route-scale-with-2-to-1-compression-of-routes/

 

With Flex route feature enabled 7280SR2 has a capability to support ~1.3M routes.

There is no need for additional memory requirement on the switch as linux(EOS is linux based) handles system memory well and allocates resources accordingly.

AFAIK  there might not be any way to add additional memory to the switch.

 

Thanks,

Bhavana.

0
Posted by Niranjan Murali
Answered on April 9, 2021 9:31 am

Hi Bhavana,

Thanks for the details.

I have enabled FlexRoute 10 gays ago and I started receiving the below log from yesterday.

SandCounters: %CAPACITY-1-UTILIZATION_HIGH: Routing-V4Routes table utilization is currently at 90%, crossed threshold 90%

I checked the hardware capacity and below is the output.

Table          Feature            Chip                Used             Used                  Free              Committed           Best Case          High
Entries           (%)                 Entries              Entries                Max              Watermark
Entries
----------------- ----------------- ------------- ---------- -------- ----------- ------------- ------------- ---------
LEM                                  Jericho0           709594             90%              76838                    0                   786432               709622
LEM                                  Jericho1           709594             90%               76838                   0                   786432               709622
LEM           MAC                                         13                    0%                76838                   0                   786432                 15
LEM          Mpls                                             0                    0%                 76838                 0                     786432                 0
LEM      V4Mroutes          Jericho0                0                    0%                76839                   0                   131072                 0
LEM      V4Mroutes          Jericho1                0                     0%                76839                   0                  131072                  0

If 7280SR2 can support up to 1.3M routes, It has to write this log only after 1.17M routes.

Can you please help me get rid of this log?

0
Posted by Massimo Magnani
Answered on April 9, 2021 1:28 pm

Hi Niranjan!

I wrote sometime ago an article around flex route, you can find it at the following link:

https://eos.arista.com/dcs-7280sr2k-with-flexroute-a-real-world-use-case/

From your output, it looks like the LEM DB is full at 90% therefore the log is generated.

Can you take a look at the command:

"show platform sand l3 summary" and look for the lines following "Jericho LPM:" and "Lem:"?

Moreover, how does your flexroute config look like? Can you please share it here?

Thanks in advance

Massimo.

0
Posted by Niranjan Murali
Answered on April 9, 2021 4:14 pm

Hi Massimo,

Thanks for the answer.

Below are the requested details.

Jericho Lpm:
Routes: 201563 unprogrammed: 0
Routes6: 1 unprogrammed6: 0
Backlog: 0
TCAM pivots used: 683 Percent free: 70
Buckets used: 16188 rows used: 654 Entries Per Bucket: 12 Percent free: 78

Lem:
IPv4 Host in Lem : disabled
IPv4 Prefix-lengths in Lem: 20 24
IPv4 Routes per prefix-len: [/20]=76033 [/24]=633940
IPv6 Host in Lem : enabled
IPv6 Hosts : 0
IPv6 Prefix-lengths in Lem: None

Ipv6 Host Tcam Status:
Compression Tcam banks : None
Number of host routes : 0
Number of compression map entries: 0

Config - ip hardware fib optimize prefixes profile internet - This is the only line that i added to enable flex route.

Please suggest a way to get rid of the logs.

Thanks.

 

 

1
Posted by Henry Engmann
Answered on April 9, 2021 4:49 pm

Hi Niranjan,

By default, alerts will be triggered at 90% utilization. You can alter the alert threshold with the following command:

(config)#hardware capacity alert table LEM threshold 96     --->> This will set the alarm threshold at 96%

The "no hardware capacity alert table" command disables the alerts and configures a threshold of 0

(config)#no hardware capacity alert table

Please note that there is a bug in earlier EOS versions that will cause the "hardware capacity alert table threshold" configurations to NOT persist after a switch reload. So you will need to reapply the configs anytime you reload the switch. This issue is fixed in EOS version 4.24.2 and above.

https://www.arista.com/en/support/software-bug-portal/bugdetail?bug_id=455936

"hardware capacity alert table threshold" configurations present in the startup config may not be applied after the switch reboots. This causes the capacity alert thresholds to always stay at the default value. The workaround is to reapply the thresholds manually in the CLI.

0
Answered on April 12, 2021 7:45 am

Hi Niranjan,

Thank you for your response.

a)LEM (Longest exact match) is a table that is generally used to store all the host routes (ARP, /32 routes). When we configure Flexroute, we use the table to store prefixes (/20, /24, etc) routes as well in the LEM (before that it gets programmed in LPM).
So LEM is just one table that is used for route optimisation.However this doesn't mean the entire routing table is full (LEM is just one of the tables).
If LEM gets full , further routes will start getting programmed in LPM(Longest Prefix match).

b)From the above "show platform sand l3 summary" output I could see that LPM still has 70% free space:

Jericho Lpm:
Routes: 201563 unprogrammed: 0
Routes6: 1 unprogrammed6: 0
Backlog: 0
TCAM pivots used: 683 Percent free: 70
Buckets used: 16188 rows used: 654 Entries Per Bucket: 12 Percent free: 78

If LEM gets full (100% utilised) , further routes will start getting programmed in LPM which still has free space.(70 % free)

c)LEM is a way of optimising the routes in LPM.LEM lookup happens before LPM:

So as much routes you will have in LEM, you are actually optimising your space. How that works is say you have three prefixes as:

10.1.1.0/24
10.1.2.0/24
10.1.3.0/24

And all the above routes have next hop pointing to 20.1.1.1. In such case the three routes will be programmed as 10.1.0.0/16 (or some other prefix length lesser than 24) with next-hop 20.1.1.1 .
However, if any of the above 3 routes is withdrawn or modified, then 10.1.0.0/16 will get unprogrammed and the routes will get individually programmed in LPM.

So by programming the 3 routes as one route in LEM, we are saving up some space in LPM. If you try to reduce the LEM entries you will end up occupying more entries in LPM because of route expansion.

d)Issuing either of the following commands will not log the warning messages even though if LEM threshold reaches 100%.
switch(conf)#hardware capacity alert table LEM threshold 0
(or)
switch(conf)#no hardware capacity alert table LEM threshold

The above commands disable the alert/warning messages for LEM table alone.

 

Thanks,

Bhavana.

0
Posted by Niranjan Murali
Answered on April 12, 2021 9:27 am

Hi Bhavana,

Thanks for the details. It is really helpful.

I was afraid since the logs contain " Routing-V4Routes table" So I thought the routing table is almost full. Now I can understand that the logs meant the LEM table and I also got the command to disable/enable the LEM threshold-related logs.

All the above answers were really helpful. Thanks.

Post your Answer

You must be logged in to post an answer.