Partial Fix for Bug 3428
[vpnservice.git] / nexthopmgr / nexthopmgr-impl / src / main / java / org / opendaylight / vpnservice / nexthopmgr / VpnInterfaceChangeListener.java
index 1245a12ad9da2699894aaa6dcf375946c75342fc..cb2cc623e499e940e1790920556d109d36bfed76 100644 (file)
@@ -57,7 +57,7 @@ public class VpnInterfaceChangeListener extends AbstractDataChangeListener<Adjac
 
     private void registerListener(final DataBroker db) {
         try {
-            listenerRegistration = db.registerDataChangeListener(LogicalDatastoreType.CONFIGURATION,
+            listenerRegistration = db.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL,
                     getWildCardPath(), VpnInterfaceChangeListener.this, DataChangeScope.SUBTREE);
         } catch (final Exception e) {
             LOG.error("Nexthop Manager DataChange listener registration fail!", e);
@@ -68,9 +68,9 @@ public class VpnInterfaceChangeListener extends AbstractDataChangeListener<Adjac
     @Override
     protected void add(InstanceIdentifier<Adjacencies> identifier,
             Adjacencies adjs) {
-
+        LOG.trace("Adding adjacencies interface : key: " + identifier + ", value=" + adjs );
         InstanceIdentifier<VpnInterface> vpnIfId = identifier.firstIdentifierOf(VpnInterface.class);
-        Optional<VpnInterface> vpnIf = read(LogicalDatastoreType.CONFIGURATION, vpnIfId);
+        Optional<VpnInterface> vpnIf = read(LogicalDatastoreType.OPERATIONAL, vpnIfId);
         VpnInterface vpnIfData = vpnIf.get();
 
         List<Adjacency> adjList = adjs.getAdjacency();
@@ -87,15 +87,7 @@ public class VpnInterfaceChangeListener extends AbstractDataChangeListener<Adjac
     @Override
     protected void remove(InstanceIdentifier<Adjacencies> identifier,
             Adjacencies adjs) {
-        InstanceIdentifier<VpnInterface> vpnIfId = identifier.firstIdentifierOf(VpnInterface.class);
-        Optional<VpnInterface> vpnIf = read(LogicalDatastoreType.CONFIGURATION, vpnIfId);
-        VpnInterface vpnIfData = vpnIf.get();
-
-        List<Adjacency> adjList = adjs.getAdjacency();
-        for (Adjacency adjacency : adjList) {
-            nexthopManager.removeLocalNextHop(vpnIfData.getVpnInstanceName(), adjacency.getIpAddress());
-        }
-
+        // nexthop group will be removed after fib entry deletion
     }
 
     @Override