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.
Link Parameters
eigrp.passive: True – Make this link/interface a passive interface
eigrp: False – Do not run EIGRP on this link/interface (see also Disabling a Routing Protocol on a Link/Interface)
Using Link Roles
Link roles are used together with link types to decide whether to include an interface in an EIGRP process and whether to make an interface passive:
External links (links with role: external, see also External Interfaces) are not included in the EIGRP process.
Interfaces connected to links with role: passive, or links with a single router or routing daemon, are automatically marked as passive.
Management interfaces are in the management VRF and are never added to the EIGRP processes.
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