EIGRP Add Path Support

The EIGRP Add Path Support is a feature that allows the hub in a DMVPN topology to advertise multiple best paths to its spoke routers. This feature is needed if you have two or more spoke routers that advertise the same subnet. The hub router will learn about the subnet from both spoke routers so it can use ECMP (Equal Cost Multipath) with both spoke routers. EIGRP however, will only advertise one path to other spoke routers. Without this feature, you can’t use ECMP between spoke routers and when one of your spoke routers fail, EIGRP has to re-converge.

The Add Path Support feature is best explained with an example. I’ll show you a “before” and “after” scenario so you can see the difference.

EIGRP Add Path Support is only available in EIGRP named mode.

Configuration

Here is the topology I will use:

eigrp add path support topology

Above we have a hub router and four spoke routers. These routers are connected to each other using their GigabitEthernet0/1 interfaces and the 192.168.123.0/24 subnet. The tunnel interfaces for DMVPN use the 172.16.123.0/24 subnet.

The EIGRP Add Path Support is a feature that allows the hub in a DMVPN topology to advertise multiple best paths to its spoke routers. This feature is needed if you have two or more spoke routers that advertise the same subnet. The hub router will learn about the subnet from both spoke routers so it


Spoke1 and spoke2 are connected to the 192.168.12.0/24 subnet, spoke3 and spoke4 to the 192.168.34.0/24 subnet.

This network is configured to use DMVPN phase 2 and EIGRP has been pre-configured to advertise the GigabitEthernet0/2 interfaces of the spoke routers.

Configurations

Want to take a look for yourself? Here you will find the startup configuration of each device.

Hub

hostname Hub
!
ip cef
!
interface Tunnel0
 ip address 172.16.123.254 255.255.255.0
 ip nhrp authentication DMVPN
 ip nhrp map multicast dynamic
 ip nhrp network-id 1
 ip nhrp redirect
 tunnel source GigabitEthernet0/1
 tunnel mode gre multipoint
!
interface GigabitEthernet0/1
 ip address 192.168.123.254 255.255.255.0
!
router eigrp ADDPATH
 !
 address-family ipv4 unicast autonomous-system 1234
  !
  af-interface Tunnel0
   no next-hop-self
   no split-horizon
  exit-af-interface
  !
  topology base
  exit-af-topology
  network 172.16.123.0 0.0.0.255
 exit-address-family
!
end

Spoke1

hostname Spoke1
!
ip cef
!
interface Tunnel0
 ip address 172.16.123.1 255.255.255.0
 ip nhrp authentication DMVPN
 ip nhrp map 172.16.123.254 192.168.123.254
 ip nhrp map multicast 192.168.123.254
 ip nhrp network-id 1
 ip nhrp nhs 172.16.123.254
 tunnel source GigabitEthernet0/1
 tunnel mode gre multipoint
!
interface GigabitEthernet0/1
 ip address 192.168.123.1 255.255.255.0
!
interface GigabitEthernet0/2
 ip address 192.168.12.1 255.255.255.0
!
router eigrp ADDPATH
 !
 address-family ipv4 unicast autonomous-system 1234
  !
  topology base
  exit-af-topology
  network 172.16.123.0 0.0.0.255
  network 192.168.12.0
 exit-address-family
!
end

Spoke2

hostname Spoke2
!
ip cef
!
interface Tunnel0
 ip address 172.16.123.2 255.255.255.0
 ip nhrp authentication DMVPN
 ip nhrp map 172.16.123.254 192.168.123.254
 ip nhrp map multicast 192.168.123.254
 ip nhrp network-id 1
 ip nhrp nhs 172.16.123.254
 tunnel source GigabitEthernet0/1
 tunnel mode gre multipoint
!
interface GigabitEthernet0/1
 ip address 192.168.123.2 255.255.255.0
!
interface GigabitEthernet0/2
 ip address 192.168.12.2 255.255.255.0
!
router eigrp ADDPATH
 !
 address-family ipv4 unicast autonomous-system 1234
  !
  topology base
  exit-af-topology
  network 172.16.123.0 0.0.0.255
  network 192.168.12.0
 exit-address-family
!
end

Spoke3

hostname Spoke3
!
ip cef
!
interface Tunnel0
 ip address 172.16.123.3 255.255.255.0
 ip nhrp authentication DMVPN
 ip nhrp map 172.16.123.254 192.168.123.254
 ip nhrp map multicast 192.168.123.254
 ip nhrp network-id 1
 ip nhrp nhs 172.16.123.254
 tunnel source GigabitEthernet0/1
 tunnel mode gre multipoint
!
interface GigabitEthernet0/1
 ip address 192.168.123.3 255.255.255.0
!
interface GigabitEthernet0/2
 ip address 192.168.34.3 255.255.255.0
!
router eigrp ADDPATH
 !
 address-family ipv4 unicast autonomous-system 1234
  !
  topology base
  exit-af-topology
  network 172.16.123.0 0.0.0.255
  network 192.168.34.0
 exit-address-family
!
end

Spoke4

hostname Spoke4
!
ip cef
!
interface Tunnel0
 ip address 172.16.123.4 255.255.255.0
 ip nhrp authentication DMVPN
 ip nhrp map 172.16.123.254 192.168.123.254
 ip nhrp map multicast 192.168.123.254
 ip nhrp network-id 1
 ip nhrp nhs 172.16.123.254
 tunnel source GigabitEthernet0/1
 tunnel mode gre multipoint
!
interface GigabitEthernet0/1
 ip address 192.168.123.4 255.255.255.0
!
interface GigabitEthernet0/2
 ip address 192.168.34.4 255.255.255.0
!
router eigrp ADDPATH
 !
 address-family ipv4 unicast autonomous-system 1234
  !
  topology base
  exit-af-topology
  network 172.16.123.0 0.0.0.255
  network 192.168.34.0
 exit-address-family
!
end

Let’s take a look at the routing tables of all routers:

Hub#show ip route eigrp

D     192.168.12.0/24 [90/76805120] via 172.16.123.2, 00:03:24, Tunnel0
                      [90/76805120] via 172.16.123.1, 00:03:24, Tunnel0
D     192.168.34.0/24 [90/76805120] via 172.16.123.4, 00:03:24, Tunnel0
                      [90/76805120] via 172.16.123.3, 00:03:24, Tunnel0

The output of the hub’s routing table is looking good. The hub can load balance to both 192.168.12.0/24 and 192.168.34.0/24. Let’s take a look at the spoke routers:

Spoke1#show ip route eigrp

D     192.168.34.0/24 [90/102405120] via 172.16.123.3, 00:03:24, Tunnel0
Spoke2#show ip route eigrp

D     192.168.34.0/24 [90/102405120] via 172.16.123.3, 00:03:25, Tunnel0
Spoke3#show ip route eigrp

D     192.168.12.0/24 [90/102405120] via 172.16.123.1, 00:03:24, Tunnel0
Spoke4#show ip route eigrp

D     192.168.12.0/24 [90/102405120] via 172.16.123.1, 00:03:25, Tunnel0

The spoke routers each have only a single entry. This is because the hub won’t advertise two routes for a single network. We have reachability, but it’s a shame that for example, spoke1 can only reach 192.168.34.0/24 by going through spoke3. It would be nice if it could also use spoke4. Also, if spoke3 fails, EIGRP has to re-converge.

We're Sorry, Full Content Access is for Members Only...

If you like to keep on reading, Become a Member Now! Here is why:

  • Learn any CCNA, CCNP and CCIE R&S Topic. Explained As Simple As Possible.
  • Try for Just $1. The Best Dollar You've Ever Spent on Your Cisco Career!
  • Full Access to our 655 Lessons. More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)

546 Sign Ups in the last 30 days

satisfaction-guaranteed
100% Satisfaction Guaranteed!
You may cancel your monthly membership at any time.
No Questions Asked!

Tags: ,


Forum Replies

  1. Hi Rene,

    Hub(config-router-af-interface)#add-paths <1-4> "Number of add paths to be advertised"
    Can you explain more about when we use the number of 1, 2, 3, or 4?
    Even though I tested with add-paths of 1-2-3-4, the result’s nothing change.

    Spoke1#sho ip route eigrp 
    D     192.168.34.0/24 [90/102405120] via 172.16.123.4, 00:01:42, Tunnel0
                          [90/102405120] via 172.16.123.3, 00:01:42, Tunnel0

  2. Hello Dawn

    The add-paths is used when you have multiple paths from the hub to a specific network that can be reached via multiple spokes. EIGRP however advertises only one path as the best path to connected spokes. The add-paths command allows EIGRP to advertise up to an additional four. This will only be seen if multiple paths are present to the same network.

    For the topology in question:

    //cdn-forum.networklessons.com/uploads/default/original/2X/1/14541df83e62421372b52356d2ec3999bfecd95c.png

    As can be seen, there are two routes to the 192.168.12.0/24 netwo

    ... Continue reading in our forum

  3. Hi Laz,

    Thanks for your kind explanation.
    I understood.

Ask a question or join the discussion by visiting our Community Forum