diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java index 37311e2f302ef069d82c7c8df74bc6b8bc885299..e143848a1fa7c48d8456a9d7fb104da7ba241c10 100644 --- a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java +++ b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java @@ -522,7 +522,7 @@ public class LinkDiscoveryManager OFPhysicalPort physicalPort = remoteSwitch.getPort(remotePort); int srcPortState = (physicalPort != null) ? physicalPort.getState() : 0; - physicalPort = sw.getPort(remotePort); + physicalPort = sw.getPort(pi.getInPort()); int dstPortState = (physicalPort != null) ? physicalPort.getState() : 0; // Store the time of update to this link, and push it out to routingEngine diff --git a/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java b/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java index 3ed1d8499fbfcfa34f886e2cf0d6ae451e072ba5..6b2c4a864ca6215e33f0998ab550c33f08504b75 100644 --- a/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java +++ b/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java @@ -1158,17 +1158,17 @@ public class ControllerTest extends FloodlightTestCase { */ @Test public void testRemoveActiveSwitch() { - IOFSwitch sw = EasyMock.createNiceMock(IOFSwitch.class); - boolean exceptionThrown = false; - expect(sw.getId()).andReturn(1L).anyTimes(); - replay(sw); - getController().activeSwitches.put(sw.getId(), sw); - try { - getController().getSwitches().remove(1L); - } catch (UnsupportedOperationException e) { - exceptionThrown = true; - } - assertTrue(exceptionThrown); - verify(sw); + IOFSwitch sw = EasyMock.createNiceMock(IOFSwitch.class); + boolean exceptionThrown = false; + expect(sw.getId()).andReturn(1L).anyTimes(); + replay(sw); + getController().activeSwitches.put(sw.getId(), sw); + try { + getController().getSwitches().remove(1L); + } catch (UnsupportedOperationException e) { + exceptionThrown = true; + } + assertTrue(exceptionThrown); + verify(sw); } }