CORD-176, CORD-431 Switch to new VTN API
- Implemented VTN store and manager to keep network states
- Implemented the new VTN API for service network and port
Change-Id: Id8f5d0e609fa3deba782ff2265fc0d3175cbcb4c
diff --git a/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java b/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java
index 82bb0a9..ff43f93 100644
--- a/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java
+++ b/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java
@@ -34,6 +34,8 @@
import org.onosproject.net.behaviour.InterfaceConfig;
import org.onosproject.net.behaviour.TunnelEndPoints;
import org.onosproject.net.behaviour.TunnelKeys;
+import org.onosproject.net.config.ConfigFactory;
+import org.onosproject.net.config.basics.SubjectFactories;
import org.opencord.cordvtn.api.ConnectionHandler;
import org.opencord.cordvtn.api.CordVtnConfig;
import org.opencord.cordvtn.api.CordVtnNode;
@@ -147,6 +149,16 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected CordVtnPipeline pipeline;
+ private static final Class<CordVtnConfig> CONFIG_CLASS = CordVtnConfig.class;
+ private final ConfigFactory configFactory =
+ new ConfigFactory<ApplicationId, CordVtnConfig>(
+ SubjectFactories.APP_SUBJECT_FACTORY, CONFIG_CLASS, "cordvtn") {
+ @Override
+ public CordVtnConfig createConfig() {
+ return new CordVtnConfig();
+ }
+ };
+
private final ExecutorService eventExecutor =
newSingleThreadExecutor(groupedThreads("onos/cordvtn-node", "event-handler", log));
@@ -213,8 +225,9 @@
@Activate
protected void activate() {
- appId = coreService.getAppId(CORDVTN_APP_ID);
+ appId = coreService.registerApplication(CORDVTN_APP_ID);
+ configRegistry.registerConfigFactory(configFactory);
localNodeId = clusterService.getLocalNode().id();
leadershipService.runForLeadership(appId.name());
@@ -238,6 +251,7 @@
nodeStore.removeListener(nodeStoreListener);
leadershipService.withdraw(appId.name());
+ configRegistry.unregisterConfigFactory(configFactory);
eventExecutor.shutdown();
log.info("Stopped");