Overview & Thematic Scope
Asymmetric BGP routing is one of the most common yet misunderstood behaviors in multi-homed telecom and enterprise networks. When inbound and outbound traffic take different paths, engineers often blame the protocol itself, but the root cause is usually a mismatch between BGP path selection attributes, particularly local preference, MED, and AS-path length. This FAQ addresses the most frequent pre-sales and post-sales questions about troubleshooting asymmetric BGP routing with local preference. It covers configuration logic, attribute propagation, compatibility with route reflectors and confederations, and practical error resolution for production networks.

Frequently Asked Questions
- Q1: What causes asymmetric BGP routing when local preference is configured?
- Asymmetric routing occurs when inbound and outbound traffic follow different paths because local preference only influences outbound path selection within an autonomous system. Local preference is a well-known discretionary attribute propagated only to internal BGP (iBGP) peers, so it affects which exit point your network chooses for outbound traffic but has no direct control over how remote autonomous systems route traffic back to you. The return path is typically determined by the remote AS’s own local preference, MED values, or AS-path length policies. To diagnose, compare the output of
show ip bgpon both sides of the peering session and verify that the advertised and received local preference values match your intended policy. - Q2: How do I set local preference to force outbound traffic through a specific ISP?
- Set a higher local preference value on routes learned from the preferred ISP using a route map applied inbound on the eBGP session. For example,
route-map SET-LP permit 10followed byset local-preference 200on the preferred neighbor, while leaving the backup ISP at the default 100. Because local preference is evaluated before MED and AS-path length in the BGP best-path algorithm, the higher value wins consistently across all iBGP speakers. Remember that local preference is not transitive across eBGP boundaries, so it will not influence the remote AS’s return path. - Q3: Why is my local preference change not taking effect across iBGP route reflectors?
- Local preference changes may not propagate if the route reflector or confederation configuration strips or rewrites the attribute. In standard iBGP, local preference is carried unchanged, but route reflectors can inadvertently suppress the update if the cluster ID or originator ID causes a loop-prevention drop. Verify that the route reflector is not filtering the attribute via an outbound route map, and confirm that all clients are in the same autonomous system. If you use BGP confederations, ensure that local preference is preserved across sub-AS boundaries by explicitly setting it on the confederation eBGP sessions.
- Q4: What is the difference between local preference and MED in asymmetric routing scenarios?
- Local preference controls outbound exit selection within your AS, while MED (Multi-Exit Discriminator) suggests inbound entry selection to a neighboring AS. Local preference is always evaluated first in the BGP best-path algorithm and is propagated only via iBGP, whereas MED is optional, non-transitive, and evaluated later. In asymmetric routing, you typically use local preference to pick your outbound ISP and MED to influence which link the remote AS uses for return traffic, though MED is only honored if the remote AS configures
bgp always-compare-medor similar policy. Relying on MED alone for symmetry is fragile because most providers treat it as a non-binding suggestion. - Q5: How do I troubleshoot a local preference mismatch causing routing loops?
- A local preference mismatch causing routing loops usually means two iBGP speakers disagree on the best exit point, so each forwards traffic to the other. Check for inconsistent local preference values by running
show ip bgp neighborandshow ip bgpon all route reflectors and border routers. Common causes include route maps applied to only some neighbors, missingbgp default local-preferencesettings, or stale routes that were not refreshed after a policy change. Clear the BGP sessions withclear ip bgp * softto force re-evaluation, and standardize local preference values using a centralized route policy or configuration management tool. - Q6: Can local preference be used to load-balance traffic across multiple ISP links?
- No, local preference alone cannot load-balance traffic because BGP selects only one best path per prefix. Local preference is a tie-breaker that picks a single winner, so equal values will fall through to MED, AS-path length, and other attributes, but BGP still installs only one route. To achieve load balancing, use multipath BGP with
maximum-pathsand ensure the candidate routes have identical local preference, MED, AS-path length, and weight. Alternatively, deploy per-prefix local preference policies or use BGP communities to influence specific traffic flows rather than attempting global load sharing. - Q7: What are the pre-sales considerations for hardware that supports local preference policy at scale?
- Pre-sales hardware evaluation should focus on route table capacity, iBGP peer scale, and route-policy processing throughput. Local preference itself is a lightweight attribute, but applying it via complex route maps to hundreds of thousands of prefixes demands sufficient TCAM or equivalent policy memory. Ask vendors for the maximum number of route-map entries, the supported number of iBGP sessions, and whether local preference can be set per-community without full table re-evaluation. Also confirm support for BGP additional paths and soft reconfiguration inbound, which reduce operational disruption when local preference policies change.
- Q8: How do I verify that local preference is the actual cause of asymmetric routing?
- Verify by tracing the BGP decision process step by step on both ends of the traffic flow. Run
show ip bgp <prefix>to see the best path and the local preference value, then compare with the neighbor’s view usingshow ip bgp neighbors <neighbor> advertised-routes. If your outbound path uses the higher local preference exit but the return path arrives on a different link, local preference is working correctly and the asymmetry is caused by the remote AS’s policy. Use traceroute from both directions and check BGP community values to confirm which attributes are influencing the remote decision.
Leave a comment