Configuring EIGRP: The Cisco EIGRP Implementation
Configuring EIGRP: The Cisco EIGRP Implementation
This chapter describes how to configure Enhanced Interior Gateway Routing Protocol (EIGRP). For a
complete description of the EIGRP commands listed in this chapter, refer to the “EIGRP Commands”
chapter of the Cisco IOS IP Command Reference, Volume 2 of 3: Routing Protocols publication. To
locate documentation of other commands that appear in this chapter, use the command reference master
index, or search online.
Refer to the Cisco IOS AppleTalk and Novell IPX Configuration Guide for information on AppleTalk
EIGRP or Internetwork Packet Exchange (IPX) EIGRP.
For protocol-independent features that work with EIGRP, see the chapter “Configuring IP Routing
Protocol-Independent Features” in this document.
EIGRP is an enhanced version of the IGRP developed by Cisco. EIGRP uses the same distance vector
algorithm and distance information as IGRP. However, the convergence properties and the operating
efficiency of EIGRP have improved substantially over IGRP.
The convergence technology is based on research conducted at SRI International and employs an
algorithm referred to as the Diffusing Update Algorithm (DUAL). This algorithm guarantees loop-free
operation at every instant throughout a route computation and allows all devices involved in a topology
change to synchronize at the same time. Routers that are not affected by topology changes are not
involved in recomputations. The convergence time with DUAL rivals that of any other existing routing
protocol.
To identify the hardware platform or software image information associated with a feature, use the
Feature Navigator on Cisco.com to search for information about the feature or refer to the software
release notes for a specific release. For more information, see the “Identifying Supported Platforms”
section in the “Using Cisco IOS Software” chapter in this book.
Note Redistribution between EIGRP and IGRP differs from normal redistribution in that the metrics of
IGRP routes are compared with the metrics of external EIGRP routes. The rules of normal
administrative distances are not followed, and routes with the lowest metric are selected.
Enabling EIGRP
To create an EIGRP routing process, use the following commands beginning in global configuration
mode:
Command Purpose
Step 1 Router(config)# router eigrp autonomous-system Enables an EIGRP routing process in global
configuration mode.
Step 2 Router(config-router)# network network-number Associates networks with an EIGRP routing process
in router configuration mode.
EIGRP sends updates to the interfaces in the specified networks. If you do not specify the network of an
interface, the interface will not be advertised in any EIGRP update.
Command Purpose
Router(config-router)# eigrp log-neighbor-changes Enables logging of EIGRP neighbor adjacency changes.
Command Purpose
Router(config-if)# ip bandwidth-percent eigrp percent Configures the percentage of bandwidth that may be used
by EIGRP on an interface.
Note Adjusting EIGRP metric weights can dramatically affect network performance. Because of the
complexity of this task, we recommend that you do not change the default values without guidance
from an experienced network designer.
To adjust the EIGRP metric weights, use the following command in router configuration mode:
Command Purpose
Router(config-router)# metric weights tos k1 k2 k3 k4 k5 Adjusts the EIGRP metric or K value. EIGRP uses the
following formula to determine the total metric to the
network:
metric = [K1*bandwidth + (K2*bandwidth)/(256 - load)
+ K3*delay] * [K5/(reliability + K4)]
By default, the EIGRP composite metric is a 32-bit quantity that is a sum of the segment delays and the
lowest segment bandwidth (scaled and inverted) for a given route. For a network of homogeneous media,
this metric reduces to a hop count. For a network of mixed media (FDDI, Ethernet, and serial lines
running from 9600 bits per second to T1 rates), the route with the lowest metric reflects the most
desirable path to a destination.
Mismatched K Values
Mismatched K values (EIGRP metrics) can prevent neighbor relationships from being established and
can negatively impact network convergence. The following example explains this behavior between 2
EIGRP peers (ROUTER-A and ROUTER-B).
The following error message is displayed in the console of ROUTER-B because the K values are
mismatched:
*Apr 26 13:48:41.811: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.1.1.1 (Ethernet0/0) is
down: K-value mismatch
There are two scenarios where this error message can be displayed:
• The two routers are connected on the same link and configured to establish a neighbor relationship.
However, each router is configured with different K values.
The following configuration is applied to ROUTER-A. The K values are changed with the metric
weights command. A value of 2 is entered for the k1 argument to adjust the bandwidth calculation.
The value of 1 is entered for the k3 argument to adjust the delay calculation.
hostname ROUTER-A!
interface serial 0
ip address 10.1.1.1 255.255.255.0
exit
router eigrp 100
network 10.1.1.0 0.0.0.255
metric weights 0 2 0 1 0 0
The following configuration is applied to ROUTER-B. However, the metric weights command is
not applied and the default K values are used. The default K values are 1, 0, 1, 0, and 0.
hostname ROUTER-B!
interface serial 0
ip address 10.1.1.2 255.255.255.0!
exit
router eigrp 100
network 10.1.1.0 0.0.0.255
The bandwidth calculation is set to 2 on ROUTER-A and set to 1 (by default) on ROUTER-B. This
configuration prevents these peers from forming a neighbor relationship.
• The K-value mismatch error message can also be displayed if one of the two peers has transmitted
a “goodbye” message, and the receiving router does not support this message. In this case, the
receiving router will interpret this message as a K-value mismatch.
A Cisco router that runs a software release that does not support the goodbye message can
misinterpret the message as a K-value mismatch and display the following message:
*Apr 26 13:48:41.811: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.1.1.1
(Ethernet0/0) is down: K-value mismatch
Note The receipt of a goodbye message by a nonsupporting peer does not disrupt normal network
operation. The nonsupporting peer will terminate session when the hold timer expires. The sending
and receiving routers will reconverge normally after the sender reloads.
Command Purpose
Router(config-router)# offset-list [access-list-number Applies an offset to routing metrics.
| access-list-name] {in | out} offset [interface-type
interface-number]
Command Purpose
Router(config-router)# no auto-summary Disables automatic summarization.
Route summarization works in conjunction with the ip summary-address eigrp interface configuration
command, in which additional summarization can be performed. If automatic summarization is in effect,
there usually is no need to configure network level summaries using the ip summary-address eigrp
command.
Command Purpose
Router(config-if)# ip summary-address eigrp Configures a summary aggregate address.
autonomous-system-number ip-address mask
See the “Route Summarization Example” at the end of this chapter for an example of summarizing
aggregate addresses.
10.1.1.0/24
0.0.0.0/0
Router-B#show ip route
. . . .
103615
0.0.0.0.0.0.0.0 via <Router-A> (489765/170)
Router-C#show ip route
. . . .
0.0.0.0.0.0.0.0 via <Router-B> (489765/90)
The configuration of the default summary route on Router-B sends a 0.0.0.0/0 summary route to
Router-C and blocks all other routes, including the 10.1.1.0/24 route, from being advertised to Router-C.
However, this also generates a local discard route on Router-B, a route for 0.0.0.0/0 to the null 0 interface
with an administrative distance of 5. When this route is created, it overrides the EIGRP learned default
route. Router-B will no longer be able to reach destinations that it would normally reach through the
0.0.0.0.0/0 route.
This problem is resolved by applying a floating summary route to the interface on Router-B that connects
to Router-C. The floating summary route is applied by applying an administrative distance to the default
summary route on the interface of Router-B with the following statement:
Router(config-if)# ip summary-address eigrp 100 0.0.0.0 0.0.0.0 250
The administrative distance of 250, applied in the above statement, is now assigned to the discard route
generated on Router-B. The 0.0.0.0/0, from Router-A, is learned through EIGRP and installed in the
local routing table. Routing to Router-C is restored.
If Router-A loses the connection to Router-B, Router-B will continue to advertise a default route to
Router-C, which allows traffic to continue to reach destinations attached to Router-B. However, traffic
destined to networks to Router-A or behind Router-A will be dropped when it reaches Router-B.
Figure 47 shows a network with two connections from the core, Router-A and Router-D. Both routers
have floating summary routes configured on the interfaces connected to Router-C. If the connection
between Router-E and Router-C fails, the network will continue to operate normally. All traffic will flow
from Router-C through Router-B to the hosts attached to Router-A and Router-D.
10.1.1.0/24
0.0.0.0/0 0.0.0.0/0
0.0.0.0/0
Router-D Router-E
103614
0.0.0.0/0
Router-B#show ip route
. . . .
0.0.0.0.0.0.0.0 via <Router-A> (489765/170)
However, if the link between Router-D and Router-E fails, the network may blackhole traffic because
Router-E will continue to advertise the default route(0.0.0.0/0) to Router-C, as long as at least one link,
(other than the link to Router-C) to Router-E is still active. In this scenario, Router-C still forwards
traffic to Router-E, but Router-E drops the traffic creating the black hole. To avoid this problem, you
should configure the summary address with an administrative distance on only single-homed remote
routers or areas where there is only one exit point between to segments of the network. If two or more
exit points exist (from one segment of the network to another), configuring the floating default route can
cause a black hole to be formed.
Command Purpose
Step 1 Router(config)# interface type number Configure an interface type and enter interface
configuration mode
Step 2 Router(config-if)# ip authentication mode eigrp Enables MD5 authentication in EIGRP packets.
autonomous-system md5
Command Purpose
Step 3 Router(config-if)# ip authentication key-chain Enables authentication of EIGRP packets.
eigrp autonomous-system key-chain
Step 4 Router(config-if)# exit Exits to global configuration mode.
Router(config)#
Step 5 Router(config)# key chain name-of-chain Identifies a key chain. (Match the name configured in
Step 1.)
Step 6 Router(config-keychain)# key number In keychain configuration mode, identifies the key
number.
Step 7 Router(config-keychain-key)# key-string text In keychain key configuration mode, identifies the key
string.
Step 8 Router(config-keychain-key)# accept-lifetime Optionally specifies the time period during which the key
start-time {infinite | end-time | duration can be received.
seconds}
Step 9 Router(config-keychain-key)# send-lifetime Optionally specifies the time period during which the key
start-time {infinite | end-time | duration can be sent.
seconds}
Each key has its own key identifier (specified with the key number key chain configuration command),
which is stored locally. The combination of the key identifier and the interface associated with the
message uniquely identifies the authentication algorithm and MD5 authentication key in use.
You can configure multiple keys with lifetimes. Only one authentication packet is sent, regardless of how
many valid keys exist. The software examines the key numbers in order from lowest to highest, and uses
the first valid key it encounters. Note that the router needs to know the time. Refer to the Network Time
Protocol (NTP) and calendar commands in the “Performing Basic System Management” chapter of the
Cisco IOS Configuration Fundamentals Configuration Guide.
For an example of route authentication, see the section “Route Authentication Example” at the end of
this chapter.
Adjusting the Interval Between Hello Packets and the Hold Time
You can adjust the interval between hello packets and the hold time.
Routing devices periodically send hello packets to each other to dynamically learn of other routers on
their directly attached networks. This information is used to discover neighbors and to learn when
neighbors become unreachable or inoperative.
By default, hello packets are sent every 5 seconds. The exception is on low-speed, nonbroadcast
multiaccess (NBMA) media, where the default hello interval is 60 seconds. Low speed is considered to
be a rate of T1 or slower, as specified with the bandwidth interface configuration command. The default
hello interval remains 5 seconds for high-speed NBMA networks. Note that for the purposes of EIGRP,
Frame Relay and Switched Multimegabit Data Service (SMDS) networks may or may not be considered
to be NBMA. These networks are considered NBMA if the interface has not been configured to use
physical multicasting; otherwise they are not considered NBMA.
You can configure the hold time on a specified interface for a particular EIGRP routing process
designated by the autonomous system number. The hold time is advertised in hello packets and indicates
to neighbors the length of time they should consider the sender valid. The default hold time is three times
the hello interval, or 15 seconds. For slow-speed NBMA networks, the default hold time is 180 seconds.
To change the interval between hello packets, use the following command in interface configuration
mode:
Command Purpose
Router(config-if)# ip hello-interval eigrp Configures the hello interval for an EIGRP routing
autonomous-system-number seconds process.
On very congested and large networks, the default hold time might not be sufficient time for all routers
to receive hello packets from their neighbors. In this case, you may want to increase the hold time.
To change the hold time, use the following command in interface configuration mode:
Command Purpose
Router(config-if)# ip hold-time eigrp Configures the hold time for an EIGRP routing process.
autonomous-system-number seconds
Note Do not adjust the hold time without advising your technical support personnel.
Command Purpose
Router(config-if)# no ip split-horizon eigrp Disables split horizon.
autonomous-system-number
Internet
10.1.1.0/24
Corporate
network
Distribution Remote
router router
(hub) (spoke)
46094
The stub routing feature by itself does not prevent routes from being advertised to the remote router. In
the example in Figure 48, the remote router can access the corporate network and the Internet through
the distribution router only. Having a full route table on the remote router, in this example, would serve
no functional purpose because the path to the corporate network and the Internet would always be
through the distribution router. The larger route table would only reduce the amount of memory required
by the remote router. Bandwidth and memory can be conserved by summarizing and filtering routes in
the distribution router. The remote router need not receive routes that have been learned from other
networks because the remote router must send all nonlocal traffic, regardless of destination, to the
distribution router. If a true stub network is desired, the distribution router should be configured to send
only a default route to the remote router. The EIGRP Stub Routing feature does not automatically enable
summarization on the distribution router. In most cases, the network administrator will need to configure
summarization on the distribution routers.
Note When configuring the distribution router to send only a default route to the remote router, you must
use the ip classless command on the remote router. By default, the ip classless command is enabled
in all Cisco IOS images that support the EIGRP Stub Routing feature.
Without the stub feature, even after the routes that are sent from the distribution router to the remote
router have been filtered or summarized, a problem might occur. If a route is lost somewhere in the
corporate network, EIGRP could send a query to the distribution router, which in turn will send a query
to the remote router even if routes are being summarized. If there is a problem communicating over the
WAN link between the distribution router and the remote router, an EIGRP stuck in active (SIA)
condition could occur and cause instability elsewhere in the network. The EIGRP Stub Routing feature
allows a network administrator to prevent queries from being sent to the remote router.
Distribution
router 1
10.1.1.0/24
(hub)
Corporate
network
Remote
router
(spoke)
Distribution
46096
router 2
(hub)
Figure 49 shows a simple dual-homed remote with one remote router and two distribution routers. Both
distribution routers maintain routes to the corporate network and stub network 10.1.1.0/24.
Dual-homed routing can introduce instability into an EIGRP network. In Figure 50, distribution router
1 is directly connected to network 10.3.1.0/24. If summarization or filtering is applied on distribution
router 1, the router will advertise network 10.3.1.0/24 to all of its directly connected EIGRP neighbors
(distribution router 2 and the remote router).
Figure 50 Dual-Homed Remote Topology With Distribution Router 1 Connected to Two Networks
10.3.1.0/24
Distribution
router 1
10.2.1.0/24
10.1.1.0/24
(hub)
Corporate
network
Remote
router
(spoke)
Distribution
46095
router 2
(hub)
Figure 50 shows a simple dual-homed remote router where distribution router 1 is connected to both
network 10.3.1.0/24 and network 10.2.1.0/24.
If the 10.2.1.0/24 link between distribution router 1 and distribution router 2 has failed, the lowest cost
path to network 10.3.1.0/24 from distribution router 2 is through the remote router (see Figure 51). This
route is not desirable because the traffic that was previously traveling across the corporate network
10.2.1.0/24 would now be sent across a much lower bandwidth connection. The over utilization of the
lower bandwidth WAN connection can cause a number of problems that might affect the entire corporate
network. The use of the lower bandwidth route that passes through the remote router might cause WAN
EIGRP distribution routers to be dropped. Serial lines on distribution and remote routers could also be
dropped, and EIGRP SIA errors on the distribution and core routers could occur.
X
Distribution
router 1
10.2.1.0/24
10.1.1.0/24
(hub)
Corporate
network
Remote
router
(spoke)
Distribution
46093
router 2
(hub)
It is not desirable for traffic from distribution router 2 to travel through any remote router in order to
reach network 10.3.1.0/24. If the links are sized to handle the load, it would be acceptable to use one of
the backup routes. However, most networks of this type have remote routers located at remote offices
with relatively slow links. This problem can be prevented if proper summarization is configured on the
distribution router and remote router.
It is typically undesirable for traffic from a distribution router to use a remote router as a transit path. A
typical connection from a distribution router to a remote router would have much less bandwidth than a
connection at the network core. Attempting to use a remote router with a limited bandwidth connection
as a transit path would generally produce excessive congestion to the remote router. The EIGRP Stub
Routing feature can prevent this problem by preventing the remote router from advertising core routes
back to distribution routers. Routes learned by the remote router from distribution router 1 will not be
advertised to distribution router 2. Since the remote router will not advertise core routes to distribution
router 2, the distribution router will not use the remote router as a transit for traffic destined for the
network core.
The EIGRP Stub Routing feature can help to provide greater network stability. In the event of network
instability, this feature prevents EIGRP queries from being sent over limited bandwidth links to
nontransit routers. Instead, distribution routers to which the stub router is connected answer the query
on behalf of the stub router. This feature greatly reduces the chance of further network instability due to
congested or problematic WAN links. The EIGRP Stub Routing feature also simplifies the configuration
and maintenance of hub-and-spoke networks. When stub routing is enabled in dual-homed remote
configurations, it is no longer necessary to configure filtering on remote routers to prevent those remote
routers from appearing as transit paths to the hub routers.
Caution EIGRP Stub Routing should only be used on stub routers. A stub router is defined as a router
connected to the network core or distribution layer through which core transit traffic should not flow.
A stub router should not have any EIGRP neighbors other than distribution routers. Ignoring this
restriction will cause undesirable behavior.
Note Multi-access interfaces, such as ATM, Ethernet, Frame Relay, ISDN PRI, and X.25, are supported by
the EIGRP Stub Routing feature only when all routers on that interface, except the hub, are
configured as stub routers.
Command Purpose
Step 1 router(config)# router eigrp 1 Configures a remote or distribution router to run
an EIGRP process.
Step 2 router(config-router)# network network-number Associates networks with an EIGRP routing
process in router configuration mode.
Step 3 router(config-router)# eigrp stub [receive-only | Configures a remote router as an EIGRP stub
connected | static | summary] router.
Command Purpose
Router# clear ip eigrp neighbors [ip-address | Deletes neighbors from the neighbor table.
interface-type]
To display various routing statistics, use the following commands in EXEC mode, as needed:
Command Purpose
Router# show ip eigrp interfaces [interface-type | Displays information about interfaces configured for
interface-number] [as-number] EIGRP.
Router# show ip eigrp neighbors [interface-type | as-number Displays the EIGRP discovered neighbors.
| static]
Router# show ip eigrp topology [as-number | [[ip-address] Displays the EIGRP topology table for a given
mask]] process.
Router# show ip eigrp traffic [as-number] Displays the number of packets sent and received for
all or a specified EIGRP process.
To enable EIGRP Stub Routing packet debugging, use the following command in privileged EXEC
mode:
Command Purpose
Router# debug eigrp packet stub Displays debug information about the stub status
of peer routers.
Note You should not use the ip summary-address eigrp summarization command to generate
the default route (0.0.0.0) from an interface. This causes the creation of an EIGRP summary
default route to the null 0 interface with an administrative distance of 5. The low
administrative distance of this default route can cause this route to displace default routes
learned from other neighbors from the routing table. If the default route learned from the
neighbors is displaced by the summary default route, or if the summary route is the only
default route present, all traffic destined for the default route will not leave the router,
instead, this traffic will be sent to the null 0 interface where it is dropped.
The recommended way to send only the default route out a given interface is to use a
distribute-list command. You can configure this command to filter all outbound route
advertisements sent out the interface with the exception of the default (0.0.0.0).
E1
Router A
E1
Router B
S5836
Router A Configuration
interface ethernet 1
ip authentication mode eigrp 1 md5
ip authentication key-chain eigrp 1 holly
key chain holly
key 1
key-string 0987654321
accept-lifetime 04:00:00 Dec 4 2006 infinite
send-lifetime 04:00:00 Dec 4 2006 04:48:00 Dec 4 1996
exit
key 2
key-string 1234567890
accept-lifetime 04:00:00 Jan 4 2007 infinite
send-lifetime 04:45:00 Jan 4 2007 infinite
Router B Configuration
interface ethernet 1
ip authentication mode eigrp 1 md5
ip authentication key-chain eigrp 1 mikel
key chain mikel
key 1
key-string 0987654321
accept-lifetime 04:00:00 Dec 4 2006 infinite
send-lifetime 04:00:00 Dec 4 2006 infinite
exit
key 2
key-string 1234567890
accept-lifetime 04:00:00 Jan 4 2007 infinite
send-lifetime 04:45:00 Jan 4 2007 infinite
Router A will accept and attempt to verify the MD5 digest of any EIGRP packet with a key equal to 1.
It will also accept a packet with a key equal to 2. All other MD5 packets will be dropped. Router A will
send all EIGRP packets with key 2.
Router B will accept key 1 or key 2, and will use key 1 to send MD5 authentication, since key 1 is the
first the first valid key off the key-chain. Key 1 will no longer be valid to be used for sending after
December 4, 2006. After this date, key 2 would be used to send MD5 authentication., since it is valid
until January 4, 2007.
In the following example, the eigrp stub command is used to configure the router as a stub that
advertises connected and summary routes:
router eigrp 1
network 10.0.0.0
eigrp stub
In the following example, the eigrp stub connected static command is used to configure the router as a
stub that advertises connected and static routes (sending summary routes will not be permitted):
router eigrp 1
network 10.0.0.0
eigrp stub connected static
In the following example, the eigrp stub receive-only command is used to configure the router as a stub,
and connected, summary, or static routes will not be sent:
router eigrp 1
network 10.0.0.0 eigrp
stub receive-only