Skip to main content

BGP Soft Reconfiguration vs. Route Refresh: Key Differences and Best Practices

In BGP (Border Gateway Protocol), managing route updates and reapplying new policies can sometimes be challenging, especially if you want to avoid resetting the BGP session. Two methods allow you to update routing policies without tearing down the session: BGP Soft Reconfiguration and BGP Route Refresh. While both methods serve the same purpose, they work differently and have distinct impacts on your router's resources.

This post explains the key differences between Soft Reconfiguration and Route Refresh, when to use each, and why Route Refresh is preferred in most modern networks.


1. What is BGP Soft Reconfiguration?

BGP Soft Reconfiguration is an older method of applying new policies (like route maps, filters, or prefix lists) without resetting the BGP session. It works by storing a local copy of all the routes received from a BGP neighbor before applying inbound policies. This local route copy allows the router to reprocess the routes when a policy change occurs.

How Soft Reconfiguration Works:

  • Before the policy change: The router stores a complete copy of all received routes.
  • After the policy change: The router applies the new policy to the stored routes, re-evaluating them without resetting the session.

Configuration Example:

You can enable soft reconfiguration for a BGP neighbor with the following command:

router bgp 65001
neighbor 192.0.2.1 remote-as 65000 neighbor 192.0.2.1 soft-reconfiguration inbound

Advantages of Soft Reconfiguration:

  • No session reset is required to apply new policies.
  • It provides complete control over route processing without relying on the neighbor.

Disadvantages:

  • High memory usage: Since the router stores a copy of all received routes, it consumes more memory. This can become a problem when dealing with large routing tables (e.g., full internet routes).
  • It's an older mechanism that has largely been replaced by Route Refresh in modern BGP implementations.

2. What is BGP Route Refresh?

BGP Route Refresh is a more modern and efficient method that allows a router to request the re-advertisement of all routes from a neighbor without storing a local copy. Instead of keeping a full copy of received routes, the router simply asks the BGP neighbor to resend all routes when a policy change is applied.

How Route Refresh Works:

  • Before the policy change: Routes are received as usual, but they are not stored.
  • After the policy change: The router sends a Route Refresh request to the neighbor, asking it to resend all previously advertised routes. The updated policy is applied to these refreshed routes.

Configuration Example:

Most modern BGP implementations support Route Refresh by default. You can issue the following command to request a route refresh from the neighbor:

clear ip bgp 192.0.2.1 in

This command asks the neighbor to resend all routes inbound.

Advantages of Route Refresh:

  • No memory overhead: Routes are not stored locally, so memory usage is significantly lower than with Soft Reconfiguration.
  • It’s more efficient and widely supported in modern routers.
  • No session reset is required to apply new policies.

Disadvantages:

  • Dependency on neighbor support: Both BGP peers must support the Route Refresh capability, although it’s supported by most modern routers.

3. Key Differences Between Soft Reconfiguration and Route Refresh

FeatureSoft ReconfigurationRoute Refresh
Memory UsageHigh (stores all received routes)Low (no routes stored locally)
Reprocess RoutesUses locally stored routesRequests routes from the neighbor
Session ResetNo session resetNo session reset
EfficiencyLess efficient (high memory overhead)More efficient (lower resource usage)
Neighbor DependencyWorks independently of neighborRequires neighbor to support Route Refresh
Best Use CaseLegacy networks or unsupported Route RefreshModern networks with Route Refresh support

4. When Should You Use Each Method?

Use Soft Reconfiguration When:

  • You are working with older routers or networks where Route Refresh is not supported by the neighbor.
  • You want to ensure you can reprocess routes independently of the neighbor's capabilities.
  • You don't mind the increased memory usage, and your router has sufficient resources to handle large routing tables.

Use Route Refresh When:

  • You are working with modern routers that support Route Refresh.
  • Memory efficiency is a concern, especially in environments with a large number of routes.
  • You need a more scalable solution that avoids the high overhead associated with storing routes.

5. Best Practices for BGP Policy Updates

  • Always use Route Refresh when available. It is more efficient and reduces memory usage compared to Soft Reconfiguration.
  • Avoid Hard Clears: Instead of using a full BGP session reset (clear ip bgp), always use soft clears (clear ip bgp in/out) to minimize disruption.
  • Monitor Memory Usage: If you’re using Soft Reconfiguration, keep an eye on memory usage, especially in environments with full internet routing tables.

Conclusion

Both Soft Reconfiguration and Route Refresh allow for BGP policy changes without tearing down the session, but they differ significantly in how they achieve this. Route Refresh is the preferred method in modern networks due to its efficiency and minimal resource usage, while Soft Reconfiguration can still be useful in legacy environments. Understanding when to use each is key to optimizing your network’s performance and stability.

Comments

Popular posts from this blog

Basic MPLS BGP and L3VPN Lab Setup

In this lab, we’ve set up a basic MPLS, BGP, and L3VPN environment, which is a great foundation for understanding how service providers build scalable networks. The lab uses the EVE-NG simulator along with Router IOS C7200-ADVENTERPRISEK9-M, Version 15.2(4)M8 to emulate a realistic MPLS environment. Below is a summary of the key components and roles of each router in the lab. MPLS Core Routers : The MPLS core consists of the routers responsible for label switching and forwarding customer traffic through the network: PE1 (Provider Edge 1) : Connects customer networks to the MPLS core and handles both MPLS and BGP routing. It also hosts VRF (Virtual Routing and Forwarding) instances for customers. PE2 (Provider Edge 2) : Functions similarly to PE1, connecting another customer network to the MPLS core. P1 (Core Router 1) and P2 (Core Router 2) : These routers serve as MPLS core routers and handle label switching but do not store or process customer routes directly. They simply f

OSPF Adjacency Stuck in EXSTART on Cisco IOS XR – Issue and Solution

In a recent lab setup using Cisco IOS XR on EVE-NG, I faced a common but frustrating issue with OSPF adjacencies getting stuck in the EXSTART state. After spending considerable time troubleshooting interface MTUs and configurations, I discovered that the root cause was related to the virtual network interface type being used. This post outlines the issue, troubleshooting steps, and the eventual solution that got everything working. Issue: While configuring OSPF between two routers running Cisco IOS XR in my lab, OSPF adjacencies were getting stuck in the EXSTART state. I verified that interface configurations, MTU settings, and OSPF parameters were correct, but the problem persisted. I tried adjusting the MTU size, using the mtu-ignore command, and even checked for ACLs, but nothing seemed to resolve the issue. Troubleshooting Steps: MTU Settings: I started by verifying that both sides of the OSPF adjacency had matching MTUs. I used the default MTU and even tried different values wit

How to Properly Clone an EVE-NG Lab with Configurations

Cloning labs in EVE-NG is a great way to duplicate setups and expand or experiment on a new copy without affecting the original lab. However, if not done correctly, the cloned lab may only copy the topology without configurations. In this guide, I’ll show you how to properly clone a lab in EVE-NG with all configurations using the EVE-NG GUI . Follow these steps to ensure that both the topology and router configurations are retained when cloning your lab. Steps to Clone an EVE-NG Lab with Configurations Save Running Configuration on All Devices In your original lab, make sure all devices have their configurations saved to NVRAM. Go into the CLI of each router and run the command: copy running-config startup-config Export All Configurations (CFGs) On the left sidebar in the EVE-NG Web UI , click on the "More Actions" option. Then select "Export all CFGs" . This step exports the configurations of all devices in the lab. Shutdown All Devices After exporting the confi