Bug 7142 - all VpnPortIpToPort entries are lost from ODL cache after
[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
64   <bean id="vpnInterfaceManager"
65         class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager"
66         init-method="start" destroy-method="close">
67     <argument ref="dataBroker" />
68     <argument ref="bgpmanager" />
69     <argument ref="odlArputilService" />
70     <argument ref="idManagerService" />
71     <argument ref="mdsalUtils" />
72     <argument ref="fibManager" />
73     <argument ref="odlInterfaceRpcService" />
74     <argument ref="vpnFootprintService" />
75     <argument ref="vpnOpDataSyncer" />
76     <argument ref="interfaceManager" />
77     <argument ref="vpnManager" />
78   </bean>
79
80   <bean id="interfaceStateChangeListener"
81         class="org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener"
82         init-method="start" destroy-method="close">
83     <argument ref="dataBroker" />
84     <argument ref="vpnInterfaceManager" />
85   </bean>
86
87   <bean id="vpnInterfaceOpListener"
88         class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceOpListener"
89         init-method="start" destroy-method="close">
90     <argument ref="dataBroker" />
91     <argument ref="vpnInterfaceManager" />
92     <argument ref="vpnFootprintService" />
93   </bean>
94
95   <bean id="arpMonitorEventListener"
96         class="org.opendaylight.netvirt.vpnmanager.ArpMonitorEventListener">
97     <argument ref="dataBroker" />
98     <argument ref="alivenessManager" />
99   </bean>
100   <odl:notification-listener ref="arpMonitorEventListener" />
101
102   <bean id="arpMonitoringHandler"
103         class="org.opendaylight.netvirt.vpnmanager.ArpMonitoringHandler"
104         init-method="start" destroy-method="close">
105     <argument ref="dataBroker" />
106     <argument ref="odlInterfaceRpcService" />
107     <argument ref="mdsalUtils" />
108     <argument ref="alivenessManager" />
109     <argument ref="neutronVpnService" />
110     <argument ref="interfaceManager" />
111     <argument ref="entityOwnershipService" />
112   </bean>
113
114   <bean id="subnetMacHandler"
115         class="org.opendaylight.netvirt.vpnmanager.SubnetMacHandler"
116         init-method="start" destroy-method="close">
117     <argument ref="dataBroker" />
118     <argument ref="mdsalUtils" />
119   </bean>
120
121   <bean id="subnetRoutePacketInHandler"
122         class="org.opendaylight.netvirt.vpnmanager.SubnetRoutePacketInHandler">
123     <argument ref="dataBroker" />
124     <argument ref="packetProcessingService" />
125   </bean>
126   <service ref="subnetRoutePacketInHandler" odl:type="default"
127            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingListener" />
128   <odl:notification-listener ref="subnetRoutePacketInHandler" />
129
130   <odl:clustered-app-config id="vpnConfig"
131                             binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfig">
132   </odl:clustered-app-config>
133
134   <bean id="arpNotificationHandler"
135         class="org.opendaylight.netvirt.vpnmanager.ArpNotificationHandler">
136     <argument ref="dataBroker" />
137     <argument ref="idManagerService" />
138     <argument ref="interfaceManager"/>
139     <argument ref="vpnConfig"/>
140   </bean>
141   <service ref="arpNotificationHandler" odl:type="default"
142            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilListener" />
143   <odl:notification-listener ref="arpNotificationHandler" />
144
145   <bean id="subnetRouteInterfaceStateChangeListener"
146         class="org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener"
147         init-method="start" destroy-method="close">
148     <argument ref="dataBroker" />
149     <argument ref="vpnInterfaceManager" />
150     <argument ref="vpnSubnetRouteHandler" />
151   </bean>
152
153   <bean id="vpnSubnetRouteHandler"
154         class="org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler">
155     <argument ref="dataBroker" />
156     <argument ref="subnetOpDpnManager" />
157     <argument ref="bgpmanager" />
158     <argument ref="vpnInterfaceManager" />
159     <argument ref="idManagerService" />
160     <argument ref="lockManagerService" />
161     <argument ref="vpnOpDataSyncer"/>
162   </bean>
163   <service ref="vpnSubnetRouteHandler" odl:type="default"
164            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnListener" />
165   <odl:notification-listener ref="vpnSubnetRouteHandler" />
166
167   <bean id="tunnelInterfaceStateListener"
168         class="org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener"
169         init-method="start" destroy-method="close">
170     <argument ref="dataBroker" />
171     <argument ref="bgpmanager" />
172     <argument ref="fibManager" />
173     <argument ref="itmRpcService" />
174     <argument ref="odlInterfaceRpcService"/>
175     <argument ref="vpnInterfaceManager" />
176     <argument ref="vpnSubnetRouteHandler" />
177   </bean>
178
179   <bean id="subnetOpDpnManager" class="org.opendaylight.netvirt.vpnmanager.SubnetOpDpnManager">
180     <argument ref="dataBroker" />
181   </bean>
182
183   <bean id="vpnManagerImpl" class="org.opendaylight.netvirt.vpnmanager.VpnManagerImpl"
184         init-method="start">
185     <argument ref="dataBroker" />
186     <argument ref="idManagerService" />
187     <argument ref="vpnInstanceListener" />
188     <argument ref="vpnInterfaceManager" />
189     <argument ref="mdsalUtils" />
190     <argument ref="vpnFootprintService" />
191     <argument ref="odlInterfaceRpcService" />
192     <argument ref="elanService" />
193   </bean>
194   <service ref="vpnManagerImpl"
195            interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
196
197   <bean id="vpnInstanceListener"
198         class="org.opendaylight.netvirt.vpnmanager.VpnInstanceListener"
199         init-method="start" destroy-method="close">
200     <argument ref="dataBroker" />
201     <argument ref="bgpmanager" />
202     <argument ref="idManagerService" />
203     <argument ref="vpnInterfaceManager" />
204     <argument ref="fibManager" />
205     <argument ref="vpnOpDataSyncer" />
206   </bean>
207
208   <bean id="fibEntriesListener" class="org.opendaylight.netvirt.vpnmanager.FibEntriesListener"
209         init-method="start" destroy-method="close">
210     <argument ref="dataBroker" />
211     <argument ref="vpnInstanceListener" />
212   </bean>
213
214   <odl:rpc-implementation ref="vpnRpcServiceImpl" />
215   <bean id="vpnRpcServiceImpl"
216         class="org.opendaylight.netvirt.vpnmanager.VpnRpcServiceImpl">
217     <argument ref="dataBroker" />
218     <argument ref="idManagerService" />
219     <argument ref="vpnInterfaceManager" />
220     <argument ref="fibManager" />
221     <argument ref="bgpmanager" />
222   </bean>
223   <service ref="vpnRpcServiceImpl"
224            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
225
226   <bean id="interVpnLinkService"
227         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkService">
228     <argument ref="dataBroker" />
229   </bean>
230
231   <bean id="interVpnLinkListener"
232         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkListener"
233         init-method="start" destroy-method="close">
234     <argument ref="dataBroker" />
235     <argument ref="idManagerService" />
236     <argument ref="mdsalUtils" />
237     <argument ref="bgpmanager" />
238     <argument ref="fibManager" />
239     <argument ref="notificationPublishService" />
240     <argument ref="interVpnLinkService" />
241     <argument ref="vpnFootprintService" />
242     <argument ref="vpnOpDataSyncer" />
243   </bean>
244
245   <bean id="interVpnLinkNodeListener"
246         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkNodeListener"
247         init-method="start" destroy-method="close">
248     <argument ref="dataBroker" />
249     <argument ref="mdsalUtils" />
250     <argument ref="vpnFootprintService" />
251   </bean>
252
253   <bean id="tunnelEndPointChangeListener"
254         class="org.opendaylight.netvirt.vpnmanager.TunnelEndPointChangeListener"
255         init-method="start" destroy-method="close">
256     <argument ref="dataBroker" />
257     <argument ref="vpnInterfaceManager" />
258   </bean>
259
260   <bean id="VpnNodeListener"
261         class="org.opendaylight.netvirt.vpnmanager.VpnNodeListener"
262         init-method="start" destroy-method="close">
263     <argument ref="dataBroker" />
264     <argument ref="mdsalUtils" />
265     <argument ref="idManagerService" />
266   </bean>
267
268   <bean id="vpnElanInterfaceChangeListener"
269         class="org.opendaylight.netvirt.vpnmanager.VpnElanInterfaceChangeListener"
270         init-method="start" destroy-method="close">
271     <argument ref="dataBroker" />
272     <argument ref="elanService" />
273   </bean>
274
275   <bean id="vpnOpInstanceCacheManager"
276         class="org.opendaylight.netvirt.vpnmanager.cache.listeners.VpnOpInstanceCacheManager"
277         init-method="start" destroy-method="close">
278     <argument ref="dataBroker" />
279   </bean>
280
281   <bean id="centralizedSwitchProvider"
282         class="org.opendaylight.netvirt.vpnmanager.CentralizedSwitchProvider">
283         <argument ref="dataBroker" />
284   </bean>
285   <service ref="centralizedSwitchProvider"
286            interface="org.opendaylight.netvirt.vpnmanager.api.ICentralizedSwitchProvider" />
287
288   <bean id="centralizedSwitchChangeListener"
289         class="org.opendaylight.netvirt.vpnmanager.CentralizedSwitchChangeListener"
290         init-method="init" destroy-method="close">
291         <argument ref="dataBroker" />
292         <argument ref="vpnManager" />
293   </bean>
294 </blueprint>