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" />
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" />
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" />
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" />
95 <bean id="arpMonitorEventListener"
96 class="org.opendaylight.netvirt.vpnmanager.ArpMonitorEventListener">
97 <argument ref="dataBroker" />
98 <argument ref="alivenessManager" />
100 <odl:notification-listener ref="arpMonitorEventListener" />
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" />
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" />
121 <bean id="subnetRoutePacketInHandler"
122 class="org.opendaylight.netvirt.vpnmanager.SubnetRoutePacketInHandler">
123 <argument ref="dataBroker" />
124 <argument ref="packetProcessingService" />
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" />
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>
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"/>
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" />
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" />
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"/>
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" />
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" />
179 <bean id="subnetOpDpnManager" class="org.opendaylight.netvirt.vpnmanager.SubnetOpDpnManager">
180 <argument ref="dataBroker" />
183 <bean id="vpnManagerImpl" class="org.opendaylight.netvirt.vpnmanager.VpnManagerImpl"
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" />
194 <service ref="vpnManagerImpl"
195 interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
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" />
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" />
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" />
223 <service ref="vpnRpcServiceImpl"
224 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
226 <bean id="interVpnLinkService"
227 class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkService">
228 <argument ref="dataBroker" />
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" />
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" />
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" />
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" />
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" />
275 <bean id="vpnOpInstanceCacheManager"
276 class="org.opendaylight.netvirt.vpnmanager.cache.listeners.VpnOpInstanceCacheManager"
277 init-method="start" destroy-method="close">
278 <argument ref="dataBroker" />
281 <bean id="centralizedSwitchProvider"
282 class="org.opendaylight.netvirt.vpnmanager.CentralizedSwitchProvider">
283 <argument ref="dataBroker" />
285 <service ref="centralizedSwitchProvider"
286 interface="org.opendaylight.netvirt.vpnmanager.api.ICentralizedSwitchProvider" />
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" />