Merge "Remove elanUtils instance from ElanInstanceManager"
[netvirt.git] / vpnservice / natservice / natservice-impl / src / main / resources / org / opendaylight / blueprint / natservice.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
3            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
4            odl:use-default-for-reference-types="true">
5
6   <reference id="dataBroker"
7              interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
8              odl:type="default" />
9   <reference id="bgpManager"
10              interface="org.opendaylight.netvirt.bgpmanager.api.IBgpManager" />
11   <reference id="elanService"
12              interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
13   <reference id="fibManager"
14              interface="org.opendaylight.netvirt.fibmanager.api.IFibManager" />
15   <reference id="interfaceManager"
16              interface="org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager" />
17   <reference id="mdsalUtils"
18              interface="org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager" />
19   <reference id="neutronvpnManager"
20              interface="org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager" />
21
22   <odl:rpc-service id="idManagerService"
23                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
24   <odl:rpc-service id="odlInterfaceRpcService"
25                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService" />
26   <odl:rpc-service id="itmRpcService"
27                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
28   <odl:rpc-service id="packetProcessingService"
29                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService" />
30   <odl:rpc-service id="neutronvpnService"
31                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnService" />
32   <odl:rpc-service id="vpnRpcService"
33                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
34   <odl:rpc-service id="fibRpcService"
35                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fib.rpc.rev160121.FibRpcService" />
36
37   <bean id="subnetmapListener"
38         class="org.opendaylight.netvirt.natservice.internal.SubnetmapListener"
39         init-method="init" destroy-method="close">
40     <argument ref="dataBroker" />
41     <argument ref="externalNetworkGroupInstaller" />
42   </bean>
43
44   <bean id="floatingIPListener"
45         class="org.opendaylight.netvirt.natservice.internal.FloatingIPListener"
46         init-method="init" destroy-method="close">
47     <argument ref="dataBroker" />
48     <argument ref="mdsalUtils" />
49     <argument ref="odlInterfaceRpcService" />
50     <argument ref="idManagerService" />
51     <argument ref="blueprintBundleContext" />
52   </bean>
53
54   <bean id="externalNetworkListener"
55         class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkListener"
56         init-method="init" destroy-method="close">
57     <argument ref="dataBroker" />
58     <argument ref="mdsalUtils" />
59   </bean>
60
61   <bean id="naptManager"
62         class="org.opendaylight.netvirt.natservice.internal.NaptManager">
63     <argument ref="dataBroker" />
64     <argument ref="idManagerService" />
65   </bean>
66
67   <bean id="naptEventHandler"
68         class="org.opendaylight.netvirt.natservice.internal.NaptEventHandler">
69     <argument ref="dataBroker" />
70     <argument ref="mdsalUtils" />
71     <argument ref="naptManager" />
72     <argument ref="packetProcessingService" />
73     <argument ref="odlInterfaceRpcService" />
74     <argument ref="interfaceManager" />
75   </bean>
76
77   <bean id="eventDispatcher"
78         class="org.opendaylight.netvirt.natservice.internal.EventDispatcher"
79         init-method="init">
80     <argument ref="naptEventHandler" />
81   </bean>
82
83   <bean id="naptPacketInHandler"
84         class="org.opendaylight.netvirt.natservice.internal.NaptPacketInHandler">
85     <argument ref="eventDispatcher" />
86   </bean>
87   <odl:notification-listener ref="naptPacketInHandler" />
88
89   <bean id="vpnFloatingIpHandler"
90         class="org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler">
91     <argument ref="dataBroker" />
92     <argument ref="mdsalUtils" />
93     <argument ref="vpnRpcService" />
94     <argument ref="bgpManager" />
95     <argument ref="fibRpcService" />
96     <argument ref="floatingIPListener" />
97     <argument ref="fibManager" />
98   </bean>
99   <service ref="vpnFloatingIpHandler"
100            interface="org.opendaylight.netvirt.natservice.internal.FloatingIPHandler" />
101
102   <bean id="nAPTSwitchSelector"
103         class="org.opendaylight.netvirt.natservice.internal.NAPTSwitchSelector">
104     <argument ref="dataBroker" />
105   </bean>
106
107   <bean id="externalRoutersListener"
108         class="org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener"
109         init-method="init" destroy-method="close">
110     <argument ref="dataBroker" />
111     <argument ref="mdsalUtils" />
112     <argument ref="itmRpcService" />
113     <argument ref="odlInterfaceRpcService" />
114     <argument ref="idManagerService" />
115     <argument ref="naptManager" />
116     <argument ref="nAPTSwitchSelector" />
117     <argument ref="bgpManager" />
118     <argument ref="vpnRpcService" />
119     <argument ref="fibRpcService" />
120     <argument ref="sNATDefaultRouteProgrammer" />
121     <argument ref="naptEventHandler" />
122     <argument ref="naptPacketInHandler" />
123     <argument ref="fibManager" />
124   </bean>
125
126   <bean id="externalNetworksChangeListener"
127         class="org.opendaylight.netvirt.natservice.internal.ExternalNetworksChangeListener"
128         init-method="init" destroy-method="close">
129     <argument ref="dataBroker" />
130     <argument ref="mdsalUtils" />
131     <argument ref="floatingIPListener" />
132     <argument ref="externalRoutersListener" />
133     <argument ref="odlInterfaceRpcService" />
134     <argument ref="naptManager" />
135     <argument ref="bgpManager" />
136     <argument ref="vpnRpcService" />
137     <argument ref="fibRpcService" />
138   </bean>
139
140   <bean id="naptFlowRemovedEventHandler"
141         class="org.opendaylight.netvirt.natservice.internal.NaptFlowRemovedEventHandler">
142     <argument ref="dataBroker" />
143     <argument ref="mdsalUtils" />
144     <argument ref="eventDispatcher" />
145     <argument ref="naptPacketInHandler" />
146     <argument ref="naptManager" />
147   </bean>
148   <odl:notification-listener ref="naptPacketInHandler" />
149
150   <bean id="interfaceStateEventListener"
151         class="org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener"
152         init-method="init" destroy-method="close">
153     <argument ref="dataBroker" />
154     <argument ref="mdsalUtils" />
155     <argument ref="floatingIPListener" />
156     <argument ref="naptManager" />
157     <argument ref="neutronvpnService" />
158   </bean>
159
160   <bean id="sNATDefaultRouteProgrammer"
161         class="org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer">
162     <argument ref="mdsalUtils" />
163   </bean>
164
165   <bean id="naptSwitchHA"
166         class="org.opendaylight.netvirt.natservice.internal.NaptSwitchHA">
167     <argument ref="dataBroker" />
168     <argument ref="mdsalUtils" />
169     <argument ref="externalRoutersListener" />
170     <argument ref="itmRpcService" />
171     <argument ref="odlInterfaceRpcService" />
172     <argument ref="idManagerService" />
173     <argument ref="nAPTSwitchSelector" />
174     <argument ref="bgpManager" />
175     <argument ref="vpnRpcService" />
176     <argument ref="fibRpcService" />
177   </bean>
178
179   <bean id="natNodeEventListener"
180         class="org.opendaylight.netvirt.natservice.internal.NatNodeEventListener"
181         init-method="init" destroy-method="close">
182     <argument ref="dataBroker" />
183   </bean>
184
185   <bean id="routerPortsListener"
186         class="org.opendaylight.netvirt.natservice.internal.RouterPortsListener"
187         init-method="init" destroy-method="close">
188     <argument ref="dataBroker" />
189   </bean>
190
191   <bean id="routerDpnChangeListener"
192         class="org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener"
193         init-method="init" destroy-method="close">
194     <argument ref="dataBroker" />
195     <argument ref="mdsalUtils" />
196     <argument ref="sNATDefaultRouteProgrammer" />
197     <argument ref="naptSwitchHA" />
198     <argument ref="idManagerService" />
199   </bean>
200
201   <bean id="routerToVpnListener"
202         class="org.opendaylight.netvirt.natservice.internal.RouterToVpnListener">
203     <argument ref="dataBroker" />
204     <argument ref="floatingIPListener" />
205     <argument ref="odlInterfaceRpcService" />
206     <argument ref="externalRoutersListener" />
207   </bean>
208   <odl:notification-listener ref="routerToVpnListener" />
209
210   <bean id="subnetGwMacChangeListener"
211         class="org.opendaylight.netvirt.natservice.internal.SubnetGwMacChangeListener"
212         init-method="start" destroy-method="close">
213     <argument ref="dataBroker" />
214     <argument ref="neutronvpnManager" />
215     <argument ref="externalNetworkGroupInstaller" />
216   </bean>
217
218   <bean id="externalNetworkGroupInstaller"
219         class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller">
220     <argument ref="dataBroker" />
221     <argument ref="mdsalUtils" />
222     <argument ref="elanService" />
223     <argument ref="idManagerService" />
224     <argument ref="odlInterfaceRpcService" />
225   </bean>
226
227 </blueprint>