What is the difference between a hard reset, soft reconfiguration inbound and route refresh?
Show the answer
Say this first
A hard reset (clear ip bgp x) tears down the TCP session and loses every route from that peer until it comes
back. Soft resets re-apply policy without dropping the session. Outbound is easy: clear ip bgp x soft out
resends my updates. Inbound needs the peer's routes again: either from a local unmodified copy kept by
neighbor x soft-reconfiguration inbound, which costs memory, or by asking the peer to resend with the
ROUTE-REFRESH capability (RFC 2918). Almost everything supports route refresh, so clear ip bgp x soft in uses
it.
Go deeper
When you need it
IOS does not re-run changed route maps or prefix lists against routes already received or sent. After a policy change you soft clear the affected direction. Junos re-evaluates policy on commit.
Check that route refresh is negotiated
R1# show ip bgp neighbors 192.0.2.1 | include Route refresh
Route refresh: advertised and received(new)Why people still enable soft reconfiguration inbound
On IOS, show ip bgp neighbors 192.0.2.1 received-routes needs it. That command shows what the peer sent before
my inbound policy, while routes shows what survived the policy. Comparing the two answers "is the ISP not
sending it, or am I dropping it?" The price is a second copy of that peer's routes in memory, which hurts
with full tables.
| Command | Session drops? | Needs |
|---|---|---|
clear ip bgp 192.0.2.1 | Yes | Nothing |
clear ip bgp 192.0.2.1 soft out | No | Nothing |
clear ip bgp 192.0.2.1 soft in | No | Route refresh, or soft reconfiguration inbound |
They will ask next
What does enhanced route refresh add?
RFC 7313 marks the start and end of a refresh, so the router can remove routes the peer no longer sends once the refresh completes, instead of keeping stale entries.
Traps
- Running
clear ip bgp *in production to apply a route map change. It drops every session at once.