configurable xranc bind address and cleanup functions
diff --git a/src/main/java/org.onosproject.xran/impl/DefaultXranStore.java b/src/main/java/org.onosproject.xran/impl/DefaultXranStore.java
index 9a1a259..f7e2c07 100644
--- a/src/main/java/org.onosproject.xran/impl/DefaultXranStore.java
+++ b/src/main/java/org.onosproject.xran/impl/DefaultXranStore.java
@@ -65,7 +65,6 @@
private ConcurrentMap<Long, RnibUe> ueMap = new ConcurrentHashMap<>();
private ConcurrentMap<Object, RnibSlice> sliceMap = new ConcurrentHashMap<>();
private XranController controller;
-
private IdGenerator ueIdGenerator;
@Activate
@@ -80,6 +79,12 @@
@Deactivate
public void deactivate() {
+ linkMap.clear();
+ cellMap.clear();
+ ueMap.clear();
+ sliceMap.clear();
+ controller = null;
+ ueIdGenerator = null;
log.info("XRAN Default Store Stopped");
}
@@ -99,7 +104,6 @@
.filter(k -> k.getEcgi().equals(ecgi))
.map(v -> linkMap.get(v))
.collect(Collectors.toList()));
-
return list;
}
diff --git a/src/main/java/org.onosproject.xran/impl/XranConfig.java b/src/main/java/org.onosproject.xran/impl/XranConfig.java
index e334892..ef83194 100644
--- a/src/main/java/org.onosproject.xran/impl/XranConfig.java
+++ b/src/main/java/org.onosproject.xran/impl/XranConfig.java
@@ -47,6 +47,8 @@
private static final String IP_ADDR = "ip_addr";
+ private static final String XRANC_IP = "xranc_bind_ip";
+
private static final String XRANC_PORT = "xranc_port";
private static final String XRANC_CELLCONFIG_INTERVAL = "xranc_cellconfigrequest_interval_seconds";
@@ -115,6 +117,13 @@
}
/**
+ * Get IP where the Controller binds to.
+ *
+ * @return IP address in configuration
+ */
+ public IpAddress getXrancIp() { return IpAddress.valueOf(object.get(XRANC_IP).asText()); }
+
+ /**
* Get port for xRAN controller server to bind to from configuration.
*
* @return port number