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="bgpManager"
10 interface="org.opendaylight.netvirt.bgpmanager.api.IBgpManager" />
11 <reference id="elanService"
12 interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
13 <reference id="fibManager"
14 interface="org.opendaylight.netvirt.fibmanager.api.IFibManager" />
15 <reference id="interfaceManager"
16 interface="org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager" />
17 <reference id="mdsalUtils"
18 interface="org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager" />
19 <reference id="neutronvpnManager"
20 interface="org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager" />
21 <reference id="vpnManager"
22 interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
23 <reference id="notificationPublishService"
24 interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" />
27 <odl:rpc-service id="idManagerService"
28 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
29 <odl:rpc-service id="odlInterfaceRpcService"
30 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService" />
31 <odl:rpc-service id="itmRpcService"
32 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
33 <odl:rpc-service id="packetProcessingService"
34 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService" />
35 <odl:rpc-service id="neutronvpnService"
36 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnService" />
37 <odl:rpc-service id="vpnRpcService"
38 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
39 <odl:rpc-service id="fibRpcService"
40 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fib.rpc.rev160121.FibRpcService" />
41 <odl:rpc-service id="odlArputilService"
42 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
43 <odl:rpc-implementation ref="natRpcServiceImpl"/>
45 <bean id="subnetmapListener"
46 class="org.opendaylight.netvirt.natservice.internal.SubnetmapListener"
47 init-method="init" destroy-method="close">
48 <argument ref="dataBroker" />
49 <argument ref="externalNetworkGroupInstaller" />
52 <bean id="floatingIPListener"
53 class="org.opendaylight.netvirt.natservice.internal.FloatingIPListener"
54 init-method="init" destroy-method="close">
55 <argument ref="dataBroker" />
56 <argument ref="mdsalUtils" />
57 <argument ref="odlInterfaceRpcService" />
58 <argument ref="blueprintBundleContext" />
61 <bean id="externalNetworkListener"
62 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkListener"
63 init-method="init" destroy-method="close">
64 <argument ref="dataBroker" />
65 <argument ref="mdsalUtils" />
68 <bean id="externalSubneVpnInstanceListener"
69 class="org.opendaylight.netvirt.natservice.internal.ExternalSubnetVpnInstanceListener"
70 init-method="init" destroy-method="close">
71 <argument ref="dataBroker" />
72 <argument ref="sNATDefaultRouteProgrammer" />
73 <argument ref="elanService" />
74 <argument ref="notificationPublishService" />
77 <bean id="naptManager"
78 class="org.opendaylight.netvirt.natservice.internal.NaptManager">
79 <argument ref="dataBroker" />
80 <argument ref="idManagerService" />
83 <bean id="naptEventHandler"
84 class="org.opendaylight.netvirt.natservice.internal.NaptEventHandler">
85 <argument ref="dataBroker" />
86 <argument ref="mdsalUtils" />
87 <argument ref="naptManager" />
88 <argument ref="packetProcessingService" />
89 <argument ref="odlInterfaceRpcService" />
90 <argument ref="interfaceManager" />
93 <bean id="eventDispatcher"
94 class="org.opendaylight.netvirt.natservice.internal.EventDispatcher"
96 <argument ref="naptEventHandler" />
99 <bean id="naptPacketInHandler"
100 class="org.opendaylight.netvirt.natservice.internal.NaptPacketInHandler">
101 <argument ref="eventDispatcher" />
103 <odl:notification-listener ref="naptPacketInHandler" />
105 <bean id="vpnFloatingIpHandler"
106 class="org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler">
107 <argument ref="dataBroker" />
108 <argument ref="mdsalUtils" />
109 <argument ref="vpnRpcService" />
110 <argument ref="bgpManager" />
111 <argument ref="fibRpcService" />
112 <argument ref="floatingIPListener" />
113 <argument ref="fibManager" />
114 <argument ref="odlArputilService" />
115 <argument ref="vpnManager" />
116 <argument ref="elanService" />
117 <argument ref="evpnDnatFlowProgrammer" />
119 <service ref="vpnFloatingIpHandler"
120 interface="org.opendaylight.netvirt.natservice.internal.FloatingIPHandler" />
122 <bean id="nAPTSwitchSelector"
123 class="org.opendaylight.netvirt.natservice.internal.NAPTSwitchSelector">
124 <argument ref="dataBroker" />
127 <bean id="externalRoutersListener"
128 class="org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener"
129 init-method="init" destroy-method="close">
130 <argument ref="dataBroker" />
131 <argument ref="mdsalUtils" />
132 <argument ref="itmRpcService" />
133 <argument ref="odlInterfaceRpcService" />
134 <argument ref="idManagerService" />
135 <argument ref="naptManager" />
136 <argument ref="nAPTSwitchSelector" />
137 <argument ref="bgpManager" />
138 <argument ref="vpnRpcService" />
139 <argument ref="fibRpcService" />
140 <argument ref="sNATDefaultRouteProgrammer" />
141 <argument ref="naptEventHandler" />
142 <argument ref="naptPacketInHandler" />
143 <argument ref="fibManager" />
144 <argument ref="vpnManager"/>
145 <argument ref="evpnSnatFlowProgrammer"/>
146 <argument ref="neutronvpnManager" />
149 <bean id="externalNetworksChangeListener"
150 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworksChangeListener"
151 init-method="init" destroy-method="close">
152 <argument ref="dataBroker" />
153 <argument ref="mdsalUtils" />
154 <argument ref="floatingIPListener" />
155 <argument ref="externalRoutersListener" />
156 <argument ref="odlInterfaceRpcService" />
157 <argument ref="naptManager" />
158 <argument ref="bgpManager" />
159 <argument ref="vpnRpcService" />
160 <argument ref="fibRpcService" />
163 <bean id="naptFlowRemovedEventHandler"
164 class="org.opendaylight.netvirt.natservice.internal.NaptFlowRemovedEventHandler">
165 <argument ref="dataBroker" />
166 <argument ref="mdsalUtils" />
167 <argument ref="eventDispatcher" />
168 <argument ref="naptPacketInHandler" />
169 <argument ref="naptManager" />
171 <odl:notification-listener ref="naptFlowRemovedEventHandler" />
173 <bean id="interfaceStateEventListener"
174 class="org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener"
175 init-method="init" destroy-method="close">
176 <argument ref="dataBroker" />
177 <argument ref="mdsalUtils" />
178 <argument ref="floatingIPListener" />
179 <argument ref="naptManager" />
180 <argument ref="neutronvpnService" />
183 <bean id="sNATDefaultRouteProgrammer"
184 class="org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer">
185 <argument ref="mdsalUtils" />
186 <argument ref="dataBroker" />
187 <argument ref="idManagerService" />
190 <bean id="naptSwitchHA"
191 class="org.opendaylight.netvirt.natservice.internal.NaptSwitchHA">
192 <argument ref="dataBroker" />
193 <argument ref="mdsalUtils" />
194 <argument ref="externalRoutersListener" />
195 <argument ref="itmRpcService" />
196 <argument ref="odlInterfaceRpcService" />
197 <argument ref="idManagerService" />
198 <argument ref="nAPTSwitchSelector" />
199 <argument ref="bgpManager" />
200 <argument ref="vpnRpcService" />
201 <argument ref="fibRpcService" />
202 <argument ref="fibManager" />
203 <argument ref="evpnNaptSwitchHA" />
204 <argument ref="neutronvpnManager" />
207 <bean id="natNodeEventListener"
208 class="org.opendaylight.netvirt.natservice.internal.NatNodeEventListener"
209 init-method="init" destroy-method="close">
210 <argument ref="dataBroker" />
213 <bean id="routerPortsListener"
214 class="org.opendaylight.netvirt.natservice.internal.RouterPortsListener"
215 init-method="init" destroy-method="close">
216 <argument ref="dataBroker" />
219 <bean id="routerDpnChangeListener"
220 class="org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener"
221 init-method="init" destroy-method="close">
222 <argument ref="dataBroker" />
223 <argument ref="mdsalUtils" />
224 <argument ref="sNATDefaultRouteProgrammer" />
225 <argument ref="naptSwitchHA" />
226 <argument ref="idManagerService" />
227 <argument ref="externalNetworkGroupInstaller" />
228 <argument ref="neutronvpnManager" />
231 <bean id="routerToVpnListener"
232 class="org.opendaylight.netvirt.natservice.internal.RouterToVpnListener">
233 <argument ref="dataBroker" />
234 <argument ref="floatingIPListener" />
235 <argument ref="odlInterfaceRpcService" />
236 <argument ref="externalRoutersListener" />
238 <odl:notification-listener ref="routerToVpnListener" />
240 <bean id="subnetGwMacChangeListener"
241 class="org.opendaylight.netvirt.natservice.internal.SubnetGwMacChangeListener"
242 init-method="start" destroy-method="close">
243 <argument ref="dataBroker" />
244 <argument ref="neutronvpnManager" />
245 <argument ref="externalNetworkGroupInstaller" />
248 <bean id="externalNetworkGroupInstaller"
249 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller">
250 <argument ref="dataBroker" />
251 <argument ref="mdsalUtils" />
252 <argument ref="elanService" />
253 <argument ref="idManagerService" />
254 <argument ref="odlInterfaceRpcService" />
257 <bean id="natRouterInterfaceListener"
258 class="org.opendaylight.netvirt.natservice.internal.NatRouterInterfaceListener"
259 init-method="init" destroy-method="close">
260 <argument ref="dataBroker" />
261 <argument ref="odlInterfaceRpcService" />
264 <bean id="natInterfaceStateChangeListener"
265 class="org.opendaylight.netvirt.natservice.internal.NatInterfaceStateChangeListener"
266 init-method="init" destroy-method="close">
267 <argument ref="dataBroker" />
268 <argument ref="odlInterfaceRpcService" />
271 <bean id="natTunnelInterfaceStateListener"
272 class="org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener"
273 init-method="init" destroy-method="close">
274 <argument ref="dataBroker" />
275 <argument ref="bgpManager" />
276 <argument ref="fibManager" />
277 <argument ref="sNATDefaultRouteProgrammer" />
278 <argument ref="naptSwitchHA" />
279 <argument ref="mdsalUtils" />
280 <argument ref="idManagerService" />
281 <argument ref="externalRoutersListener" />
282 <argument ref="odlInterfaceRpcService" />
283 <argument ref="floatingIPListener" />
284 <argument ref="fibRpcService" />
287 <bean id="natRpcServiceImpl" class="org.opendaylight.netvirt.natservice.rpcservice.NatRpcServiceImpl">
288 <argument ref="dataBroker"/>
289 <argument ref="neutronvpnManager" />
292 <service ref="natRpcServiceImpl"
293 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rpc.rev170209.OdlNatRpcService"/>
295 <bean id="evpnSnatFlowProgrammer" class="org.opendaylight.netvirt.natservice.internal.EvpnSnatFlowProgrammer">
296 <argument ref="dataBroker" />
297 <argument ref="mdsalUtils" />
298 <argument ref="bgpManager" />
299 <argument ref="fibManager" />
302 <bean id="evpnNaptSwitchHA" class="org.opendaylight.netvirt.natservice.internal.EvpnNaptSwitchHA">
303 <argument ref="dataBroker" />
304 <argument ref="mdsalUtils" />
305 <argument ref="evpnSnatFlowProgrammer" />
306 <argument ref="idManagerService" />
309 <bean id="evpnDnatFlowProgrammer" class="org.opendaylight.netvirt.natservice.internal.EvpnDnatFlowProgrammer">
310 <argument ref="dataBroker" />
311 <argument ref="mdsalUtils" />
312 <argument ref="bgpManager" />
313 <argument ref="fibManager" />
314 <argument ref="fibRpcService" />
315 <argument ref="vpnManager" />
316 <argument ref="floatingIPListener" />