Bug 8960: port information for 1 dpn is missing in subnet-op-data and
[netvirt.git] / vpnservice / vpnmanager / vpnmanager-impl / src / main / resources / org / opendaylight / blueprint / vpnmanager.xml
index 0b06c930539599181439c28abd1435e95cce5b7b..2f431524d08edd107c8ee3dc473ff5c3fb1d706f 100644 (file)
@@ -8,6 +8,8 @@
              odl:type="default" />
   <reference id="mdsalUtils"
              interface="org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager" />
+  <reference id="interfaceManager"
+             interface="org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager" />
   <reference id="notificationPublishService"
              interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" />
   <reference id="bgpmanager"
   <reference id="neutronVpnService"
              interface="org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager"
              availability="optional" />
+  <reference id="vpnManager"
+             interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager"
+             availability="optional" />
+  <reference id="entityOwnershipService"
+             interface="org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService" />
 
   <odl:rpc-service id="idManagerService"
                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.OdlL3vpnListener" />
   <odl:notification-listener ref="dpnInVpnChangeListener" />
 
-  <bean id="vpnInterfaceManager"
-        class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager"
-        init-method="start" destroy-method="close">
+  <bean id="vpnOpDataSyncer" class="org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer"/>
+
+  <bean id="vpnFootprintService" class="org.opendaylight.netvirt.vpnmanager.VpnFootprintService">
     <argument ref="dataBroker" />
-    <argument ref="bgpmanager" />
-    <argument ref="odlArputilService" />
-    <argument ref="idManagerService" />
-    <argument ref="mdsalUtils" />
     <argument ref="fibManager" />
     <argument ref="odlInterfaceRpcService" />
     <argument ref="notificationPublishService" />
+    <argument ref="vpnOpDataSyncer" />
   </bean>
+  <service ref="vpnFootprintService"
+           interface="org.opendaylight.netvirt.vpnmanager.api.IVpnFootprintService" />
 
-  <bean id="tunnelInterfaceStateListener"
-        class="org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener"
+  <bean id="arpResponderHandler" class="org.opendaylight.netvirt.vpnmanager.arp.responder.ArpResponderHandler">
+    <argument ref="dataBroker" />
+    <argument ref="elanService" />
+    <argument ref="interfaceManager" />
+  </bean>
+
+  <bean id="vpnInterfaceManager"
+        class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager"
         init-method="start" destroy-method="close">
     <argument ref="dataBroker" />
     <argument ref="bgpmanager" />
+    <argument ref="odlArputilService" />
+    <argument ref="idManagerService" />
+    <argument ref="mdsalUtils" />
     <argument ref="fibManager" />
-    <argument ref="itmRpcService" />
+    <argument ref="odlInterfaceRpcService" />
+    <argument ref="vpnFootprintService" />
+    <argument ref="interfaceManager" />
+    <argument ref="vpnManager" />
+    <argument ref="interVpnLinkService" />
+    <argument ref="arpResponderHandler" />
   </bean>
 
   <bean id="interfaceStateChangeListener"
@@ -78,6 +98,7 @@
         init-method="start" destroy-method="close">
     <argument ref="dataBroker" />
     <argument ref="vpnInterfaceManager" />
+    <argument ref="vpnFootprintService" />
   </bean>
 
   <bean id="arpMonitorEventListener"
     <argument ref="mdsalUtils" />
     <argument ref="alivenessManager" />
     <argument ref="neutronVpnService" />
+    <argument ref="interfaceManager" />
+    <argument ref="entityOwnershipService" />
   </bean>
 
   <bean id="subnetRoutePacketInHandler"
         class="org.opendaylight.netvirt.vpnmanager.SubnetRoutePacketInHandler">
     <argument ref="dataBroker" />
     <argument ref="packetProcessingService" />
+    <argument ref="odlInterfaceRpcService" />
+    <argument ref="centralizedSwitchProvider" />
   </bean>
   <service ref="subnetRoutePacketInHandler" odl:type="default"
            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingListener" />
   <odl:notification-listener ref="subnetRoutePacketInHandler" />
 
+  <odl:clustered-app-config id="vpnConfig"
+                            binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfig"
+                            default-config-file-name="netvirt-vpnmanager-config.xml"
+                            update-strategy="none">
+  </odl:clustered-app-config>
+
   <bean id="arpNotificationHandler"
         class="org.opendaylight.netvirt.vpnmanager.ArpNotificationHandler">
     <argument ref="dataBroker" />
-    <argument ref="vpnInterfaceManager" />
-    <argument ref="elanService" />
     <argument ref="idManagerService" />
-    <argument ref="odlArputilService" />
-    <argument ref="arpMonitoringHandler" />
-    <argument ref="odlInterfaceRpcService" />
+    <argument ref="interfaceManager"/>
+    <argument ref="vpnConfig"/>
   </bean>
   <service ref="arpNotificationHandler" odl:type="default"
            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilListener" />
     <argument ref="dataBroker" />
     <argument ref="vpnInterfaceManager" />
     <argument ref="vpnSubnetRouteHandler" />
+    <argument ref="subnetOpDpnManager" />
+    <argument ref="neutronVpnService" />
   </bean>
 
   <bean id="vpnSubnetRouteHandler"
     <argument ref="vpnInterfaceManager" />
     <argument ref="idManagerService" />
     <argument ref="lockManagerService" />
+    <argument ref="vpnOpDataSyncer"/>
+    <argument ref="VpnNodeListener"/>
+  </bean>
+
+  <bean id="tunnelInterfaceStateListener"
+        class="org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener"
+        init-method="start" destroy-method="close">
+    <argument ref="dataBroker" />
+    <argument ref="bgpmanager" />
+    <argument ref="fibManager" />
+    <argument ref="itmRpcService" />
+    <argument ref="odlInterfaceRpcService"/>
+    <argument ref="vpnInterfaceManager" />
+    <argument ref="vpnSubnetRouteHandler" />
   </bean>
-  <service ref="vpnSubnetRouteHandler" odl:type="default"
-           interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnListener" />
-  <odl:notification-listener ref="vpnSubnetRouteHandler" />
 
   <bean id="subnetOpDpnManager" class="org.opendaylight.netvirt.vpnmanager.SubnetOpDpnManager">
     <argument ref="dataBroker" />
     <argument ref="vpnInstanceListener" />
     <argument ref="vpnInterfaceManager" />
     <argument ref="mdsalUtils" />
+    <argument ref="vpnFootprintService" />
+    <argument ref="elanService" />
+    <argument ref="interfaceManager" />
+    <argument ref="vpnSubnetRouteHandler" />
   </bean>
   <service ref="vpnManagerImpl"
            interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
     <argument ref="idManagerService" />
     <argument ref="vpnInterfaceManager" />
     <argument ref="fibManager" />
+    <argument ref="vpnOpDataSyncer" />
+    <argument ref="mdsalUtils" />
   </bean>
 
   <bean id="fibEntriesListener" class="org.opendaylight.netvirt.vpnmanager.FibEntriesListener"
     <argument ref="vpnInstanceListener" />
   </bean>
 
-  <bean id="VpnInterfaceOpListener"
-        class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceOpListener"
-        init-method="start" destroy-method="close">
-    <argument ref="dataBroker" />
-    <argument ref="vpnInterfaceManager" />
-  </bean>
-
   <odl:rpc-implementation ref="vpnRpcServiceImpl" />
   <bean id="vpnRpcServiceImpl"
         class="org.opendaylight.netvirt.vpnmanager.VpnRpcServiceImpl">
   <service ref="vpnRpcServiceImpl"
            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
 
+  <bean id="interVpnLinkService"
+        class="org.opendaylight.netvirt.vpnmanager.intervpnlink.IVpnLinkServiceImpl"
+        init-method="start" destroy-method="close">
+    <argument ref="dataBroker" />
+    <argument ref="idManagerService" />
+    <argument ref="bgpmanager" />
+    <argument ref="fibManager" />
+  </bean>
+  <service ref="interVpnLinkService"
+           interface="org.opendaylight.netvirt.vpnmanager.api.intervpnlink.IVpnLinkService"/>
+
+  <bean id="interVpnLinkLocator"
+        class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkLocator" >
+    <argument ref="dataBroker" />
+  </bean>
+
   <bean id="interVpnLinkListener"
         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkListener"
         init-method="start" destroy-method="close">
     <argument ref="bgpmanager" />
     <argument ref="fibManager" />
     <argument ref="notificationPublishService" />
+    <argument ref="interVpnLinkService" />
+    <argument ref="interVpnLinkLocator" />
+    <argument ref="vpnFootprintService" />
+    <argument ref="vpnOpDataSyncer" />
+  </bean>
+
+  <bean id="interVpnLinkStateListener"
+        class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkStateListener"
+        init-method="start" destroy-method="close">
+     <argument ref="dataBroker" />
+     <argument ref="interVpnLinkService" />
   </bean>
 
   <bean id="interVpnLinkNodeListener"
         init-method="start" destroy-method="close">
     <argument ref="dataBroker" />
     <argument ref="mdsalUtils" />
+    <argument ref="vpnFootprintService" />
   </bean>
 
   <bean id="tunnelEndPointChangeListener"
         init-method="start" destroy-method="close">
     <argument ref="dataBroker" />
     <argument ref="mdsalUtils" />
+    <argument ref="idManagerService" />
   </bean>
 
   <bean id="vpnElanInterfaceChangeListener"
     <argument ref="dataBroker" />
     <argument ref="elanService" />
   </bean>
+
+  <bean id="vpnOpInstanceCacheManager"
+        class="org.opendaylight.netvirt.vpnmanager.cache.listeners.VpnOpInstanceCacheManager"
+        init-method="start" destroy-method="close">
+    <argument ref="dataBroker" />
+  </bean>
+
+  <bean id="centralizedSwitchProvider"
+        class="org.opendaylight.netvirt.vpnmanager.CentralizedSwitchProvider">
+        <argument ref="dataBroker" />
+  </bean>
+  <service ref="centralizedSwitchProvider"
+           interface="org.opendaylight.netvirt.vpnmanager.api.ICentralizedSwitchProvider" />
+
+  <bean id="centralizedSwitchChangeListener"
+        class="org.opendaylight.netvirt.vpnmanager.CentralizedSwitchChangeListener"
+        init-method="init" destroy-method="close">
+        <argument ref="dataBroker" />
+        <argument ref="vpnManager" />
+  </bean>
+
+  <bean id="l3vpnRegistry"
+        class="org.opendaylight.netvirt.vpnmanager.populator.registry.L3vpnRegistry"
+        init-method="init" destroy-method="close">
+  </bean>
+
+  <bean id="l3vpnOverMplsGrePopulator"
+        class="org.opendaylight.netvirt.vpnmanager.populator.impl.L3vpnOverMplsGrePopulator"
+        init-method="init" destroy-method="close">
+    <argument ref="dataBroker" />
+    <argument ref="vpnInterfaceManager" />
+    <argument ref="bgpmanager" />
+    <argument ref="fibManager" />
+    <argument ref="idManagerService" />
+  </bean>
+
+  <bean id="l3vpnOverVxlanPopulator"
+        class="org.opendaylight.netvirt.vpnmanager.populator.impl.L3vpnOverVxlanPopulator"
+        init-method="init" destroy-method="close">
+    <argument ref="dataBroker" />
+    <argument ref="vpnInterfaceManager" />
+    <argument ref="bgpmanager" />
+    <argument ref="fibManager" />
+  </bean>
+
+  <bean id="subnetmapChangeListener"
+        class="org.opendaylight.netvirt.vpnmanager.SubnetmapChangeListener"
+        init-method="start" destroy-method="close">
+    <argument ref="dataBroker" />
+    <argument ref="vpnSubnetRouteHandler" />
+  </bean>
+
+  <bean id="vpnOpStatusListener"
+        class="org.opendaylight.netvirt.vpnmanager.VpnOpStatusListener"
+        init-method="start" destroy-method="close">
+    <argument ref="dataBroker" />
+    <argument ref="bgpmanager" />
+    <argument ref="idManagerService" />
+    <argument ref="fibManager" />
+    <argument ref="mdsalUtils" />
+    <argument ref="vpnFootprintService" />
+  </bean>
 </blueprint>