09-17-2014 04:32 PM - edited 03-04-2019 11:46 PM
Started running out of memory on our Catalyst 6906 due to large BGP route tables. Talked with our ISP (CenturyLink) and they recommended that I use BGP route filtering via the filter-list command. Here is the physical layout:
We have 5x 1Gb/s links to CenturyLink that we use BGP to load balance. We then have a 10Gb/s that we use to communicate to each router. From there, we have multiple links (condensed in the pic) to our firewalls and load balancers.
Here is the BGP output:
Router 1
Router 2
Here are the prefix-lists which are same on both routers:
This is the code I added per looking up the commands from Cisco:
Router 1
Router 2
When I added that, everything seemed to do exactly what I wanted. We saw our BGP route routes go from 500K+ down to 107k. We saw RAM utilization get cut in half. I did all sorts of connectivity tests and everything seemed to be good. Commited it and walked about.
2 hours later I start getting calls and alerts. Out clients in the SE US can't connect to us. Other clients are just fine, and our monitoring show us as up, except for our Florida and Virginia sites. I do some more tests and find I can ping some places in the SE, and not others. Did not have a lot of time to troubleshoot, so I rolled back the BGP and within 10 minutes the issue went away.
I know that I did not get enough troubleshooting in, but can anyone review what I have and see if it is something blatant that I am missing? I just want to cut down the BGP routes as we are running out of memory and from what I understand, the commands I put in there should only get the routes that are directly connected to our BGP neighbors.
Thanks!
09-18-2014 05:11 AM
Hello,
This is an interesting issue. Unfortunately, because of the short time you had to do any sensible troubleshooting, we only have very limited information so there's little to hang on right now.
I am thinking - I see you have the soft-reconfiguration inbound configured for your BGP neighbors. Are you absolutely sure you need it? This feature is an ancient workaround for an old BGP deficiency (the inability to ask a neighbor to resend its routes after an inbound filter has changed) that causes your router to maintain an unfiltered database of all BGP routes your neighbor sent you in addition to the prefixes your inbound policy has decided to accept. As a result, doing any kind of aggressive inbound filtering with the Soft Reconfiguration activated is not really going to save your memory because the unfiltered prefixes still have to be kept in your router's RAM. All modern BGP implementations have solved this problem with additional BGP message called Route Refresh (see RFC 2918 for more details, and search for Route Refresh on Cisco Support Community too - I have discussed this feature often in the past) that has been supported for many years. I am sure your routers support the Route Refresh feature (if you need to be absolutely sure, please check the output of show ip bgp neighbor .
So while not directly answering your question about what could have gone wrong with your changes, I am posing another question: do you believe you could deactivate the Soft Reconfiguration for your BGP peers? It should alone lower the memory footprint of your BGP process - and if you are receiving a full BGP feed, memory savings should be very noticeable.
Best regards,
Peter
09-18-2014 11:28 AM
Peter,
Thanks for the response. I have verified that our routers do support the Route Refresh and we are running BGP v4 on all our neighbors. This was more than likely a left-over command from previous iterations and I was just not aware enough to catch that. Thanks for that. I will verify that I can turn that off and post back shortly.
And yes, while it does not provide the answer for the weird routing, it could provide an overall solution without the need to do filtering. If I can make the change and it reduces my memory footprint, I will mark yours as the answer and call it a day on it.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide