EIGRP – Stub Router

The EIGRP Stub router feature is, interestingly, still a Cisco proprietary feature. Currently RFC 7868 section 6.7.6 shows the relevant TLV (Type Length Value) as reserved. It’s possible to determine this is the correct TLV by the type code 0x0006 when debugging hello packets.

The purpose of the EIGRP stub feature is to limit the size and scope of the query domain. In other words EIGRP routers configured as stubs are telling neighbours not to send them query messages. However there are exceptions to this:

  • A stub will reply to a query if the query is for a route the stub is advertising
  • A stub will also send queries like a regular EIGRP router
  • Also bear in mind a neighbour might be running an old version of IOS that doesn’t recognise the stub TLV and will therefore send the stub queries regardless.

Stubs are particularly useful in a hub and spoke design. A spoke will have no alternative path to a destination, by virtue of it being a stub, so there is no point in querying it for alternative paths. In a hub and spoke design comprising of hundreds of spokes, it doesn’t make sense to wait for a response to a query for an alternative path from the spokes, so it’s a good idea to configure the spokes as stubs.

Configuring Stub Routing

If we consider the below network, prior to configuring the stub routers as stubs, R1 is receiving all the loopbacks.

EIGRP Stub

 

R1#show ip route | i 10.10|20.20|30.30|40.40
D        10.10.10.0 [90/205440] via 1.3.1.3, 00:07:30, FastEthernet0/1
D        20.20.20.20 [90/205440] via 1.3.1.3, 01:09:12, FastEthernet0/1
D        30.30.30.30 [90/205440] via 1.3.1.3, 01:09:12, FastEthernet0/1
D        40.40.40.40 [90/256640] via 1.3.1.3, 00:00:07, FastEthernet0/1

The EIGRP stub configuration options are as follows:

Stub1(config-router-af)#eigrp stub ?
connected Do advertise connected routes
leak-map Allow dynamic prefixes based on the leak-map
receive-only Set receive only neighbor
redistributed Do advertise redistributed routes
static Do advertise static routes
summary Do advertise summary routes
<cr>

Note: Without any keywords the eigrp stub command will, by default, advertise connected and summary routes

Stub1(config-router-af)#eigrp stub

Stub1#show run | s eigrp
router eigrp ccie
!
address-family ipv4 unicast autonomous-system 100
!
topology base
exit-af-topology
network 0.0.0.0
eigrp stub connected summary
exit-address-family

EIGRP stub receive-only

When the receive-only keyword is used the stub router does not advertise any prefixes. In the example below Stub 1 is configured as receive-only. On R1 we can see we are no-longer receiving Stub 1’s loopback or the loopback of R4 behind it.

Stub1#show run | s eigrp
router eigrp ccie
 !
 address-family ipv4 unicast autonomous-system 100
  !
  topology base
  exit-af-topology
  network 0.0.0.0
  eigrp stub receive-only
 exit-address-family

R1#show ip route | i 10.10|20.20|30.30|40.40
D        20.20.20.20 [90/205440] via 1.3.1.3, 01:29:11, FastEthernet0/1
D        30.30.30.30 [90/205440] via 1.3.1.3, 01:29:11, FastEthernet0/1

EIGRP connected

When the connected keyword is used the stub router will only advertised its directly connected networks. In the example below Stub1 is configured as eigrp stub connected. R1 is therefore no-longer receiving R4s loopback

Stub1#show run | s eigrp
router eigrp ccie
!
address-family ipv4 unicast autonomous-system 100
!
topology base
exit-af-topology
network 0.0.0.0
eigrp stub connected
exit-address-family

R1#show ip route | i 10.10|20.20|30.30|40.40
D 10.10.10.0 [90/205440] via 1.3.1.3, 00:00:08, FastEthernet0/1
D 20.20.20.20 [90/205440] via 1.3.1.3, 01:37:36, FastEthernet0/1
D 30.30.30.30 [90/205440] via 1.3.1.3, 01:37:36, FastEthernet0/1

EIGRP leak-map

The leak-map <route-map> keyword is used with the connected, redistributed, static, and summary keywords to allow dynamically learnt prefixes to be advertised that would otherwise be suppressed. In the below example Stub1 is configured to only advertise connected subnets, and also leak the loopback received from R4.

Stub1#show run | s eigrp
router eigrp ccie
!
address-family ipv4 unicast autonomous-system 100
!
topology base
exit-af-topology
network 0.0.0.0
eigrp stub connected leak-map leak-map1
exit-address-family

Stub1#show run | b ^route-map leak-map1
route-map leak-map1 permit 10
match ip address prefix-list leak-map1

Stub1#show run | i ip prefix-list leak-map1
ip prefix-list leak-map1 seq 5 permit 40.40.40.40/32
ip prefix-list leak-map1 seq 10 deny 0.0.0.0/0 le 32

R1#show ip route | i 10.10|20.20|30.30|40.40
D 10.10.10.0 [90/205440] via 1.3.1.3, 00:00:07, FastEthernet0/1
D 20.20.20.20 [90/205440] via 1.3.1.3, 02:01:58, FastEthernet0/1
D 30.30.30.30 [90/205440] via 1.3.1.3, 02:01:58, FastEthernet0/1
D 40.40.40.40 [90/256640] via 1.3.1.3, 00:00:05, FastEthernet0/1

To check the current stub settings use the show ip protocols command

Stub1#show ip protocols
*** IP Routing is NSF aware ***

Routing Protocol is "eigrp 100"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP-IPv4 VR(ccie) Address-Family Protocol for AS(100)
Metric weight K1=1, K2=0, K3=1, K4=0, K5=0 K6=0
Metric rib-scale 128
Metric version 64bit
NSF-aware route hold timer is 240
Router-ID: 10.10.10.10
Stub, connected, leakmap leak-map1
Topology : 0 (base)
Active Timer: 3 min
Distance: internal 90 external 170
Maximum path: 4
Maximum hopcount 100
Maximum metric variance 1
Total Prefix Count: 15
Total Redist Count: 0

You can also check if a neighbour (that you might not have access to is configured as a stub) using the show ip eigrp neighbor detail command.

Hub1#show ip eigrp neighbors detail fastEthernet 0/0
EIGRP-IPv4 VR(ccie) Address-Family Neighbors for AS(100)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.1.1.2 Fa0/0 14 00:07:07 71 426 0 72
Version 10.0/2.0, Retrans: 0, Retries: 0, Prefixes: 3
Topology-ids from peer - 0
Stub Peer Advertising (CONNECTED LEAKMAP ) Routes
Suppressing queries

References:

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_eigrp/configuration/15-mt/ire-15-mt-book/ire-eigrp-stub-rtg.html

 

 

Unknown's avatar

Author: Simon Chamberlain

An experienced Network Professional writing yet another blog

Leave a comment