cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
479
Views
0
Helpful
5
Replies

BGP Soft Configuration

JohnTylerPearce
Level 7
Level 7

I understand the purpose behind this idea perfectly fine, but I just have a few questions on the use the command.

If I recall ( < IOS 12.0) you had to manually include the 'neighbor x.x.x.x soft-reconfiguration in' command to enable soft reconfiguration,

for inbound BGP updates. Then if let's say you changed a prefix-list, route-map, distribute-list, you would need to do 'clear ip bgp soft neighbor-id'.

Obviously once you enable soft-reconfiguration, it will store a copy of the updates, from which it will modify.

But if you have > IOS 12.0, I know all you have to do is, 'clear ip bgp soft neighbor-id or * for all BGP sessions on the router from which it is configured'.

I was wondering if the above commands and IOS version requirements were correct?

Also, when you change a prefix-list, route-map, distribute-list, and it's for outbound BGP updates, do you have to do the soft option as well?

1 Accepted Solution

Accepted Solutions

Peter Paluch
Cisco Employee
Cisco Employee

Hi John,

You have to distinguish between Soft Reconfiguration and Route Refresh. The Soft Reconfiguration is what you describe - keeping the set of all received routes - and up to this day and the most recent IOSes, if you want to use it, you must configure the neighbor using the neighbor soft-reconfiguration in commmand.

The Route Refresh is an optional enhancement to BGP (albeit almost universally supported) that is negotiated during BGP peering establishment in the OPEN messages. The Route Refresh feature introduces a new, 5th message to BGP, the ROUTE REFRESH. Using this message, a BGP speaker can ask its neighbor to resend all routes of a particular address type. The Route Refresh capability is negotiated dynamically and you do not configure it.

I am not sure what was the first IOS version that implemented the Route Refresh capability, but the RFC 2918 is from September 2000, and Cisco must have had this feature implemented before that because they used a different capability code before the Route Refresh capability code was defined by IANA:

https://supportforums.cisco.com/thread/2123459

In any case, if the neighbor supports some kind of soft refresh, be it either Soft Reconfig or Route Refresh, you do not specifically need to write the soft keyword in the clear ip bgp command.

I am not sure if this covers your question - please feel welcome to ask further.

Best regards,

Peter

View solution in original post

5 Replies 5

Peter Paluch
Cisco Employee
Cisco Employee

Hi John,

You have to distinguish between Soft Reconfiguration and Route Refresh. The Soft Reconfiguration is what you describe - keeping the set of all received routes - and up to this day and the most recent IOSes, if you want to use it, you must configure the neighbor using the neighbor soft-reconfiguration in commmand.

The Route Refresh is an optional enhancement to BGP (albeit almost universally supported) that is negotiated during BGP peering establishment in the OPEN messages. The Route Refresh feature introduces a new, 5th message to BGP, the ROUTE REFRESH. Using this message, a BGP speaker can ask its neighbor to resend all routes of a particular address type. The Route Refresh capability is negotiated dynamically and you do not configure it.

I am not sure what was the first IOS version that implemented the Route Refresh capability, but the RFC 2918 is from September 2000, and Cisco must have had this feature implemented before that because they used a different capability code before the Route Refresh capability code was defined by IANA:

https://supportforums.cisco.com/thread/2123459

In any case, if the neighbor supports some kind of soft refresh, be it either Soft Reconfig or Route Refresh, you do not specifically need to write the soft keyword in the clear ip bgp command.

I am not sure if this covers your question - please feel welcome to ask further.

Best regards,

Peter

It does for the most part. I just had one more follow-up question.

Let's say I have RouterA and RouterB, directly connected to each other. Each router is in its own AS, RouterA AS 100 and RouterB AS 200. When you configure the 'neighbor x.x.x.x soft-reconfiguration in' command, is it at that instant, that it will throw down from what I understand, a copy of the BGP updates from RouterB to RouterA? And then, once RouterA changed a prefix-list, distribute-list, route-map, and or filter-list, and watns to apply it to inbound policies, and goes the 'clear ip bgp soft x.x.x.x' then it will work off of the extra copy of the routes, and make the changes to the ones that are sent down from RouterB?

Sorry, if I'm confusing you.

Hi John,

So you are basically asking what will happen in and since the exact moment you configured on RouterA the neighbor RouterB soft-reconfiguration inbound

I've just debugged that. As soon as you add that command to RouterA, it will send a ROUTE REFRESH to RouterB asking it to resend the routes once again because RouterA may have already filtered some of them out. This way, RouterA creates the unfiltered database. Afterwards, all changes to the inbound policy on RouterA towards RouterB work off the unfiltered database.

If the routers did not support the Route Refresh (I am not able to test that - I would need a very old IOS, probably 12.0 according to hints in the command reference) then they would have an obvious problem: RouterA needs to download all routes from RouterB once again to populate the unfiltered database, however, to do that without the Route Refresh, it is necessary to tear down the peering between the routers and let it come up again. I do not know if adding the neighbor command in this case would reset the peering automatically, or whether you were supposed to do that manually. In any case, the peering needs to be dropped and reestablished before the Soft Reconfig can become effective.

It is somewhat ironic that in Route Refresh - as a feature replacing the Soft Reconfig hack - is used to bootstrap the Soft Reconfig, isn't it?

Best regards,

Peter

I gotcha Peter. I figured it might happen that way.

So, I configure 'neighbor router-b soft-reconfiguration in' and then RouterA sends a ROUTE REFRESH message to RouterB, which will resend all the NLRI information that is configured to be sent to RouterA, and then any future inbound changes will work off of that copy that was just sent from RouterB.

Thanks for all the help, it's much easier to understand now.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Review Cisco Networking products for a $25 gift card