Bug 7142 - all VpnPortIpToPort entries are lost from ODL cache after
[netvirt.git] / vpnservice / elanmanager / elanmanager-impl / src / main / resources / org / opendaylight / blueprint / elanmanager.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="pingpong" />
9   <reference id="notificationService"
10     interface="org.opendaylight.controller.md.sal.binding.api.NotificationService" />
11   <reference id="entityOwnershipService"
12     interface="org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService" />
13   <reference id="mdsalUtils"
14     interface="org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager" />
15   <reference id="interfaceManager"
16     interface="org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager" />
17
18   <odl:rpc-service id="odlInterfaceRpcService"
19     interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService" />
20   <odl:rpc-service id="itmRpcService"
21     interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
22   <odl:rpc-service id="salFlowService"
23     interface="org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService" />
24   <odl:rpc-service id="idManagerService"
25     interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
26
27   <bean id="elanBridgeManager" class="org.opendaylight.netvirt.elan.internal.ElanBridgeManager">
28     <argument ref="dataBroker" />
29   </bean>
30
31   <bean id="elanForwardingEntriesHandler" class="org.opendaylight.netvirt.elan.utils.ElanForwardingEntriesHandler">
32     <argument ref="dataBroker" />
33   </bean>
34
35   <bean id="elanInterfaceManager"
36     class="org.opendaylight.netvirt.elan.internal.ElanInterfaceManager"
37     init-method="init" destroy-method="close">
38     <argument ref="dataBroker" />
39     <argument ref="idManagerService" />
40     <argument ref="mdsalUtils" />
41     <argument ref="interfaceManager" />
42     <argument ref="elanForwardingEntriesHandler" />
43   </bean>
44
45   <bean id="elanInstanceManager"
46     class="org.opendaylight.netvirt.elan.internal.ElanInstanceManager"
47     init-method="init" destroy-method="close">
48     <argument ref="dataBroker" />
49     <argument ref="idManagerService" />
50     <argument ref="elanInterfaceManager" />
51     <argument ref="interfaceManager" />
52   </bean>
53
54   <bean id="elanNodeListener"
55     class="org.opendaylight.netvirt.elan.internal.ElanNodeListener"
56     init-method="init" destroy-method="close">
57     <argument ref="dataBroker" />
58     <argument ref="mdsalUtils" />
59     <argument ref="elanConfig" />
60   </bean>
61
62   <bean id="elanPacketInHandler"
63     class="org.opendaylight.netvirt.elan.internal.ElanPacketInHandler">
64     <argument ref="dataBroker" />
65     <argument ref="interfaceManager" />
66     <argument ref="elanUtils" />
67   </bean>
68   <odl:notification-listener ref="elanPacketInHandler" />
69
70   <bean id="elanSmacFlowEventListener"
71     class="org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener">
72     <argument ref="dataBroker" />
73     <argument ref="interfaceManager" />
74     <argument ref="elanUtils" />
75   </bean>
76   <odl:notification-listener ref="elanSmacFlowEventListener" />
77
78   <bean id="elanUtils" class="org.opendaylight.netvirt.elan.utils.ElanUtils">
79     <argument ref="dataBroker" />
80     <argument ref="mdsalUtils" />
81     <argument ref="elanInstanceManager" />
82     <argument ref="odlInterfaceRpcService" />
83     <argument ref="itmRpcService" />
84     <argument ref="elanInterfaceManager" />
85     <argument ref="entityOwnershipService" />
86     <argument ref="interfaceManager" />
87   </bean>
88
89   <bean id="elanStatisticsImpl" class="org.opendaylight.netvirt.elan.statisitcs.ElanStatisticsImpl">
90     <argument ref="dataBroker" />
91     <argument ref="interfaceManager" />
92   </bean>
93   <odl:rpc-implementation ref="elanStatisticsImpl" />
94
95   <bean id="elanInterfaceStateChangeListener"
96     class="org.opendaylight.netvirt.elan.internal.ElanInterfaceStateChangeListener"
97     init-method="init" destroy-method="close">
98     <argument ref="dataBroker" />
99     <argument ref="elanInterfaceManager" />
100   </bean>
101
102   <bean id="elanInterfaceStateClusterListener"
103     class="org.opendaylight.netvirt.elan.internal.ElanInterfaceStateClusteredListener"
104     init-method="init" destroy-method="close">
105     <argument ref="dataBroker" />
106     <argument ref="elanInterfaceManager" />
107     <argument ref="elanUtils" />
108     <argument ref="entityOwnershipService" />
109   </bean>
110
111   <bean id="elanDpnInterfaceClusteredListener"
112     class="org.opendaylight.netvirt.elan.internal.ElanDpnInterfaceClusteredListener"
113     init-method="init" destroy-method="close">
114     <argument ref="dataBroker" />
115     <argument ref="entityOwnershipService" />
116     <argument ref="elanUtils" />
117   </bean>
118
119   <bean id="elanVpnPortIpToPortListener"
120     class="org.opendaylight.netvirt.elan.internal.ElanLearntVpnVipToPortListener"
121     init-method="init" destroy-method="close">
122     <argument ref="dataBroker" />
123     <argument ref="interfaceManager" />
124     <argument ref="elanUtils" />
125   </bean>
126
127   <bean id="elanService" class="org.opendaylight.netvirt.elan.internal.ElanServiceProvider"
128     init-method="init">
129     <argument ref="idManagerService" />
130     <argument ref="interfaceManager" />
131     <argument ref="elanInstanceManager" />
132     <argument ref="elanBridgeManager" />
133     <argument ref="dataBroker" />
134     <argument ref="elanInterfaceManager" />
135     <argument ref="elanStatusMonitor" />
136     <argument ref="elanUtils" />
137     <argument ref="entityOwnershipService" />
138   </bean>
139   <service ref="elanService" odl:type="default" interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
140
141   <bean id="cacheElanInterfaceListener" class="org.opendaylight.netvirt.elan.utils.CacheElanInterfaceListener"
142     init-method="init" destroy-method="close">
143     <argument ref="dataBroker" />
144   </bean>
145
146   <bean id="hwvtepLocalUcastMacListener" class="org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepLocalUcastMacListener"
147     init-method="init" destroy-method="close">
148     <argument ref="dataBroker" />
149     <argument ref="elanUtils" />
150   </bean>
151
152   <bean id="elanStatusMonitor" class="org.opendaylight.netvirt.elan.statusanddiag.ElanStatusMonitorJMX"
153     init-method="init" />
154
155   <bean id="l2GatewayConnectionListener"
156     class="org.opendaylight.netvirt.elan.l2gw.listeners.L2GatewayConnectionListener"
157     destroy-method="close">
158     <argument ref="dataBroker" />
159     <argument ref="elanUtils" />
160   </bean>
161
162   <bean id="hwvtepPhysicalSwitchListener"
163     class="org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepPhysicalSwitchListener"
164     init-method="init" destroy-method="close">
165     <argument ref="dataBroker" />
166     <argument ref="itmRpcService" />
167     <argument ref="entityOwnershipService" />
168     <argument ref="elanUtils" />
169   </bean>
170
171   <bean id="hwvtepTerminationPointListener"
172     class="org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepTerminationPointListener"
173     destroy-method="close">
174     <argument ref="dataBroker" />
175     <argument ref="elanUtils" />
176     <argument ref="entityOwnershipService" />
177   </bean>
178
179   <bean id="haEventHandler" class="org.opendaylight.netvirt.elan.l2gw.ha.handlers.HAEventHandler">
180     <argument ref="dataBroker" />
181   </bean>
182
183   <bean id="haConfigNodeListener" class="org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAConfigNodeListener">
184     <argument ref="dataBroker" />
185     <argument ref="haEventHandler" />
186   </bean>
187
188   <bean id="haOpClusteredListener" class="org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpClusteredListener">
189     <argument ref="dataBroker" />
190   </bean>
191
192   <bean id="haOpNodeListener" class="org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener">
193     <argument ref="dataBroker" />
194     <argument ref="haEventHandler" />
195   </bean>
196
197   <odl:clustered-app-config id="elanConfig"
198                             binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfig">
199   </odl:clustered-app-config>
200
201   <bean id="ElanOvsdbNodeListener"
202         class="org.opendaylight.netvirt.elan.internal.ElanOvsdbNodeListener"
203         init-method="init" destroy-method="close">
204     <argument ref="dataBroker" />
205     <argument ref="elanConfig" />
206     <argument ref="elanBridgeManager" />
207     <argument ref="elanService" />
208   </bean>
209
210   <bean id="elanGroupListener"
211         class="org.opendaylight.netvirt.elan.l2gw.listeners.ElanGroupListener">
212     <argument ref="elanInterfaceManager" />
213     <argument ref="dataBroker" />
214     <argument ref="elanUtils" />
215     <argument ref="entityOwnershipService" />
216   </bean>
217 </blueprint>