1 package org.opendaylight.md.controller.topology.lldp;
3 import org.opendaylight.md.controller.topology.lldp.utils.LLDPDiscoveryUtils;
4 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.LinkDiscovered;
5 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.LinkDiscoveredBuilder;
6 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingListener;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketReceived;
9 import org.slf4j.Logger;
10 import org.slf4j.LoggerFactory;
12 class LLDPDiscoveryListener implements PacketProcessingListener {
13 static Logger LOG = LoggerFactory.getLogger(LLDPDiscoveryListener.class);
15 private LLDPDiscoveryProvider manager;
17 LLDPDiscoveryListener(LLDPDiscoveryProvider manager) {
18 this.manager = manager;
21 public void onPacketReceived(PacketReceived lldp) {
22 NodeConnectorRef src = LLDPDiscoveryUtils.lldpToNodeConnectorRef(lldp.getPayload());
24 LinkDiscoveredBuilder ldb = new LinkDiscoveredBuilder();
25 ldb.setDestination(lldp.getIngress());
26 ldb.setSource(new NodeConnectorRef(src));
27 LinkDiscovered ld = ldb.build();
29 manager.getNotificationService().publish(ld);
30 LLDPLinkAger.getInstance().put(ld);