Skip to content
ENExplore Calculators

Recursive Route Calculator

Trace recursive next-hop resolution depth, its control-plane cost and the platform recursion limit.

About Recursive Route Calculator

Recursion is a control-plane concept only: the RIB walks the chain until it reaches an interface, then writes one flattened FIB entry, so the data plane still does a single lookup. The cost appears during convergence, when every level in the chain has to be re-resolved. This is the mechanism behind BGP next-hop tracking — a BGP route recursing through an IGP route through a connected interface — and an unresolved next hop is the most common reason a route is in the BGP table but never installed.

Formulas

Recursive Route

Resolution walks one RIB lookup per recursion level plus a final lookup that lands on a connected adjacency, and the result is flattened into a single FIB entry.

recursion
A route whose next hop is itself learned from another route rather than a connected interface
FIB flattening
The resolved outgoing interface and rewrite are stored once, so forwarding is a single lookup
limit
Platform cap on recursion depth, commonly 3 levels

Reconvergence impact

Reconvergence cost ≈ levels × per-level resolution time, because each level must re-resolve in turn.

Worked example

With the default values below, Recursive Route Calculator returns Control-Plane Resolution Time of 8.000. Change any input above and every figure here is recalculated in your browser.

Inputs used

Recursion levels to resolveaccepts 1–16 levels
3 levels
Platform recursion limitaccepts 1–16 levels
3 levels
RIB lookup cost per levelaccepts 0.01–100 µs
2 µs
Reconvergence cost per levelaccepts 0–1,000 ms
20 ms

Results

Lookups to Reach an Adjacency
4
Control-Plane Resolution Time
8.000 µs
Data-Plane Lookups per Packet
1
Added Reconvergence Time
60 ms
Resolution Status
Resolves — 3 level(s) of recursion reach a directly connected adjacency within the platform limit of 3

Step by step

  1. 1Values used
  2. 2Recursive Route
  3. 3Reconvergence impact
  4. 4Control-Plane Resolution Time= 8.000 µs
  5. 5Lookups to Reach an Adjacency= 4
  6. 6Data-Plane Lookups per Packet= 1
  7. 7Added Reconvergence Time= 60 ms
  8. 8Resolution Status= Resolves — 3 level(s) of recursion reach a directly connected adjacency within the platform limit of 3

Assumptions and limits

  • The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
  • In particular, this calculator does not take inflation, tax or compounding frequency into account.
  • Figures are rounded for display to 3 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.

How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.

Frequently Asked Questions

How is Recursive Route calculated?

Resolution walks one RIB lookup per recursion level plus a final lookup that lands on a connected adjacency, and the result is flattened into a single FIB entry. Recursion is a control-plane concept only: the RIB walks the chain until it reaches an interface, then writes one flattened FIB entry, so the data plane still does a single lookup. The cost appears during convergence, when every level in the chain has to be re-resolved.

Why does Recursive Route matter?

This is the mechanism behind BGP next-hop tracking — a BGP route recursing through an IGP route through a connected interface — and an unresolved next hop is the most common reason a route is in the BGP table but never installed.

What values do I need to enter?

This calculator takes 4 inputs: Recursion levels to resolve, Platform recursion limit, RIB lookup cost per level, Reconvergence cost per level. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Why is my BGP route inactive with a valid next hop?

The next hop is probably not resolvable: it may only be covered by the default route, which most implementations refuse to recurse through for BGP. Advertise the next hop into the IGP or use a static route to it.

Recursive Route Calculator | Calcrivo