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 <bean id="elanForwardingEntriesHandler" class="org.opendaylight.netvirt.elan.utils.ElanForwardingEntriesHandler"
28 destroy-method="close">
29 <argument ref="dataBroker" />
30 <argument ref="elanUtils" />
33 <bean id="elanInterfaceManager"
34 class="org.opendaylight.netvirt.elan.internal.ElanInterfaceManager"
35 destroy-method="close">
36 <argument ref="dataBroker" />
37 <argument ref="idManagerService" />
38 <argument ref="mdsalUtils" />
39 <argument ref="interfaceManager" />
40 <argument ref="elanForwardingEntriesHandler" />
41 <argument ref="elanL2GatewayUtils" />
42 <argument ref="elanUtils" />
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 <argument ref="elanUtils" />
55 <bean id="elanNodeListener"
56 class="org.opendaylight.netvirt.elan.internal.ElanNodeListener"
57 destroy-method="close">
58 <argument ref="dataBroker" />
59 <argument ref="mdsalUtils" />
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 <argument ref="elanL2GatewayUtils" />
69 <odl:notification-listener ref="elanPacketInHandler" />
71 <bean id="elanSmacFlowEventListener"
72 class="org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener">
73 <argument ref="dataBroker" />
74 <argument ref="interfaceManager" />
76 <odl:notification-listener ref="elanSmacFlowEventListener" />
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" />
86 <bean id="elanStatisticsImpl" class="org.opendaylight.netvirt.elan.statisitcs.ElanStatisticsImpl">
87 <argument ref="dataBroker" />
88 <argument ref="interfaceManager" />
89 <argument ref="mdsalUtils" />
90 <argument ref="elanUtils" />
92 <odl:rpc-implementation ref="elanStatisticsImpl" />
94 <bean id="elanInterfaceStateChangeListener"
95 class="org.opendaylight.netvirt.elan.internal.ElanInterfaceStateChangeListener">
96 <argument ref="dataBroker" />
97 <argument ref="elanInterfaceManager" />
98 <argument ref="interfaceManager" />
99 <argument ref="elanUtils" />
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" />
111 <bean id="elanInterfaceClusterListener"
112 class="org.opendaylight.netvirt.elan.internal.ElanDpnInterfaceClusteredListener">
113 <argument ref="dataBroker" />
114 <argument ref="entityOwnershipService" />
115 <argument ref="elanL2GatewayUtils" />
118 <bean id="elanService" class="org.opendaylight.netvirt.elan.internal.ElanServiceProvider"
120 <argument ref="idManagerService" />
121 <argument ref="interfaceManager" />
122 <argument ref="elanInstanceManager" />
123 <argument ref="elanBridgeManager" />
124 <argument ref="dataBroker" />
125 <argument ref="elanStatusMonitor" />
126 <argument ref="elanUtils" />
128 <service ref="elanService" odl:type="default" interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
130 <bean id="elanL2GatewayUtils" class="org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils">
131 <argument ref="dataBroker" />
132 <argument ref="itmRpcService" />
133 <argument ref="elanUtils" />
134 <argument ref="entityOwnershipService" />
137 <bean id="cacheElanInterfaceListener" class="org.opendaylight.netvirt.elan.utils.CacheElanInterfaceListener"
138 init-method="init" destroy-method="close">
139 <argument ref="dataBroker" />
142 <bean id="hwvtepLocalUcastMacListener" class="org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepLocalUcastMacListener"
143 init-method="init" destroy-method="close">
144 <argument ref="dataBroker" />
145 <argument ref="elanL2GatewayUtils" />
148 <bean id="elanStatusMonitor" class="org.opendaylight.netvirt.elan.statusanddiag.ElanStatusMonitor"
149 init-method="init" />
151 <bean id="l2GatewayConnectionListener"
152 class="org.opendaylight.netvirt.elan.l2gw.listeners.L2GatewayConnectionListener"
153 destroy-method="close">
154 <argument ref="dataBroker" />
155 <argument ref="elanInstanceManager" />
156 <argument ref="l2GatewayConnectionUtils" />
159 <bean id="hwvtepPhysicalSwitchListener"
160 class="org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepPhysicalSwitchListener"
161 init-method="init" destroy-method="close">
162 <argument ref="dataBroker" />
163 <argument ref="itmRpcService" />
164 <argument ref="entityOwnershipService" />
165 <argument ref="l2GatewayConnectionUtils" />
168 <bean id="hwvtepTerminationPointListener"
169 class="org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepTerminationPointListener"
170 destroy-method="close">
171 <argument ref="broker" />
172 <argument ref="elanL2GatewayUtils" />
173 <argument ref="entityOwnershipService" />