X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fprotocol_plugins%2Fopenflow%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fprotocol_plugin%2Fopenflow%2Finternal%2FDiscoveryService.java;h=1a59a325adf6f6b71e03d4e68077921657f6813e;hb=b23703bef6c3aaafe2dc83608a03b738ad42f945;hp=811135252da07b5137d33d9a9f78380229346f42;hpb=d1ab4c3ea79bcd74e02aa9334bc660cb7fc6d037;p=controller.git diff --git a/opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/internal/DiscoveryService.java b/opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/internal/DiscoveryService.java index 811135252d..1a59a325ad 100644 --- a/opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/internal/DiscoveryService.java +++ b/opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/internal/DiscoveryService.java @@ -148,7 +148,7 @@ public class DiscoveryService implements IInventoryShimExternalListener, IDataPa Thread.sleep(10); } } catch (InterruptedException e1) { - logger.warn("DiscoveryTransmit interupted", e1.getMessage()); + logger.trace("DiscoveryTransmit interupted", e1.getMessage()); if (shuttingDown) { return; } @@ -391,7 +391,12 @@ public class DiscoveryService implements IInventoryShimExternalListener, IDataPa updateProdEdge(edge, props); } catch (Exception e) { - logger.warn("Caught exception ", e); + if (logger.isDebugEnabled()) { + logger.debug( + "Caught exception while attempting to snoop non controller generated or malformed LLDP frame sent by {} and received on {}: {}", + HexEncode.bytesToHexStringFormat(ethPkt.getSourceMACAddress()), dstNodeConnector, + e.getMessage()); + } } } @@ -412,7 +417,7 @@ public class DiscoveryService implements IInventoryShimExternalListener, IDataPa List optionalTLVList = lldp.getOptionalTLVList(); if (optionalTLVList == null) { - logger.info("The discovery packet with null custom option from {}", dstNodeConnector); + logger.warn("The discovery packet with null custom option from {}", dstNodeConnector); return false; } @@ -831,8 +836,10 @@ public class DiscoveryService implements IInventoryShimExternalListener, IDataPa moveToReadyListHi(dst); } + //checking only OF map, since production edge discovery always overwrites any existing edge + UpdateType ut = edgeMap.containsKey(dst) ? UpdateType.CHANGED : UpdateType.ADDED; // notify - updateEdge(edge, UpdateType.ADDED, props); + updateEdge(edge, ut, props); logger.trace("Add edge {}", edge); } @@ -931,13 +938,14 @@ public class DiscoveryService implements IInventoryShimExternalListener, IDataPa return; } + this.discoveryListener.notifyEdge(edge, type, props); NodeConnector src = edge.getTailNodeConnector(), dst = edge.getHeadNodeConnector(); if (!src.getType().equals(NodeConnector.NodeConnectorIDType.PRODUCTION)) { if (type == UpdateType.ADDED) { edgeMap.put(dst, edge); - } else { + } else if (type == UpdateType.REMOVED) { edgeMap.remove(dst); } } else { @@ -946,7 +954,7 @@ public class DiscoveryService implements IInventoryShimExternalListener, IDataPa */ if (type == UpdateType.ADDED) { prodMap.put(dst, edge); - } else { + } else if (type == UpdateType.REMOVED) { prodMap.remove(dst); } }