EIGRP Configuration Module

This configuration module configures the EIGRP routing process on Cisco IOSv, Cisco IOS-XE[2], and Cisco Nexus-OS.

Supported features:

  • IPv4 and IPv6

  • EIGRP AS number

  • Unnumbered point-to-point interfaces (Cisco IOS-XE only)

  • Passive interfaces

Global Parameters

  • eigrp.as sets the network-wide EIGRP AS number (default: 1)

Node Parameters

  • eigrp.as – per-node EIGRP AS number (default: 1 – inherited from global defaults)

Tip

The EIGRP configuration module is automatically removed from a node that does not run EIGRP on any non-loopback interface. In that case, netlab generates a warning that can be turned off by setting ‌defaults.eigrp.warnings.inactive to ‌False.

Example

We want to create a three-router EIGRP network testing IOS, IOS-XE, and Nexus OS EIGRP implementation.

All devices run EIGRP with AS 2:

module: [ eigrp ]
eigrp.as: 2

In our lab, we’ll use IPv4 and IPv6 addressing. IPv6 addresses will be configured on loopback and LAN interfaces, but not on P2P interfaces.

addressing:
  loopback:
    ipv4: 172.18.1.0/24
    ipv6: 2001:db8:0::/48
  lan:
    ipv4: 172.19.0.0/16
    ipv6: 2001:db8:1::/48

The lab has three nodes, each of which is running a different operating system:

nodes:
  r1: { device: iosv }
  r2: { device: csr }
  s1: { device: nxos }

All three devices share a LAN interface with the bandwidth set to 100 Mbps. Each device is also connected to one or two P2P links and a stub interface.

links:
- r1:
  r2:
  s1:
  bandwidth: 100000
- r1-r2
- r2-s1
- r1
- r2
- s1

Resulting EIGRP Configurations

The above topology generates the following device configurations [1].

R1 (Cisco IOS)

router eigrp 2
 eigrp router-id 172.18.1.1
 network 172.18.1.1 0.0.0.0
 network 172.19.0.1 0.0.0.0
 network 10.1.0.1 0.0.0.0
 network 172.19.1.1 0.0.0.0
 passive-interface GigabitEthernet0/3
!
ipv6 router eigrp 2
 eigrp router-id 172.18.1.1
 passive-interface GigabitEthernet0/3
!
interface Loopback0
 ipv6 eigrp 2
!
interface GigabitEthernet0/1
 description r1 -> [r2,s1]
 bandwidth 100000
 ipv6 eigrp 2
!
interface GigabitEthernet0/2
 description r1 -> r2
!
interface GigabitEthernet0/3
 ipv6 eigrp 2
 description r1 -> stub [stub]

R2 (Cisco IOS-XE)

router eigrp 2
 network 10.1.0.2 0.0.0.0
 network 10.1.0.5 0.0.0.0
 network 172.18.1.2 0.0.0.0
 network 172.19.0.2 0.0.0.0
 network 172.19.2.2 0.0.0.0
 passive-interface GigabitEthernet5
 eigrp router-id 172.18.1.2
!
ipv6 router eigrp 2
 passive-interface GigabitEthernet5
 eigrp router-id 172.18.1.2
!
interface Loopback0
 ipv6 eigrp 2
!
interface GigabitEthernet2
 description r2 -> [r1,s1]
 bandwidth 100000
 ipv6 eigrp 2
!
interface GigabitEthernet3
 description r2 -> r1
!
interface GigabitEthernet4
 description r2 -> s1
!
interface GigabitEthernet5
 description r2 -> stub [stub]
 ipv6 eigrp 2

S1 (Cisco Nexus-OS)

feature eigrp
!
router eigrp 2
  router-id 172.18.1.3
  address-family ipv6 unicast
!
interface loopback0
 ip router eigrp 2
 ipv6 router eigrp 2
!
interface Ethernet1/1
 description s1 -> [r1,r2]
 ip router eigrp 2
 ipv6 router eigrp 2
 bandwidth 100000
!
interface Ethernet1/2
 description s1 -> r2
 ip router eigrp 2
!
interface Ethernet1/3
 description s1 -> stub [stub]
 ip router eigrp 2
 ipv6 router eigrp 2
 ip passive-interface eigrp 2
 ipv6 passive-interface eigrp 2

Complete network topology:

addressing:
  loopback:
    ipv4: 172.18.1.0/24
    ipv6: 2001:db8:0::/48
  lan:
    ipv4: 172.19.0.0/16
    ipv6: 2001:db8:1::/48

module: [ eigrp ]
eigrp.as: 2

nodes:
  r1: { device: iosv }
  r2: { device: csr }
  s1: { device: nxos }

links:
- r1:
  r2:
  s1:
  bandwidth: 100000
- r1-r2
- r2-s1
- r1
- r2
- s1