commit | b5817105bdfc98738f02d28ba6a2ef092455c028 | [log] [tgz] |
---|---|---|
author | daniel park <dan.park@sk.com> | Thu Feb 15 00:18:51 2018 +0900 |
committer | daniel park <dan.park@sk.com> | Tue Feb 20 09:40:45 2018 +0900 |
tree | 938698ad12d24bc606f3cadf4e4e3ee57a980700 | |
parent | af34b7cc635ff3dcab056f5d2c4a8bdbec836a75 [diff] |
[ONOS-7444] Optimize SONA gw doesn't use vrouter app and quagga anymore - Done: Deriving MAC address from external peer router and simple SNAT functionality - Todo: SNAT, Floating IP-based routing Change-Id: Ib1a5784a7304c44b28d7b2c9891b98fd13000db1
diff --git a/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/OpenstackNode.java b/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/OpenstackNode.java index f1e2bc5..2ecfefe 100644 --- a/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/OpenstackNode.java +++ b/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/OpenstackNode.java
@@ -151,6 +151,13 @@ String uplinkPort(); /** + * Returns the uplink port number. + * + * @return uplink port number + */ + PortNumber uplinkPortNum(); + + /** * Returns new openstack node instance with given state. * * @param newState updated state
diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNode.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNode.java index 6650be6..f208529 100644 --- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNode.java +++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNode.java
@@ -122,6 +122,21 @@ } @Override + public PortNumber uplinkPortNum() { + if (uplinkPort == null) { + return null; + } + + DeviceService deviceService = DefaultServiceDirectory.getService(DeviceService.class); + Port port = deviceService.getPorts(intgBridge).stream() + .filter(p -> p.isEnabled() && + Objects.equals(p.annotations().value(PORT_NAME), uplinkPort)) + .findAny().orElse(null); + + return port != null ? port.number() : null; + + } + @Override public PortNumber tunnelPortNum() { if (dataIp == null) { return null;