To re-enable automatic soft reset of BGP peers, use the no form of this command. Bgp auto-policy-soft-reset disable. No bgp auto-policy-soft-reset disable. Syntax Description. This command has no arguments or keywords. Automatic soft reset of peers is enabled. Command Modes. Router configuration VRF configuration. Command History.
. When we change the BGP routing policy (changing the attributes or adding filters) we need to reset the BGP session before the new policy takes effect. This is no problem in a lab but it’s something you don’t want to do in a production network. In fact, there are 3 methods how you can refresh your BGP policies:. Hard reset. Dynamic Soft Reset (route refresh).
Soft reset with pre-stored information The hard reset is the most simple method (clear ip bgp command). It kills the TCP session with your BGP neighbor which forces it to restart and as a result you’ll receive all prefixes from your neighbor again.
It works, but it’s cruel Dynamic soft reset is the most preferred method, it requires the route refresh capability. Simply said, this feature lets your router request its BGP neighbor to send its prefixes again. Routers that don’t support the route refresh capability will have to use the soft reset option. That’s what this tutorial is about.
You can read about dynamic soft reset / route refresh in my other tutorial. Normally I talk about “prefixes” or “routes” but technically the information that BGP exchanges in update messages is called NLRI (Network Layer Reachability Information). The NLRI field contains the prefixes and length. The soft reset option uses “pre-stored” information. Basically when we receive prefixes from a BGP neighbor we will store this information in a new table and we don’t make any changes to it. Our router will then apply its inbound BGP policy to this table and stores the end result as the BGP table. Since you are now storing another table for each neighbor instead of one BGP table you will have some overhead, your router will require more memory.
This is especially true when you enable soft reset for all your BGP neighborskeep this in mind before you configure this. The tables that I’m talking about have some special names, let me show you a picture and explain this a bit more: On the left side we see a table called adj-RIB-in. This is the unedited routing information from a BGP neighbor. There’s a separate table for each BGP neighbor that you peer with. We apply our inbound BGP policy to this information and the result is a table called the loc-RIB, this is the actual BGP table.
BGP will select the best path from the BGP table and the router will install this in the routing table. Also, the best paths can be advertised to other BGP neighbors. We can apply an outbound BGP policy to outbound updates and when this is done we have a table called adj-RIB-out (per neighbor). The adj-RIB-in table is actually stored in memory for each neighbor, the adj-RIB-out table not. Now you have an idea about the different tables and how soft reconfiguration works, let’s take a look at this on some BGP routers. Configuration To demonstrate the soft reset we only need two routers.
R1 has two loopback interfaces so that we have a couple of networks to advertise: First we will configure BGP between the two routers: R1(config)# router bgp 1 R1(config-router)# neighbor 192.168.12.2 remote-as 2 R1(config-router)# network 1.1.1.1 mask 255.255.255.255 R1(config-router)# network 11.11.11.11 mask 255.255.255.255 R2(config)# router bgp 2 R2(config-router)# neighbor 192.168.12.1 remote-as 1 Nothing special here, we run EBGP and R1 advertises its two loopback interfaces. By default the soft reset option is disabled, let’s configure it on R2: R2(config)# router bgp 2 R2(config-router)# neighbor 192.168.12.1 soft-reconfiguration inbound The soft-reconfiguration inbound command tells R2 to save the routing information from R1 unmodified in the adj-RIB-in table. It will then apply the inbound BGP policy and store the information in the BGP table.
Let’s take a look at these tables, a good way to do this is by changing some of the BGP attributes. I’ll change the local preference for the prefixes we receive from R1: R2(config)# route-map LOCALPREF permit 10 R2(config-route-map)# set local-preference 200 R2(config-route-map)# router bgp 2 R2(config-router)# neighbor 192.168.12.1 route-map LOCALPREF in This will set the local preference to 200 for all incoming prefixes from R1. Instead of clearing the TCP session, we’ll do a soft reset: R2# clear ip bgp 192.168.12.1 soft in Use the soft in parameter to do a soft reset. Now look at the BGP table first: R2# show ip bgp BGP table version is 3, local router ID is 192.168.12.2 Status codes: s suppressed, d damped, h history,. validbest, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, x best-external, f RT-Filter Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path.
1.1.1.1/32 192.168.12.1 0 200 0 1 i. 11.11.11.11/32 192.168.12.1 0 200 0 1 i The BGP table (loc-RIB) was modified as expected, now take a look at the adj-RIB-in table: R2# show ip bgp neighbors 192.168.12.1 received-routes BGP table version is 3, local router ID is 192.168.12.2 Status codes: s suppressed, d damped, h history,. validbest, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, x best-external, f RT-Filter Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path. 1.1.1.1/32 192.168.12.1 0 0 1 i. 11.11.11.11/32 192.168.12.1 0 0 1 i Total number of prefixes 2 Above you see the raw routing information from R1 before we applied the inbound BGP policy. You can see that no changes were made to the local preference of my prefixes.
Another nice experiment is to filter some of the prefixes: R2(config)# access-list 1 permit host 1.1.1.1 R2(config)# router bgp 2 R2(config-router)# neighbor 192.168.12.1 distribute-list 1 in I’ll use a distribute-list so that 11.11.11.11 /32 is not allowed anymore. Before I do another soft reset I’ll enable a debug, this allows you to see what the router is doing with the BGP updates. Hi Davis, When you don’t have soft configuration configured then that command will use the route refresh: R1#clear ip bgp 192.168.12.2 soft in Here’s what you will see: R1# BGP: 192.168.12.2 sending REFRESHREQ(5) for afi/safi: 1/1, refresh code is 0 BGP: 192.168.12.2 rcv message type 5, length (excl. Header) 4 BGP: 192.168.12.2 rcvd REFRESHREQ for afi/safi: 1/1, refresh code is 1 BGP: 192.168.12.2 rcv message type 5, length (excl. Header) 4 BGP: 192.168.12.2 rcvd REFRESHREQ for afi/safi: 1/1, refresh code is 2 About the commands:. clear ip bgp x.x.x.x in:. Hello Robert The adj-RIB-In table will not be refreshed when using a soft reset.
The table is static only in the sense that it will not change when implementing a soft reset. But this table isn’t static in general.
If there are changes to routing that BGP neighbours send to the local router, these will go into the adj-RIB-In table and be updated. A hard reset will repopulate the adj-RIB-In table, however, like Rene mentions, it is not preferred. If the router in question supports it, the most preferred method is the Dynamic Soft Reset option also known as R. I am preparing for CCIE to upgrade my career. Before I found my theory knowledge was lacking to study CCIE. I was feeling depressed, but then I found NetworkLessons.com! The monthly fee is very affordable.
I already learned CCIE and OSPF from your lessons. All topics area very clear, even on difficult items like LSA Types, Path Selection, Filtering, and Summarization. I got SO much self-confidence from your teachings! I believe I will get my CCIE number thanks to your lessons and explanations.
Much Obliged and thanks! May Zin Network Engineer May 8, 2017. One year ago I had no knowledge in network subjects.
All I knew about it, was just a user knowledge. When I decided to learn about the 'Network world', the CISCO certification and so on, I started to search for sites and materials on the internet. I found many, but none has the same quality of NetworkLessons.com. NetworkLessons.com explains in a simple way, with objectivity and clarity. It explains from the beginning, gives tips for how you can study for yourself. I can really recommend!
Today I am CCNA R&S certified (2 month ago) and I have to thank NetworkLessons.com. Disregarding the CISCO material, NetworkLessons.com was the only site that I used to study, and the only one that I am using as a guide to prepare myself for CCNP certifications too. Rafael Neves Network Engineer September 10, 2015.