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/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java b/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java
index 4ef6079..3269657 100644
--- a/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java
+++ b/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.pwaas.DefaultL2Tunnel;
import org.onosproject.segmentrouting.pwaas.DefaultL2TunnelPolicy;
@@ -189,4 +191,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();
}