X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Ftopologymanager%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Ftopologymanager%2Finternal%2FTopologyManagerImpl.java;h=7452abbbb4af7952ae7b569b36d1498bb51f0dfe;hb=17e56497531f66554f6d533ef0f85ac7264f48fa;hp=526ba41c354c3166db9ba26f18e55b1483c1ab36;hpb=c35484bda3c82b4e907d0496b01608e478dd00a0;p=controller.git diff --git a/opendaylight/topologymanager/implementation/src/main/java/org/opendaylight/controller/topologymanager/internal/TopologyManagerImpl.java b/opendaylight/topologymanager/implementation/src/main/java/org/opendaylight/controller/topologymanager/internal/TopologyManagerImpl.java index 526ba41c35..7452abbbb4 100644 --- a/opendaylight/topologymanager/implementation/src/main/java/org/opendaylight/controller/topologymanager/internal/TopologyManagerImpl.java +++ b/opendaylight/topologymanager/implementation/src/main/java/org/opendaylight/controller/topologymanager/internal/TopologyManagerImpl.java @@ -521,11 +521,16 @@ public class TopologyManagerImpl implements } } - private boolean nodeConnectorsExist(Edge e) { + private boolean headNodeConnectorExist(Edge e) { + /* + * Only check the head end point which is supposed to be part of a + * network node we control (present in our inventory). If we checked the + * tail end point as well, we would not store the edges that connect to + * a non sdn enable port on a non sdn capable production switch. We want + * to be able to see these switches on the topology. + */ NodeConnector head = e.getHeadNodeConnector(); - NodeConnector tail = e.getTailNodeConnector(); - return (switchManager.doesNodeConnectorExist(head) && - switchManager.doesNodeConnectorExist(tail)); + return (switchManager.doesNodeConnectorExist(head)); } private TopoEdgeUpdate edgeUpdate(Edge e, UpdateType type, Set props) { @@ -536,8 +541,9 @@ public class TopologyManagerImpl implements log.trace("Skipping redundant edge addition: {}", e); return null; } - // Ensure that both tail and head node connectors exist. - if (!nodeConnectorsExist(e)) { + + // Ensure that head node connector exists + if (!headNodeConnectorExist(e)) { log.warn("Ignore edge that contains invalid node connector: {}", e); return null; }