[c-nsp] EIGRP, variance and offset-list out
Dmitry Sergienko
dmitry.sergienko at gmail.com
Thu Dec 22 11:08:13 EST 2011
Hi all!
I'm observing some behaviour of EIGRP which I don't understand.
According to docs, It looks like incorrect EIGRP desicion whether
insert route into routing table or not.
My goal is to have 2 paths between 2 routes with unequal load
balancing, but main condition is to manage metrics only from one of
the routers.
I'm trying to do this with variance at R1 and offset-list out at R2.
Here is the network scheme description:
There are 2 routers: R1 (7206VXR/NPE-G2) with IP 192.168.255.254 and
R2 (871) with IP 192.168.255.200. IPs at Loopback0 interfaces.
Both of them have 2 IPsec p2p GRE tunnels T1 and T2. T1 at R1 is
connected to T1 at R2, T2 at R1 is connected to T2 at R2.
EIGRP takes in calculation only delay parameter. R2 is a stub
announcing connected and static networks, filtered to 192.168.198.0/24
only network.
So there are 2 paths between R1 and R2, and EIGRP is running over them:
R1#sh ip ei n
IP-EIGRP neighbors for process 10
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 192.168.255.200 Tu2 12 00:13:01 1 1458 0 494
0 192.168.255.200 Tu1 10 00:13:04 4 1458 0 480
R2 announces to R1 network 192.168.198.0:
R1#sh ip ei to 192.168.198.0
IP-EIGRP (AS 10): Topology entry for 192.168.198.0/24
State is Passive, Query origin flag is 1, 2 Successor(s), FD is 512
Routing Descriptor Blocks:
192.168.255.200 (Tunnel2), from 192.168.255.200, Send flag is 0x0
Composite metric is (512/256), Route is External
Vector metric:
Minimum bandwidth is 100 Kbit
Total delay is 20 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1438
Hop count is 1
External data:
Originating router is 192.168.255.200
AS number of route is 0
External protocol is Connected, external metric is 0
Administrator tag is 0 (0x00000000)
192.168.255.200 (Tunnel1), from 192.168.255.200, Send flag is 0x0
Composite metric is (512/256), Route is External
Vector metric:
Minimum bandwidth is 100 Kbit
Total delay is 20 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1438
Hop count is 1
External data:
Originating router is 192.168.255.200
AS number of route is 0
External protocol is Connected, external metric is 0
Administrator tag is 0 (0x00000000)
I set "delay 1" on all tunnel interfaces, so 256 is RD, 512 is FD at
this time. Variance is 2 for R1.
So, according to the manual "How Does Unequal Cost Path Load Balancing
(Variance) Work in IGRP and EIGRP?", I expect a route to be inserted
into routing table if any of paths have composite metric <= 1024 (FD
* variance = 512 * 2).
To proof this I increase delay to 3 at T2 at R1:
R1#sh ip ei top 192.168.198.0
IP-EIGRP (AS 10): Topology entry for 192.168.198.0/24
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 512
Routing Descriptor Blocks:
192.168.255.200 (Tunnel1), from 192.168.255.200, Send flag is 0x0
Composite metric is (512/256), Route is External
Vector metric:
Minimum bandwidth is 100 Kbit
Total delay is 20 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1438
Hop count is 1
External data:
Originating router is 192.168.255.200
AS number of route is 0
External protocol is Connected, external metric is 0
Administrator tag is 0 (0x00000000)
192.168.255.200 (Tunnel2), from 192.168.255.200, Send flag is 0x0
Composite metric is (1024/256), Route is External
Vector metric:
Minimum bandwidth is 100 Kbit
Total delay is 40 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1438
Hop count is 1
External data:
Originating router is 192.168.255.200
AS number of route is 0
External protocol is Connected, external metric is 0
Administrator tag is 0 (0x00000000)
And there are 2 routes in routing table, variance works as expected:
R1#sh ip route 192.168.198.0
Routing entry for 192.168.198.0/24
Known via "eigrp 10", distance 170, metric 512, type external
Redistributing via eigrp 10
Last update from 192.168.255.200 on Tunnel2, 00:04:19 ago
Routing Descriptor Blocks:
* 192.168.255.200, from 192.168.255.200, 00:04:19 ago, via Tunnel1
Route metric is 512, traffic share count is 2
Total delay is 20 microseconds, minimum bandwidth is 100 Kbit
Reliability 255/255, minimum MTU 1438 bytes
Loading 1/255, Hops 1
192.168.255.200, from 192.168.255.200, 00:04:19 ago, via Tunnel2
Route metric is 1024, traffic share count is 1
Total delay is 40 microseconds, minimum bandwidth is 100 Kbit
Reliability 255/255, minimum MTU 1438 bytes
Loading 1/255, Hops 1
Now I return delay to 1 at T2 at R1 interface and set "offset-list 0 out
512 Tunnel2" at router R2 in "router eigrp 10" section:
R1#sh ip ei top 192.168.198.0
IP-EIGRP (AS 10): Topology entry for 192.168.198.0/24
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 512
Routing Descriptor Blocks:
192.168.255.200 (Tunnel1), from 192.168.255.200, Send flag is 0x0
Composite metric is (512/256), Route is External
Vector metric:
Minimum bandwidth is 100 Kbit
Total delay is 20 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1438
Hop count is 1
External data:
Originating router is 192.168.255.200
AS number of route is 0
External protocol is Connected, external metric is 0
Administrator tag is 0 (0x00000000)
192.168.255.200 (Tunnel2), from 192.168.255.200, Send flag is 0x0
Composite metric is (1024/768), Route is External
Vector metric:
Minimum bandwidth is 100 Kbit
Total delay is 40 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1438
Hop count is 1
External data:
Originating router is 192.168.255.200
AS number of route is 0
External protocol is Connected, external metric is 0
Administrator tag is 0 (0x00000000)
And routing table has only one path for 192.168.198.0 :
R1#sh ip route 192.168.198.0
Routing entry for 192.168.198.0/24
Known via "eigrp 10", distance 170, metric 512, type external
Redistributing via eigrp 10
Last update from 192.168.255.200 on Tunnel1, 00:00:34 ago
Routing Descriptor Blocks:
* 192.168.255.200, from 192.168.255.200, 00:00:34 ago, via Tunnel1
Route metric is 512, traffic share count is 1
Total delay is 20 microseconds, minimum bandwidth is 100 Kbit
Reliability 255/255, minimum MTU 1438 bytes
Loading 1/255, Hops 1
Experimentally I've found out that the threshold for offset-list value
should be no more than half of FD minus one:
Setting "offset-list 0 out 255 Tun2" at R2, result at R1:
R1#sh ip route 192.168.198.0
Routing entry for 192.168.198.0/24
Known via "eigrp 10", distance 170, metric 512, type external
Redistributing via eigrp 10
Last update from 192.168.255.200 on Tunnel2, 00:00:01 ago
Routing Descriptor Blocks:
* 192.168.255.200, from 192.168.255.200, 00:00:01 ago, via Tunnel1
Route metric is 512, traffic share count is 3
Total delay is 20 microseconds, minimum bandwidth is 100 Kbit
Reliability 255/255, minimum MTU 1438 bytes
Loading 1/255, Hops 1
192.168.255.200, from 192.168.255.200, 00:00:01 ago, via Tunnel2
Route metric is 767, traffic share count is 2
Total delay is 29 microseconds, minimum bandwidth is 100 Kbit
Reliability 255/255, minimum MTU 1438 bytes
Loading 1/255, Hops 1
And the result with "offset-list 0 out 256 tun2":
R1#sh ip route 192.168.198.0
Routing entry for 192.168.198.0/24
Known via "eigrp 10", distance 170, metric 512, type external
Redistributing via eigrp 10
Last update from 192.168.255.200 on Tunnel1, 00:00:00 ago
Routing Descriptor Blocks:
* 192.168.255.200, from 192.168.255.200, 00:00:00 ago, via Tunnel1
Route metric is 512, traffic share count is 1
Total delay is 20 microseconds, minimum bandwidth is 100 Kbit
Reliability 255/255, minimum MTU 1438 bytes
Loading 1/255, Hops 1
R1#
This effect does not depend on any value of variance. I've tried
several values from 2 to 128, effect is the same.
debug eigrp fsm shows nothing interesting about why variance is
ignored. All values of FD and RD just duplicate the same as shown
above.
Tests were made on IOS 12.4(24)T5, 12.4(11)T2, 12.2(33)SRE2 with the
same result.
Does anyone understands what's going on with EIGRP, variance and
offset-list out?
Below are parts of configs of R1 and R2:
R1
---------------------------
!
interface Loopback0
ip address 192.168.255.254 255.255.255.255
!
interface Tunnel1
ip unnumbered Loopback0
ip tcp adjust-mss 1360
ip summary-address eigrp 10 192.168.192.0 255.255.240.0 5
load-interval 30
delay 1
tunnel source 192.168.3.190
tunnel destination 10.245.200.2
tunnel mode ipsec ipv4
tunnel protection ipsec profile tun
max-reserved-bandwidth 100
!
interface Tunnel2
ip unnumbered Loopback0
ip tcp adjust-mss 1360
ip summary-address eigrp 10 192.168.192.0 255.255.240.0 5
load-interval 30
delay 1
tunnel source 192.168.3.187
tunnel destination 10.245.200.6
tunnel mode ipsec ipv4
tunnel protection ipsec profile tun
max-reserved-bandwidth 100
!
router eigrp 10
variance 2
redistribute connected
redistribute static
passive-interface Loopback0
network 10.245.13.0 0.0.0.3
network 10.245.200.0 0.0.0.255
network 10.245.250.0 0.0.0.255
network 192.168.255.0
metric weights 0 0 0 1 0 0
no auto-summary
eigrp router-id 192.168.255.254
!
---------------------------
R2
---------------------------
!
interface Loopback0
ip address 192.168.255.200 255.255.255.255
!
interface Tunnel1
ip unnumbered Loopback0
ip tcp adjust-mss 1360
load-interval 30
delay 1
tunnel source 10.245.200.2
tunnel destination 192.168.3.190
tunnel mode ipsec ipv4
tunnel protection ipsec profile tun
max-reserved-bandwidth 100
!
interface Tunnel2
ip unnumbered Loopback0
ip tcp adjust-mss 1360
load-interval 30
delay 1
tunnel source 10.245.200.6
tunnel destination 192.168.3.187
tunnel mode ipsec ipv4
tunnel protection ipsec profile tun
max-reserved-bandwidth 100
!
interface Vlan1
description LOCAL_net
ip address 192.168.198.1 255.255.255.0
delay 1
!
router eigrp 10
variance 2
redistribute connected
redistribute static
passive-interface Loopback0
offset-list 0 out 256 Tunnel2
network 10.245.13.0 0.0.0.3
network 10.245.250.0 0.0.0.255
network 192.168.255.0
metric weights 0 0 0 1 0 0
distribute-list 10 out
no auto-summary
eigrp router-id 192.168.255.200
eigrp stub connected static
!
---------------------------
--
Best wishes,
Dmitry Sergienko
More information about the cisco-nsp
mailing list