Created the outline of the Forwarding module for reactive forwarding on top of the network map
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/module/OnosModuleLoader.java b/src/main/java/net/onrc/onos/ofcontroller/core/module/OnosModuleLoader.java
index bd7cf49..f3d0da5 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/module/OnosModuleLoader.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/module/OnosModuleLoader.java
@@ -16,6 +16,8 @@
import net.floodlightcontroller.topology.ITopologyService;
import net.onrc.onos.ofcontroller.core.config.DefaultConfiguration;
import net.onrc.onos.ofcontroller.core.config.IConfigInfoService;
+import net.onrc.onos.ofcontroller.flowmanager.IFlowService;
+import net.onrc.onos.ofcontroller.forwarding.Forwarding;
import net.onrc.onos.ofcontroller.proxyarp.IProxyArpService;
import net.onrc.onos.ofcontroller.proxyarp.ProxyArpManager;
@@ -25,11 +27,14 @@
private IDeviceService deviceService;
private IConfigInfoService config;
private IRestApiService restApi;
+ private IFlowService flowService;
private ProxyArpManager arpManager;
+ private Forwarding forwarding;
public OnosModuleLoader() {
arpManager = new ProxyArpManager();
+ forwarding = new Forwarding();
}
@Override
@@ -57,6 +62,7 @@
dependencies.add(IDeviceService.class);
//dependencies.add(IConfigInfoService.class);
dependencies.add(IRestApiService.class);
+ dependencies.add(IFlowService.class);
return dependencies;
}
@@ -67,6 +73,7 @@
topology = context.getServiceImpl(ITopologyService.class);
deviceService = context.getServiceImpl(IDeviceService.class);
restApi = context.getServiceImpl(IRestApiService.class);
+ flowService = context.getServiceImpl(IFlowService.class);
//This could be null because it's not mandatory to have an
//IConfigInfoService loaded.
@@ -76,11 +83,13 @@
}
arpManager.init(floodlightProvider, topology, deviceService, config, restApi);
+ forwarding.init(floodlightProvider, flowService);
}
@Override
public void startUp(FloodlightModuleContext context) {
arpManager.startUp();
+ forwarding.startUp();
}
}