Tuesday, April 12, 2011

The Hidden and Undocumented 'EIGRP Too-optimal Routing' Enhancement

We often heard about routing loop and suboptimal routing, I have discovered a new hidden and undocumented EIGRP feature or enhancement yesterday - the EIGRP Too-optimal Routing enhancement.

This feature was first introduced in Cisco IOS 12.4(20)T along with another hidden and undocumented feature - the Enhanced Tunnel Interface Delay enhancement, in which the default delay for tunnel interfaces was tuned from 500000 usec to 50000 usec.

Below shows the output of a Cisco 7200 running the 12.4(20)T releases regarding the the enhancement mentioned above.
Router#sh ver | in IOS|Compiled
Cisco IOS Software, 7200 Software (C7200-IPBASEK9-M), Version 12.4(20)T, RELEASE SOFTWARE (fc3)
Compiled Fri 11-Jul-08 04:22 by prod_rel_team
Router#
Router#sh int FastEthernet0/0 | in DLY
  MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
Router#
Router#sh int Ethernet2/0 | in DLY
  MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
Router#
Router#sh int Serial3/0 | in DLY
  MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
Router#
Router#sh int Loopback0 | in DLY
  MTU 1514 bytes, BW 8000000 Kbit/sec, DLY 5000 usec,
Router#
Router#sh int Tunnel1 | in DLY
  MTU 9132 bytes, BW 100 Kbit/sec, DLY 50000 usec,
Router#
Router#sh ver | in IOS|Compiled
Cisco IOS Software, 7200 Software (C7200-IPBASEK9-M), Version 12.4(20)T6, RELEASE SOFTWARE (fc2)
Compiled Fri 03-Sep-10 13:40 by prod_rel_team
Router#
Router#sh int FastEthernet0/0 | in DLY
  MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
Router#
Router#sh int Ethernet2/0 | in DLY
  MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
Router#
Router#sh int Serial3/0 | in DLY
  MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
Router#
Router#sh int Loopback0 | in DLY
  MTU 1514 bytes, BW 8000000 Kbit/sec, DLY 5000 usec,
Router#
Router#sh int Tunnel1 | in DLY
  MTU 17916 bytes, BW 100 Kbit/sec, DLY 50000 usec,
Router#

As expected, all Cisco IOS releases after the 12.4(20)T releases have the new feature implemented. :-)
Router#sh ver | in IOS|Compiled
Cisco IOS Software, 7200 Software (C7200-IPBASEK9-M), Version 12.4(22)T5, RELEASE SOFTWARE (fc3)
Compiled Wed 28-Apr-10 13:31 by prod_rel_team
Router#
Router#sh int FastEthernet0/0 | in DLY
  MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
Router#
Router#sh int Ethernet2/0 | in DLY
  MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
Router#
Router#sh int Serial3/0 | in DLY
  MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
Router#
Router#sh int Loopback0 | in DLY
  MTU 1514 bytes, BW 8000000 Kbit/sec, DLY 5000 usec,
Router#
Router#sh int Tunnel1 | in DLY
  MTU 17916 bytes, BW 100 Kbit/sec, DLY 50000 usec,
Router#
Router#sh ver | in IOS|Compiled
Cisco IOS Software, 7200 Software (C7200-ADVENTERPRISEK9-M), Version 12.4(24)T5, RELEASE SOFTWARE (fc3)
Compiled Fri 04-Mar-11 06:49 by prod_rel_team
Router#
Router#sh int FastEthernet0/0 | in DLY
  MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
Router#
Router#sh int Ethernet2/0 | in DLY
  MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
Router#
Router#sh int Serial3/0 | in DLY
  MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
Router#
Router#sh int Loopback0 | in DLY
  MTU 1514 bytes, BW 8000000 Kbit/sec, DLY 5000 usec,
Router#
Router#sh int Tunnel1 | in DLY
  MTU 17916 bytes, BW 100 Kbit/sec, DLY 50000 usec,
Router#
Router#sh ver | in IOS|Compiled
Cisco IOS Software, 7200 Software (C7200-ADVENTERPRISEK9-M), Version 15.1(4)M, RELEASE SOFTWARE (fc1)
Compiled Thu 24-Mar-11 19:26 by prod_rel_team
Router#
Router#sh int FastEthernet0/0 | in DLY
  MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
Router#
Router#sh int Ethernet2/0 | in DLY
  MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
Router#
Router#sh int Serial3/0 | in DLY
  MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
Router#
Router#sh int Loopback0 | in DLY
  MTU 1514 bytes, BW 8000000 Kbit/sec, DLY 5000 usec,
Router#
Router#sh int Tunnel1 | in DLY
  MTU 17916 bytes, BW 100 Kbit/sec, DLY 50000 usec,
Router#

Let's have a look on other 12.4 and 12.4T releases.
Router#sh ver | in IOS|Compiled
Cisco IOS Software, 7200 Software (C7200-IS-M), Version 12.4(25e), RELEASE SOFTWARE (fc2)
Compiled Thu 17-Mar-11 00:08 by prod_rel_team
Router#
Router#sh int FastEthernet0/0 | in DLY
  MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
Router#
Router#sh int Ethernet2/0 | in DLY
  MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
Router#
Router#sh int Serial3/0 | in DLY
  MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
Router#
Router#sh int Loopback0 | in DLY
  MTU 1514 bytes, BW 8000000 Kbit/sec, DLY 5000 usec,
Router#
Router#sh int Tunnel1 | in DLY
  MTU 1514 bytes, BW 9 Kbit/sec, DLY 500000 usec,
Router#
Router#sh ver | in IOS|Compiled
Cisco IOS Software, 7200 Software (C7200-IPBASEK9-M), Version 12.4(15)T15, RELEASE SOFTWARE (fc3)
Compiled Tue 08-Mar-11 10:32 by prod_rel_team
Router#
Router#sh int FastEthernet0/0 | in DLY
  MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
Router#
Router#sh int Ethernet2/0 | in DLY
  MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
Router#
Router#sh int Serial3/0 | in DLY
  MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
Router#
Router#sh int Loopback0 | in DLY
  MTU 1514 bytes, BW 8000000 Kbit/sec, DLY 5000 usec,
Router#
Router#sh int Tunnel1 | in DLY
  MTU 1514 bytes, BW 9 Kbit/sec, DLY 500000 usec,
Router#

As expected, the new feature is not being implemented throughout the 12.4 releases.
And... note that the new feature is not implemented on the maintenance release for the 12.4(15)T releases as well.



Let's come back to the main topic.
With the indirect enhancement upon EIGRP due to the introduction of the Enhanced Tunnel Interface Delay enhancement, we will be gaining more hands-on experience in troubleshooting routing loop problems in DMVPN and IPVPN environments with EIGRP as the routing protocol, after replaced a router, upgraded a router, or upgraded the IOS of a router. @_@
In such environments that rely upon Tunnel interfaces heavily, the enhancement upon the delay of Tunnel interfaces greatly influence the metric calculation of EIGRP routes.
EIGRP rely upon the bandwidth and delay by default when calculating the metric.
Routing loops can occur as Cisco routers running different IOS versions with and without the enhancements discussed above treat the network topology differently.

Image excerpt from the CCNP ROUTE Complete Guide 1st Edition

Sorry to say but EIGRP has failed again after my blog post of EIGRP Next Hop, RIPv2 Next Hop, and OSPF Forward Address.

Thanks for reading. :-)
Hope you enjoyed reading as I enjoyed writing this. :-)


20/12/2012 UPDATE:
Cisco actually aware upon this enhancement. :-)

5 comments:

  1. Thank you !! that's Pape Diack.

    ReplyDelete
  2. That's probably not as important for this particular blog, but generally more so... K5 value != MTU... :-)

    ReplyDelete
  3. Good Point! This is the definition that I have for "K5 – Maximum Transmission Unit" for the time being - The smallest MTU along a path. MTU is included in the EIGRP Update packets but was never included in the formula used for metric calculation.

    Let me dig out more. :-)

    ReplyDelete
  4. yeah, K5 != MTU, it is just a 1/0 (on/off) switch in the formula. :-)

    ReplyDelete
  5. Thanks Yap, Whiskey here

    ReplyDelete