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="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" />
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" />
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>
33 <bean id="elanBridgeManager" class="org.opendaylight.netvirt.elan.internal.ElanBridgeManager">
34 <argument ref="dataBroker" />
35 <argument ref="elanConfig" />
38 <bean id="elanForwardingEntriesHandler" class="org.opendaylight.netvirt.elan.utils.ElanForwardingEntriesHandler">
39 <argument ref="dataBroker" />
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" />
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" />
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" />
69 <bean id="elanPacketInHandler"
70 class="org.opendaylight.netvirt.elan.internal.ElanPacketInHandler">
71 <argument ref="dataBroker" />
72 <argument ref="interfaceManager" />
73 <argument ref="elanUtils" />
75 <odl:notification-listener ref="elanPacketInHandler" />
77 <bean id="elanSmacFlowEventListener"
78 class="org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener">
79 <argument ref="dataBroker" />
80 <argument ref="interfaceManager" />
81 <argument ref="elanUtils" />
83 <odl:notification-listener ref="elanSmacFlowEventListener" />
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" />
96 <bean id="elanStatisticsImpl" class="org.opendaylight.netvirt.elan.statisitcs.ElanStatisticsImpl">
97 <argument ref="dataBroker" />
98 <argument ref="interfaceManager" />
100 <odl:rpc-implementation ref="elanStatisticsImpl" />
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" />
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" />
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" />
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" />
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" />
141 <bean id="elanService" class="org.opendaylight.netvirt.elan.internal.ElanServiceProvider"
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" />
153 <service ref="elanService" odl:type="default" interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
155 <bean id="cacheElanInterfaceListener" class="org.opendaylight.netvirt.elan.utils.CacheElanInterfaceListener"
156 init-method="init" destroy-method="close">
157 <argument ref="dataBroker" />
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" />
166 <bean id="elanStatusMonitor" class="org.opendaylight.netvirt.elan.statusanddiag.ElanStatusMonitorJMX"
167 init-method="init" destroy-method="close" />
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" />
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" />
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" />
193 <bean id="haEventHandler" class="org.opendaylight.netvirt.elan.l2gw.ha.handlers.HAEventHandler">
194 <argument ref="dataBroker" />
197 <bean id="hAListeners" class="org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAListeners">
198 <argument ref="dataBroker" />
201 <bean id="haConfigNodeListener" class="org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAConfigNodeListener">
202 <argument ref="dataBroker" />
203 <argument ref="haEventHandler" />
206 <bean id="haOpClusteredListener" class="org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpClusteredListener">
207 <argument ref="dataBroker" />
210 <bean id="haOpNodeListener" class="org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener">
211 <argument ref="dataBroker" />
212 <argument ref="haEventHandler" />
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" />
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" />