BUG:5128 Elan Multi-DPN datapath fix
[vpnservice.git] / elanmanager / elanmanager-impl / src / main / java / org / opendaylight / vpnservice / elan / internal / ElanServiceProvider.java
index 9b8eb446783ebdf5fa8a35f0052cfdcb05cd5e30..200e645d984af2172fe368c34cdf0af368367f1e 100644 (file)
@@ -40,6 +40,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.idmanager.rev150
 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.idmanager.rev150403.CreateIdPoolInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.idmanager.rev150403.IdManagerService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.rpcs.rev151003.OdlInterfaceRpcService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.itm.rpcs.rev151217.ItmRpcService;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.elanmanager.exceptions.MacNotFoundException;
@@ -72,7 +73,16 @@ public class ElanServiceProvider implements BindingAwareProvider, IElanService,
 
     //private ElanInterfaceEventListener elanInterfaceEventListener;
     private ElanItmEventListener elanItmEventListener;
-    private IITMProvider itmManager;
+
+    public void setItmRpcService(ItmRpcService itmRpcService) {
+        this.itmRpcService = itmRpcService;
+    }
+
+    public ItmRpcService getItmRpcService() {
+        return itmRpcService;
+    }
+
+    private ItmRpcService itmRpcService;
     private DataBroker broker;
 
     private static final Logger logger = LoggerFactory.getLogger(ElanServiceProvider.class);
@@ -82,15 +92,13 @@ public class ElanServiceProvider implements BindingAwareProvider, IElanService,
         createIdPool();
         broker = session.getSALService(DataBroker.class);
 
-        elanForwardingEntriesHandler = new ElanForwardingEntriesHandler(broker, mdsalManager);
-        elanForwardingEntriesHandler.setIITMManager(itmManager);
+        elanForwardingEntriesHandler = new ElanForwardingEntriesHandler(broker);
 
         elanInterfaceManager = ElanInterfaceManager.getElanInterfaceManager();
         elanInterfaceManager.setInterfaceManager(interfaceManager);
         elanInterfaceManager.setIdManager(idManager);
         elanInterfaceManager.setMdSalApiManager(mdsalManager);
         elanInterfaceManager.setDataBroker(broker);
-        elanInterfaceManager.setIITMManager(itmManager);
         elanInterfaceManager.registerListener();
         elanInterfaceManager.setInterfaceManagerRpcService(interfaceManagerRpcService);
         elanInterfaceManager.setElanForwardingEntriesHandler(elanForwardingEntriesHandler);
@@ -110,7 +118,6 @@ public class ElanServiceProvider implements BindingAwareProvider, IElanService,
         elanSmacFlowEventListener = new ElanSmacFlowEventListener(broker);
         elanSmacFlowEventListener.setMdSalApiManager(mdsalManager);
         elanSmacFlowEventListener.setInterfaceManager(interfaceManager);
-        elanSmacFlowEventListener.setIITMManager(itmManager);
         elanSmacFlowEventListener.setSalFlowService(session.getRpcService(SalFlowService.class));
         notificationService.registerNotificationListener(elanSmacFlowEventListener);
 
@@ -137,11 +144,7 @@ public class ElanServiceProvider implements BindingAwareProvider, IElanService,
         return mdsalManager;
     }
 
-    public IITMProvider getItmManager() {
-        return itmManager;
-    }
-
-    public DataBroker getBroker() {
+     public DataBroker getBroker() {
         return broker;
     }
 
@@ -157,10 +160,6 @@ public class ElanServiceProvider implements BindingAwareProvider, IElanService,
         return interfaceManagerRpcService;
     }
 
-    public void setItmManager(IITMProvider itmManager) {
-        this.itmManager = itmManager;
-    }
-
     private void createIdPool() {
         CreateIdPoolInput createPool = new CreateIdPoolInputBuilder()
             .setPoolName(ElanConstants.ELAN_ID_POOL_NAME).setLow(ElanConstants.ELAN_ID_LOW_VALUE).setHigh(ElanConstants.ELAN_ID_HIGH_VALUE)