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

How to import Putty Saved Connections to mRemoteNG

Just started using mRemoteNG and its being very cool to connect to different remote connection with different protocols e.g Window Remote Desktop, VNC to Linux, SSH, HTTP connection etc. from a single application. As new user I configured some remote desktop connection which was quite easy to figure out. But when I wanted to add SSH connections, it came in my mind to import all of the saved connections in the putty. But I couldn't figure it out how can it be done, though it was quite easy and here are the steps. Open your mRemoteNG Create a folder if you want segregation of multiple networks Create a new connection Enter the IP address of remote server under connection in Config pane Under the config pane, select protocol " SSH version 2 ".  Once you select protocol to SSH version 2 you are given option to import putty sessions, as shown in the snap below. In the above snap, I have imported CSR-AWS session from my saved sessions in Putty.

Authoritative DNS Servers Delegation and Internal DNS Explained

DNS (Domain Name System) plays a critical role in how users and systems find resources on the internet or within internal networks. Whether it's managing an internal domain in an enterprise or delegating parts of a domain for traffic distribution, DNS setups vary widely depending on needs. In this blog post, we’ll break down the different types of DNS setups, including authoritative DNS servers, DNS delegation, and how internal DNS functions within organizations. 1. Authoritative DNS Server An Authoritative DNS server is the final source of truth for a specific domain. When someone queries a domain (e.g., example.com ), the authoritative DNS server for that domain holds the DNS records (A records, CNAME, MX, etc.) and responds with the corresponding IP address. Key Points: Who can host it? Authoritative DNS servers are often hosted by domain registrars (e.g., GoDaddy, Namecheap) or cloud DNS providers (e.g., AWS Route 53, Cloudflare). However, organizations can also host their ...

BGP MED: Managing Inbound Traffic with Multi-Exit Discriminator

The Multi-Exit Discriminator (MED) is used in BGP to control inbound traffic into your AS. It tells a neighboring AS which entry point into your network it should prefer when there are multiple links between your AS and the neighboring AS. The lower the MED value , the more preferred the path. MED is only honored between the same neighboring AS . Example Scenario : You are connected to ISP1 via two routers, CE1 and CE2 , and want to control which router ISP1 uses to send traffic into your AS. Network Topology : CE1 (connected to ISP1): 10.0.1.1/30 CE2 (connected to ISP1): 10.0.2.1/30 iBGP Router (Internal) connected to both CE1 (10.0.1.2/30) and CE2 (10.0.2.2/30). Configuration on CE1 (Lower MED, More Preferred) : Create a route map to set the MED to 50 for CE1: route-map SET_MED permit 10 set metric 50 Apply this route map to the neighbor in the BGP configuration for CE1: router bgp 65001 neighbor 10.0.1.1 remote-as 65000 neighbor 10.0.1.1 route-map SET_MED out Configuratio...