Technical Tip: What to check when BGP routes are learned but not getting installed in the routing table
| Description | This article suggests what to check if FortiGate successfully establishes BGP connection with the peer and learned routes from it but the routes do not get installed under routing table. |
| Scope | FortiGate. |
| Solution | In some deployments, even after establishing BGP adjacency with peer, learnt routes are not added into the routing table:
get router info routing-table all
To troubleshoot this:
Step 1: Verify BGP neighbor status by running below command and confirm the status should be 'established' and prefix received should be greater than 0:
get router info bgp summary <----- Shows the BGP status of the router and all its neighbors, including: the AS, packet counters, and the length of time the neighbor has been up.
Example:
Step 2: Verify that the route exists in the BGP table by applying a specific prefix filter:
get router info bgp network <prefix> <----- Shows the BGP database.
Example:
If the route is coming up here but not in the routing table, continue below.
Step 3: Check Administrative Distance conflicts, if a static route exists for the same prefix, BGP route will not install. To check this, run:
get router info routing-table details <prefix>
If static route is there for the same prefix, BGP route will be suppressed.
Step 4: Verify Next-hop resolution as FortiGate will not install a BGP route if the next hop is not reachable. This can be checked by running the following command:
diagnose ip route list | grep <bgp_next_hop_ip>
If output shows nothing, the route cannot be installed.
Step 5: Check for route-map filtering since route maps may prevent route from entering RIB, run 'show router bgp' and look for the following:
set route-map-in set route-map-out
Step 6: Check prefix-list filtering and ensure prefix-list allows intended prefix.
This can be verified by running the following command:
show router prefix-list
If multiple paths exist to receive the same route, multipath must be enabled.
set ebgp-multipath enable
get router info bgp summary router info bgp neighbors x.x.x.x received-routes
Related articles: |

