NSR
NSF/GR uses modifications to existing protocols (OSPF, ISIS, BGP and LDP) to allow a router to switchover from an active RP to a standby RP without disruption to the routing protocol adjacency. This adds quite a bit of complexity and each protocol handles GR slightly differently. Wouldn’t it be better if the router could internally sync it’s active RP and standby RP, so that when a switchover happens, the standby RP already knows the adjancy states, LSDBs, etc, and the neighbor does not need to “help” rebuild the RIB?
This is exactly what NSR enables. NSR stands for Non-stop routing and can be enabled and used on a router without any support or negotiation with its neighbors. NSR is transparent, because a neighbor will not know whether the router underwent a SSO event. It is a completely internal process on the router preforming switchover.
ISIS NSR
We saw in the previous article that the cisco mode for nsf effectively enables NSR. On IOS-XE I believe this is still the only way to achieve NSR for ISIS. On IOS-XR you have the option of NSF modes plus NSR. My guess is that cisco mode and NSR effectively do the same thing.
OSPF NSR
NSR for OSPF is quite straightforward. Simply enable nsr under the ospf process.
LDP NSR
Likewise NSR for LDP is simple. NSR for LDP syncs the LIB with the standby RP so that during a switchover event, all label bindings and LDP adjacencies are retained.
BGP NSR
To enable NSR in XR you use the following command:
The command syntax for XE is slightly different:
In both cases it appears that you are supposed to also enable GR, and the router will preform GR if the peer supports it. If not, the router can use NSR.
In IOS-XE you can also enable NSR or GR on a per-neighbor basis:
Futher Reading
https://www.cisco.com/c/en/us/td/docs/ios/12_2sb/feature/guide/sbb_bnsr.html
Last updated