Enhanced Interior Gateway Routing Protocol (EIGRP) is an interior gateway protocol suited for many different topologies and media. In a well designed network, EIGRP scales well and provides extremely quick convergence times with minimal network traffic.

EIGRP is a routing protocol developed by CiscoSystems and has only been used on Cisco Equipment. This do not mean to say that someone can't develop Zebra to run EIGRP as another routing protocol.

Information about EIGRP from Cisco Systems

EIGRP Configuration on Cisco Routers

Global Router Configurations

Router(config)#router eigrp <autonomous-system-number>

- Starts the EIGRP process with the specified AS Number.

Router(config-router)#network <network> <wildcard-mask>

- Specifies the networks EIGRP will form adjacencies over (and advertise).

Router(config-router)#no auto-summary

- Given a hierarchial addressing design, disables to automatic summarization

to the IANA network address.

Router(config-router)#eigrp stub <receive-only/connected/static/summary>

- Used on small-capacity routers in a hub-and-spoke WAN environment. - The router has no neighbors and accesses the network through a distribution layer router. - Only a small routing table is required at the stub router,

which is provided with a default route to the advertising ABR.

Router(config-router)#variance <multiplier-number>

- Allows unequal-cost paths to load balance.

Interface Level Configurations

Router(config-if)#ip summary-address eigrp <autonomous-system-number> <address> <mask>

- Enables you to summarize the networks manually, having disabled automatic summarization.

Router(config-if)#bandwidth <Line-speed>

- Issued at the interface level and a logical construct to determine the real bandwidth manually.

Router(config-if)#ip bandwidth-percent eigrp <autonomous-system-number> <percent>

- Enables you to change the bandwidth percentage. - EIGRP, by default, will only take up to 50% of bandwidth.

Router(config-if)#ip hello-interval eigrp <autonomous-system-number> <seconds>

- Changes how often the Hello is sent out of an interface.

Router(config-if)#ip hold-time eigrp <autonomous-system-number> <seconds>

- This defines how long the router believes its neighbor to be alive withour hearing a hello from the neighbor. - This setting is not automatically changed when the hello-interval timer is changed.

Operation Verification Commands

Router#show ip eigrp neighbors

- Displays information drawn from the neighbor table.

Router#show ip eigrp topology

- Displays information drawn from the topology table.

Router#show ip eigrp traffic

- Shows the EIGRP traffic passing through the router.

Router#show ip protocols

- Enables you to view the IP routing protocol configuration on the router.

Router#show ip route

- Shows detailed information about the networks the router is aware and the preferred paths to those networks. - Also gives the next logical hop as the next step in the path.

Troubleshooting Commands

With troubleshooting using debug, if you're connected via the console port, turn on console logging (Router(config)#logging console) or if connected by virtual terminal, turn on the logging monitor (Router#term mon)

Router#debug eigrp packet

- Shows the packets sent and received by the router.

Router#debug eigrp neighnors

- Shows the Hello packets sent and received by the router and the neighbors discovered by this process.

Router#debug ip eigrp route

- Shows dynamic changes made to the routing table.

Router#debug ip eigrp summary

- Shows the process taken when a summary is changed on the router.

Components of EIGRP

Protocol-Dependent Modules

  • EIGRP functions as the routing protocol for IP, !AppleTalk, and IPX. A different routing table is maintained for each Layer 3 protocol.


  • EIGRP uses both multicast and unicast addressing. Some of these packets are sent reliably using RTP, meaning that they require an acknowledgement. These packets are also sent with sequence numbers to make the transmission of data reliable. Hellos and ACKs do not require acknowledgement, but the incremental updates cannot be anticipated. Therefore, the update, query, and reply packets must be acknowledged by the receiving neighbor or the packet is retransmitted up to 16 times.

Neighbor Discovery and Recovery

  • EIGRP operates between neighbors that share routing tables and information about the state of their connections. In this way, the routing protocol localizes as much information as posible, reducing the bandwidth and CPU requirements of the network and speeding up convergence.


  • EIGRP uses DUAL to maintain the network databases. It selects the shortest path to a destination and then maintains a backup path if available, making network convergence almost instantaneous. Using the terminology for EIGRP, the term successor refers to the path to a destination. The successor is chosen using DUAL from all of the known paths or feasible successors to the end destination. If the selected path dies for any reason, an alternate route is chosen from the feasible successors. If a feasible successor is found, the route stays in passive mode, and there is no disruption to the network. However, if an alternate path is not immediately available, the router queries its neighbors, placing the route in active mode.


|Neighbor|A router running EIGRP that is directly connected. |Neighbor table|A list of every neighbor, including the IP address, the outgoing interface, the holdtime, smooth round-trip time (SRTT), and uptime, or how long since the neighbor was added to the table. The table is built from information on Hellos recieved from adjacent routers (neighbors) |Route table|The routing table, or list of available networks and the best paths. A path is moved from the topology table to the routing table when a feasible successor is identified. |Topology table|A table that contains all the paths advertised by neighbors to all known networks. This is a list of all the successors, feasible successors, the feasible distance, the advertised distance, and the outgoing interface. DUAL acts on the topology table to determine successors and feasible successors by which to build a routing table. |Hello|Messages used to find and maintain neighbors in the topology table. They are sent periodically and are sent unreliably. |Update|An EIGRP packet containing change of information about the network. It is sent reliably. It is ent only when there is a change in the network to affected routers.
When a neighbor first comes up.
When a neighbor transitions from active to passive for a destination.
When there is a change in calculated metric for a destination. |Query|Sent from the router when it loses a path to a network. If there is no alternate router (feasible successor), it will send out queries to neighbors inquiring whether they have a feasible successor. This makes the route state change to active. The queries are sent reliably. |Reply|A response to the query. If a router has no information to send in a reply, it will send queries to all its neighbors. A unicast is sent reliably. |ACK|A hello packet with no data that is an acknowledgment of packets sent reliably. |Holdtime|Value set in the Hello packet. It determines how long the router waits for Hellos from a neighbor before declaring it unavailable. This information is held in the neighbor table. |Smooth Round-Trip Time (SRTT)|The time that the router waits after sending a packet reliably to hear an acknowledgement. This is held in the neighbor and is used to calculate the RTO. |Retransmission Timeout (RTO)|Timer calculated in reference to the SRTT. RTO determines how long the router waits for an ACK before retransmitting the packet. |Reliable Transport Protocol (RTP)|Mechanism used to determine requirement that the packets be delivered in sequence and garanteed. |Diffusing Update Algorithm (DUAL)|An algorithm performed on the topology table to converge the network. It is based on a router detecting a network change within a finite time, with the change being sent reliably and in sequence. As the algorith is calculated simultaneously, in order, and within a finite time frame on all affected routers, it ensures a loop-free network. |Advertised Distance (AD)|The cost of the path to the remote network from the neighbor (the metric for the next-hop router). |Feasible Distance (FD)|The lowest-cost distance (metric) to a remote network. |Feasible Condition (FC)|When a neighbor reports a path cost (AD) that is lower than the router's FD to a network.
The neighbor's (next-hop router's) path has a lower metric than the router's path. |Feasible Successor (FS)|The neighbor reporting the AD that is lower than the router's FD becomes the feasible successor. the next-hop router that meets the FC. |Successor|The next-hop router that passes the FC. It is chosen from the FSs as having the lowest metric to the remote network. |Stuck in Active (SIA)|State reached when a router has sent out network packets and is waiting for ACKs from it's neighbors. The route is active untils all the ACKs have been received. If they do not appear after a certain time, the router is SIA for the route. |Query Scoping|Network design to limit the scope of the query range, that is, how far the query is allowed to propagate in search of a Feasible Successor. This is necessary to prevent SIA, which can cause multiple problems for the network. |Active|Route state when there is a network change, but after examining the topology table, no FS is found. The route is set to active mode, and the router queries its neighbors for alternate routes. |Passive|An operational route is passive. If the path is lost, the router examines the topology table to find an FS. If there is an FS, it is placed in the routing table; otherwise, the router queries its neighbors, sending the route into active mode.