X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=vpnmanager-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2FVpnInterfaceManager.java;h=d46f1624a610de39d80a7cf9d6fc26326c3d2811;hb=272200b362c916ee5af9fa07a5dcd34c1b4a10b6;hp=ae286b66aeb4036f7db7680822cec37d2e47cada;hpb=f9cf6c9c65b51d31c13791a87b7eb955f8935ac2;p=vpnservice.git diff --git a/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java b/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java index ae286b66..d46f1624 100644 --- a/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java +++ b/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java @@ -7,11 +7,8 @@ */ package org.opendaylight.vpnservice; -import java.util.Collections; + import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.Future; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.DataChangeListener; @@ -20,14 +17,13 @@ import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder; import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; -import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.l3vpn.rev130911.NextHopList; -import org.opendaylight.yang.gen.v1.urn.opendaylight.l3vpn.rev130911.next.hop.list.*; +import org.opendaylight.yang.gen.v1.urn.opendaylight.l3vpn.rev130911.next.hop.list.L3NextHops; import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.VpnInterfaces; import org.opendaylight.yang.gen.v1.urn.opendaylight.l3vpn.rev130911.VpnInterface1; import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.interfaces.VpnInterface; @@ -38,11 +34,17 @@ import org.slf4j.LoggerFactory; import com.google.common.base.Optional; import com.google.common.collect.FluentIterable; -public class VpnInterfaceManager extends AbstractDataChangeListener implements AutoCloseable{ +public class VpnInterfaceManager extends AbstractDataChangeListener implements AutoCloseable { private static final Logger LOG = LoggerFactory.getLogger(VpnInterfaceManager.class); private ListenerRegistration listenerRegistration; private final DataBroker broker; - + + /** + * Responsible for listening to data change related to VPN Interface + * Bind VPN Service on the interface and informs the BGP service + * + * @param db - dataBroker service reference + */ public VpnInterfaceManager(final DataBroker db) { super(VpnInterface.class); broker = db; @@ -61,7 +63,7 @@ public class VpnInterfaceManager extends AbstractDataChangeListener id = idBuilder.build(); Optional port = read(LogicalDatastoreType.CONFIGURATION, id); - if(port.isPresent()) { + if (port.isPresent()) { Interface interf = port.get(); bindServiceOnInterface(interf); updateNextHops(identifier); @@ -98,15 +100,15 @@ public class VpnInterfaceManager extends AbstractDataChangeListener path = identifier.augmentation(VpnInterface1.class); Optional nextHopList = read(LogicalDatastoreType.CONFIGURATION, path); - - if(nextHopList.isPresent()) { + + if (nextHopList.isPresent()) { List nextHops = nextHopList.get().getL3NextHops(); - - if(!nextHops.isEmpty()) { - LOG.info("NextHops are "+ nextHops); - for(L3NextHops nextHop : nextHops) { + + if (!nextHops.isEmpty()) { + LOG.info("NextHops are " + nextHops); + for (L3NextHops nextHop : nextHops) { //TODO: Generate label for the prefix and store it in the next hop model - + //TODO: Update BGP updatePrefixToBGP(nextHop); }