[AETHER-76] Impelentation of a new Trellis Troubleshoot Tool (T3) for offline mode
- For the performance improvement, T3 offline mode uses snapshots of the network states
called Network Information Base (NIB) instead of runtime interactions with ONOS core
during troubleshooting a Trellis system.
- Partially tested with some mininet topos for trellis
(https://github.com/opennetworkinglab/routing/tree/master/trellis).
- Usage instruction docs (https://docs.trellisfabric.org/troubleshooting.html).
Change-Id: Ice608f77aa96bfbcadfff34991c4a1b6d93125b6
(cherry picked from commit eaa6329aba67c2577fdca7d3ddf230611e82f9f7)
diff --git a/apps/t3/app/src/main/java/org/onosproject/t3/impl/McastGenerator.java b/apps/t3/app/src/main/java/org/onosproject/t3/impl/McastGenerator.java
index e93af15..7520843 100644
--- a/apps/t3/app/src/main/java/org/onosproject/t3/impl/McastGenerator.java
+++ b/apps/t3/app/src/main/java/org/onosproject/t3/impl/McastGenerator.java
@@ -22,9 +22,9 @@
import org.onlab.packet.MacAddress;
import org.onlab.packet.VlanId;
import org.onosproject.mcast.api.McastRouteData;
-import org.onosproject.mcast.api.MulticastRouteService;
import org.onosproject.net.flow.DefaultTrafficSelector;
import org.onosproject.net.flow.TrafficSelector;
+import org.onosproject.t3.api.MulticastRouteNib;
import org.onosproject.t3.api.StaticPacketTrace;
import org.slf4j.Logger;
@@ -44,27 +44,27 @@
private static final String GENERATOR_ERROR =
"Generator for mcast route trace has benn interrupted. The trace result may be incomplete.";
- private final MulticastRouteService mcastService;
+ private final MulticastRouteNib mcastRouteNib;
private final TroubleshootManager manager;
private final VlanId vlanId;
/**
* Creates a generator for obtaining traces of all configured multicast routes.
*
- * @param service the host service
+ * @param mcastRouteNib the multicast route NIB
* @param manager the troubleshoot manager issuing the request.
* @param vlanId the multicast configured VlanId.
*/
- McastGenerator(MulticastRouteService service, TroubleshootManager manager, VlanId vlanId) {
- this.mcastService = service;
+ McastGenerator(MulticastRouteNib mcastRouteNib, TroubleshootManager manager, VlanId vlanId) {
+ this.mcastRouteNib = mcastRouteNib;
this.manager = manager;
this.vlanId = vlanId;
}
@Override
protected void run() {
- mcastService.getRoutes().forEach(route -> {
- McastRouteData routeData = mcastService.routeData(route);
+ mcastRouteNib.getRoutes().forEach(route -> {
+ McastRouteData routeData = mcastRouteNib.routeData(route);
IpAddress group = route.group();
routeData.sources().forEach((host, sources) -> {
sources.forEach(source -> {