Bug 7302: Enable Ping Responder for router interface IPs , on a BGPVPN
[netvirt.git] / vpnservice / vpnmanager / vpnmanager-impl / src / main / resources / org / opendaylight / blueprint / vpnmanager.xml
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">
5
6   <reference id="dataBroker"
7              interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
8              odl:type="default" />
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
25   <odl:rpc-service id="idManagerService"
26                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
27   <odl:rpc-service id="itmRpcService"
28                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
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="odlArputilService"
32                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
33   <odl:rpc-service id="packetProcessingService"
34                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService" />
35   <odl:rpc-service id="lockManagerService"
36                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService" />
37   <odl:rpc-service id="alivenessManager"
38                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.AlivenessMonitorService" />
39
40   <bean id="dpnInVpnChangeListener"
41         class="org.opendaylight.netvirt.vpnmanager.DpnInVpnChangeListener">
42     <argument ref="dataBroker" />
43     <argument ref="mdsalUtils" />
44   </bean>
45   <service ref="dpnInVpnChangeListener" odl:type="default"
46            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.OdlL3vpnListener" />
47   <odl:notification-listener ref="dpnInVpnChangeListener" />
48
49   <bean id="vpnOpDataSyncer" class="org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer"/>
50
51   <bean id="vpnFootprintService" class="org.opendaylight.netvirt.vpnmanager.VpnFootprintService">
52     <argument ref="dataBroker" />
53     <argument ref="fibManager" />
54     <argument ref="odlInterfaceRpcService" />
55     <argument ref="notificationPublishService" />
56     <argument ref="vpnOpDataSyncer" />
57   </bean>
58
59   <bean id="vpnInterfaceManager"
60         class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager"
61         init-method="start" destroy-method="close">
62     <argument ref="dataBroker" />
63     <argument ref="bgpmanager" />
64     <argument ref="odlArputilService" />
65     <argument ref="idManagerService" />
66     <argument ref="mdsalUtils" />
67     <argument ref="fibManager" />
68     <argument ref="odlInterfaceRpcService" />
69     <argument ref="vpnFootprintService" />
70     <argument ref="vpnOpDataSyncer" />
71     <argument ref="neutronVpnService" />
72   </bean>
73
74   <bean id="interfaceStateChangeListener"
75         class="org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener"
76         init-method="start" destroy-method="close">
77     <argument ref="dataBroker" />
78     <argument ref="vpnInterfaceManager" />
79   </bean>
80
81   <bean id="vpnInterfaceOpListener"
82         class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceOpListener"
83         init-method="start" destroy-method="close">
84     <argument ref="dataBroker" />
85     <argument ref="vpnInterfaceManager" />
86     <argument ref="vpnFootprintService" />
87   </bean>
88
89   <bean id="arpMonitorEventListener"
90         class="org.opendaylight.netvirt.vpnmanager.ArpMonitorEventListener">
91     <argument ref="dataBroker" />
92     <argument ref="alivenessManager" />
93   </bean>
94   <odl:notification-listener ref="arpMonitorEventListener" />
95
96   <bean id="arpMonitoringHandler"
97         class="org.opendaylight.netvirt.vpnmanager.ArpMonitoringHandler"
98         init-method="start" destroy-method="close">
99     <argument ref="dataBroker" />
100     <argument ref="odlInterfaceRpcService" />
101     <argument ref="mdsalUtils" />
102     <argument ref="alivenessManager" />
103     <argument ref="neutronVpnService" />
104     <argument ref="interfaceManager" />
105   </bean>
106
107   <bean id="subnetRoutePacketInHandler"
108         class="org.opendaylight.netvirt.vpnmanager.SubnetRoutePacketInHandler">
109     <argument ref="dataBroker" />
110     <argument ref="packetProcessingService" />
111   </bean>
112   <service ref="subnetRoutePacketInHandler" odl:type="default"
113            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingListener" />
114   <odl:notification-listener ref="subnetRoutePacketInHandler" />
115
116   <odl:clustered-app-config id="vpnConfig"
117                             binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfig">
118   </odl:clustered-app-config>
119
120   <bean id="arpNotificationHandler"
121         class="org.opendaylight.netvirt.vpnmanager.ArpNotificationHandler">
122     <argument ref="dataBroker" />
123     <argument ref="vpnInterfaceManager" />
124     <argument ref="elanService" />
125     <argument ref="idManagerService" />
126     <argument ref="odlArputilService" />
127     <argument ref="arpMonitoringHandler" />
128     <argument ref="odlInterfaceRpcService" />
129     <argument ref="interfaceManager"/>
130     <argument ref="vpnConfig"/>
131   </bean>
132   <service ref="arpNotificationHandler" odl:type="default"
133            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilListener" />
134   <odl:notification-listener ref="arpNotificationHandler" />
135
136   <bean id="subnetRouteInterfaceStateChangeListener"
137         class="org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener"
138         init-method="start" destroy-method="close">
139     <argument ref="dataBroker" />
140     <argument ref="vpnInterfaceManager" />
141     <argument ref="vpnSubnetRouteHandler" />
142   </bean>
143
144   <bean id="vpnSubnetRouteHandler"
145         class="org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler">
146     <argument ref="dataBroker" />
147     <argument ref="subnetOpDpnManager" />
148     <argument ref="bgpmanager" />
149     <argument ref="vpnInterfaceManager" />
150     <argument ref="idManagerService" />
151     <argument ref="lockManagerService" />
152     <argument ref="vpnOpDataSyncer"/>
153   </bean>
154   <service ref="vpnSubnetRouteHandler" odl:type="default"
155            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnListener" />
156   <odl:notification-listener ref="vpnSubnetRouteHandler" />
157
158   <bean id="tunnelInterfaceStateListener"
159         class="org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener"
160         init-method="start" destroy-method="close">
161     <argument ref="dataBroker" />
162     <argument ref="bgpmanager" />
163     <argument ref="fibManager" />
164     <argument ref="itmRpcService" />
165     <argument ref="odlInterfaceRpcService"/>
166     <argument ref="vpnInterfaceManager" />
167     <argument ref="vpnSubnetRouteHandler" />
168   </bean>
169
170   <bean id="subnetOpDpnManager" class="org.opendaylight.netvirt.vpnmanager.SubnetOpDpnManager">
171     <argument ref="dataBroker" />
172   </bean>
173
174   <bean id="vpnManagerImpl" class="org.opendaylight.netvirt.vpnmanager.VpnManagerImpl"
175         init-method="start">
176     <argument ref="dataBroker" />
177     <argument ref="idManagerService" />
178     <argument ref="vpnInstanceListener" />
179     <argument ref="vpnInterfaceManager" />
180     <argument ref="mdsalUtils" />
181     <argument ref="vpnFootprintService" />
182   </bean>
183   <service ref="vpnManagerImpl"
184            interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
185
186   <bean id="vpnInstanceListener"
187         class="org.opendaylight.netvirt.vpnmanager.VpnInstanceListener"
188         init-method="start" destroy-method="close">
189     <argument ref="dataBroker" />
190     <argument ref="bgpmanager" />
191     <argument ref="idManagerService" />
192     <argument ref="vpnInterfaceManager" />
193     <argument ref="fibManager" />
194     <argument ref="vpnOpDataSyncer" />
195   </bean>
196
197   <bean id="fibEntriesListener" class="org.opendaylight.netvirt.vpnmanager.FibEntriesListener"
198         init-method="start" destroy-method="close">
199     <argument ref="dataBroker" />
200     <argument ref="vpnInstanceListener" />
201   </bean>
202
203   <odl:rpc-implementation ref="vpnRpcServiceImpl" />
204   <bean id="vpnRpcServiceImpl"
205         class="org.opendaylight.netvirt.vpnmanager.VpnRpcServiceImpl">
206     <argument ref="dataBroker" />
207     <argument ref="idManagerService" />
208     <argument ref="vpnInterfaceManager" />
209     <argument ref="fibManager" />
210     <argument ref="bgpmanager" />
211   </bean>
212   <service ref="vpnRpcServiceImpl"
213            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
214
215   <bean id="interVpnLinkService"
216         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkService">
217     <argument ref="dataBroker" />
218   </bean>
219
220   <bean id="interVpnLinkListener"
221         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkListener"
222         init-method="start" destroy-method="close">
223     <argument ref="dataBroker" />
224     <argument ref="idManagerService" />
225     <argument ref="mdsalUtils" />
226     <argument ref="bgpmanager" />
227     <argument ref="fibManager" />
228     <argument ref="notificationPublishService" />
229     <argument ref="interVpnLinkService" />
230     <argument ref="vpnFootprintService" />
231     <argument ref="vpnOpDataSyncer" />
232   </bean>
233
234   <bean id="interVpnLinkNodeListener"
235         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkNodeListener"
236         init-method="start" destroy-method="close">
237     <argument ref="dataBroker" />
238     <argument ref="mdsalUtils" />
239     <argument ref="vpnFootprintService" />
240   </bean>
241
242   <bean id="tunnelEndPointChangeListener"
243         class="org.opendaylight.netvirt.vpnmanager.TunnelEndPointChangeListener"
244         init-method="start" destroy-method="close">
245     <argument ref="dataBroker" />
246     <argument ref="vpnInterfaceManager" />
247   </bean>
248
249   <bean id="VpnNodeListener"
250         class="org.opendaylight.netvirt.vpnmanager.VpnNodeListener"
251         init-method="start" destroy-method="close">
252     <argument ref="dataBroker" />
253     <argument ref="mdsalUtils" />
254     <argument ref="idManagerService" />
255   </bean>
256
257   <bean id="vpnElanInterfaceChangeListener"
258         class="org.opendaylight.netvirt.vpnmanager.VpnElanInterfaceChangeListener"
259         init-method="start" destroy-method="close">
260     <argument ref="dataBroker" />
261     <argument ref="elanService" />
262   </bean>
263
264   <bean id="vpnOpInstanceCacheManager"
265         class="org.opendaylight.netvirt.vpnmanager.cache.listeners.VpnOpInstanceCacheManager"
266         init-method="start" destroy-method="close">
267     <argument ref="dataBroker" />
268   </bean>
269 </blueprint>