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.

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: