EIGRP
NX-OSEIGRP (Enhanced Interior Gateway Routing Protocol) is an advanced distance-vector interior gateway protocol that provides fast convergence and loop-free routing using the DUAL algorithm on NX-OS. Each EIGRP process is identified by an instance tag and supports IPv4 and IPv6 unicast address families in the default VRF and in user-defined VRFs. Per address family, the process manages the autonomous system number, router ID, administrative distances, maximum paths, metric weights and wide (64-bit) metrics, stub routing, graceful restart (NSF) timers, default metrics, default-information origination, route redistribution with maximum-prefix limits, table-maps, and MD5 authentication. EIGRP interface-level configuration enables the process per address family and manages hello and hold timers, bandwidth and delay metric components, BFD, next-hop-self, split-horizon, passive mode, authentication, distribute-lists, offset-lists, and summary addresses across loopback, VLAN, Ethernet, port-channel, and subinterface types.
Diagram
Section titled “Diagram”Classes
Section titled “Classes”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| devices | List | devices | No | |
| device_groups | List | device_groups | No | |
| global | Class | global | No | |
| templates | List | templates | No | |
| interface_ | List | interface_ | No |
devices (nxos)
Section titled “devices (nxos)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
device_groups (nxos)
Section titled “device_groups (nxos)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
global (nxos)
Section titled “global (nxos)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
templates (nxos)
Section titled “templates (nxos)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
interface_groups (nxos)
Section titled “interface_groups (nxos)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
configuration (nxos.devices)
Section titled “configuration (nxos.devices)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| routing | Class | routing | No | |
| interfaces | Class | interfaces | No |
configuration (nxos.interface_groups)
Section titled “configuration (nxos.interface_groups)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| subinterfaces | List | subinterfaces | No | |
| eigrp | Class | eigrp | No |
interfaces (nxos.devices.configuration)
Section titled “interfaces (nxos.devices.configuration)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| loopbacks | List | loopbacks | No | |
| vlans | List | vlans | No | |
| ethernets | List | ethernets | No | |
| port_channels | List | port_channels | No |
ethernets (nxos.devices.configuration.interfaces)
Section titled “ethernets (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| subinterfaces | List | subinterfaces | No | |
| eigrp | Class | eigrp | No |
port_channels (nxos.devices.configuration.interfaces)
Section titled “port_channels (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| subinterfaces | List | subinterfaces | No | |
| eigrp | Class | eigrp | No |
routing (nxos.devices.configuration)
Section titled “routing (nxos.devices.configuration)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| eigrp_processes | List | eigrp_processes | No |
loopbacks (nxos.devices.configuration.interfaces)
Section titled “loopbacks (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| eigrp | Class | eigrp | No |
vlans (nxos.devices.configuration.interfaces)
Section titled “vlans (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| eigrp | Class | eigrp | No |
subinterfaces (nxos.devices.configuration.interfaces.ethernets)
Section titled “subinterfaces (nxos.devices.configuration.interfaces.ethernets)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| eigrp | Class | eigrp | No |
eigrp_processes (nxos.devices.configuration.routing)
Section titled “eigrp_processes (nxos.devices.configuration.routing)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Yes | ||
| flush_routes | Boolean | true, false | No | |
| isolate | Boolean | true, false | No | |
| address_ | List | address_ | No | |
| vrfs | List | vrfs | No |
eigrp (nxos.devices.configuration.interfaces.loopbacks)
Section titled “eigrp (nxos.devices.configuration.interfaces.loopbacks)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| instance_name | String | Yes | ||
| address_ | List | address_ | No |
address_families (nxos.devices.configuration.routing.eigrp_processes)
Section titled “address_families (nxos.devices.configuration.routing.eigrp_processes)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| address_family | Choice | ipv4-unicast, ipv6-unicast | Yes | |
| shutdown | Boolean | true, false | No | |
| autonomous_ | Integer | min: 1, max: 65535 | No | |
| router_id | IP | No | ||
| distance_ | Integer | min: 1, max: 255 | No | |
| distance_ | Integer | min: 1, max: 255 | No | |
| maximum_paths | Integer | min: 1, max: 32 | No | |
| timers_ | Any | Integer[min: 1, max: 65535] or Choice[disabled] or String[Regex: ^.*[\$\%]\{.*$] | No | |
| metric_ | Boolean | true, false | No | |
| metric_ | Integer | min: 1, max: 255 | No | |
| metric_ | Integer | min: 1, max: 255 | No | |
| metric_ | Integer | min: 0, max: 8 | No | |
| metric_ | Integer | min: 0, max: 255 | No | |
| metric_ | Integer | min: 0, max: 255 | No | |
| metric_ | Integer | min: 0, max: 255 | No | |
| metric_ | Integer | min: 0, max: 255 | No | |
| metric_ | Integer | min: 0, max: 255 | No | |
| metric_ | Integer | min: 0, max: 255 | No | |
| log_ | Boolean | true, false | No | |
| log_ | Boolean | true, false | No | |
| log_ | Integer | min: 1, max: 65535 | No | |
| passive_ | Boolean | true, false | No | |
| suppress_ | Boolean | true, false | No | |
| bfd | Boolean | true, false | No | |
| authentication_ | Choice | md5 | No | |
| authentication_ | String | No | ||
| default_ | Integer | min: 1, max: 16777215 | No | |
| default_ | Integer | min: 0, max: 16777215 | No | |
| default_ | Integer | min: 0, max: 255 | No | |
| default_ | Integer | min: 1, max: 255 | No | |
| default_ | Integer | min: 128, max: 9216 | No | |
| graceful_ | Boolean | true, false | No | |
| timers_ | Integer | min: 20, max: 300 | No | |
| timers_ | Integer | min: 60, max: 180 | No | |
| timers_ | Integer | min: 10, max: 360 | No | |
| nsf_ | Boolean | true, false | No | |
| default_ | Boolean | true, false | No | |
| default_ | Boolean | true, false | No | |
| default_ | String | No | ||
| redistribute_ | Integer | min: 1, max: 65535 | No | |
| redistribute_ | Integer | min: 1, max: 100 | No | |
| redistribute_ | Boolean | true, false | No | |
| redistribute_ | Boolean | true, false | No | |
| redistribute_ | Integer | min: 1, max: 12 | No | |
| redistribute_ | Integer | min: 60, max: 600 | No | |
| table_map | String | No | ||
| table_ | Boolean | true, false | No | |
| stub | Boolean | true, false | No | |
| stub_direct | Boolean | true, false | No | |
| stub_static | Boolean | true, false | No | |
| stub_summary | Boolean | true, false | No | |
| stub_ | Boolean | true, false | No | |
| stub_ | Boolean | true, false | No | |
| stub_leak_map | String | No | ||
| redistributions | List | redistributions | No |
vrfs (nxos.devices.configuration.routing.eigrp_processes)
Section titled “vrfs (nxos.devices.configuration.routing.eigrp_processes)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| vrf | String | Yes | ||
| address_ | List | address_ | No |
address_families (nxos.devices.configuration.interfaces.loopbacks.eigrp)
Section titled “address_families (nxos.devices.configuration.interfaces.loopbacks.eigrp)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| address_family | Choice | ipv4-unicast, ipv6-unicast | Yes | |
| shutdown | Boolean | true, false | No | |
| hello_interval | Integer | min: 1, max: 65535 | No | |
| hold_time | Integer | min: 1, max: 65535 | No | |
| bandwidth | Integer | min: 0, max: 2560000000 | No | |
| bandwidth_ | Integer | min: 1, max: 100 | No | |
| delay | Integer | min: 0, max: 16777215 | No | |
| delay_ | Boolean | true, false | No | |
| mtu | Integer | min: 209, max: 16384 | No | |
| bfd | Boolean | true, false | No | |
| next_hop_self | Boolean | true, false | No | |
| split_horizon | Boolean | true, false | No | |
| passive_ | Boolean | true, false | No | |
| authentication_ | Choice | md5 | No | |
| authentication_ | String | No | ||
| distribute_ | List | distribute_ | No | |
| offset_lists | List | offset_lists | No | |
| summary_ | List | summary_ | No |
redistributions (nxos.devices.configuration.routing.eigrp_processes.address_families)
Section titled “redistributions (nxos.devices.configuration.routing.eigrp_processes.address_families)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| protocol | Choice | static, direct, bgp, isis, ospf, ospfv3, eigrp, rip, amt, lisp | Yes | |
| protocol_ | String | No | ||
| asn | Any | String or Integer[min: 0, max: 4294967295] | No | |
| route_map | String | No |
distribute_lists (nxos.devices.configuration.interfaces.loopbacks.eigrp.address_families)
Section titled “distribute_lists (nxos.devices.configuration.interfaces.loopbacks.eigrp.address_families)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| direction | Choice | in, out | Yes | |
| route_map | String | No | ||
| prefix_list | String | No |
offset_lists (nxos.devices.configuration.interfaces.loopbacks.eigrp.address_families)
Section titled “offset_lists (nxos.devices.configuration.interfaces.loopbacks.eigrp.address_families)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| direction | Choice | in, out | Yes | |
| route_map | String | No | ||
| prefix_list | String | No | ||
| offset | Integer | min: 0, max: 2147483647 | No |
summary_addresses (nxos.devices.configuration.interfaces.loopbacks.eigrp.address_families)
Section titled “summary_addresses (nxos.devices.configuration.interfaces.loopbacks.eigrp.address_families)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| prefix | IP | Yes | ||
| distance | Integer | min: 1, max: 255 | No | |
| leak_map | String | No |
Examples
Section titled “Examples”Example 1: Basic EIGRP IPv4 routing in the default VRF
nxos: devices: - name: LEAF1 configuration: feature: eigrp: true routing: eigrp_processes: - name: CORE address_families: - address_family: ipv4-unicast autonomous_system: 100 router_id: 10.0.0.1 maximum_paths: 4 log_adjacency_changes: true interfaces: loopbacks: - id: 0 eigrp: instance_name: CORE address_families: - address_family: ipv4-unicast passive_interface: true ethernets: - id: 1/1 eigrp: instance_name: CORE address_families: - address_family: ipv4-unicast hello_interval: 2 hold_time: 6 - id: 1/2 eigrp: instance_name: CORE address_families: - address_family: ipv4-unicast hello_interval: 2 hold_time: 6Example 2: EIGRP with wide metrics, BFD, authentication, stub and graceful restart
nxos: devices: - name: BORDER1 configuration: feature: eigrp: true bfd: true key_chains: - name: EIGRP-KEYS keys: - id: 1 key_string: Cisco123 routing: eigrp_processes: - name: CORE address_families: - address_family: ipv4-unicast autonomous_system: 100 router_id: 10.0.0.11 distance_internal: 90 distance_external: 170 metric_version_64bit: true metric_rib_scale: 128 bfd: true authentication_mode: md5 authentication_key_chain: EIGRP-KEYS graceful_restart: true timers_nsf_route_hold: 240 timers_nsf_converge: 120 timers_nsf_signal: 20 timers_active_time: 3 stub: true stub_direct: true stub_summary: true interfaces: ethernets: - id: 1/49 eigrp: instance_name: CORE address_families: - address_family: ipv4-unicast bfd: true authentication_mode: md5 authentication_key_chain: EIGRP-KEYS bandwidth: 100000000 delay: 10Example 3: EIGRP in a VRF with redistribution, default route and summary address
nxos: devices: - name: BORDER1 configuration: feature: eigrp: true bgp: true interface_vlan: true vrfs: - name: PROD vlan: vlans: - id: 100 route_maps: - name: RM-BGP-TO-EIGRP entries: - order: 10 action: permit - name: RM-DEFAULT entries: - order: 10 action: permit routing: eigrp_processes: - name: CORE vrfs: - vrf: PROD address_families: - address_family: ipv4-unicast autonomous_system: 200 default_metric_bandwidth: 100000 default_metric_delay: 100 default_metric_reliability: 255 default_metric_loading: 1 default_metric_mtu: 1500 default_information_originate: true default_information_originate_route_map: RM-DEFAULT redistribute_maximum_prefix: 1000 redistribute_maximum_prefix_threshold: 80 redistribute_maximum_prefix_warning_only: true redistributions: - protocol: bgp asn: 65001 route_map: RM-BGP-TO-EIGRP interfaces: vlans: - id: 100 vrf: PROD eigrp: instance_name: CORE address_families: - address_family: ipv4-unicast summary_addresses: - prefix: 172.16.0.0/16 distance: 5Example 4: Dual-stack EIGRP with IPv6 address family and offset-list
nxos: devices: - name: LEAF2 configuration: feature: eigrp: true route_maps: - name: RM-OFFSET entries: - order: 10 action: permit routing: eigrp_processes: - name: CORE address_families: - address_family: ipv4-unicast autonomous_system: 100 router_id: 10.0.0.2 - address_family: ipv6-unicast autonomous_system: 100 router_id: 10.0.0.2 interfaces: ethernets: - id: 1/1 eigrp: instance_name: CORE address_families: - address_family: ipv4-unicast offset_lists: - direction: in route_map: RM-OFFSET offset: 100 - address_family: ipv6-unicast split_horizon: false