Revert "Bug 8960: port information for 1 dpn is missing in subnet-op-data and port...
[netvirt.git] / vpnservice / vpnmanager / vpnmanager-impl / src / main / resources / org / opendaylight / blueprint / vpnmanager.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="mdsalUtils"
10              interface="org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager" />
11   <reference id="interfaceManager"
12              interface="org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager" />
13   <reference id="notificationPublishService"
14              interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" />
15   <reference id="bgpmanager"
16              interface="org.opendaylight.netvirt.bgpmanager.api.IBgpManager" />
17   <reference id="elanService"
18              interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
19   <reference id="fibManager"
20              interface="org.opendaylight.netvirt.fibmanager.api.IFibManager" />
21   <reference id="neutronVpnService"
22              interface="org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager"
23              availability="optional" />
24   <reference id="vpnManager"
25              interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager"
26              availability="optional" />
27   <reference id="entityOwnershipService"
28              interface="org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService" />
29
30   <odl:rpc-service id="idManagerService"
31                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
32   <odl:rpc-service id="itmRpcService"
33                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
34   <odl:rpc-service id="odlInterfaceRpcService"
35                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService" />
36   <odl:rpc-service id="odlArputilService"
37                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
38   <odl:rpc-service id="packetProcessingService"
39                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService" />
40   <odl:rpc-service id="lockManagerService"
41                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService" />
42   <odl:rpc-service id="alivenessManager"
43                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.AlivenessMonitorService" />
44
45   <bean id="dpnInVpnChangeListener"
46         class="org.opendaylight.netvirt.vpnmanager.DpnInVpnChangeListener">
47     <argument ref="dataBroker" />
48     <argument ref="mdsalUtils" />
49   </bean>
50   <service ref="dpnInVpnChangeListener" odl:type="default"
51            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.OdlL3vpnListener" />
52   <odl:notification-listener ref="dpnInVpnChangeListener" />
53
54   <bean id="vpnOpDataSyncer" class="org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer"/>
55
56   <bean id="vpnFootprintService" class="org.opendaylight.netvirt.vpnmanager.VpnFootprintService">
57     <argument ref="dataBroker" />
58     <argument ref="fibManager" />
59     <argument ref="odlInterfaceRpcService" />
60     <argument ref="notificationPublishService" />
61     <argument ref="vpnOpDataSyncer" />
62   </bean>
63   <service ref="vpnFootprintService"
64            interface="org.opendaylight.netvirt.vpnmanager.api.IVpnFootprintService" />
65
66   <bean id="arpResponderHandler" class="org.opendaylight.netvirt.vpnmanager.arp.responder.ArpResponderHandler">
67     <argument ref="dataBroker" />
68     <argument ref="elanService" />
69     <argument ref="interfaceManager" />
70   </bean>
71
72   <bean id="vpnInterfaceManager"
73         class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager"
74         init-method="start" destroy-method="close">
75     <argument ref="dataBroker" />
76     <argument ref="bgpmanager" />
77     <argument ref="odlArputilService" />
78     <argument ref="idManagerService" />
79     <argument ref="mdsalUtils" />
80     <argument ref="fibManager" />
81     <argument ref="odlInterfaceRpcService" />
82     <argument ref="vpnFootprintService" />
83     <argument ref="interfaceManager" />
84     <argument ref="vpnManager" />
85     <argument ref="interVpnLinkService" />
86     <argument ref="arpResponderHandler" />
87   </bean>
88
89   <bean id="interfaceStateChangeListener"
90         class="org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener"
91         init-method="start" destroy-method="close">
92     <argument ref="dataBroker" />
93     <argument ref="vpnInterfaceManager" />
94   </bean>
95
96   <bean id="vpnInterfaceOpListener"
97         class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceOpListener"
98         init-method="start" destroy-method="close">
99     <argument ref="dataBroker" />
100     <argument ref="vpnInterfaceManager" />
101     <argument ref="vpnFootprintService" />
102   </bean>
103
104   <bean id="arpMonitorEventListener"
105         class="org.opendaylight.netvirt.vpnmanager.ArpMonitorEventListener">
106     <argument ref="dataBroker" />
107     <argument ref="alivenessManager" />
108   </bean>
109   <odl:notification-listener ref="arpMonitorEventListener" />
110
111   <bean id="arpMonitoringHandler"
112         class="org.opendaylight.netvirt.vpnmanager.ArpMonitoringHandler"
113         init-method="start" destroy-method="close">
114     <argument ref="dataBroker" />
115     <argument ref="odlInterfaceRpcService" />
116     <argument ref="mdsalUtils" />
117     <argument ref="alivenessManager" />
118     <argument ref="neutronVpnService" />
119     <argument ref="interfaceManager" />
120     <argument ref="entityOwnershipService" />
121   </bean>
122
123   <bean id="subnetRoutePacketInHandler"
124         class="org.opendaylight.netvirt.vpnmanager.SubnetRoutePacketInHandler">
125     <argument ref="dataBroker" />
126     <argument ref="packetProcessingService" />
127     <argument ref="odlInterfaceRpcService" />
128     <argument ref="centralizedSwitchProvider" />
129   </bean>
130   <service ref="subnetRoutePacketInHandler" odl:type="default"
131            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingListener" />
132   <odl:notification-listener ref="subnetRoutePacketInHandler" />
133
134   <odl:clustered-app-config id="vpnConfig"
135                             binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfig"
136                             default-config-file-name="netvirt-vpnmanager-config.xml"
137                             update-strategy="none">
138   </odl:clustered-app-config>
139
140   <bean id="arpNotificationHandler"
141         class="org.opendaylight.netvirt.vpnmanager.ArpNotificationHandler">
142     <argument ref="dataBroker" />
143     <argument ref="idManagerService" />
144     <argument ref="interfaceManager"/>
145     <argument ref="vpnConfig"/>
146   </bean>
147   <service ref="arpNotificationHandler" odl:type="default"
148            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilListener" />
149   <odl:notification-listener ref="arpNotificationHandler" />
150
151   <bean id="subnetRouteInterfaceStateChangeListener"
152         class="org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener"
153         init-method="start" destroy-method="close">
154     <argument ref="dataBroker" />
155     <argument ref="vpnInterfaceManager" />
156     <argument ref="vpnSubnetRouteHandler" />
157     <argument ref="subnetOpDpnManager" />
158   </bean>
159
160   <bean id="vpnSubnetRouteHandler"
161         class="org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler">
162     <argument ref="dataBroker" />
163     <argument ref="subnetOpDpnManager" />
164     <argument ref="bgpmanager" />
165     <argument ref="vpnInterfaceManager" />
166     <argument ref="idManagerService" />
167     <argument ref="lockManagerService" />
168     <argument ref="vpnOpDataSyncer"/>
169     <argument ref="VpnNodeListener"/>
170   </bean>
171
172   <bean id="tunnelInterfaceStateListener"
173         class="org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener"
174         init-method="start" destroy-method="close">
175     <argument ref="dataBroker" />
176     <argument ref="bgpmanager" />
177     <argument ref="fibManager" />
178     <argument ref="itmRpcService" />
179     <argument ref="odlInterfaceRpcService"/>
180     <argument ref="vpnInterfaceManager" />
181     <argument ref="vpnSubnetRouteHandler" />
182   </bean>
183
184   <bean id="subnetOpDpnManager" class="org.opendaylight.netvirt.vpnmanager.SubnetOpDpnManager">
185     <argument ref="dataBroker" />
186   </bean>
187
188   <bean id="vpnManagerImpl" class="org.opendaylight.netvirt.vpnmanager.VpnManagerImpl"
189         init-method="start">
190     <argument ref="dataBroker" />
191     <argument ref="idManagerService" />
192     <argument ref="vpnInstanceListener" />
193     <argument ref="vpnInterfaceManager" />
194     <argument ref="mdsalUtils" />
195     <argument ref="vpnFootprintService" />
196     <argument ref="elanService" />
197     <argument ref="interfaceManager" />
198     <argument ref="vpnSubnetRouteHandler" />
199   </bean>
200   <service ref="vpnManagerImpl"
201            interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
202
203   <bean id="vpnInstanceListener"
204         class="org.opendaylight.netvirt.vpnmanager.VpnInstanceListener"
205         init-method="start" destroy-method="close">
206     <argument ref="dataBroker" />
207     <argument ref="bgpmanager" />
208     <argument ref="idManagerService" />
209     <argument ref="vpnInterfaceManager" />
210     <argument ref="fibManager" />
211     <argument ref="vpnOpDataSyncer" />
212     <argument ref="mdsalUtils" />
213   </bean>
214
215   <bean id="fibEntriesListener" class="org.opendaylight.netvirt.vpnmanager.FibEntriesListener"
216         init-method="start" destroy-method="close">
217     <argument ref="dataBroker" />
218     <argument ref="vpnInstanceListener" />
219   </bean>
220
221   <odl:rpc-implementation ref="vpnRpcServiceImpl" />
222   <bean id="vpnRpcServiceImpl"
223         class="org.opendaylight.netvirt.vpnmanager.VpnRpcServiceImpl">
224     <argument ref="dataBroker" />
225     <argument ref="idManagerService" />
226     <argument ref="vpnInterfaceManager" />
227     <argument ref="fibManager" />
228     <argument ref="bgpmanager" />
229   </bean>
230   <service ref="vpnRpcServiceImpl"
231            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
232
233   <bean id="interVpnLinkService"
234         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.IVpnLinkServiceImpl"
235         init-method="start" destroy-method="close">
236     <argument ref="dataBroker" />
237     <argument ref="idManagerService" />
238     <argument ref="bgpmanager" />
239     <argument ref="fibManager" />
240   </bean>
241   <service ref="interVpnLinkService"
242            interface="org.opendaylight.netvirt.vpnmanager.api.intervpnlink.IVpnLinkService"/>
243
244   <bean id="interVpnLinkLocator"
245         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkLocator" >
246     <argument ref="dataBroker" />
247   </bean>
248
249   <bean id="interVpnLinkListener"
250         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkListener"
251         init-method="start" destroy-method="close">
252     <argument ref="dataBroker" />
253     <argument ref="idManagerService" />
254     <argument ref="mdsalUtils" />
255     <argument ref="bgpmanager" />
256     <argument ref="fibManager" />
257     <argument ref="notificationPublishService" />
258     <argument ref="interVpnLinkService" />
259     <argument ref="interVpnLinkLocator" />
260     <argument ref="vpnFootprintService" />
261     <argument ref="vpnOpDataSyncer" />
262   </bean>
263
264   <bean id="interVpnLinkStateListener"
265         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkStateListener"
266         init-method="start" destroy-method="close">
267      <argument ref="dataBroker" />
268      <argument ref="interVpnLinkService" />
269   </bean>
270
271   <bean id="interVpnLinkNodeListener"
272         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkNodeListener"
273         init-method="start" destroy-method="close">
274     <argument ref="dataBroker" />
275     <argument ref="mdsalUtils" />
276     <argument ref="vpnFootprintService" />
277   </bean>
278
279   <bean id="tunnelEndPointChangeListener"
280         class="org.opendaylight.netvirt.vpnmanager.TunnelEndPointChangeListener"
281         init-method="start" destroy-method="close">
282     <argument ref="dataBroker" />
283     <argument ref="vpnInterfaceManager" />
284   </bean>
285
286   <bean id="VpnNodeListener"
287         class="org.opendaylight.netvirt.vpnmanager.VpnNodeListener"
288         init-method="start" destroy-method="close">
289     <argument ref="dataBroker" />
290     <argument ref="mdsalUtils" />
291     <argument ref="idManagerService" />
292   </bean>
293
294   <bean id="vpnElanInterfaceChangeListener"
295         class="org.opendaylight.netvirt.vpnmanager.VpnElanInterfaceChangeListener"
296         init-method="start" destroy-method="close">
297     <argument ref="dataBroker" />
298     <argument ref="elanService" />
299   </bean>
300
301   <bean id="vpnOpInstanceCacheManager"
302         class="org.opendaylight.netvirt.vpnmanager.cache.listeners.VpnOpInstanceCacheManager"
303         init-method="start" destroy-method="close">
304     <argument ref="dataBroker" />
305   </bean>
306
307   <bean id="centralizedSwitchProvider"
308         class="org.opendaylight.netvirt.vpnmanager.CentralizedSwitchProvider">
309         <argument ref="dataBroker" />
310   </bean>
311   <service ref="centralizedSwitchProvider"
312            interface="org.opendaylight.netvirt.vpnmanager.api.ICentralizedSwitchProvider" />
313
314   <bean id="centralizedSwitchChangeListener"
315         class="org.opendaylight.netvirt.vpnmanager.CentralizedSwitchChangeListener"
316         init-method="init" destroy-method="close">
317         <argument ref="dataBroker" />
318         <argument ref="vpnManager" />
319   </bean>
320
321   <bean id="l3vpnRegistry"
322         class="org.opendaylight.netvirt.vpnmanager.populator.registry.L3vpnRegistry"
323         init-method="init" destroy-method="close">
324   </bean>
325
326   <bean id="l3vpnOverMplsGrePopulator"
327         class="org.opendaylight.netvirt.vpnmanager.populator.impl.L3vpnOverMplsGrePopulator"
328         init-method="init" destroy-method="close">
329     <argument ref="dataBroker" />
330     <argument ref="vpnInterfaceManager" />
331     <argument ref="bgpmanager" />
332     <argument ref="fibManager" />
333     <argument ref="idManagerService" />
334   </bean>
335
336   <bean id="l3vpnOverVxlanPopulator"
337         class="org.opendaylight.netvirt.vpnmanager.populator.impl.L3vpnOverVxlanPopulator"
338         init-method="init" destroy-method="close">
339     <argument ref="dataBroker" />
340     <argument ref="vpnInterfaceManager" />
341     <argument ref="bgpmanager" />
342     <argument ref="fibManager" />
343   </bean>
344
345   <bean id="subnetmapChangeListener"
346         class="org.opendaylight.netvirt.vpnmanager.SubnetmapChangeListener"
347         init-method="start" destroy-method="close">
348     <argument ref="dataBroker" />
349     <argument ref="vpnSubnetRouteHandler" />
350   </bean>
351
352   <bean id="vpnOpStatusListener"
353         class="org.opendaylight.netvirt.vpnmanager.VpnOpStatusListener"
354         init-method="start" destroy-method="close">
355     <argument ref="dataBroker" />
356     <argument ref="bgpmanager" />
357     <argument ref="idManagerService" />
358     <argument ref="fibManager" />
359     <argument ref="mdsalUtils" />
360     <argument ref="vpnFootprintService" />
361   </bean>
362 </blueprint>