diff options
Diffstat (limited to 'framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngConfiguration.java')
-rw-r--r-- | framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngConfiguration.java | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngConfiguration.java b/framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngConfiguration.java index ee2cbeaa..1841675f 100644 --- a/framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngConfiguration.java +++ b/framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngConfiguration.java @@ -17,13 +17,15 @@ package org.onosproject.virtualbng; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; - -import java.util.Collections; -import java.util.List; - import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onlab.packet.MacAddress; +import org.onosproject.net.ConnectPoint; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * Contains the configuration data for virtual BNG that has been read from a @@ -36,6 +38,7 @@ public final class VbngConfiguration { private final MacAddress publicFacingMac; private final IpAddress xosIpAddress; private final int xosRestPort; + private final Map<String, ConnectPointConfiguration> hosts; /** * Default constructor. @@ -46,6 +49,7 @@ public final class VbngConfiguration { publicFacingMac = null; xosIpAddress = null; xosRestPort = 0; + hosts = null; } /** @@ -57,6 +61,7 @@ public final class VbngConfiguration { * public IP addresses * @param xosIpAddress the XOS server IP address * @param xosRestPort the port of the XOS server for REST + * @param hosts map of hosts */ @JsonCreator public VbngConfiguration(@JsonProperty("localPublicIpPrefixes") @@ -68,12 +73,15 @@ public final class VbngConfiguration { @JsonProperty("xosIpAddress") IpAddress xosIpAddress, @JsonProperty("xosRestPort") - int xosRestPort) { + int xosRestPort, + @JsonProperty("hosts") + Map<String, ConnectPointConfiguration> hosts) { localPublicIpPrefixes = prefixes; this.nextHopIpAddress = nextHopIpAddress; this.publicFacingMac = publicFacingMac; this.xosIpAddress = xosIpAddress; this.xosRestPort = xosRestPort; + this.hosts = hosts; } /** @@ -120,4 +128,13 @@ public final class VbngConfiguration { public int getXosRestPort() { return xosRestPort; } + + public Map<String, ConnectPoint> getHosts() { + return hosts.entrySet() + .stream() + .collect(Collectors.toMap( + e -> e.getKey(), + e -> e.getValue().connectPoint() + )); + } } |