Support JSON output in external router CLI, make router obj immutable
Change-Id: I6c76d9aafd64c1af7c3e28b42beabc268f824b88
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/DeleteExternalPeerRouterCommand.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/DeleteExternalPeerRouterCommand.java
index 551a871..0ef3861 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/DeleteExternalPeerRouterCommand.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/DeleteExternalPeerRouterCommand.java
@@ -42,7 +42,7 @@
OpenstackNetworkAdminService service = AbstractShellCommand.get(OpenstackNetworkAdminService.class);
if (service.externalPeerRouters().stream()
- .noneMatch(router -> router.externalPeerRouterIp().toString().equals(ipAddress))) {
+ .noneMatch(router -> router.ipAddress().toString().equals(ipAddress))) {
print(NO_ELEMENT);
return;
}
@@ -56,9 +56,9 @@
List<ExternalPeerRouter> routers = Lists.newArrayList(service.externalPeerRouters());
for (ExternalPeerRouter router: routers) {
- print(FORMAT, router.externalPeerRouterIp(),
- router.externalPeerRouterMac().toString(),
- router.externalPeerRouterVlanId());
+ print(FORMAT, router.ipAddress(),
+ router.macAddress().toString(),
+ router.vlanId());
}
}
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/ExternalPeerRouterListCommand.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/ExternalPeerRouterListCommand.java
index ebd949c..ae30021 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/ExternalPeerRouterListCommand.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/ExternalPeerRouterListCommand.java
@@ -15,6 +15,9 @@
*/
package org.onosproject.openstacknetworking.cli;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ArrayNode;
import com.google.common.collect.Lists;
import org.apache.karaf.shell.commands.Command;
import org.onosproject.cli.AbstractShellCommand;
@@ -23,6 +26,8 @@
import java.util.List;
+import static com.fasterxml.jackson.databind.SerializationFeature.INDENT_OUTPUT;
+
/**
* Lists external peer router lists.
*/
@@ -35,14 +40,25 @@
@Override
protected void execute() {
OpenstackNetworkService service = AbstractShellCommand.get(OpenstackNetworkService.class);
-
- print(FORMAT, "Router IP", "Mac Address", "VLAN ID");
List<ExternalPeerRouter> routers = Lists.newArrayList(service.externalPeerRouters());
- for (ExternalPeerRouter router: routers) {
- print(FORMAT, router.externalPeerRouterIp(),
- router.externalPeerRouterMac().toString(),
- router.externalPeerRouterVlanId());
+ if (outputJson()) {
+ print("%s", json(this, routers));
+ } else {
+ print(FORMAT, "Router IP", "Mac Address", "VLAN ID");
+ for (ExternalPeerRouter router: routers) {
+ print(FORMAT, router.ipAddress(),
+ router.macAddress().toString(),
+ router.vlanId());
+ }
}
}
+
+ private JsonNode json(AbstractShellCommand context, List<ExternalPeerRouter> routers) {
+ ObjectMapper mapper = new ObjectMapper();
+ ArrayNode result = mapper.enable(INDENT_OUTPUT).createArrayNode();
+ routers.forEach(r -> result.add(context.jsonForEntity(r, ExternalPeerRouter.class)));
+
+ return result;
+ }
}
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/IpAddressCompleter.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/IpAddressCompleter.java
index 4ae1dd4..bac877d 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/IpAddressCompleter.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/IpAddressCompleter.java
@@ -38,7 +38,7 @@
StringsCompleter delegate = new StringsCompleter();
OpenstackNetworkService osNetService = AbstractShellCommand.get(OpenstackNetworkService.class);
Set<IpAddress> set = osNetService.externalPeerRouters().stream()
- .map(ExternalPeerRouter::externalPeerRouterIp)
+ .map(ExternalPeerRouter::ipAddress)
.collect(Collectors.toSet());
SortedSet<String> strings = delegate.getStrings();
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/MacAddressCompleter.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/MacAddressCompleter.java
index 6e21de6..3b6e475 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/MacAddressCompleter.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/MacAddressCompleter.java
@@ -38,7 +38,7 @@
StringsCompleter delegate = new StringsCompleter();
OpenstackNetworkService osNetService = AbstractShellCommand.get(OpenstackNetworkService.class);
Set<MacAddress> set = osNetService.externalPeerRouters().stream()
- .map(ExternalPeerRouter::externalPeerRouterMac)
+ .map(ExternalPeerRouter::macAddress)
.collect(Collectors.toSet());
SortedSet<String> strings = delegate.getStrings();
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/UpdateExternalPeerRouterCommand.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/UpdateExternalPeerRouterCommand.java
index 5667fa8..c4090e0 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/UpdateExternalPeerRouterCommand.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/UpdateExternalPeerRouterCommand.java
@@ -62,7 +62,7 @@
print(NO_ELEMENT);
return;
} else if (service.externalPeerRouters().stream()
- .noneMatch(router -> router.externalPeerRouterIp().toString().equals(ipAddress))) {
+ .noneMatch(router -> router.ipAddress().toString().equals(ipAddress))) {
print(NO_ELEMENT);
return;
}
@@ -86,9 +86,9 @@
List<ExternalPeerRouter> routers = Lists.newArrayList(service.externalPeerRouters());
for (ExternalPeerRouter router: routers) {
- print(FORMAT, router.externalPeerRouterIp(),
- router.externalPeerRouterMac().toString(),
- router.externalPeerRouterVlanId());
+ print(FORMAT, router.ipAddress(),
+ router.macAddress().toString(),
+ router.vlanId());
}
}
}
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/UpdateExternalPeerRouterVlanCommand.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/UpdateExternalPeerRouterVlanCommand.java
index 3dc14a7..79125b2 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/UpdateExternalPeerRouterVlanCommand.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/UpdateExternalPeerRouterVlanCommand.java
@@ -61,7 +61,7 @@
print(NO_ELEMENT);
return;
} else if (osNetAdminService.externalPeerRouters().stream()
- .noneMatch(router -> router.externalPeerRouterIp().toString().equals(ipAddress))) {
+ .noneMatch(router -> router.ipAddress().toString().equals(ipAddress))) {
print(NO_ELEMENT);
return;
}
@@ -104,9 +104,9 @@
List<ExternalPeerRouter> routers = Lists.newArrayList(osNetAdminService.externalPeerRouters());
for (ExternalPeerRouter r: routers) {
- print(FORMAT, r.externalPeerRouterIp(),
- r.externalPeerRouterMac().toString(),
- r.externalPeerRouterVlanId());
+ print(FORMAT, r.ipAddress(),
+ r.macAddress().toString(),
+ r.vlanId());
}
}
}
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/VlanIdCompleter.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/VlanIdCompleter.java
index 0768859..8f64642 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/VlanIdCompleter.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/VlanIdCompleter.java
@@ -38,7 +38,7 @@
StringsCompleter delegate = new StringsCompleter();
OpenstackNetworkService osNetService = AbstractShellCommand.get(OpenstackNetworkService.class);
Set<VlanId> set = osNetService.externalPeerRouters().stream()
- .map(ExternalPeerRouter::externalPeerRouterVlanId)
+ .map(ExternalPeerRouter::vlanId)
.collect(Collectors.toSet());
SortedSet<String> strings = delegate.getStrings();
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/codec/ExternalPeerRouterCodec.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/codec/ExternalPeerRouterCodec.java
new file mode 100644
index 0000000..e77c0ef
--- /dev/null
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/codec/ExternalPeerRouterCodec.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2018-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.openstacknetworking.codec;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.onlab.packet.IpAddress;
+import org.onlab.packet.MacAddress;
+import org.onlab.packet.VlanId;
+import org.onosproject.codec.CodecContext;
+import org.onosproject.codec.JsonCodec;
+import org.onosproject.openstacknetworking.api.ExternalPeerRouter;
+import org.onosproject.openstacknetworking.impl.DefaultExternalPeerRouter;
+import org.slf4j.Logger;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static org.onlab.util.Tools.nullIsIllegal;
+import static org.slf4j.LoggerFactory.getLogger;
+
+/**
+ * Openstack external peer router codec used for serializing and de-serializing JSON string.
+ */
+public class ExternalPeerRouterCodec extends JsonCodec<ExternalPeerRouter> {
+
+ private final Logger log = getLogger(getClass());
+
+ private static final String IP_ADDRESS = "ipAddress";
+ private static final String MAC_ADDRESS = "macAddress";
+ private static final String VLAN_ID = "vlanId";
+
+ private static final String MISSING_MESSAGE = " is required in ExternalPeerRouter";
+
+ @Override
+ public ObjectNode encode(ExternalPeerRouter router, CodecContext context) {
+ checkNotNull(router, "External peer router cannot be null");
+
+ return context.mapper().createObjectNode()
+ .put(IP_ADDRESS, router.ipAddress().toString())
+ .put(MAC_ADDRESS, router.macAddress().toString())
+ .put(VLAN_ID, router.vlanId().toString());
+ }
+
+ @Override
+ public ExternalPeerRouter decode(ObjectNode json, CodecContext context) {
+ if (json == null || !json.isObject()) {
+ return null;
+ }
+
+ String ipAddress = nullIsIllegal(json.get(IP_ADDRESS).asText(),
+ IP_ADDRESS + MISSING_MESSAGE);
+ String macAddress = nullIsIllegal(json.get(MAC_ADDRESS).asText(),
+ MAC_ADDRESS + MISSING_MESSAGE);
+ String vlanId = nullIsIllegal(json.get(VLAN_ID).asText(),
+ VLAN_ID + MISSING_MESSAGE);
+
+ return DefaultExternalPeerRouter.builder()
+ .ipAddress(IpAddress.valueOf(ipAddress))
+ .macAddress(MacAddress.valueOf(macAddress))
+ .vlanId(VlanId.vlanId(vlanId)).build();
+ }
+}
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DefaultExternalPeerRouter.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DefaultExternalPeerRouter.java
index 57b997c..0f44cb8 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DefaultExternalPeerRouter.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DefaultExternalPeerRouter.java
@@ -23,34 +23,41 @@
import java.util.Objects;
+import static com.google.common.base.Preconditions.checkArgument;
+
/**
* Implementation of external peer router.
*/
public final class DefaultExternalPeerRouter implements ExternalPeerRouter {
- private final IpAddress externalPeerRouterIp;
- private final MacAddress externalPeerRouterMac;
- private final VlanId externalPeerRouterVlanId;
+ private final IpAddress ipAddress;
+ private final MacAddress macAddress;
+ private final VlanId vlanId;
- public DefaultExternalPeerRouter(IpAddress externalPeerRouterIp,
- MacAddress externalPeerRouterMac,
- VlanId externalPeerRouterVlanId) {
- this.externalPeerRouterIp = externalPeerRouterIp;
- this.externalPeerRouterMac = externalPeerRouterMac;
- this.externalPeerRouterVlanId = externalPeerRouterVlanId;
+ private static final String NOT_NULL_MSG = "External Peer Router % cannot be null";
+
+ // private constructor not intended for invoked from external
+ private DefaultExternalPeerRouter(IpAddress ipAddress,
+ MacAddress macAddress,
+ VlanId vlanId) {
+ this.ipAddress = ipAddress;
+ this.macAddress = macAddress;
+ this.vlanId = vlanId;
}
@Override
- public IpAddress externalPeerRouterIp() {
- return this.externalPeerRouterIp;
+ public IpAddress ipAddress() {
+ return this.ipAddress;
}
+
@Override
- public MacAddress externalPeerRouterMac() {
- return this.externalPeerRouterMac;
+ public MacAddress macAddress() {
+ return this.macAddress;
}
+
@Override
- public VlanId externalPeerRouterVlanId() {
- return this.externalPeerRouterVlanId;
+ public VlanId vlanId() {
+ return this.vlanId;
}
@Override
@@ -61,26 +68,75 @@
if (obj instanceof DefaultExternalPeerRouter) {
DefaultExternalPeerRouter that = (DefaultExternalPeerRouter) obj;
- return Objects.equals(externalPeerRouterIp, that.externalPeerRouterIp) &&
- Objects.equals(externalPeerRouterMac, that.externalPeerRouterMac) &&
- Objects.equals(externalPeerRouterVlanId, that.externalPeerRouterVlanId);
+ return Objects.equals(ipAddress, that.ipAddress) &&
+ Objects.equals(macAddress, that.macAddress) &&
+ Objects.equals(vlanId, that.vlanId);
}
return false;
}
@Override
public int hashCode() {
- return Objects.hash(externalPeerRouterIp,
- externalPeerRouterMac,
- externalPeerRouterVlanId);
+ return Objects.hash(ipAddress, macAddress, vlanId);
}
@Override
public String toString() {
return MoreObjects.toStringHelper(getClass())
- .add("externalPeerRouterIp", externalPeerRouterIp)
- .add("externalPeerRouterMac", externalPeerRouterMac)
- .add("externalPeerRouterVlanId", externalPeerRouterVlanId)
+ .add("ipAddress", ipAddress)
+ .add("macAddress", macAddress)
+ .add("vlanId", vlanId)
.toString();
}
+
+ /**
+ * Obtains an external peer router builder.
+ *
+ * @return external peer router builder
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ /**
+ * A builder class for external peer router.
+ */
+ public static final class Builder implements ExternalPeerRouter.Builder {
+
+ private IpAddress ipAddress;
+ private MacAddress macAddress;
+ private VlanId vlanId;
+
+ // private constructor not intended to use from external
+ private Builder() {
+ }
+
+ @Override
+ public ExternalPeerRouter build() {
+
+ checkArgument(ipAddress != null, NOT_NULL_MSG, "IP address");
+ checkArgument(macAddress != null, NOT_NULL_MSG, "MAC address");
+ checkArgument(vlanId != null, NOT_NULL_MSG, "VLAN ID");
+
+ return new DefaultExternalPeerRouter(ipAddress, macAddress, vlanId);
+ }
+
+ @Override
+ public Builder ipAddress(IpAddress ipAddress) {
+ this.ipAddress = ipAddress;
+ return this;
+ }
+
+ @Override
+ public Builder macAddress(MacAddress macAddress) {
+ this.macAddress = macAddress;
+ return this;
+ }
+
+ @Override
+ public Builder vlanId(VlanId vlanId) {
+ this.vlanId = vlanId;
+ return this;
+ }
+ }
}
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java
index bceb9ea..3ca0232 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java
@@ -442,7 +442,7 @@
if (externalPeerRouterMap.containsKey(targetIp.toString()) &&
!externalPeerRouterMap.get(
- targetIp.toString()).value().externalPeerRouterMac().equals(MacAddress.NONE)) {
+ targetIp.toString()).value().macAddress().equals(MacAddress.NONE)) {
return;
}
@@ -479,8 +479,12 @@
treatment,
ByteBuffer.wrap(ethRequest.serialize())));
- externalPeerRouterMap.put(
- targetIp.toString(), new DefaultExternalPeerRouter(targetIp, MacAddress.NONE, vlanId));
+ externalPeerRouterMap.put(targetIp.toString(),
+ DefaultExternalPeerRouter.builder()
+ .ipAddress(targetIp)
+ .macAddress(MacAddress.NONE)
+ .vlanId(vlanId)
+ .build());
log.info("Initializes external peer router map with peer router IP {}", targetIp.toString());
}
@@ -517,7 +521,11 @@
public void updateExternalPeerRouterMac(IpAddress ipAddress, MacAddress macAddress) {
try {
externalPeerRouterMap.computeIfPresent(ipAddress.toString(), (id, existing) ->
- new DefaultExternalPeerRouter(ipAddress, macAddress, existing.externalPeerRouterVlanId()));
+ DefaultExternalPeerRouter.builder()
+ .ipAddress(ipAddress)
+ .macAddress(macAddress)
+ .vlanId(existing.vlanId())
+ .build());
log.info("Updated external peer router map {}",
externalPeerRouterMap.get(ipAddress.toString()).value().toString());
@@ -531,7 +539,12 @@
public void updateExternalPeerRouter(IpAddress ipAddress, MacAddress macAddress, VlanId vlanId) {
try {
externalPeerRouterMap.computeIfPresent(ipAddress.toString(), (id, existing) ->
- new DefaultExternalPeerRouter(ipAddress, macAddress, vlanId));
+ DefaultExternalPeerRouter.builder()
+ .ipAddress(ipAddress)
+ .macAddress(macAddress)
+ .vlanId(vlanId)
+ .build());
+
} catch (Exception e) {
log.error("Exception occurred because of {}", e.toString());
}
@@ -545,7 +558,7 @@
return null;
}
if (externalPeerRouterMap.containsKey(ipAddress.toString())) {
- return externalPeerRouterMap.get(ipAddress.toString()).value().externalPeerRouterMac();
+ return externalPeerRouterMap.get(ipAddress.toString()).value().macAddress();
} else {
throw new NoSuchElementException();
}
@@ -556,7 +569,10 @@
try {
externalPeerRouterMap.computeIfPresent(ipAddress.toString(), (id, existing) ->
- new DefaultExternalPeerRouter(ipAddress, existing.externalPeerRouterMac(), vlanId));
+ DefaultExternalPeerRouter.builder()
+ .ipAddress(ipAddress)
+ .macAddress(existing.macAddress())
+ .vlanId(vlanId).build());
} catch (Exception e) {
log.error("Exception occurred because of {}", e.toString());
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java
index f1440c1..dc83d98 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java
@@ -267,7 +267,7 @@
try {
Set<String> extRouterIps = osNetworkService.externalPeerRouters().
- stream().map(r -> r.externalPeerRouterIp().toString()).collect(Collectors.toSet());
+ stream().map(r -> r.ipAddress().toString()).collect(Collectors.toSet());
// if SPA is NOT contained in existing external router IP set, we ignore it
if (!extRouterIps.contains(spa.toString())) {
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingFloatingIpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingFloatingIpHandler.java
index 2c20f6a..578e7e4 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingFloatingIpHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingFloatingIpHandler.java
@@ -479,8 +479,8 @@
.setEthDst(instPort.macAddress())
.setIpDst(instPort.ipAddress().getIp4Address());
- if (!externalPeerRouter.externalPeerRouterVlanId().equals(VlanId.NONE)) {
- externalSelectorBuilder.matchVlanId(externalPeerRouter.externalPeerRouterVlanId()).build();
+ if (!externalPeerRouter.vlanId().equals(VlanId.NONE)) {
+ externalSelectorBuilder.matchVlanId(externalPeerRouter.vlanId()).build();
externalTreatmentBuilder.popVlan();
}
@@ -542,14 +542,14 @@
TrafficTreatment.Builder tBuilder = DefaultTrafficTreatment.builder()
.setIpSrc(floating.getIp4Address())
.setEthSrc(instPort.macAddress())
- .setEthDst(externalPeerRouter.externalPeerRouterMac());
+ .setEthDst(externalPeerRouter.macAddress());
if (osNet.getNetworkType().equals(NetworkType.VLAN)) {
tBuilder.popVlan();
}
- if (!externalPeerRouter.externalPeerRouterVlanId().equals(VlanId.NONE)) {
- tBuilder.pushVlan().setVlanId(externalPeerRouter.externalPeerRouterVlanId());
+ if (!externalPeerRouter.vlanId().equals(VlanId.NONE)) {
+ tBuilder.pushVlan().setVlanId(externalPeerRouter.vlanId());
}
osFlowRuleService.setRule(
appId,
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java
index 03f65aa..e5ecd1c 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java
@@ -215,7 +215,7 @@
});
ExternalPeerRouter externalPeerRouter = osNetworkAdminService.externalPeerRouter(exGateway);
- VlanId vlanId = externalPeerRouter == null ? VlanId.NONE : externalPeerRouter.externalPeerRouterVlanId();
+ VlanId vlanId = externalPeerRouter == null ? VlanId.NONE : externalPeerRouter.vlanId();
if (exGateway == null) {
deleteUnassociatedExternalPeerRouter();
@@ -240,12 +240,12 @@
osNetworkAdminService.externalPeerRouters().stream()
.filter(externalPeerRouter ->
- !routerIps.contains(externalPeerRouter.externalPeerRouterIp().toString()))
+ !routerIps.contains(externalPeerRouter.ipAddress().toString()))
.forEach(externalPeerRouter -> {
osNetworkAdminService
- .deleteExternalPeerRouter(externalPeerRouter.externalPeerRouterIp().toString());
+ .deleteExternalPeerRouter(externalPeerRouter.ipAddress().toString());
log.trace("Deleted unassociated external peer router {}",
- externalPeerRouter.externalPeerRouterIp().toString());
+ externalPeerRouter.ipAddress().toString());
});
} catch (Exception e) {
log.error("Exception occurred because of {}", e.toString());
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandler.java
index e5289a2..ee90e0d 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandler.java
@@ -366,10 +366,10 @@
Ethernet icmpRequestEth = new Ethernet();
icmpRequestEth.setEtherType(Ethernet.TYPE_IPV4)
.setSourceMACAddress(DEFAULT_GATEWAY_MAC)
- .setDestinationMACAddress(externalPeerRouter.externalPeerRouterMac());
+ .setDestinationMACAddress(externalPeerRouter.macAddress());
- if (!externalPeerRouter.externalPeerRouterVlanId().equals(VlanId.NONE)) {
- icmpRequestEth.setVlanID(externalPeerRouter.externalPeerRouterVlanId().toShort());
+ if (!externalPeerRouter.vlanId().equals(VlanId.NONE)) {
+ icmpRequestEth.setVlanID(externalPeerRouter.vlanId().toShort());
}
icmpRequestEth.setPayload(ipPacket);
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java
index 4657c18..17f4c55 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java
@@ -326,8 +326,8 @@
.setEthDst(packetIn.parsed().getSourceMAC())
.setIpDst(internalIp);
- if (!externalPeerRouter.externalPeerRouterVlanId().equals(VlanId.NONE)) {
- sBuilder.matchVlanId(externalPeerRouter.externalPeerRouterVlanId());
+ if (!externalPeerRouter.vlanId().equals(VlanId.NONE)) {
+ sBuilder.matchVlanId(externalPeerRouter.vlanId());
tBuilder.popVlan();
}
@@ -429,22 +429,22 @@
sBuilder.matchTcpSrc(TpPort.tpPort(tcpPacket.getSourcePort()))
.matchTcpDst(TpPort.tpPort(tcpPacket.getDestinationPort()));
tBuilder.setTcpSrc(patPort)
- .setEthDst(externalPeerRouter.externalPeerRouterMac());
+ .setEthDst(externalPeerRouter.macAddress());
break;
case IPv4.PROTOCOL_UDP:
UDP udpPacket = (UDP) iPacket.getPayload();
sBuilder.matchUdpSrc(TpPort.tpPort(udpPacket.getSourcePort()))
.matchUdpDst(TpPort.tpPort(udpPacket.getDestinationPort()));
tBuilder.setUdpSrc(patPort)
- .setEthDst(externalPeerRouter.externalPeerRouterMac());
+ .setEthDst(externalPeerRouter.macAddress());
break;
default:
log.debug("Unsupported IPv4 protocol {}");
break;
}
- if (!externalPeerRouter.externalPeerRouterVlanId().equals(VlanId.NONE)) {
- tBuilder.pushVlan().setVlanId(externalPeerRouter.externalPeerRouterVlanId());
+ if (!externalPeerRouter.vlanId().equals(VlanId.NONE)) {
+ tBuilder.pushVlan().setVlanId(externalPeerRouter.vlanId());
}
tBuilder.setIpSrc(externalIp);
@@ -491,11 +491,11 @@
iPacket.resetChecksum();
iPacket.setParent(ethPacketIn);
ethPacketIn.setSourceMACAddress(DEFAULT_GATEWAY_MAC);
- ethPacketIn.setDestinationMACAddress(externalPeerRouter.externalPeerRouterMac());
+ ethPacketIn.setDestinationMACAddress(externalPeerRouter.macAddress());
ethPacketIn.setPayload(iPacket);
- if (!externalPeerRouter.externalPeerRouterVlanId().equals(VlanId.NONE)) {
- ethPacketIn.setVlanID(externalPeerRouter.externalPeerRouterVlanId().toShort());
+ if (!externalPeerRouter.vlanId().equals(VlanId.NONE)) {
+ ethPacketIn.setVlanID(externalPeerRouter.vlanId().toShort());
}
ethPacketIn.resetChecksum();