Implemented CORD-1843 to avoid race condition when updating ECMPspgs.
In this commit:
- a new mechanism in DefaultRoutingHandler to update route-path maps in all instances,
for the entire topology, after every route event has been processesed.
- fixed a race condition in LinkHandler
- avoids retrying flows in the ofdpa3 driver as this issue has been fixed in the switch
- a new CLI command to check internal link state
Change-Id: I307d0a96cc46569294d15d042b3bcb1fde735f1b
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java
index 3668ba2..3f5a3b8 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java
@@ -17,6 +17,8 @@
import org.onlab.packet.IpPrefix;
import org.onosproject.net.DeviceId;
+import org.onosproject.net.Link;
+import org.onosproject.net.PortNumber;
import org.onosproject.segmentrouting.grouphandler.NextNeighbors;
import org.onosproject.segmentrouting.storekey.DestinationSetNextObjectiveStoreKey;
@@ -143,4 +145,20 @@
* @param id the device identifier
*/
void verifyGroups(DeviceId id);
+
+ /**
+ * Returns the internal link state as seen by this instance of the
+ * controller.
+ *
+ * @return the internal link state
+ */
+ ImmutableMap<Link, Boolean> getSeenLinks();
+
+ /**
+ * Returns the ports administratively disabled by the controller.
+ *
+ * @return a map of devices and port numbers for administratively disabled
+ * ports. Does not include ports manually disabled by the operator.
+ */
+ ImmutableMap<DeviceId, Set<PortNumber>> getDownedPortState();
}