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" />
41 <bean id="subnetmapListener"
42 class="org.opendaylight.netvirt.natservice.internal.SubnetmapListener"
43 init-method="init" destroy-method="close">
44 <argument ref="dataBroker" />
45 <argument ref="externalNetworkGroupInstaller" />
48 <bean id="floatingIPListener"
49 class="org.opendaylight.netvirt.natservice.internal.FloatingIPListener"
50 init-method="init" destroy-method="close">
51 <argument ref="dataBroker" />
52 <argument ref="mdsalUtils" />
53 <argument ref="odlInterfaceRpcService" />
54 <argument ref="idManagerService" />
55 <argument ref="blueprintBundleContext" />
58 <bean id="externalNetworkListener"
59 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkListener"
60 init-method="init" destroy-method="close">
61 <argument ref="dataBroker" />
62 <argument ref="mdsalUtils" />
65 <bean id="naptManager"
66 class="org.opendaylight.netvirt.natservice.internal.NaptManager">
67 <argument ref="dataBroker" />
68 <argument ref="idManagerService" />
71 <bean id="naptEventHandler"
72 class="org.opendaylight.netvirt.natservice.internal.NaptEventHandler">
73 <argument ref="dataBroker" />
74 <argument ref="mdsalUtils" />
75 <argument ref="naptManager" />
76 <argument ref="packetProcessingService" />
77 <argument ref="odlInterfaceRpcService" />
78 <argument ref="interfaceManager" />
81 <bean id="eventDispatcher"
82 class="org.opendaylight.netvirt.natservice.internal.EventDispatcher"
84 <argument ref="naptEventHandler" />
87 <bean id="naptPacketInHandler"
88 class="org.opendaylight.netvirt.natservice.internal.NaptPacketInHandler">
89 <argument ref="eventDispatcher" />
91 <odl:notification-listener ref="naptPacketInHandler" />
93 <bean id="vpnFloatingIpHandler"
94 class="org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler">
95 <argument ref="dataBroker" />
96 <argument ref="mdsalUtils" />
97 <argument ref="vpnRpcService" />
98 <argument ref="bgpManager" />
99 <argument ref="fibRpcService" />
100 <argument ref="floatingIPListener" />
101 <argument ref="fibManager" />
102 <argument ref="odlArputilService" />
103 <argument ref="vpnManager" />
105 <service ref="vpnFloatingIpHandler"
106 interface="org.opendaylight.netvirt.natservice.internal.FloatingIPHandler" />
108 <bean id="nAPTSwitchSelector"
109 class="org.opendaylight.netvirt.natservice.internal.NAPTSwitchSelector">
110 <argument ref="dataBroker" />
113 <bean id="externalRoutersListener"
114 class="org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener"
115 init-method="init" destroy-method="close">
116 <argument ref="dataBroker" />
117 <argument ref="mdsalUtils" />
118 <argument ref="itmRpcService" />
119 <argument ref="odlInterfaceRpcService" />
120 <argument ref="idManagerService" />
121 <argument ref="naptManager" />
122 <argument ref="nAPTSwitchSelector" />
123 <argument ref="bgpManager" />
124 <argument ref="vpnRpcService" />
125 <argument ref="fibRpcService" />
126 <argument ref="sNATDefaultRouteProgrammer" />
127 <argument ref="naptEventHandler" />
128 <argument ref="naptPacketInHandler" />
129 <argument ref="fibManager" />
132 <bean id="externalNetworksChangeListener"
133 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworksChangeListener"
134 init-method="init" destroy-method="close">
135 <argument ref="dataBroker" />
136 <argument ref="mdsalUtils" />
137 <argument ref="floatingIPListener" />
138 <argument ref="externalRoutersListener" />
139 <argument ref="odlInterfaceRpcService" />
140 <argument ref="naptManager" />
141 <argument ref="bgpManager" />
142 <argument ref="vpnRpcService" />
143 <argument ref="fibRpcService" />
146 <bean id="naptFlowRemovedEventHandler"
147 class="org.opendaylight.netvirt.natservice.internal.NaptFlowRemovedEventHandler">
148 <argument ref="dataBroker" />
149 <argument ref="mdsalUtils" />
150 <argument ref="eventDispatcher" />
151 <argument ref="naptPacketInHandler" />
152 <argument ref="naptManager" />
154 <odl:notification-listener ref="naptPacketInHandler" />
156 <bean id="interfaceStateEventListener"
157 class="org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener"
158 init-method="init" destroy-method="close">
159 <argument ref="dataBroker" />
160 <argument ref="mdsalUtils" />
161 <argument ref="floatingIPListener" />
162 <argument ref="naptManager" />
163 <argument ref="neutronvpnService" />
166 <bean id="sNATDefaultRouteProgrammer"
167 class="org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer">
168 <argument ref="mdsalUtils" />
171 <bean id="naptSwitchHA"
172 class="org.opendaylight.netvirt.natservice.internal.NaptSwitchHA">
173 <argument ref="dataBroker" />
174 <argument ref="mdsalUtils" />
175 <argument ref="externalRoutersListener" />
176 <argument ref="itmRpcService" />
177 <argument ref="odlInterfaceRpcService" />
178 <argument ref="idManagerService" />
179 <argument ref="nAPTSwitchSelector" />
180 <argument ref="bgpManager" />
181 <argument ref="vpnRpcService" />
182 <argument ref="fibRpcService" />
185 <bean id="natNodeEventListener"
186 class="org.opendaylight.netvirt.natservice.internal.NatNodeEventListener"
187 init-method="init" destroy-method="close">
188 <argument ref="dataBroker" />
191 <bean id="routerPortsListener"
192 class="org.opendaylight.netvirt.natservice.internal.RouterPortsListener"
193 init-method="init" destroy-method="close">
194 <argument ref="dataBroker" />
197 <bean id="routerDpnChangeListener"
198 class="org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener"
199 init-method="init" destroy-method="close">
200 <argument ref="dataBroker" />
201 <argument ref="mdsalUtils" />
202 <argument ref="sNATDefaultRouteProgrammer" />
203 <argument ref="naptSwitchHA" />
204 <argument ref="idManagerService" />
207 <bean id="routerToVpnListener"
208 class="org.opendaylight.netvirt.natservice.internal.RouterToVpnListener">
209 <argument ref="dataBroker" />
210 <argument ref="floatingIPListener" />
211 <argument ref="odlInterfaceRpcService" />
212 <argument ref="externalRoutersListener" />
214 <odl:notification-listener ref="routerToVpnListener" />
216 <bean id="subnetGwMacChangeListener"
217 class="org.opendaylight.netvirt.natservice.internal.SubnetGwMacChangeListener"
218 init-method="start" destroy-method="close">
219 <argument ref="dataBroker" />
220 <argument ref="neutronvpnManager" />
221 <argument ref="externalNetworkGroupInstaller" />
224 <bean id="externalNetworkGroupInstaller"
225 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller">
226 <argument ref="dataBroker" />
227 <argument ref="mdsalUtils" />
228 <argument ref="elanService" />
229 <argument ref="idManagerService" />
230 <argument ref="odlInterfaceRpcService" />