eigrp

EIGRP external route AD manipulation


The "distance" command is used to modify Administrative Distance of specific routes:

distance distance ip-address wildcard-mask [ip-standard-acl | ip-extended-acl | access-list-name]


Look at the topology:


cisco_diamond

IP addressing as usual: 10.0.xy.x - 10.0.xy.y where xLoopbacks x.x.x.x

EIGRP is configured on all interfaces an loopback, except on R3 where L10 is redistributed in EIGRP.

On R1 we have two routes to R3's L0:

D       3.3.3.3 [90/158720] via 10.0.14.4, 00:14:42, FastEthernet0/1
[90/158720] via 10.0.12.2, 00:14:42, FastEthernet0/0


We can manipulate both metric and administrative distance to prefer the path through R4. Let's do AD:

R1(config)#access-list 3 permit 3.3.3.3 0.0.0.0
R1(config)#router eigrp 1
R1(config-router)#distance 91 10.0.12.2 0.0.0.0 3


Now on R1 we have only the route through R4 to reach R3 L0, since it has a better AD:

D       3.3.3.3 [90/158720] via 10.0.14.4, 00:00:23, FastEthernet0/1


On R1 we have two routes to read R3 L10, that is redistributed in EIGRP by R3, the distance is 170 since it's an external route:

D EX    33.33.33.33 [170/158720] via 10.0.14.4, 00:00:23, FastEthernet0/1
[170/158720] via 10.0.12.2, 00:00:23, FastEthernet0/0


Let's to the same, set AD of the route through R2:

R1(config)#access-list 33 permit 33.33.33.33 0.0.0.0
R1(config)#router eigrp 1
R1(config-router)#distance 171 10.0.12.2 0.0.0.0 33


Verify the route on R1:

D EX    33.33.33.33 [170/158720] via 10.0.14.4, 00:00:01, FastEthernet0/1
[170/158720] via 10.0.12.2, 00:00:01, FastEthernet0/0


Surprise: nothing changed!

We can check the sintax, acl, everything is configured fine, but it does not work. That is the behaviour of EIGRP, it does not change the AD for specific external routes.

Yes we can still use the "distance eigrp" command, but since it changes the AD of all internal and external routes, it makes no difference for preferring a route over another.

We have at least two choices to prefer the path through R4: filter the route on R1 on interface F0/0 or apply an offset to the route on the same interface. The second solution is better by design, since we have a backup route to reach 33.33.33.33 but as usual, do whatever the lab asks.

Let's apply the offset list:

R1(config)#router eigrp 1
R1(config-router)#offset-list 33 in 1000 f0/0


Verify routing table on R1:

D EX    33.33.33.33 [170/158720] via 10.0.14.4, 00:01:03, FastEthernet0/1


Verify EIGRP topology:

P 33.33.33.33/32, 1 successors, FD is 158720
via 10.0.14.4 (158720/156160), FastEthernet0/1
via 10.0.12.2 (159720/156160), FastEthernet0/0


Remove the offset:

R1(config)#router eigrp 1
R1(config-router)#no offset-list 33 in 1000 f0/0


Now we filter route to 33.33.33.33 through R1:

R1(config)#access-list 34 deny 33.33.33.33 0.0.0.0
R1(config)#access-list 34 permit any
R1(config)#router eigrp 1
R1(config-router)# distribute-list 34 in FastEthernet0/0


Now on R1 the route is not even in EIGRP topology:

R1#sh ip eigrp topology
P 33.33.33.33/32, 1 successors, FD is 158720
via 10.0.14.4 (158720/156160), FastEthernet0/1



EIGRP Metric


How to calculate EIGRP metric? The formula on Doc-CD is quite confusing.

Default values are K1 (bandwidth) = 1 and K3 (delay) = 1

Let's take route to 1.1.1.1 as example:


R11#sh ip eigrp topology 1.1.1.1/32
EIGRP-IPv4 Topology Entry for AS(1)/ID(11.11.11.11) for 1.1.1.1/32
State is Passive, Query origin flag is 1, 2 Successor(s), FD is 2297856
Descriptor Blocks:
10.0.1.1 (Serial1/1), from 10.0.1.1, Send flag is 0x0
Composite metric is (2297856/128256), route is Internal
Vector metric:
Minimum bandwidth is 1544 Kbit
Total delay is 25000 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
Originating router is 1.1.1.1


The vaules used to calculate metric are:

BW 1544
Delay 25000


The "simplified" formula is:

256 * [ (10ˆ7 / BW) + (Delay / 10) ]

so in our case:

256 * [ 10000000 / 1544 + 25000 / 10 ] = 2.297.856

Check the output above, the values match.

This IPEXPERT blog post explains very well EIGRP metric calculation and unequal cost load balancing: LINK


SoO and EIGRP


Eigrp SoO can be quite difficult to understand, a great INE post HERE can explain some concepts.

Here's a summary for self-reference:

- set SoO extended community on PE routers interfaces towards CE


route-map SOO
set extcomm soo 100:1
inte f0/0
ip vrf sitemap SOO



- verify in EIGRP topology:


R2#sh ip eigrp topology 3.3.3.3/32
IP-EIGRP (AS 10): Topology entry for 3.3.3.3/32
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 409600
Routing Descriptor Blocks:
10.0.23.3 (FastEthernet0/1), from 10.0.23.3, Send flag is 0x0
Composite metric is (409600/128256), Route is Internal
Vector metric:
Minimum bandwidth is 10000 Kbit
Total delay is 6000 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
10.0.25.5 (FastEthernet0/0), from 10.0.25.5, Send flag is 0x0
Composite metric is (435200/409600), Route is Internal
Vector metric:
Minimum bandwidth is 10000 Kbit
Total delay is 7000 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 2
Extended Community: SoO:4:4


- If required apply the sitemap on CE to CE link (can cause issues, check the post)