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" />
28 <odl:rpc-service id="idManagerService"
29 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
30 <odl:rpc-service id="itmRpcService"
31 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
32 <odl:rpc-service id="odlInterfaceRpcService"
33 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService" />
34 <odl:rpc-service id="odlArputilService"
35 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
36 <odl:rpc-service id="packetProcessingService"
37 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService" />
38 <odl:rpc-service id="lockManagerService"
39 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService" />
40 <odl:rpc-service id="alivenessManager"
41 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.AlivenessMonitorService" />
43 <bean id="dpnInVpnChangeListener"
44 class="org.opendaylight.netvirt.vpnmanager.DpnInVpnChangeListener">
45 <argument ref="dataBroker" />
46 <argument ref="mdsalUtils" />
48 <service ref="dpnInVpnChangeListener" odl:type="default"
49 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.OdlL3vpnListener" />
50 <odl:notification-listener ref="dpnInVpnChangeListener" />
52 <bean id="vpnOpDataSyncer" class="org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer"/>
54 <bean id="vpnFootprintService" class="org.opendaylight.netvirt.vpnmanager.VpnFootprintService">
55 <argument ref="dataBroker" />
56 <argument ref="fibManager" />
57 <argument ref="odlInterfaceRpcService" />
58 <argument ref="notificationPublishService" />
59 <argument ref="vpnOpDataSyncer" />
62 <bean id="vpnInterfaceManager"
63 class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager"
64 init-method="start" destroy-method="close">
65 <argument ref="dataBroker" />
66 <argument ref="bgpmanager" />
67 <argument ref="odlArputilService" />
68 <argument ref="idManagerService" />
69 <argument ref="mdsalUtils" />
70 <argument ref="fibManager" />
71 <argument ref="odlInterfaceRpcService" />
72 <argument ref="vpnFootprintService" />
73 <argument ref="vpnOpDataSyncer" />
74 <argument ref="neutronVpnService" />
75 <argument ref="interfaceManager" />
76 <argument ref="vpnManager" />
79 <bean id="interfaceStateChangeListener"
80 class="org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener"
81 init-method="start" destroy-method="close">
82 <argument ref="dataBroker" />
83 <argument ref="vpnInterfaceManager" />
86 <bean id="vpnInterfaceOpListener"
87 class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceOpListener"
88 init-method="start" destroy-method="close">
89 <argument ref="dataBroker" />
90 <argument ref="vpnInterfaceManager" />
91 <argument ref="vpnFootprintService" />
94 <bean id="arpMonitorEventListener"
95 class="org.opendaylight.netvirt.vpnmanager.ArpMonitorEventListener">
96 <argument ref="dataBroker" />
97 <argument ref="alivenessManager" />
99 <odl:notification-listener ref="arpMonitorEventListener" />
101 <bean id="arpMonitoringHandler"
102 class="org.opendaylight.netvirt.vpnmanager.ArpMonitoringHandler"
103 init-method="start" destroy-method="close">
104 <argument ref="dataBroker" />
105 <argument ref="odlInterfaceRpcService" />
106 <argument ref="mdsalUtils" />
107 <argument ref="alivenessManager" />
108 <argument ref="neutronVpnService" />
109 <argument ref="interfaceManager" />
112 <bean id="subnetRoutePacketInHandler"
113 class="org.opendaylight.netvirt.vpnmanager.SubnetRoutePacketInHandler">
114 <argument ref="dataBroker" />
115 <argument ref="packetProcessingService" />
117 <service ref="subnetRoutePacketInHandler" odl:type="default"
118 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingListener" />
119 <odl:notification-listener ref="subnetRoutePacketInHandler" />
121 <odl:clustered-app-config id="vpnConfig"
122 binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfig">
123 </odl:clustered-app-config>
125 <bean id="arpNotificationHandler"
126 class="org.opendaylight.netvirt.vpnmanager.ArpNotificationHandler">
127 <argument ref="dataBroker" />
128 <argument ref="vpnInterfaceManager" />
129 <argument ref="idManagerService" />
130 <argument ref="odlArputilService" />
131 <argument ref="arpMonitoringHandler" />
132 <argument ref="odlInterfaceRpcService" />
133 <argument ref="interfaceManager"/>
134 <argument ref="vpnConfig"/>
136 <service ref="arpNotificationHandler" odl:type="default"
137 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilListener" />
138 <odl:notification-listener ref="arpNotificationHandler" />
140 <bean id="subnetRouteInterfaceStateChangeListener"
141 class="org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener"
142 init-method="start" destroy-method="close">
143 <argument ref="dataBroker" />
144 <argument ref="vpnInterfaceManager" />
145 <argument ref="vpnSubnetRouteHandler" />
148 <bean id="vpnSubnetRouteHandler"
149 class="org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler">
150 <argument ref="dataBroker" />
151 <argument ref="subnetOpDpnManager" />
152 <argument ref="bgpmanager" />
153 <argument ref="vpnInterfaceManager" />
154 <argument ref="idManagerService" />
155 <argument ref="lockManagerService" />
156 <argument ref="vpnOpDataSyncer"/>
158 <service ref="vpnSubnetRouteHandler" odl:type="default"
159 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnListener" />
160 <odl:notification-listener ref="vpnSubnetRouteHandler" />
162 <bean id="tunnelInterfaceStateListener"
163 class="org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener"
164 init-method="start" destroy-method="close">
165 <argument ref="dataBroker" />
166 <argument ref="bgpmanager" />
167 <argument ref="fibManager" />
168 <argument ref="itmRpcService" />
169 <argument ref="odlInterfaceRpcService"/>
170 <argument ref="vpnInterfaceManager" />
171 <argument ref="vpnSubnetRouteHandler" />
174 <bean id="subnetOpDpnManager" class="org.opendaylight.netvirt.vpnmanager.SubnetOpDpnManager">
175 <argument ref="dataBroker" />
178 <bean id="vpnManagerImpl" class="org.opendaylight.netvirt.vpnmanager.VpnManagerImpl"
180 <argument ref="dataBroker" />
181 <argument ref="idManagerService" />
182 <argument ref="vpnInstanceListener" />
183 <argument ref="vpnInterfaceManager" />
184 <argument ref="mdsalUtils" />
185 <argument ref="vpnFootprintService" />
186 <argument ref="odlInterfaceRpcService" />
187 <argument ref="elanService" />
189 <service ref="vpnManagerImpl"
190 interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
192 <bean id="vpnInstanceListener"
193 class="org.opendaylight.netvirt.vpnmanager.VpnInstanceListener"
194 init-method="start" destroy-method="close">
195 <argument ref="dataBroker" />
196 <argument ref="bgpmanager" />
197 <argument ref="idManagerService" />
198 <argument ref="vpnInterfaceManager" />
199 <argument ref="fibManager" />
200 <argument ref="vpnOpDataSyncer" />
203 <bean id="fibEntriesListener" class="org.opendaylight.netvirt.vpnmanager.FibEntriesListener"
204 init-method="start" destroy-method="close">
205 <argument ref="dataBroker" />
206 <argument ref="vpnInstanceListener" />
209 <odl:rpc-implementation ref="vpnRpcServiceImpl" />
210 <bean id="vpnRpcServiceImpl"
211 class="org.opendaylight.netvirt.vpnmanager.VpnRpcServiceImpl">
212 <argument ref="dataBroker" />
213 <argument ref="idManagerService" />
214 <argument ref="vpnInterfaceManager" />
215 <argument ref="fibManager" />
216 <argument ref="bgpmanager" />
218 <service ref="vpnRpcServiceImpl"
219 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
221 <bean id="interVpnLinkService"
222 class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkService">
223 <argument ref="dataBroker" />
226 <bean id="interVpnLinkListener"
227 class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkListener"
228 init-method="start" destroy-method="close">
229 <argument ref="dataBroker" />
230 <argument ref="idManagerService" />
231 <argument ref="mdsalUtils" />
232 <argument ref="bgpmanager" />
233 <argument ref="fibManager" />
234 <argument ref="notificationPublishService" />
235 <argument ref="interVpnLinkService" />
236 <argument ref="vpnFootprintService" />
237 <argument ref="vpnOpDataSyncer" />
240 <bean id="interVpnLinkNodeListener"
241 class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkNodeListener"
242 init-method="start" destroy-method="close">
243 <argument ref="dataBroker" />
244 <argument ref="mdsalUtils" />
245 <argument ref="vpnFootprintService" />
248 <bean id="tunnelEndPointChangeListener"
249 class="org.opendaylight.netvirt.vpnmanager.TunnelEndPointChangeListener"
250 init-method="start" destroy-method="close">
251 <argument ref="dataBroker" />
252 <argument ref="vpnInterfaceManager" />
255 <bean id="VpnNodeListener"
256 class="org.opendaylight.netvirt.vpnmanager.VpnNodeListener"
257 init-method="start" destroy-method="close">
258 <argument ref="dataBroker" />
259 <argument ref="mdsalUtils" />
260 <argument ref="idManagerService" />
263 <bean id="vpnElanInterfaceChangeListener"
264 class="org.opendaylight.netvirt.vpnmanager.VpnElanInterfaceChangeListener"
265 init-method="start" destroy-method="close">
266 <argument ref="dataBroker" />
267 <argument ref="elanService" />
270 <bean id="vpnOpInstanceCacheManager"
271 class="org.opendaylight.netvirt.vpnmanager.cache.listeners.VpnOpInstanceCacheManager"
272 init-method="start" destroy-method="close">
273 <argument ref="dataBroker" />
276 <bean id="centralizedSwitchProvider"
277 class="org.opendaylight.netvirt.vpnmanager.CentralizedSwitchProvider">
278 <argument ref="dataBroker" />
280 <service ref="centralizedSwitchProvider"
281 interface="org.opendaylight.netvirt.vpnmanager.api.ICentralizedSwitchProvider" />
283 <bean id="centralizedSwitchChangeListener"
284 class="org.opendaylight.netvirt.vpnmanager.CentralizedSwitchChangeListener"
285 init-method="init" destroy-method="close">
286 <argument ref="dataBroker" />
287 <argument ref="vpnManager" />