Orhan Ergun 4 Comments

BGP Soft Reconfiguration and BGP route refresh is used to update your BGP table after you apply the BGP policy.

What are these mechanisms and which one should we use in real design?

BGP is a policy based protocol and we use inbound and outbound filters with the attributes. BGP updates are kept in many different places in the router.

BGP RIB which is routing table of BGP , RIB which is a router’s general routing table created by all the routing protocols , FIB which is a forwarding table.

In addition to BGP RIB , BGP use adjacency RIB-IN and OUT databases.

All the prefixes from the remote BGP neighbour is placed in the BGP RIB-IN database first.

Then inbound filter is applied , if we want to allow them, then prefix is taken into BGP RIB database.

If we enable BGP Soft Reconfiguration Inbound , we keep received prefixes in the BGP RIB-IN database, if it is not enabled we ignore them.

Thats why if BGP soft reconfiguration inbound is enabled , even if you filter the prefixes after receiving from the neighbouring BGP device , you can still reach them.

It helps you to verify whether your filter is working correctly.

But obviously this is memory intensive since you keep those prefixes in BGP RIB-IN database in addition to BGP RIB database.

In contrast , BGP Route refresh works in a different way to accomplish the same task.

You still apply the filter for the incoming or outgoing prefixes.

But you don’t keep them in the separate database.

You either take them into BGP RIB database or ignore.

Thus memory consumption is more efficient.

Memory is expensive !

You can’t access those prefixes to understand what have been filtered and so on.

Also I should say that , to activate the filter for the incoming or outgoing prefixes , soft reconfiguration inbound is used manually.

You need to enter router configuration command such as ‘clear bgp soft in/out’ , whenever you want to apply new filter.

BGP Route-refresh works automatically so you don’t have to update the policy manually. It is much more manageable , right ?

What about you ?

Does bg soft-reconfiguration enable on your BGP router?

Let’s talk about it in the comments below.

0.00 avg. rating (0% score) - 0 votes
  • Jerome

    Nice post.

    Well, you can enable soft-reconfiguration, it depends what BGP table it is. For sure if it’s the full internet IPv4 BGP table it’s better not, for memory reasons. But if it’s a smaller table from a customer for example, why not.

    For the advertised prefix, you do not need this, you can always see what your router send with the command “show bgp nei x.x.x.x advertised-prefix”.

    Btw, a small tipo here:
    If we enable BGP Soft Reconfiguration Inbound , we don’t keep received prefixes in the BGP RIB-IN database prefixes, if it is not enabled we ignore them.
    –> If enable, we keep prefixes.


  • @Jerome,

    Sure it depends on design. As you said, customer might be getting default or partial route. in this case you still want to put to policy in place to prevent misconfigurations from the service provider sites.
    But if it is Internet, memory size should be take into account.
    It is not a good idea to keep soft reconfiguration inbound just to make sure whether your policy is working IMO.
    Btw, typo is fixed, yes if it is enabled We keep them there, it is whole point of the article , thanks 🙂

  • Roy Lexmond

    Nice post Orhan !

    • You probably read every post in the blog so far