While trying my hand at an INE question, I was triggered to figure out how EIGRP summary addresses work. What happens if we summarise a network to the exact same prefix? How can we play with the results?

To try this out, I built a small topology. R1 represents the provider, who advertises only a default route through BGP. R2 and R3 will advertise the EIGRP networks to R1 and redistribute BGP into EIGRP. Later, R2 and R3 will summarise this default network. R1’s loopback (1.1.1.1) will represent the outside networks.

EIGRP Summary

The setup on R3:

Everything works, both R4 and R5 will take the shortest path out:

Now, let’s see what happens when we summarise the default network to the same prefix. Only on R3 first:

So, both R4 and R5 still have a default route. Howerver, R4 now wants to go through R5 and R3. At first I thought this was because I am redistributing the BGP route with a BW of 1Gbit and the summary is being advertised with a BW of 10Gbit. Later I figured out the real reason: The summarised route is advertised as EIGRP internal and the redistributed route is advertised as EIGRP external. EIGRP defaults to preferring internal routes, so the summarised route wins:

A trace should still work, right? R3 gets the default route from BGP. R4 and R5 know a default route towards R3. Let’s try this out:

Wait! We are getting unreachables. Why? Let’s check R3, because it is the router generating the unreachables:

The EIGRP summary route wins from the BGP route, because it has an AD of 5, which is better than eBGP’s 20. The router doesn’t care if the route points to Null0, or not. A route is a route. Let’s fix this, and let’s do all the same summarisation at R2 as well (not shown):

That is better. But, to be honest, we are not getting the summary route, we are getting the redistributed BGP route, as you can see from the D*EX. Does this even summarise any networks? Let’s have R1 advertise it’s loopback address and see what happens:

So, the summary does not get advertised, but it does suppress all other advertisements. Now, how can we break this further? Let’s kill the BGP connecting between R3 and R1, and see what happens:

We have the same problem as before, R3 is installing the Null0 route. R5 will not be able to connect to R1. Even worse, R4 will prefer the R3 route, because it is EIGRP internal instead of EIGRP external, and so is preferred:

Can we fix this? Yes, we can! Through the magic of an unreachable AD.

Now even R3 has a backup route and everyone can ping happily ever after.

So, in short, this is what I learned:

  • EIGRP summary routes will overwrite existing routes of inferior AD,
  • EIGRP will prefer internal routes over external routes, regardless of metric,
  • You can use an infinite AD on a summary to filter out more specific routes,