Optimization comes down to three things:
- Failure detection: How fast can we figure out something’s wrong? (We should use BFD here, but let’s pretend we can’t because the task tells us not to.)
- Information propagation: How fast can we tell our neighbors about the failure?
- Fault repair: How fast can we calculate an alternate path?
1.3.f i Fast convergence requirements
For speeding up failure detection, we’ll just set the Hello Timers to really low numbers. (But even 3 seconds here is a lifetime compared to BFD’s 50 milliseconds.)
R20
router eigrp R20
address-family ipv4 autonomous-system 10
af-interface default
hello-interval 1
hold-time 3
1.3.f ii Query propagation boundaries
For improving information propagation we just need to make sure we have a good network design. Use summary addresses and stub areas to limit queries. Also, make sure there’s a feasible successor for every route so we can switch gears super fast (milliseconds) when the successor goes down. Without a FS, we’re at the mercy of the queries spidering out through the network and waiting for all the replies to come back.
1.3.f iii IP FRR (single hop)
The loop-free alternate fast reroute is basically the FS. If a link goes down, the neighboring router has a backup path that it starts using without needing to do route calculations. The configuration is done in the named mode topology base section. Interestingly, the command doesn’t seem to be available on 15.8(3)M2 code that I’m labbing on. Looks like it was introduced with IOS-XE 3.7.
R22
router eigrp R22
address-family ipv4 auto 10
topology base
fast-reroute per-prefix all
Per-prefix is recommended, instead of per-interface. The alternative to the keyword all is to set a route-map for specific prefixes. For more granular control you can disable load-sharing and enable different tie-breaker rules to specify which path should be preferred if the primary link goes down. You assign each tie-breaker option with a priority, lower is better.
topology base
fast-reroute load-sharing disable
fast-reroute tiebreak lowest-backup-path-metric 1
fast-reroute tiebreak linecard-disjoint 2
fast-reroute tiebreak interface-disjoint 3
fast-reroute tiebreak srlg-disjoint 4