Table of Contents
Here’s a set of BGP troubleshooting scenarios with descriptions and associated diagrams for better understanding:
BGP Troubleshooting Scenario 1: Neighbor Not Establishing (Idle State)
Problem
A BGP neighbor remains in the Idle state, indicating no TCP session establishment.
Cause
- TCP port 179 blocked by a firewall.
- Incorrect neighbor IP address or AS number.
Solution
- Verify reachability using ping or telnet [neighbor-IP] 179.
- Check the BGP configuration on both routers.
- Ensure firewalls or ACLs are not blocking port 179.
Related: Common TCP FIN Issues and How to Troubleshoot Them
BGP Troubleshooting Scenario 2: Missing Prefixes in Routing Table
Problem
Certain prefixes are missing from the BGP table on a router.
Cause
- Filters (prefix-lists, route-maps) are blocking routes.
- The advertised route is not in the neighbor’s routing table.
Solution
- Check the neighbor’s advertised prefixes:
show ip bgp neighbor [neighbor-IP] advertised-routes
- Verify filters with:
show run | include prefix-list
- Ensure the route exists in the source router’s routing table.
BGP Troubleshooting Scenario 3: Flapping BGP Routes
Problem
A prefix keeps appearing and disappearing in the BGP routing table, causing instability.
Cause
- Unstable link between peers.
- Fluctuating IGP route (OSPF/EIGRP) being redistributed into BGP.
Solution
- Stabilize the link.
- Use BGP route dampening:
bgp dampening
- Adjust IGP timers to reduce route changes.
BGP Troubleshooting Scenario 4: High CPU Usage on Router
Problem
A router experiences high CPU usage due to excessive BGP updates or large routing tables.
Cause
- Multiple BGP peers with large numbers of prefixes.
- Inefficient filters or route summarization.
Solution
- Use summarization to reduce the number of advertised routes:
aggregate-address [summary-prefix] [mask]
- Apply filters to limit received prefixes:
ip prefix-list limit-permissions
- Optimize BGP timers if updates are frequent.
BGP Troubleshooting Scenario 5: AS Path Loop Prevention
Problem
A router rejects a route due to AS path loop detection.
Cause
The same AS appears in the AS path due to improper configuration or route reflection.
Solution
- Use the allowas-in command if the loop is intentional and safe.
- Recheck route-reflector configurations.
ABOUT THE AUTHOR
I am here to share my knowledge and experience in the field of networking with the goal being – “The more you share, the more you learn.”
I am a biotechnologist by qualification and a Network Enthusiast by interest. I developed interest in networking being in the company of a passionate Network Professional, my husband.
I am a strong believer of the fact that “learning is a constant process of discovering yourself.”
– Rashmi Bhardwaj (Author/Editor)