bfc3912d61d496790e3a90df635e7bdbbc8034f5
[netvirt.git] /
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   <odl:clustered-app-config id="elanConfig"
28                             binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfig"
29                             default-config-file-name="netvirt-elanmanager-config.xml"
30                             update-strategy="none">
31   </odl:clustered-app-config>
32
33   <bean id="elanBridgeManager" class="org.opendaylight.netvirt.elan.internal.ElanBridgeManager">
34     <argument ref="dataBroker" />
35     <argument ref="elanConfig" />
36   </bean>
37
38   <bean id="elanForwardingEntriesHandler" class="org.opendaylight.netvirt.elan.utils.ElanForwardingEntriesHandler">
39     <argument ref="dataBroker" />
40   </bean>
41
42   <bean id="elanInterfaceManager"
43     class="org.opendaylight.netvirt.elan.internal.ElanInterfaceManager"
44     init-method="init" destroy-method="close">
45     <argument ref="dataBroker" />
46     <argument ref="idManagerService" />
47     <argument ref="mdsalUtils" />
48     <argument ref="interfaceManager" />
49     <argument ref="elanForwardingEntriesHandler" />
50   </bean>
51
52   <bean id="elanInstanceManager"
53     class="org.opendaylight.netvirt.elan.internal.ElanInstanceManager"
54     init-method="init" destroy-method="close">
55     <argument ref="dataBroker" />
56     <argument ref="idManagerService" />
57     <argument ref="elanInterfaceManager" />
58     <argument ref="interfaceManager" />
59   </bean>
60
61   <bean id="elanNodeListener"
62     class="org.opendaylight.netvirt.elan.internal.ElanNodeListener"
63     init-method="init" destroy-method="close">
64     <argument ref="dataBroker" />
65     <argument ref="mdsalUtils" />
66     <argument ref="elanConfig" />
67   </bean>
68
69   <bean id="elanPacketInHandler"
70     class="org.opendaylight.netvirt.elan.internal.ElanPacketInHandler">
71     <argument ref="dataBroker" />
72     <argument ref="interfaceManager" />
73     <argument ref="elanUtils" />
74   </bean>
75   <odl:notification-listener ref="elanPacketInHandler" />
76
77   <bean id="elanSmacFlowEventListener"
78     class="org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener">
79     <argument ref="dataBroker" />
80     <argument ref="interfaceManager" />
81     <argument ref="elanUtils" />
82   </bean>
83   <odl:notification-listener ref="elanSmacFlowEventListener" />
84
85   <bean id="elanUtils" class="org.opendaylight.netvirt.elan.utils.ElanUtils">
86     <argument ref="dataBroker" />
87     <argument ref="mdsalUtils" />
88     <argument ref="elanInstanceManager" />
89     <argument ref="odlInterfaceRpcService" />
90     <argument ref="itmRpcService" />
91     <argument ref="elanInterfaceManager" />
92     <argument ref="entityOwnershipService" />
93     <argument ref="interfaceManager" />
94   </bean>
95
96   <bean id="elanStatisticsImpl" class="org.opendaylight.netvirt.elan.statisitcs.ElanStatisticsImpl">
97     <argument ref="dataBroker" />
98     <argument ref="interfaceManager" />
99   </bean>
100   <odl:rpc-implementation ref="elanStatisticsImpl" />
101
102   <bean id="elanInterfaceStateChangeListener"
103     class="org.opendaylight.netvirt.elan.internal.ElanInterfaceStateChangeListener"
104     init-method="init" destroy-method="close">
105     <argument ref="dataBroker" />
106     <argument ref="elanInterfaceManager" />
107   </bean>
108
109   <bean id="elanTunnelInterfaceStateListener"
110     class="org.opendaylight.netvirt.elan.internal.ElanTunnelInterfaceStateListener"
111     init-method="init" destroy-method="close">
112     <argument ref="dataBroker" />
113     <argument ref="elanInterfaceManager" />
114   </bean>
115
116   <bean id="elanInterfaceStateClusterListener"
117     class="org.opendaylight.netvirt.elan.internal.ElanInterfaceStateClusteredListener"
118     init-method="init" destroy-method="close">
119     <argument ref="dataBroker" />
120     <argument ref="elanInterfaceManager" />
121     <argument ref="elanUtils" />
122     <argument ref="entityOwnershipService" />
123   </bean>
124
125   <bean id="elanDpnInterfaceClusteredListener"
126     class="org.opendaylight.netvirt.elan.internal.ElanDpnInterfaceClusteredListener"
127     init-method="init" destroy-method="close">
128     <argument ref="dataBroker" />
129     <argument ref="entityOwnershipService" />
130     <argument ref="elanUtils" />
131   </bean>
132
133   <bean id="elanVpnPortIpToPortListener"
134     class="org.opendaylight.netvirt.elan.internal.ElanLearntVpnVipToPortListener"
135     init-method="init" destroy-method="close">
136     <argument ref="dataBroker" />
137     <argument ref="interfaceManager" />
138     <argument ref="elanUtils" />
139   </bean>
140
141   <bean id="elanService" class="org.opendaylight.netvirt.elan.internal.ElanServiceProvider"
142     init-method="init">
143     <argument ref="idManagerService" />
144     <argument ref="interfaceManager" />
145     <argument ref="elanInstanceManager" />
146     <argument ref="elanBridgeManager" />
147     <argument ref="dataBroker" />
148     <argument ref="elanInterfaceManager" />
149     <argument ref="elanStatusMonitor" />
150     <argument ref="elanUtils" />
151     <argument ref="entityOwnershipService" />
152   </bean>
153   <service ref="elanService" odl:type="default" interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
154
155   <bean id="cacheElanInterfaceListener" class="org.opendaylight.netvirt.elan.utils.CacheElanInterfaceListener"
156     init-method="init" destroy-method="close">
157     <argument ref="dataBroker" />
158   </bean>
159
160   <bean id="hwvtepLocalUcastMacListener" class="org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepLocalUcastMacListener"
161     init-method="init" destroy-method="close">
162     <argument ref="dataBroker" />
163     <argument ref="elanUtils" />
164   </bean>
165
166   <bean id="elanStatusMonitor" class="org.opendaylight.netvirt.elan.statusanddiag.ElanStatusMonitorJMX"
167     init-method="init" destroy-method="close" />
168
169   <bean id="l2GatewayConnectionListener"
170     class="org.opendaylight.netvirt.elan.l2gw.listeners.L2GatewayConnectionListener"
171     destroy-method="close">
172     <argument ref="dataBroker" />
173     <argument ref="elanUtils" />
174   </bean>
175
176   <bean id="hwvtepPhysicalSwitchListener"
177     class="org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepPhysicalSwitchListener"
178     init-method="init" destroy-method="close">
179     <argument ref="dataBroker" />
180     <argument ref="itmRpcService" />
181     <argument ref="entityOwnershipService" />
182     <argument ref="elanUtils" />
183   </bean>
184
185   <bean id="hwvtepTerminationPointListener"
186     class="org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepTerminationPointListener"
187     destroy-method="close">
188     <argument ref="dataBroker" />
189     <argument ref="elanUtils" />
190     <argument ref="entityOwnershipService" />
191   </bean>
192
193   <bean id="haEventHandler" class="org.opendaylight.netvirt.elan.l2gw.ha.handlers.HAEventHandler">
194     <argument ref="dataBroker" />
195   </bean>
196
197   <bean id="hAListeners" class="org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAListeners">
198     <argument ref="dataBroker" />
199   </bean>
200
201   <bean id="haConfigNodeListener" class="org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAConfigNodeListener">
202     <argument ref="dataBroker" />
203     <argument ref="haEventHandler" />
204   </bean>
205
206   <bean id="haOpClusteredListener" class="org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpClusteredListener">
207     <argument ref="dataBroker" />
208   </bean>
209
210   <bean id="haOpNodeListener" class="org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener">
211     <argument ref="dataBroker" />
212     <argument ref="haEventHandler" />
213   </bean>
214
215   <bean id="ElanOvsdbNodeListener"
216         class="org.opendaylight.netvirt.elan.internal.ElanOvsdbNodeListener"
217         init-method="init" destroy-method="close">
218     <argument ref="dataBroker" />
219     <argument ref="elanConfig" />
220     <argument ref="elanBridgeManager" />
221     <argument ref="elanService" />
222   </bean>
223
224   <bean id="elanGroupListener"
225         class="org.opendaylight.netvirt.elan.l2gw.listeners.ElanGroupListener">
226     <argument ref="elanInterfaceManager" />
227     <argument ref="dataBroker" />
228     <argument ref="elanUtils" />
229     <argument ref="entityOwnershipService" />
230   </bean>
231 </blueprint>