Handling multiple layers of spines.
Also in this commit:
- Triggering swap group creation and accounting for it in DestinationSet
- Fixes in ofdpa2 and ofdpa3 pipeline to allow SR Continue operation
- Renaming mplsSet in DestinationSet to notBos
- Removing unused RandomDestinationSet
- Bug fix in ofdpa driver for swap group chain creation
- Bug fix in ofdpa driver for verify group operation
- Better internal bookeeping of device ports and associated neighbors
Change-Id: I2b8f1c4c0b305ef847d57ca7a5320943e06d190d
diff --git a/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java b/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java
index 559f60c..c6bb015 100644
--- a/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java
+++ b/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java
@@ -1263,6 +1263,11 @@
.populateRoutingRulesForLinkStatusChange(null, null, device.id());
defaultRoutingHandler.purgeEcmpGraph(device.id());
xConnectHandler.removeDevice(device.id());
+
+ // Cleanup all internal groupHandler stores for this device. Should be
+ // done after all rerouting or rehashing has been completed
+ groupHandlerMap.entrySet()
+ .forEach(entry -> entry.getValue().cleanUpForNeighborDown(device.id()));
}
private void processPortUpdated(Device device, Port port) {