Upgrade+conntrack, default FIB flow missing
[netvirt.git] / vpnservice / natservice / natservice-impl / src / main / resources / org / opendaylight / blueprint / natservice.xml
index c84d618efe77988512d9c418cd25c07f7e024108..7b5c4c8f925a26388371c9a359a6930af66e2538 100644 (file)
@@ -1,23 +1,35 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
+           xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
            odl:use-default-for-reference-types="true">
 
   <reference id="dataBroker"
              interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
              odl:type="default" />
-  <reference id="bgpManager"
+  <reference id="iBgpManager"
              interface="org.opendaylight.netvirt.bgpmanager.api.IBgpManager" />
-  <reference id="elanService"
+  <reference id="iElanService"
              interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
-  <reference id="fibManager"
+  <reference id="iFibManager"
              interface="org.opendaylight.netvirt.fibmanager.api.IFibManager" />
-  <reference id="interfaceManager"
+  <reference id="iInterfaceManager"
              interface="org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager" />
-  <reference id="mdsalUtils"
+  <reference id="iMdsalApiManager"
              interface="org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager" />
-  <reference id="neutronvpnManager"
+  <reference id="iNeutronVpnManager"
              interface="org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager" />
+  <reference id="iVpnManager"
+             interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
+  <reference id="iVpnFootprintService"
+             interface="org.opendaylight.netvirt.vpnmanager.api.IVpnFootprintService"
+             availability="optional"/>
+  <reference id="jobCoordinator"
+             interface="org.opendaylight.infrautils.jobcoordinator.JobCoordinator"/>
+  <reference id="upgradeState"
+             interface="org.opendaylight.genius.mdsalutil.UpgradeState"/>
+  <reference id="dataTreeEventCallbackRegistrar"
+             interface="org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar"/>
 
   <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.vpn.rpc.rev160201.VpnRpcService" />
   <odl:rpc-service id="fibRpcService"
                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fib.rpc.rev160121.FibRpcService" />
+  <odl:rpc-service id="odlArputilService"
+                   interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
+  <odl:rpc-service id="salFlowService"
+                   interface="org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService" />
+  <odl:rpc-implementation ref="natRpcServiceImpl"/>
 
-  <bean id="subnetmapListener"
-        class="org.opendaylight.netvirt.natservice.internal.SubnetmapListener"
-        init-method="init" destroy-method="close">
-    <argument ref="dataBroker" />
-    <argument ref="externalNetworkGroupInstaller" />
-  </bean>
-
-  <bean id="floatingIPListener"
-        class="org.opendaylight.netvirt.natservice.internal.FloatingIPListener"
-        init-method="init" destroy-method="close">
-    <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-    <argument ref="odlInterfaceRpcService" />
-    <argument ref="idManagerService" />
-    <argument ref="blueprintBundleContext" />
-  </bean>
-
-  <bean id="externalNetworkListener"
-        class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkListener"
-        init-method="init" destroy-method="close">
-    <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-  </bean>
-
-  <bean id="naptManager"
-        class="org.opendaylight.netvirt.natservice.internal.NaptManager">
-    <argument ref="dataBroker" />
-    <argument ref="idManagerService" />
-  </bean>
-
-  <bean id="naptEventHandler"
-        class="org.opendaylight.netvirt.natservice.internal.NaptEventHandler">
-    <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-    <argument ref="naptManager" />
-    <argument ref="packetProcessingService" />
-    <argument ref="odlInterfaceRpcService" />
-    <argument ref="interfaceManager" />
-  </bean>
-
-  <bean id="eventDispatcher"
-        class="org.opendaylight.netvirt.natservice.internal.EventDispatcher"
-        init-method="init">
-    <argument ref="naptEventHandler" />
-  </bean>
-
-  <bean id="naptPacketInHandler"
-        class="org.opendaylight.netvirt.natservice.internal.NaptPacketInHandler">
-    <argument ref="eventDispatcher" />
-  </bean>
   <odl:notification-listener ref="naptPacketInHandler" />
+  <odl:notification-listener ref="naptFlowRemovedEventHandler" />
+  <odl:notification-listener ref="routerToVpnListener" />
 
-  <bean id="vpnFloatingIpHandler"
-        class="org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler">
-    <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-    <argument ref="vpnRpcService" />
-    <argument ref="bgpManager" />
-    <argument ref="fibRpcService" />
-    <argument ref="floatingIPListener" />
-    <argument ref="fibManager" />
-  </bean>
   <service ref="vpnFloatingIpHandler"
            interface="org.opendaylight.netvirt.natservice.internal.FloatingIPHandler" />
 
-  <bean id="nAPTSwitchSelector"
-        class="org.opendaylight.netvirt.natservice.internal.NAPTSwitchSelector">
-    <argument ref="dataBroker" />
-  </bean>
-
-  <bean id="externalRoutersListener"
-        class="org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener"
-        init-method="init" destroy-method="close">
-    <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-    <argument ref="itmRpcService" />
-    <argument ref="odlInterfaceRpcService" />
-    <argument ref="idManagerService" />
-    <argument ref="naptManager" />
-    <argument ref="nAPTSwitchSelector" />
-    <argument ref="bgpManager" />
-    <argument ref="vpnRpcService" />
-    <argument ref="fibRpcService" />
-    <argument ref="sNATDefaultRouteProgrammer" />
-    <argument ref="naptEventHandler" />
-    <argument ref="naptPacketInHandler" />
-    <argument ref="fibManager" />
-  </bean>
-
-  <bean id="externalNetworksChangeListener"
-        class="org.opendaylight.netvirt.natservice.internal.ExternalNetworksChangeListener"
-        init-method="init" destroy-method="close">
-    <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-    <argument ref="floatingIPListener" />
-    <argument ref="externalRoutersListener" />
-    <argument ref="odlInterfaceRpcService" />
-    <argument ref="naptManager" />
-    <argument ref="bgpManager" />
-    <argument ref="vpnRpcService" />
-    <argument ref="fibRpcService" />
-  </bean>
-
-  <bean id="naptFlowRemovedEventHandler"
-        class="org.opendaylight.netvirt.natservice.internal.NaptFlowRemovedEventHandler">
-    <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-    <argument ref="eventDispatcher" />
-    <argument ref="naptPacketInHandler" />
-    <argument ref="naptManager" />
-  </bean>
-  <odl:notification-listener ref="naptPacketInHandler" />
-
-  <bean id="interfaceStateEventListener"
-        class="org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener"
-        init-method="init" destroy-method="close">
-    <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-    <argument ref="floatingIPListener" />
-    <argument ref="naptManager" />
-    <argument ref="neutronvpnService" />
-  </bean>
-
-  <bean id="sNATDefaultRouteProgrammer"
-        class="org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer">
-    <argument ref="mdsalUtils" />
-  </bean>
-
-  <bean id="naptSwitchHA"
-        class="org.opendaylight.netvirt.natservice.internal.NaptSwitchHA">
-    <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-    <argument ref="externalRoutersListener" />
-    <argument ref="itmRpcService" />
-    <argument ref="odlInterfaceRpcService" />
-    <argument ref="idManagerService" />
-    <argument ref="nAPTSwitchSelector" />
-    <argument ref="bgpManager" />
-    <argument ref="vpnRpcService" />
-    <argument ref="fibRpcService" />
-  </bean>
-
-  <bean id="natNodeEventListener"
-        class="org.opendaylight.netvirt.natservice.internal.NatNodeEventListener"
-        init-method="init" destroy-method="close">
-    <argument ref="dataBroker" />
-  </bean>
-
-  <bean id="routerPortsListener"
-        class="org.opendaylight.netvirt.natservice.internal.RouterPortsListener"
-        init-method="init" destroy-method="close">
-    <argument ref="dataBroker" />
-  </bean>
-
-  <bean id="routerDpnChangeListener"
-        class="org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener"
-        init-method="init" destroy-method="close">
-    <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-    <argument ref="sNATDefaultRouteProgrammer" />
-    <argument ref="naptSwitchHA" />
-    <argument ref="idManagerService" />
-  </bean>
-
-  <bean id="routerToVpnListener"
-        class="org.opendaylight.netvirt.natservice.internal.RouterToVpnListener">
-    <argument ref="dataBroker" />
-    <argument ref="floatingIPListener" />
-    <argument ref="odlInterfaceRpcService" />
-    <argument ref="externalRoutersListener" />
-  </bean>
-  <odl:notification-listener ref="routerToVpnListener" />
-
-  <bean id="subnetGwMacChangeListener"
-        class="org.opendaylight.netvirt.natservice.internal.SubnetGwMacChangeListener"
-        init-method="start" destroy-method="close">
-    <argument ref="dataBroker" />
-    <argument ref="neutronvpnManager" />
-    <argument ref="externalNetworkGroupInstaller" />
-  </bean>
+  <odl:clustered-app-config id="natserviceConfig"
+                            binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.config.rev170206.NatserviceConfig"
+                            default-config-file-name="netvirt-natservice-config.xml"
+                            update-strategy="none">
+  </odl:clustered-app-config>
 
-  <bean id="externalNetworkGroupInstaller"
-        class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller">
-    <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-    <argument ref="elanService" />
-    <argument ref="idManagerService" />
-    <argument ref="odlInterfaceRpcService" />
-  </bean>
+  <service ref="natRpcServiceImpl"
+           interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rpc.rev170209.OdlNatRpcService"/>
 
 </blueprint>