4 Dual-Stack test cases have a bug where, when Dual stack VM is deleted, one of the primary-adj entry remains stale in prefix-to-interface.
Analysis:
In oxygen dual-stack coming into picture, I see challenge in managing prefix-to-interface.
The reason being , prefix-to-interface is managed via VpnInterface Op listener like before(Boron).
But in Boron , prefix-to-interface always had only one primary adj stored , it was manageable through VpnInterfaceOp listener.
When adj count becomes 1 , we deleted the entire VpnInterface Op entry for the port. It used to trigger remove() of VpnInterfaceOp listener.
In that , we removed prefix-to-interface and updated the vpn-to-dpn-list.
But challenge in Oxygen is , we have 2 primary adj stored in VpnInterfaceOp DS. When VM is deleted , 2 FIB entries are removed.
In cleanupOpDataForFib() , when we remove first primary adj from VpnInterfaceOp DS , it triggers update in VpnInterfaceOp listener.
We ignore update of VpnInterfaceOp. When 2^nd^ / final primary adj is removed , we delete the VpnInterfaceOp entry.
This leads to removal of prefix-to-interface for 2^nd^ primary adj. First primary adj , always remains stale.
- relates to
-
NETVIRT-1270 Conflicting modification for path... vpn-to-dpn-list/vpn-to-dpn-list... dpnId=185202793875339
- Resolved