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" />
24 <odl:rpc-service id="idManagerService"
25 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
26 <odl:rpc-service id="odlInterfaceRpcService"
27 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService" />
28 <odl:rpc-service id="itmRpcService"
29 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
30 <odl:rpc-service id="packetProcessingService"
31 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService" />
32 <odl:rpc-service id="neutronvpnService"
33 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnService" />
34 <odl:rpc-service id="vpnRpcService"
35 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
36 <odl:rpc-service id="fibRpcService"
37 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fib.rpc.rev160121.FibRpcService" />
38 <odl:rpc-service id="odlArputilService"
39 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
40 <odl:rpc-implementation ref="natRpcServiceImpl"/>
42 <bean id="subnetmapListener"
43 class="org.opendaylight.netvirt.natservice.internal.SubnetmapListener"
44 init-method="init" destroy-method="close">
45 <argument ref="dataBroker" />
46 <argument ref="externalNetworkGroupInstaller" />
49 <bean id="floatingIPListener"
50 class="org.opendaylight.netvirt.natservice.internal.FloatingIPListener"
51 init-method="init" destroy-method="close">
52 <argument ref="dataBroker" />
53 <argument ref="mdsalUtils" />
54 <argument ref="odlInterfaceRpcService" />
55 <argument ref="idManagerService" />
56 <argument ref="blueprintBundleContext" />
59 <bean id="externalNetworkListener"
60 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkListener"
61 init-method="init" destroy-method="close">
62 <argument ref="dataBroker" />
63 <argument ref="mdsalUtils" />
66 <bean id="naptManager"
67 class="org.opendaylight.netvirt.natservice.internal.NaptManager">
68 <argument ref="dataBroker" />
69 <argument ref="idManagerService" />
72 <bean id="naptEventHandler"
73 class="org.opendaylight.netvirt.natservice.internal.NaptEventHandler">
74 <argument ref="dataBroker" />
75 <argument ref="mdsalUtils" />
76 <argument ref="naptManager" />
77 <argument ref="packetProcessingService" />
78 <argument ref="odlInterfaceRpcService" />
79 <argument ref="interfaceManager" />
82 <bean id="eventDispatcher"
83 class="org.opendaylight.netvirt.natservice.internal.EventDispatcher"
85 <argument ref="naptEventHandler" />
88 <bean id="naptPacketInHandler"
89 class="org.opendaylight.netvirt.natservice.internal.NaptPacketInHandler">
90 <argument ref="eventDispatcher" />
92 <odl:notification-listener ref="naptPacketInHandler" />
94 <bean id="vpnFloatingIpHandler"
95 class="org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler">
96 <argument ref="dataBroker" />
97 <argument ref="mdsalUtils" />
98 <argument ref="vpnRpcService" />
99 <argument ref="bgpManager" />
100 <argument ref="fibRpcService" />
101 <argument ref="floatingIPListener" />
102 <argument ref="fibManager" />
103 <argument ref="odlArputilService" />
104 <argument ref="vpnManager" />
105 <argument ref="elanService" />
107 <service ref="vpnFloatingIpHandler"
108 interface="org.opendaylight.netvirt.natservice.internal.FloatingIPHandler" />
110 <bean id="nAPTSwitchSelector"
111 class="org.opendaylight.netvirt.natservice.internal.NAPTSwitchSelector">
112 <argument ref="dataBroker" />
115 <bean id="externalRoutersListener"
116 class="org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener"
117 init-method="init" destroy-method="close">
118 <argument ref="dataBroker" />
119 <argument ref="mdsalUtils" />
120 <argument ref="itmRpcService" />
121 <argument ref="odlInterfaceRpcService" />
122 <argument ref="idManagerService" />
123 <argument ref="naptManager" />
124 <argument ref="nAPTSwitchSelector" />
125 <argument ref="bgpManager" />
126 <argument ref="vpnRpcService" />
127 <argument ref="fibRpcService" />
128 <argument ref="sNATDefaultRouteProgrammer" />
129 <argument ref="naptEventHandler" />
130 <argument ref="naptPacketInHandler" />
131 <argument ref="fibManager" />
132 <argument ref="vpnManager"/>
135 <bean id="externalNetworksChangeListener"
136 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworksChangeListener"
137 init-method="init" destroy-method="close">
138 <argument ref="dataBroker" />
139 <argument ref="mdsalUtils" />
140 <argument ref="floatingIPListener" />
141 <argument ref="externalRoutersListener" />
142 <argument ref="odlInterfaceRpcService" />
143 <argument ref="naptManager" />
144 <argument ref="bgpManager" />
145 <argument ref="vpnRpcService" />
146 <argument ref="fibRpcService" />
149 <bean id="naptFlowRemovedEventHandler"
150 class="org.opendaylight.netvirt.natservice.internal.NaptFlowRemovedEventHandler">
151 <argument ref="dataBroker" />
152 <argument ref="mdsalUtils" />
153 <argument ref="eventDispatcher" />
154 <argument ref="naptPacketInHandler" />
155 <argument ref="naptManager" />
157 <odl:notification-listener ref="naptFlowRemovedEventHandler" />
159 <bean id="interfaceStateEventListener"
160 class="org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener"
161 init-method="init" destroy-method="close">
162 <argument ref="dataBroker" />
163 <argument ref="mdsalUtils" />
164 <argument ref="floatingIPListener" />
165 <argument ref="naptManager" />
166 <argument ref="neutronvpnService" />
169 <bean id="sNATDefaultRouteProgrammer"
170 class="org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer">
171 <argument ref="mdsalUtils" />
174 <bean id="naptSwitchHA"
175 class="org.opendaylight.netvirt.natservice.internal.NaptSwitchHA">
176 <argument ref="dataBroker" />
177 <argument ref="mdsalUtils" />
178 <argument ref="externalRoutersListener" />
179 <argument ref="itmRpcService" />
180 <argument ref="odlInterfaceRpcService" />
181 <argument ref="idManagerService" />
182 <argument ref="nAPTSwitchSelector" />
183 <argument ref="bgpManager" />
184 <argument ref="vpnRpcService" />
185 <argument ref="fibRpcService" />
186 <argument ref="fibManager" />
189 <bean id="natNodeEventListener"
190 class="org.opendaylight.netvirt.natservice.internal.NatNodeEventListener"
191 init-method="init" destroy-method="close">
192 <argument ref="dataBroker" />
195 <bean id="routerPortsListener"
196 class="org.opendaylight.netvirt.natservice.internal.RouterPortsListener"
197 init-method="init" destroy-method="close">
198 <argument ref="dataBroker" />
201 <bean id="routerDpnChangeListener"
202 class="org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener"
203 init-method="init" destroy-method="close">
204 <argument ref="dataBroker" />
205 <argument ref="mdsalUtils" />
206 <argument ref="sNATDefaultRouteProgrammer" />
207 <argument ref="naptSwitchHA" />
208 <argument ref="idManagerService" />
209 <argument ref="externalNetworkGroupInstaller" />
212 <bean id="routerToVpnListener"
213 class="org.opendaylight.netvirt.natservice.internal.RouterToVpnListener">
214 <argument ref="dataBroker" />
215 <argument ref="floatingIPListener" />
216 <argument ref="odlInterfaceRpcService" />
217 <argument ref="externalRoutersListener" />
219 <odl:notification-listener ref="routerToVpnListener" />
221 <bean id="subnetGwMacChangeListener"
222 class="org.opendaylight.netvirt.natservice.internal.SubnetGwMacChangeListener"
223 init-method="start" destroy-method="close">
224 <argument ref="dataBroker" />
225 <argument ref="neutronvpnManager" />
226 <argument ref="externalNetworkGroupInstaller" />
229 <bean id="externalNetworkGroupInstaller"
230 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller">
231 <argument ref="dataBroker" />
232 <argument ref="mdsalUtils" />
233 <argument ref="elanService" />
234 <argument ref="idManagerService" />
235 <argument ref="odlInterfaceRpcService" />
238 <bean id="natRouterInterfaceListener"
239 class="org.opendaylight.netvirt.natservice.internal.NatRouterInterfaceListener"
240 init-method="init" destroy-method="close">
241 <argument ref="dataBroker" />
242 <argument ref="odlInterfaceRpcService" />
245 <bean id="natInterfaceStateChangeListener"
246 class="org.opendaylight.netvirt.natservice.internal.NatInterfaceStateChangeListener"
247 init-method="init" destroy-method="close">
248 <argument ref="dataBroker" />
249 <argument ref="odlInterfaceRpcService" />
252 <bean id="natTunnelInterfaceStateListener"
253 class="org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener"
254 init-method="init" destroy-method="close">
255 <argument ref="dataBroker" />
256 <argument ref="bgpManager" />
257 <argument ref="fibManager" />
258 <argument ref="sNATDefaultRouteProgrammer" />
259 <argument ref="naptSwitchHA" />
260 <argument ref="mdsalUtils" />
261 <argument ref="idManagerService" />
262 <argument ref="externalRoutersListener" />
263 <argument ref="odlInterfaceRpcService" />
264 <argument ref="floatingIPListener" />
265 <argument ref="fibRpcService" />
268 <bean id="natRpcServiceImpl" class="org.opendaylight.netvirt.natservice.rpcservice.NatRpcServiceImpl">
269 <argument ref="dataBroker"/>
270 <argument ref="neutronvpnManager" />
272 <service ref="natRpcServiceImpl"
273 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rpc.rev170209.OdlNatRpcService"/>