IOS Configuration: EIGRP

Basic Configuration

Enabling EIGRP:

Router(config)# router eigrp <ASN>

Adding a network to EIGRP:

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

All non-passive interfaces belonging to a specified network will become capable of forming EIGRP adjacencies and their attached networks will be advertised into EIGRP.

EIGRP will summarize to classful boundaries by default.

An interface can be set to passive operation to prevent advertisement:

Router(config-router)# passive-interface <interface>

If an interface is included in the network configuration but set to passive, it will still be included in EIGRP advertisements. If an interface is not included in an EIGRP network, it will not be advertised in EIGRP.

Manual Route Summarization

Efficient route summarization is key to preventing looping route queries (which leads to SIA condition).

Disable automatic classful summarization:

Router(config-router)# no auto-summary

To configure manual summarization on an interface:

Router(config-if)# ip summary-address eigrp <ASN> <network> <subnet mask>

Stub Routing

Stub routers participate minimally in EIGRP, which reduces utilization of memory and CPU on the router.

Router(config-router)# eigrp stub [options]
  • receive-only - Prevents the router from advertising any routes
  • connected - Permits advertisement of connected networks (default)
  • static - Permits redistribution of static routes
  • summary - Advertises summary routes (default)

Load Balancing

EIGRP automatically load balances across equal-cost links. Unequal-cost load balancing can be enabled by specifying a variance. Feasible successors with a feasible distance less than (best path FD * variance) will be proportionally utilized.

Router(config-router)# variance <multiplier>

The variance can be between 1 and 128; default is 1 (equal-cost balancing only).

EIGRP Tuning

EIGRP timers do not have to match for two routers to form an adjacency.

Hello timers are modified per interface:

Router(config-if)# ip hello-interval eigrp <ASN> <seconds>

The default hold timer is calculated as three times the hello timer value. However, configuring the hold timer manually is done in seconds:

Router(config-if)# ip hold-time eigrp <ASN> <seconds>

Authentication

Configuring MD5 authentication on an interface:

Router(config-if)# ip authentication mode eigrp <ASN> md5
Router(config-if)# ip authentication key-chain eigrp <ASN> <chain name>
Router(config)# key chain <chain name>
Router(config-keychain)# key 1
Router(config-keychain-key)# key-string <password>

Bandwidth Manipulation

The perceived bandwidth of an interface can be administratively altered for the purpose of metric manipulation:

Router(config-if)# bandwidth <kilobits>

The bandwidth setting will not affect the actual interface speed, only the value used in metric calculation. This is useful for interfaces being rate-limited below line rate.

By default, EIGRP will use no more than 50% of an interface's bandwidth. This can be adjusted as such:

Router(config-if)# ip bandwidth-percent eigrp <ASN> <percentage>

Verifying EIGRP Operation

Monitoring

  • show ip eigrp neighbors
  • show ip eigrp topology
  • show ip eigrp traffic
  • show ip eigrp interfaces
  • show ip route eigrp

Debugging

  • debug eigrp packet
  • debug ip eigrp neighbors
  • debug ip eigrp
  • debug ip eigrp summary

Further Reading

Assigned Categories

Referenced By