Route Summarization Calculator

Reduce a list of prefixes to the minimal exact cover, the single covering supernet, and the holes that the supernet would advertise but nobody owns.

Input

Blank lines and lines starting with #, ! or // are ignored.

Output

Export

2 prefix(es) in the cover

Advertises 1,024 addresses that are not in this list

The smallest single prefix covering everything is 10.0.0.0/21. Announcing it would attract traffic for the address space below, which no route here owns:

  • 10.0.2.0/23 · 512 addr
  • 10.0.6.0/23 · 512 addr

Announcing this aggregate blackholes every address listed above unless the space genuinely belongs to you. Prefer the exact cover, or add the missing blocks.

Summary

Minimal exact cover — no address space is added

Input blocks
4

1,024 addresses

Cover prefixes
2

1,024 addresses

Cover prefixes
2

1,024 addresses

Extra addresses
0

Cover is exact

Smallest supernet
10.0.0.0/21

One prefix covering every input block

Holes vs supernet
2

1,024 unowned addresses

Status
Exact

No address space added

Exact coverMode: exact2 hole block(s)

Exact minimal cover

Every address in this list belongs to the input

PrefixNetworkBroadcastAddresses
10.0.0.0/2310.0.0.010.0.1.255512
10.0.4.0/2310.0.4.010.0.5.255512

Selected cover

Identical to the exact cover

PrefixAddressesOwned?
10.0.0.0/23512Exact
10.0.4.0/23512Exact

Holes — space the supernet would advertise

1,024 addresses nobody in this list owns

  • 10.0.2.0/23
  • 10.0.6.0/23

Cover as a prefix list

Paste-ready lines for an ACL or route filter

Exact cover
10.0.0.0/23
10.0.4.0/23

Which mode to use

Exact cover is safe: it announces only the address space you listed. Single supernet is the smallest one-prefix summary, and it silently advertises everything between your blocks — read the hole list above before you use it.

Max prefixes reaches your budget by promoting one block at a time to a wider prefix, always choosing the promotion that invents the fewest addresses. A promotion can cover a sibling or the larger half of the parent block, which is how two blocks that are not direct siblings still merge. The extra-space ceiling caps how far that goes: when the budget cannot be reached without advertising more than the ceiling allows, the result stays short of the budget and the note above says by how much. The greedy is deterministic but not provably minimal — a different set of promotions can sometimes reach the same budget with less invented space, so check the extra-address figure before you publish the plan.

Frequently asked

What is the difference between the exact cover and a supernet?
The exact cover is the smallest set of prefixes that covers exactly the addresses you listed, adding nothing. A supernet is one prefix that contains them all, so it usually also advertises addresses in between that belong to somebody else.
Why can 10.0.0.0/24 and 10.0.2.0/24 not be summarised to 10.0.0.0/22?
It can be expressed that way, but the /22 is 10.0.0.0 through 10.0.3.255, which also covers 10.0.1.0/24 and 10.0.3.0/24. Those two blocks are holes: announcing the /22 attracts their traffic to a router with no route for it.
What are holes and why are they dangerous?
A hole is address space inside the aggregate that no more-specific route claims. If the aggregate is announced with summary-only, the more-specifics are withdrawn and the hole is advertised as reachable, so traffic for it arrives and is dropped — a silent outage that only appears when someone uses an address in the hole.
When is the max-prefixes mode not optimal?
It only merges direct siblings, which is the only merge that adds no address space. A set with no sibling pair left stays over budget rather than being widened, so you may end up with more prefixes than you asked for; the tool says so instead of inventing address space.

Next