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" />
22 <odl:rpc-service id="idManagerService"
23 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
24 <odl:rpc-service id="odlInterfaceRpcService"
25 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService" />
26 <odl:rpc-service id="itmRpcService"
27 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
28 <odl:rpc-service id="packetProcessingService"
29 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService" />
30 <odl:rpc-service id="neutronvpnService"
31 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnService" />
32 <odl:rpc-service id="vpnRpcService"
33 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
34 <odl:rpc-service id="fibRpcService"
35 interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fib.rpc.rev160121.FibRpcService" />
37 <bean id="subnetmapListener"
38 class="org.opendaylight.netvirt.natservice.internal.SubnetmapListener"
39 init-method="init" destroy-method="close">
40 <argument ref="dataBroker" />
41 <argument ref="externalNetworkGroupInstaller" />
44 <bean id="floatingIPListener"
45 class="org.opendaylight.netvirt.natservice.internal.FloatingIPListener"
46 init-method="init" destroy-method="close">
47 <argument ref="dataBroker" />
48 <argument ref="mdsalUtils" />
49 <argument ref="odlInterfaceRpcService" />
50 <argument ref="idManagerService" />
51 <argument ref="blueprintBundleContext" />
54 <bean id="externalNetworkListener"
55 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkListener"
56 init-method="init" destroy-method="close">
57 <argument ref="dataBroker" />
58 <argument ref="mdsalUtils" />
61 <bean id="naptManager"
62 class="org.opendaylight.netvirt.natservice.internal.NaptManager">
63 <argument ref="dataBroker" />
64 <argument ref="idManagerService" />
67 <bean id="naptEventHandler"
68 class="org.opendaylight.netvirt.natservice.internal.NaptEventHandler">
69 <argument ref="dataBroker" />
70 <argument ref="mdsalUtils" />
71 <argument ref="naptManager" />
72 <argument ref="packetProcessingService" />
73 <argument ref="odlInterfaceRpcService" />
74 <argument ref="interfaceManager" />
77 <bean id="eventDispatcher"
78 class="org.opendaylight.netvirt.natservice.internal.EventDispatcher"
80 <argument ref="naptEventHandler" />
83 <bean id="naptPacketInHandler"
84 class="org.opendaylight.netvirt.natservice.internal.NaptPacketInHandler">
85 <argument ref="eventDispatcher" />
87 <odl:notification-listener ref="naptPacketInHandler" />
89 <bean id="vpnFloatingIpHandler"
90 class="org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler">
91 <argument ref="dataBroker" />
92 <argument ref="mdsalUtils" />
93 <argument ref="vpnRpcService" />
94 <argument ref="bgpManager" />
95 <argument ref="fibRpcService" />
96 <argument ref="floatingIPListener" />
97 <argument ref="fibManager" />
99 <service ref="vpnFloatingIpHandler"
100 interface="org.opendaylight.netvirt.natservice.internal.FloatingIPHandler" />
102 <bean id="nAPTSwitchSelector"
103 class="org.opendaylight.netvirt.natservice.internal.NAPTSwitchSelector">
104 <argument ref="dataBroker" />
107 <bean id="externalRoutersListener"
108 class="org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener"
109 init-method="init" destroy-method="close">
110 <argument ref="dataBroker" />
111 <argument ref="mdsalUtils" />
112 <argument ref="itmRpcService" />
113 <argument ref="odlInterfaceRpcService" />
114 <argument ref="idManagerService" />
115 <argument ref="naptManager" />
116 <argument ref="nAPTSwitchSelector" />
117 <argument ref="bgpManager" />
118 <argument ref="vpnRpcService" />
119 <argument ref="fibRpcService" />
120 <argument ref="sNATDefaultRouteProgrammer" />
121 <argument ref="naptEventHandler" />
122 <argument ref="naptPacketInHandler" />
123 <argument ref="fibManager" />
126 <bean id="externalNetworksChangeListener"
127 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworksChangeListener"
128 init-method="init" destroy-method="close">
129 <argument ref="dataBroker" />
130 <argument ref="mdsalUtils" />
131 <argument ref="floatingIPListener" />
132 <argument ref="externalRoutersListener" />
133 <argument ref="odlInterfaceRpcService" />
134 <argument ref="naptManager" />
135 <argument ref="bgpManager" />
136 <argument ref="vpnRpcService" />
137 <argument ref="fibRpcService" />
140 <bean id="naptFlowRemovedEventHandler"
141 class="org.opendaylight.netvirt.natservice.internal.NaptFlowRemovedEventHandler">
142 <argument ref="dataBroker" />
143 <argument ref="mdsalUtils" />
144 <argument ref="eventDispatcher" />
145 <argument ref="naptPacketInHandler" />
146 <argument ref="naptManager" />
148 <odl:notification-listener ref="naptPacketInHandler" />
150 <bean id="interfaceStateEventListener"
151 class="org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener"
152 init-method="init" destroy-method="close">
153 <argument ref="dataBroker" />
154 <argument ref="mdsalUtils" />
155 <argument ref="floatingIPListener" />
156 <argument ref="naptManager" />
157 <argument ref="neutronvpnService" />
160 <bean id="sNATDefaultRouteProgrammer"
161 class="org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer">
162 <argument ref="mdsalUtils" />
165 <bean id="naptSwitchHA"
166 class="org.opendaylight.netvirt.natservice.internal.NaptSwitchHA">
167 <argument ref="dataBroker" />
168 <argument ref="mdsalUtils" />
169 <argument ref="externalRoutersListener" />
170 <argument ref="itmRpcService" />
171 <argument ref="odlInterfaceRpcService" />
172 <argument ref="idManagerService" />
173 <argument ref="nAPTSwitchSelector" />
174 <argument ref="bgpManager" />
175 <argument ref="vpnRpcService" />
176 <argument ref="fibRpcService" />
179 <bean id="natNodeEventListener"
180 class="org.opendaylight.netvirt.natservice.internal.NatNodeEventListener"
181 init-method="init" destroy-method="close">
182 <argument ref="dataBroker" />
185 <bean id="routerPortsListener"
186 class="org.opendaylight.netvirt.natservice.internal.RouterPortsListener"
187 init-method="init" destroy-method="close">
188 <argument ref="dataBroker" />
191 <bean id="routerDpnChangeListener"
192 class="org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener"
193 init-method="init" destroy-method="close">
194 <argument ref="dataBroker" />
195 <argument ref="mdsalUtils" />
196 <argument ref="sNATDefaultRouteProgrammer" />
197 <argument ref="naptSwitchHA" />
198 <argument ref="idManagerService" />
201 <bean id="routerToVpnListener"
202 class="org.opendaylight.netvirt.natservice.internal.RouterToVpnListener">
203 <argument ref="dataBroker" />
204 <argument ref="floatingIPListener" />
205 <argument ref="odlInterfaceRpcService" />
206 <argument ref="externalRoutersListener" />
208 <odl:notification-listener ref="routerToVpnListener" />
210 <bean id="subnetGwMacChangeListener"
211 class="org.opendaylight.netvirt.natservice.internal.SubnetGwMacChangeListener"
212 init-method="start" destroy-method="close">
213 <argument ref="dataBroker" />
214 <argument ref="neutronvpnManager" />
215 <argument ref="externalNetworkGroupInstaller" />
218 <bean id="externalNetworkGroupInstaller"
219 class="org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller">
220 <argument ref="dataBroker" />
221 <argument ref="mdsalUtils" />
222 <argument ref="elanService" />
223 <argument ref="idManagerService" />
224 <argument ref="odlInterfaceRpcService" />