I am trying to understand memory consumtion for BGP routes. So the memory used would be between ip RIB,CEF, and BGP RIB.
In the output below what does "59 path entries" refer to. I am trying to understand the difference between network entries and path entries. Network appears to be the total unique prefixes in the BGP RIB but path entries is always a higher value? What is this and the meaning of the different line items taking up memory. I have looked at the cisco command reference and still don't quite get the path entries?
BGP router identifier 172.16.1.1, local AS number 100
BGP table version is 199, main routing table version 199
37 network entries using 2850 bytes of memory
59 path entries using 5713 bytes of memory
18 BGP path attribute entries using 936 bytes of memory
>Network appears to be the total unique prefixes in the BGP RIB but path entries is always a higher value?
If you are running iBGP and using route reflectors, the route reflectors will have double amount of memory as they need to contain full picture of the BGP RIB, and the router reflector clients will typically have less amount of memory used than the network entries; however, if you have multiple paths and not using route reflectors, the path entries can contain more memory than the network entries.
>In the output below what does "59 path entries" refer to
Out of the 37 network entries, there are 59 path entries
This is a result from multipathing (Having multiple paths to the same destination; an additional network entry is not needed as it already exists, an additional path(s) exists)
>What is this and the meaning of the different line items taking up memory.
+network entries = Unique prefixes ( For one prefix, this is typically 120 Bytes, this is also dependent on the IOS version as well)
+path entries = Total paths per prefix (This is typically 52 bytes)
+path attribute = (as-path, communities, extended communities, etc)
BGP path attribute takes up about 52 bytes per path attribute (assuming default attributes; this will vary depending on the number of attributes [as-path, communities, extended communities, etc]).
If you are running iBGP and using route reflectors, the route reflectors will have double amount of memory as they need to contain full picture of the BGP RIB, and the router reflector clients will typically have less amount of memory used than the network entries; however, if you have multiple paths and not using route reflectors, the path entries can contain more memory than the network entries.
>In the output below what does "59 path entries" refer to
Out of the 37 network entries, there are 59 path entries
This is a result from multipathing (Having multiple paths to the same destination; an additional network entry is not needed as it already exists, an additional path(s) exists)
>What is this and the meaning of the different line items taking up memory.
+network entries = Unique prefixes ( For one prefix, this is typically 120 Bytes, this is also dependent on the IOS version as well)
+path entries = Total paths per prefix (This is typically 52 bytes)
+path attribute = (as-path, communities, extended communities, etc)
BGP path attribute takes up about 52 bytes per path attribute (assuming default attributes; this will vary depending on the number of attributes [as-path, communities, extended communities, etc]).
Billy