Octet

A prefix is in the BGP table but not in the routing table. What could cause that?

Show the answer

Say this first

The usual causes: the next hop is unreachable (the route has no *); a route from another source with a better administrative distance is already there (RIB-failure, r, for example OSPF 110 beating iBGP 200); the path is valid but another path is best; it is suppressed by an aggregate (s) or dampened (d); or on an ancient config, synchronization is on. show ip bgp <prefix> and show ip bgp rib-failure say which.

Go deeper

Working through it

  1. show ip bgp 198.51.100.0: look at each path for inaccessible after the next hop, and for best, suppressed or dampened.
  2. Next hop: show ip route 192.0.2.1. If the IGP has no route to it, fix with next-hop-self on the edge router.
  3. RIB-failure:
    Output
    R1# show ip bgp rib-failure
      Network            Next Hop                      RIB-failure   RIB-NH Matches
      172.16.5.0/24      10.255.0.3            Higher admin distance              n/a
    show ip route 172.16.5.0 shows who won, here OSPF.
  4. Not best: compare the paths with the best path order. The best one may point elsewhere.

A detail interviewers like

IOS still advertises RIB-failure routes to its BGP peers by default. bgp suppress-inactive stops that, so the router only advertises what it actually forwards with.

Traps

  • Thinking r means rejected. The route is valid and best in BGP, it just lost in the routing table.
How did you do?Book 4.1 Global Internet