EIGRP

EIGRP Route Summarization and Default Routes

EIGRP route summarization feature image with real IOS XE Null0 summary route output from a CML lab
In: EIGRP, Labs

Route summarization is one of those EIGRP features that looks like a simple address-shortening trick but quietly solves three different problems at once: it shrinks topology tables, it speeds up convergence, and it creates query boundaries that protect you from stuck-in-active events. If you are working through the EIGRP complete guide, summarization is the point where the protocol stops being a config exercise and starts being a design tool.

In this article you will configure manual summarization in both classic and named mode on Cisco IOS XE, watch the Null0 discard route appear, advertise a default route with summary-address 0.0.0.0/0, and see a suppression side effect that surprises a lot of engineers the first time. Every output below is captured live from a CML lab, not typed from memory.

Why Summarize in EIGRP

EIGRP is a distance vector protocol, so every router carries every prefix it learns in its topology table. In a small lab that costs nothing. In a network with a few thousand routes, every extra prefix is more memory, more update traffic, and, most importantly, more queries when something fails. When EIGRP loses a route with no feasible successor, it queries its neighbors for that exact prefix (the full mechanics are in the EIGRP query process and stuck-in-active deep dive). A router that only knows a summary cannot be queried for the missing /24 inside it, which means summarization physically limits how far queries propagate.

Three wins, one command:

  • Smaller routing and topology tables. Four /24s become one /22. Multiply that across a real address plan and the savings are significant.
  • Fewer updates. A flapping /24 inside a stable summary is invisible to the rest of the network, because the summary metric only changes when the best component metric changes.
  • Query boundaries. Routers that only know the summary reply immediately to queries for component routes, which is your main structural defense against stuck-in-active.

Interface-Level Summarization (Not Like OSPF)

If you come from OSPF, recalibrate: OSPF can only summarize at area boundaries on ABRs and ASBRs (see the OSPF complete guide for why). EIGRP has no areas, so it summarizes per interface, on any router. You decide exactly which neighbor sees the summary and which sees the components. That flexibility is a genuine architectural advantage of EIGRP, and it is one of the honest points in favor of EIGRP in the EIGRP vs OSPF comparison.

The Lab

Five IOL-XE routers in CML. R1 is the hub, R2 and R3 are spokes, and R4-R5 form a longer alternate path. R3 carries four loopbacks that simulate a site address block: 10.1.0.0/24 through 10.1.3.0/24, which pack neatly into 10.1.0.0/22. R1, R2, and R4 run named mode EIGRP (router eigrp PINGLABZ, AS 100) while R3 and R5 run classic mode (router eigrp 100), so you will see both syntaxes.

Before summarization, R1 sees all four components from R3:

R1# show ip route eigrp | include 10.1.
D        10.1.0.0/24 [90/3584000] via 10.0.13.2, 00:00:16, Ethernet0/2
D        10.1.1.0/24 [90/3584000] via 10.0.13.2, 00:00:16, Ethernet0/2
D        10.1.2.0/24 [90/3584000] via 10.0.13.2, 00:00:16, Ethernet0/2
D        10.1.3.0/24 [90/3584000] via 10.0.13.2, 00:00:16, Ethernet0/2

Classic Mode: ip summary-address eigrp

In classic mode the command lives on the interface, pointing in the direction the summary should be advertised. R3 summarizes toward both of its neighbors:

R3(config)# interface Ethernet0/1
R3(config-if)# ip summary-address eigrp 100 10.1.0.0 255.255.252.0
R3(config-if)# interface Ethernet0/2
R3(config-if)# ip summary-address eigrp 100 10.1.0.0 255.255.252.0

The AS number in the command must match your EIGRP process (a mismatch is silently useless). Verify on the receiving side. R2's table now carries a single /22, learned over both of its paths:

R2# show ip route eigrp | include 10.1.
D        10.1.0.0/22 [90/4608000] via 10.0.24.2, 00:00:16, Ethernet0/2
             [90/4096000] via 10.0.12.1, 00:00:16, Ethernet0/1

Four prefixes became one, network-wide, with two interface commands on one router.

The Null0 Discard Route

The summarizing router installs something interesting in its own table:

R3# show ip route | include Null0
D        10.1.0.0/22 is a summary, 00:00:24, Null0

This is the discard route, and it exists to prevent routing loops. Imagine R3 advertises 10.1.0.0/22 but loses 10.1.2.0/24. A packet for 10.1.2.5 arrives because the summary attracted it. Without the Null0 route, R3 might follow a default route back toward the neighbor that sent the packet, which follows the summary back to R3, and you have a loop that only dies at TTL expiry. With the discard route, longest prefix match works: no /24, so the /22 to Null0 wins, and the packet is cleanly dropped.

The summary is a real EIGRP topology entry on R3, with a metric inherited from the lowest-metric component:

R3# show ip eigrp topology 10.1.0.0/22
EIGRP-IPv4 Topology Entry for AS(100)/ID(10.1.3.1) for 10.1.0.0/22
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 128256
  Descriptor Blocks:
  0.0.0.0 (Null0), from 0.0.0.0, Send flag is 0x0
      Composite metric is (128256/0), route is Internal
      Vector metric:
        Minimum bandwidth is 8000000 Kbit
        Total delay is 5000 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1514
        Hop count is 0
        Originating router is 10.1.3.1

Notice hop count 0 and next hop 0.0.0.0: the summary originates here. If you need the mechanics of how that composite metric is computed, the EIGRP metric and K values guide breaks it down, and the 64-bit version of the story is in the EIGRP wide metrics article.

Named Mode: summary-address Under af-interface

Named mode moves the same feature under the routing process, in the af-interface section. This keeps all EIGRP policy in one place instead of scattering it across interface configs (the layout logic is covered in the EIGRP configuration guide):

R1(config)# router eigrp PINGLABZ
R1(config-router)# address-family ipv4 unicast autonomous-system 100
R1(config-router-af)# af-interface Ethernet0/1
R1(config-router-af-interface)# summary-address 10.1.0.0/22

Named mode also accepts CIDR notation, which is a small quality-of-life win over the classic dotted mask.

Advertising a Default Route with summary-address 0.0.0.0/0

A default route is just the ultimate summary: it covers everything. That means summary-address 0.0.0.0/0 is a legitimate and clean way to originate a default into EIGRP from an edge or hub router. Here R1 advertises a default toward R2 in named mode:

R1(config)# router eigrp PINGLABZ
R1(config-router)# address-family ipv4 unicast autonomous-system 100
R1(config-router-af)# af-interface Ethernet0/1
R1(config-router-af-interface)# summary-address 0.0.0.0/0

R1 installs its own discard route, exactly as before:

R1# show ip route | include Null0
D*    0.0.0.0/0 is a summary, 00:00:26, Null0

And R2 receives a candidate default, flagged with the asterisk:

R2# show ip route eigrp | begin Gateway
Gateway of last resort is 10.0.12.1 to network 0.0.0.0

D*    0.0.0.0/0 [90/1024640] via 10.0.12.1, 00:00:18, Ethernet0/1
      1.0.0.0/32 is subnetted, 1 subnets
D        1.1.1.1 [90/2560640] via 10.0.24.2, 00:00:18, Ethernet0/2
      3.0.0.0/32 is subnetted, 1 subnets
D        3.3.3.3 [90/4608000] via 10.0.24.2, 00:00:18, Ethernet0/2

The Side Effect That Bites: Summaries Suppress Components

Look at that last capture again. Before this change, R2 reached 1.1.1.1 (R1's own loopback) directly via R1. Now it reaches it via 10.0.24.2, the long way around through R4. Why?

A summary suppresses every more-specific prefix on the interface where it is configured, and 0.0.0.0/0 covers everything. R1 stopped advertising all individual routes to R2 the moment the default went on. R2 still has specifics learned from its other neighbor R4, so those now win by longest prefix match, even though the physical path is worse.

Rule of thumb before you summarize

A summary-address suppresses all component routes on that interface. If the neighbor has another path to those components, traffic silently shifts to it. Advertising 0.0.0.0/0 suppresses every prefix, so use it only where the neighbor genuinely should send everything to you, such as a stub site behind a single hub. This pairs naturally with EIGRP stub routing.

Other Ways to Originate a Default

The summary approach is not the only one, and it pays to know the trade-offs:

  • Redistribute a static default. ip route 0.0.0.0 0.0.0.0 <next-hop> plus redistribute static under EIGRP. The route arrives as EIGRP external (D*EX, administrative distance 170), and it does not suppress anything. This is the common choice at an internet edge. BGP-learned defaults at that edge are a different conversation, covered in the BGP complete guide.
  • ip default-network. Legacy, classful, easy to get wrong. Know it exists for old configs; do not deploy it new.
  • summary-address 0.0.0.0/0. Internal route (AD 90), interface-scoped, suppresses everything. Best for hub-to-stub designs.

Controlling the Summary Metric and Leaking Exceptions

By default the summary inherits the lowest metric among its components, which means the summary is recomputed every time that best component changes. On a router summarizing hundreds of prefixes, that recomputation has a CPU cost, and the resulting metric churn partially defeats the stability you were buying. Named mode has a fix: pin the metric.

R1(config-router-af)# topology base
R1(config-router-af-topology)# summary-metric 10.1.0.0/22 10000 100 255 1 1500

The five values are the classic bandwidth, delay, reliability, load, and MTU inputs. With a pinned metric, component flaps stop touching the summary entirely. The trade-off is honesty: the advertised metric no longer reflects the real best path, so reserve it for summaries whose components are metric-equivalent anyway.

The other refinement is the leak map. Sometimes you want the summary and one exception: advertise 10.1.0.0/22 but also leak 10.1.2.0/24 so a specific service keeps an exact route (perhaps to steer it down a preferred link). A leak map is a route map naming the components allowed to escape suppression:

R3(config)# ip prefix-list LEAK-VOICE permit 10.1.2.0/24
R3(config)# route-map LEAK-MAP permit 10
R3(config-route-map)# match ip address prefix-list LEAK-VOICE
R3(config)# interface Ethernet0/1
R3(config-if)# ip summary-address eigrp 100 10.1.0.0 255.255.252.0 leak-map LEAK-MAP

Neighbors now receive both the /22 and the leaked /24, and longest prefix match sends the exception traffic exactly where you pointed it. Leak maps are also the escape hatch when a default-route summary would otherwise suppress something you need visible.

Where to Summarize: Design Patterns

Summarization works best where the addressing hierarchy meets the physical hierarchy. Three patterns cover most networks:

  • Hub toward spokes. Spokes rarely need the full enterprise table. A default or a short summary list from the hub keeps spoke routers tiny, and pairs with stub routing in the other direction. This is the classic WAN pattern.
  • Site toward core. Each site advertises one block (like R3's /22 here) upstream. Core topology tables stay flat no matter how many VLANs a site adds, and site-internal flaps never leave the site: this is the query boundary in action, the same mechanism that protects against stuck-in-active.
  • Between routing domains. At redistribution boundaries, summarizing before you redistribute caps how much churn crosses into the other protocol.

One caution from the suppression discussion above: before adding any summary on a transit router, run show ip eigrp topology for the components and check which neighbors have alternate paths to them. The summary changes what those neighbors prefer, and the new best paths should be ones you actually want carrying the traffic.

Key Takeaways

  • EIGRP summarizes per interface on any router, unlike OSPF's area-boundary restriction. That makes it a precision tool: each neighbor can see a different level of detail.
  • The summarizing router installs a Null0 discard route automatically. It is loop prevention, not a bug, and packets for missing components are dropped by longest prefix match.
  • The summary inherits the lowest component metric, and it stays quiet unless that best metric changes, which dampens the blast radius of flapping components.
  • Summaries are query boundaries. This is the structural fix for stuck-in-active, alongside stub routing.
  • summary-address 0.0.0.0/0 is a clean internal default, but it suppresses every more-specific route on that interface. Check what else the neighbor can see before you commit.

Summarization decides how much of your network each router has to think about. Get it right and queries die at the boundary you drew. For where this fits in the bigger picture of DUAL, metrics, and design, head back to the EIGRP complete guide.

Written by
More from Ping Labz
Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to Ping Labz.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.