Symptom
Even though OSPF NSR is enabled, neighbor DR/BDR status change after the NSR enabled node undergoes RP switchover/failover in a LAN scenario where more than 2 routers are there on a LAN segment and the node being switched over is a DR.
Neighbor DR/BDR changes because the NSR node send the Hello packet which shows the that both of DR and BDR are the old BDR neighbor.
Conditions
If the NSR enabled node was DR and it has BDR as the neighbor, there are multiple (more than 2) routers on the LAN and the NSR enabled DR node undergoes RP switchover/failover.
Workaround
There is no 100% reliable way to detect whether this error condition exists on the standby. One way is to check for any discrepancy for DR/BDR between the "show ospf neighbor" and "show ospf standby neighbor" command outputs - but there may be a cosmetic discrepancy even after this fix due to CSCux85138
Following workarounds are possible:
1) Before doing switchover do process restart for the standby OSPF process and wait for it to come up again and become NSR ready before doing switchover.
2) Disable and then enable of NSR at OSPF config and then wait for NSR ready before doing switchover.
3) The DR change will not happen if the router undergoing switchover is not the DR and NSR is not enabled on it
Further Problem Description
The issue is because OSPF on standby does not setup the DR and BDR state correctly when it is the DR in certain states. So if there is any interface event (or if another NBR goes down after initially being up), then the state stored on the standby gets messed up.
If there is a switchover after this state, then the DR would flap.
This is a day 1 issue since NSR was introduced on XR for OSPFv2 onwards and is applicable to all XR platforms. However, the likelyhood of hiting this issue is only when there is a LAN (i.e. more than 2 routers on the LAN).