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">
6 <reference id="dataBroker"
7 interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
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" />
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" />
45 <bean id="dpnInVpnChangeListener"
46 class="org.opendaylight.netvirt.vpnmanager.DpnInVpnChangeListener">
47 <argument ref="dataBroker" />
48 <argument ref="mdsalUtils" />
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" />
54 <bean id="vpnOpDataSyncer" class="org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer"/>
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" />
63 <service ref="vpnFootprintService"
64 interface="org.opendaylight.netvirt.vpnmanager.api.IVpnFootprintService" />
66 <bean id="arpResponderHandler" class="org.opendaylight.netvirt.vpnmanager.arp.responder.ArpResponderHandler">
67 <argument ref="dataBroker" />
68 <argument ref="elanService" />
69 <argument ref="interfaceManager" />
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" />
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" />
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" />
104 <bean id="arpMonitorEventListener"
105 class="org.opendaylight.netvirt.vpnmanager.ArpMonitorEventListener">
106 <argument ref="dataBroker" />
107 <argument ref="alivenessManager" />
109 <odl:notification-listener ref="arpMonitorEventListener" />
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" />
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" />
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" />
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>
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"/>
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" />
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" />
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"/>
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" />
184 <bean id="subnetOpDpnManager" class="org.opendaylight.netvirt.vpnmanager.SubnetOpDpnManager">
185 <argument ref="dataBroker" />
188 <bean id="vpnManagerImpl" class="org.opendaylight.netvirt.vpnmanager.VpnManagerImpl"
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" />
200 <service ref="vpnManagerImpl"
201 interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
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" />
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" />
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" />
230 <service ref="vpnRpcServiceImpl"
231 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
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" />
241 <service ref="interVpnLinkService"
242 interface="org.opendaylight.netvirt.vpnmanager.api.intervpnlink.IVpnLinkService"/>
244 <bean id="interVpnLinkLocator"
245 class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkLocator" >
246 <argument ref="dataBroker" />
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" />
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" />
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" />
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" />
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" />
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" />
301 <bean id="vpnOpInstanceCacheManager"
302 class="org.opendaylight.netvirt.vpnmanager.cache.listeners.VpnOpInstanceCacheManager"
303 init-method="start" destroy-method="close">
304 <argument ref="dataBroker" />
307 <bean id="centralizedSwitchProvider"
308 class="org.opendaylight.netvirt.vpnmanager.CentralizedSwitchProvider">
309 <argument ref="dataBroker" />
311 <service ref="centralizedSwitchProvider"
312 interface="org.opendaylight.netvirt.vpnmanager.api.ICentralizedSwitchProvider" />
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" />
321 <bean id="l3vpnRegistry"
322 class="org.opendaylight.netvirt.vpnmanager.populator.registry.L3vpnRegistry"
323 init-method="init" destroy-method="close">
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" />
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" />
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" />
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" />