ECMP Handling When IP Route Sharing Is Enabled

The nodes that have ECMP table entries are compressed only if the following conditions are met; otherwise, potential sub-optimal forwarding occurs:
  • The number of ECMP gateways for a given node must match the number of ECMP gateways in its parent node.
  • A given node‘s set of gateways must match its parent‘s set of gateways.

Route Manager‘s Table When IP Route Sharing is Enabled shows how compression is applied for the nodes with ECMP table entries when IP route sharing is enabled. Sample routes with ECMP table entries are taken for illustration. The Reason field in the table provides information about why the compression is applied or not applied for the node.

Table 1. Route Manager‘s Table When IP Route Sharing is Enabled
Prefix Gateways Compressed? Reason
20.0.0.0/8 Gw1: 30.1.10.1, Gw2: 50.1.10.1 NO This is the top node.
20.1.10.0/24 Gw1: 30.1.10.1 NO Number of gateways did not match. This node has only one gateway, while the parent node has two.
20.2.10.0/24 Gw1: 30.1.10.1, Gw2: 60.1.10.1 NO Number of gateways match. But one of the ECMP paths (gateway 60.1.10.1) does not match with its parent‘s ECMP paths.
20.3.10.0/24 Gw1: 30.1.10.1, Gw2: 50.1.10.1 YES Number of gateways matches with its parent. Also all the gateways match with parent.
20.4.10.0/24 Gw1: 30.1.10.1, Gw2: 50.1.10.1 Gw3: 60.1.10.1 NO Number of gateways does not match with its parent.
20.1.10.44/32 Gw1: 30.1.10.1 Gw2: 50.1.10.1 NO Number of gateways did not match. [This node has ECMP table entries, but parent node 20.1.10.0 does not have an ECMP table entry.]

HAL(TCAM)/Kernel Routing Table When IP Route Sharing is Enabled shows only uncompressed routes.

Table 2. HAL(TCAM)/Kernel Routing Table When IP Route Sharing is Enabled
Prefix Gateway
20.0.0.8/16 Gw1: 30.1.10.1, Gw2: 50.1.10.1
20.1.10.0/24 Gw1: 30.1.10.1
20.2.10.0/24 Gw1: 30.1.10.1, Gw2: 60.1.10.1
20.4.10.0/24 Gw1: 30.1.10.1, Gw2: 50.1.10.1 Gw3: 60.1.10.1
20.1.10.44/32 Gw1: 30.1.10.1 Gw2: 50.1.10.1

Sample output is shown below:

* (debug) BD-12804.9 # enable iproute sharing
* (debug) BD-12804.10 # show iproute
Ori Destination      Gateway       Mtr  Flags       VLAN   Duration
#s  Default Route    12.1.10.10    1    UG---S-um--f v1    0d:20h:1m:3s
#s  Default Route    12.1.10.12    1    UG---S-um--f v1    0d:19h:14m:58s
#d  12.1.10.0/24     12.1.10.62    1    U------um--f v1    0d:20h:1m:3s
d   16.1.10.0/24     16.1.10.62    1    -------um--- v16   0d:20h:1m:4s
#d  22.1.10.0/24     22.1.10.62    1    U------um--f v2    0d:20h:1m:4s
#s  33.33.33.0/24    12.1.10.25    1    UG---S-um--f v1    0d:20h:1m:3s
#s  55.0.0.0/8       12.1.10.10    1    UG---S-um--f v1    0d:20h:1m:3s
#s  55.0.0.0/8       22.1.10.33    1    UG---S-um--f v2    0d:20h:1m:3s
#s  55.2.1.1/32      12.1.10.22    1    UG---S-um--f v1    0d:20h:1m:3s
#s  55.5.5.1/32      12.1.10.44    1    UG---S-um--f v1    0d:20h:1m:3s
#s  66.0.0.0/8       12.1.10.12    1    UG---S-um--f v1    0d:20h:1m:3s
#s  66.0.0.0/16      12.1.10.12    1    UG---S-um--c v1    0d:20h:1m:3s
#d  70.1.10.0/24     70.1.10.62    1    U------um--f v7    0d:20h:1m:4s
#s  78.0.0.0/8       12.1.10.10    1    UG---S-um--f v1    0d:20h:1m:3s
#s  79.0.0.0/8       12.1.10.10    1    UG---S-um--c v1    0d:20h:1m:3s
#s  79.0.0.0/8       12.1.10.12    1    UG---S-um--c v1    0d:20h:1m:3s
#s  80.0.0.0/8       12.1.10.10    1    UG---S-um--f v1    0d:20h:1m:3s
#d  80.1.10.0/24     80.1.10.62    1    U------um--f v8    0d:20h:1m:4s
#s  81.0.0.0/8       12.1.10.10    1    UG---S-um--f v1    0d:20h:1m:3s
#s  81.0.0.0/8       12.1.10.12    1    UG---S-um--f v1    0d:20h:1m:3s
#s  81.0.0.0/8       12.1.10.13    1    UG---S-um--f v1    0d:20h:1m:3s
#s  82.0.0.0/8       12.1.10.10    1    UG---S-um--f v1    0d:20h:1m:3s
#s  83.0.0.0/8       12.1.10.10    1    UG---S-um--f v1    0d:20h:1m:3s
#d  91.1.10.0/24     91.1.10.62    1    U------um--f v9    0d:20h:1m:4s
#d  92.1.10.0/24     92.1.10.62    1    U------um--f v10   0d:20h:1m:6s
#d  93.1.10.0/24     93.1.10.62    1    U------um--f v11   0d:20h:1m:6s

Origin(Ori): (b) BlackHole, (be) EBGP, (bg) BGP, (bi) IBGP, (bo) BOOTP
(ct) CBT, (d) Direct, (df) DownIF, (dv) DVMRP, (e1) ISISL1Ext
(e2) ISISL2Ext, (h) Hardcoded, (i) ICMP, (i1) ISISL1 (i2) ISISL2
(is) ISIS, (mb) MBGP, (mbe) MBGPExt, (mbi) MBGPInter, (mp) MPLS Lsp
(mo) MOSPF (o) OSPF, (o1) OSPFExt1, (o2) OSPFExt2
(oa) OSPFIntra, (oe) OSPFAsExt, (or) OSPFInter, (pd) PIM-DM, (ps) PIM-SM
(r) RIP, (ra) RtAdvrt, (s) Static, (sv) SLB_VIP, (un) UnKnown
(*) Preferred unicast route (@) Preferred multicast route
(#) Preferred unicast and multicast route

Flags: (B) BlackHole, (D) Dynamic, (G) Gateway, (H) Host Route
(L) Matching LDP LSP, (l) Calculated LDP LSP, (m) Multicast
(P) LPM-routing, (R) Modified, (S) Static, (s) Static LSP
(T) Matching RSVP-TE LSP, (t) Calculated RSVP-TE LSP, (u) Unicast, (U) Up
(f) Provided to FIB (c) Compressed Route

Mask distribution:
2 default routes               12 routes at length 8
1 routes at length 16           9 routes at length 24
2 routes at length 32

Route Origin distribution:
8 routes from Direct              18 routes from Static

Total number of routes = 26
Total number of compressed routes = 3