← Common fixesTroubleshooting

BGP established but no routes

A working BGP session advertises nothing on its own. If the neighbor is Established but you see no routes, the question is what each side is actually telling BGP to originate. This is a different problem from a session that won't come up.

What it means

Established means the TCP session and BGP capabilities negotiated fine. Routes only appear if one side originates them (a `network` statement that matches a route in the table, or redistribution) and policy doesn't filter them out.

Most common causes

  • No network statement. The prefix you expect isn't advertised because there's no `network x.x.x.x/len` under the address-family on the originating router.
  • Network statement doesn't match the routing table. A `network` statement only originates a prefix if an exact match exists in the RIB. A typo'd mask means nothing is advertised.
  • Inbound or outbound policy filtering. A route-map, prefix-list, or distribute-list can silently drop everything in or out.

How to fix it

  1. On the originating router, confirm a `network` statement matches a real route in `show ip route`.
  2. Check `show ip bgp neighbor x.x.x.x advertised-routes` to see what you're actually sending.
  3. Check `show ip bgp neighbor x.x.x.x received-routes` (or `routes`) on the receiver.
  4. Review any inbound/outbound route-maps or prefix-lists for an accidental deny.