T3 REST API support for multicast routes
Change-Id: I511fcd0afcbb116a8d647f8dcf0276371687f6b9
diff --git a/apps/t3/app/src/main/java/org/onosproject/t3/api/TroubleshootService.java b/apps/t3/app/src/main/java/org/onosproject/t3/api/TroubleshootService.java
index 5b19cc2..a21baf5 100644
--- a/apps/t3/app/src/main/java/org/onosproject/t3/api/TroubleshootService.java
+++ b/apps/t3/app/src/main/java/org/onosproject/t3/api/TroubleshootService.java
@@ -75,4 +75,12 @@
* @return a trace result
*/
StaticPacketTrace trace(TrafficSelector packet, ConnectPoint in);
+
+ /**
+ * Requests list of static trace to be performed for all mcast routes in the network.
+ *
+ * @param vlanId the vlan id configured for multicast
+ * @return a list of trace result
+ */
+ List<Set<StaticPacketTrace>> getMulitcastTrace(VlanId vlanId);
}
diff --git a/apps/t3/app/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java b/apps/t3/app/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java
index 3426517..018f6ac 100644
--- a/apps/t3/app/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java
+++ b/apps/t3/app/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java
@@ -86,6 +86,7 @@
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
+import java.util.stream.StreamSupport;
import static org.onlab.packet.EthType.EtherType;
import static org.onosproject.net.flow.TrafficSelector.Builder;
@@ -390,6 +391,14 @@
return trace;
}
+ @Override
+ public List<Set<StaticPacketTrace>> getMulitcastTrace(VlanId vlanId) {
+ Generator<Set<StaticPacketTrace>> gen = new McastGenerator(mcastService, this, vlanId);
+ List<Set<StaticPacketTrace>> multicastTraceList =
+ StreamSupport.stream(gen.spliterator(), false).collect(Collectors.toList());
+ return multicastTraceList;
+ }
+
/**
* Computes a trace for a give packet that start in the network at the given connect point.
*