commit | e30fcda4cf7299886d6e79c87968050f26786ac7 | [log] [tgz] |
---|---|---|
author | Jonathan Hart <jono@onlab.us> | Thu Aug 06 16:22:34 2015 -0700 |
committer | Jonathan Hart <jono@onlab.us> | Tue Aug 11 17:48:16 2015 +0000 |
tree | 70f39796b5010ecaedbaf646e69820587dce3cb9 | |
parent | bab51a4104074453818bb056e3ac96b48d9f5cd3 [diff] |
Fix for SDN-IP installing wrong point-to-point intents. Fixes ONOS-2514. Ported from onos-1.2 branch. Change-Id: I0d3d6012daa8dd2a45707a58cf6e745314f6dc24 (cherry picked from commit 0c763e9b064eac86d866b8fdfea25baec104324e)
diff --git a/apps/routing/src/main/java/org/onosproject/routing/config/impl/HostToInterfaceAdaptor.java b/apps/routing/src/main/java/org/onosproject/routing/config/impl/HostToInterfaceAdaptor.java index 8fabe39..78eecb8 100644 --- a/apps/routing/src/main/java/org/onosproject/routing/config/impl/HostToInterfaceAdaptor.java +++ b/apps/routing/src/main/java/org/onosproject/routing/config/impl/HostToInterfaceAdaptor.java
@@ -63,6 +63,20 @@ return null; } + public Interface getInterface(IpAddress ip) { + Set<PortAddresses> portAddresses = hostService.getAddressBindings(); + + for (PortAddresses portAddress : portAddresses) { + for (InterfaceIpAddress portIp : portAddress.ipAddresses()) { + if (portIp.ipAddress().equals(ip)) { + return new Interface(portAddress); + } + } + } + + return null; + } + public Interface getMatchingInterface(IpAddress ipAddress) { checkNotNull(ipAddress);
diff --git a/apps/routing/src/main/java/org/onosproject/routing/config/impl/RoutingConfigurationImpl.java b/apps/routing/src/main/java/org/onosproject/routing/config/impl/RoutingConfigurationImpl.java index 2667594..e45548f 100644 --- a/apps/routing/src/main/java/org/onosproject/routing/config/impl/RoutingConfigurationImpl.java +++ b/apps/routing/src/main/java/org/onosproject/routing/config/impl/RoutingConfigurationImpl.java
@@ -187,6 +187,11 @@ } @Override + public Interface getInterface(IpAddress ip) { + return hostAdaptor.getInterface(ip); + } + + @Override public Interface getMatchingInterface(IpAddress ipAddress) { return hostAdaptor.getMatchingInterface(ipAddress); }
diff --git a/apps/routing/src/test/java/org/onosproject/routing/config/impl/HostToInterfaceAdaptorTest.java b/apps/routing/src/test/java/org/onosproject/routing/config/impl/HostToInterfaceAdaptorTest.java index 5112427..0347fc5 100644 --- a/apps/routing/src/test/java/org/onosproject/routing/config/impl/HostToInterfaceAdaptorTest.java +++ b/apps/routing/src/test/java/org/onosproject/routing/config/impl/HostToInterfaceAdaptorTest.java
@@ -173,7 +173,8 @@ */ @Test(expected = NullPointerException.class) public void testGetInterfaceNull() { - adaptor.getInterface(null); + ConnectPoint c = null; + adaptor.getInterface(c); } /**