Fixed discard-changes for mdsal netconf, mapping code cleanup.
[controller.git] / opendaylight / md-sal / topology-lldp-discovery / src / main / java / org / opendaylight / md / controller / topology / lldp / LLDPDiscoveryListener.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.md.controller.topology.lldp;
9
10 import org.opendaylight.md.controller.topology.lldp.utils.LLDPDiscoveryUtils;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.LinkDiscovered;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.LinkDiscoveredBuilder;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingListener;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketReceived;
16 import org.slf4j.Logger;
17 import org.slf4j.LoggerFactory;
18
19 class LLDPDiscoveryListener implements PacketProcessingListener {
20     static Logger LOG = LoggerFactory.getLogger(LLDPDiscoveryListener.class);
21
22     private LLDPDiscoveryProvider manager;
23
24     LLDPDiscoveryListener(LLDPDiscoveryProvider manager) {
25         this.manager = manager;
26     }
27
28     public void onPacketReceived(PacketReceived lldp) {
29         NodeConnectorRef src = LLDPDiscoveryUtils.lldpToNodeConnectorRef(lldp.getPayload());
30         if(src != null) {
31             LinkDiscoveredBuilder ldb = new LinkDiscoveredBuilder();
32             ldb.setDestination(lldp.getIngress());
33             ldb.setSource(new NodeConnectorRef(src));
34             LinkDiscovered ld = ldb.build();
35
36             manager.getNotificationService().publish(ld);
37             LLDPLinkAger.getInstance().put(ld);
38         }
39     }
40
41 }