X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Ftopology-lldp-discovery%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmd%2Fcontroller%2Ftopology%2Flldp%2FLLDPDiscoveryListener.java;fp=opendaylight%2Fmd-sal%2Ftopology-lldp-discovery%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmd%2Fcontroller%2Ftopology%2Flldp%2FLLDPDiscoveryListener.java;h=095d12e6efc1da541d9833ec1aa5046b750e4978;hb=9a19d9b2951fb82676f74a24c7a36902acc7627f;hp=0000000000000000000000000000000000000000;hpb=57bf79185d4c6fb76e56ebdefe89a264439cdbf8;p=controller.git diff --git a/opendaylight/md-sal/topology-lldp-discovery/src/main/java/org/opendaylight/md/controller/topology/lldp/LLDPDiscoveryListener.java b/opendaylight/md-sal/topology-lldp-discovery/src/main/java/org/opendaylight/md/controller/topology/lldp/LLDPDiscoveryListener.java new file mode 100644 index 0000000000..095d12e6ef --- /dev/null +++ b/opendaylight/md-sal/topology-lldp-discovery/src/main/java/org/opendaylight/md/controller/topology/lldp/LLDPDiscoveryListener.java @@ -0,0 +1,34 @@ +package org.opendaylight.md.controller.topology.lldp; + +import org.opendaylight.md.controller.topology.lldp.utils.LLDPDiscoveryUtils; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.LinkDiscovered; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.LinkDiscoveredBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef; +import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingListener; +import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketReceived; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +class LLDPDiscoveryListener implements PacketProcessingListener { + static Logger LOG = LoggerFactory.getLogger(LLDPDiscoveryListener.class); + + private LLDPDiscoveryProvider manager; + + LLDPDiscoveryListener(LLDPDiscoveryProvider manager) { + this.manager = manager; + } + + public void onPacketReceived(PacketReceived lldp) { + NodeConnectorRef src = LLDPDiscoveryUtils.lldpToNodeConnectorRef(lldp.getPayload()); + if(src != null) { + LinkDiscoveredBuilder ldb = new LinkDiscoveredBuilder(); + ldb.setDestination(lldp.getIngress()); + ldb.setSource(new NodeConnectorRef(src)); + LinkDiscovered ld = ldb.build(); + + manager.getNotificationService().publish(ld); + LLDPLinkAger.getInstance().put(ld); + } + } + +}