What does a routing loop look like in traceroute, and how do you confirm it?
Show the answer
Say this first
The same two or more addresses repeat in a cycle until the trace hits its maximum TTL (30 by default)
without reaching the destination. A ping shows "TTL expired in transit". I confirm it with
show ip route <destination> on each router in the cycle: each points at the other. Common causes are
two static routes pointing at each other, a summary with no Null0 discard route, or mutual
redistribution at two points.
Go deeper
What it looks like
R3# traceroute 172.16.9.10
Type escape sequence to abort.
Tracing the route to 172.16.9.10
VRF info: (vrf in name/id, vrf out name/id)
1 10.0.34.4 1 msec 1 msec 1 msec
2 10.0.34.3 1 msec 1 msec 1 msec
3 10.0.34.4 2 msec 1 msec 2 msec
4 10.0.34.3 2 msec 2 msec 2 msec
5 10.0.34.4 2 msec 2 msec 2 msecIt carries on alternating until hop 30.
Confirm on both routers
R3# show ip route 172.16.9.10
Routing entry for 0.0.0.0/0, supernet
Known via "static", distance 1, metric 0, candidate default path
Routing Descriptor Blocks:
* 10.0.34.4
Route metric is 0, traffic share count is 1
R4# show ip route 172.16.9.10
Routing entry for 172.16.0.0/16
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
* 10.0.34.3
Route metric is 0, traffic share count is 1R4 sends the whole 172.16.0.0/16 to R3. R3 no longer has the specific subnet, so it follows its default route back to R4. Each packet bounces until its TTL runs out, and the link between them fills up.
Fixes
- Correct the wrong route, or put back the missing one.
- On the router that owns a block, add a discard route so unknown subnets inside it are dropped locally:
ip route 172.16.0.0 255.255.0.0 Null0. - With redistribution, tag routes and filter them at the second redistribution point.
They will ask next
How is a layer 2 loop different?
Ethernet frames have no TTL, so a switching loop circulates broadcasts forever. You see MAC flapping logs, links at 100 percent and high CPU. traceroute does not show it, because the loop is inside one IP hop.
Can loops be temporary?
Yes. Micro-loops can last a second or so during convergence while routers update their tables at different times. A loop that stays is a configuration problem.
Traps
- Calling a trace that ends in
* * *a loop. A loop shows repeating addresses, not silence.