Merge "blueprint cleanup"
[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="elanForwardingEntriesHandler" class="org.opendaylight.netvirt.elan.utils.ElanForwardingEntriesHandler"
28     destroy-method="close">
29     <argument ref="dataBroker" />
30     <argument ref="elanUtils" />
31   </bean>
32
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" />
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     <argument ref="elanUtils" />
53   </bean>
54
55   <bean id="elanNodeListener"
56     class="org.opendaylight.netvirt.elan.internal.ElanNodeListener"
57     destroy-method="close">
58     <argument ref="dataBroker" />
59     <argument ref="mdsalUtils" />
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     <argument ref="elanL2GatewayUtils" />
68   </bean>
69   <odl:notification-listener ref="elanPacketInHandler" />
70
71   <bean id="elanSmacFlowEventListener"
72     class="org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener">
73     <argument ref="dataBroker" />
74     <argument ref="interfaceManager" />
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   </bean>
85
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" />
91   </bean>
92   <odl:rpc-implementation ref="elanStatisticsImpl" />
93
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" />
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="elanInterfaceClusterListener"
112     class="org.opendaylight.netvirt.elan.internal.ElanDpnInterfaceClusteredListener">
113     <argument ref="dataBroker" />
114     <argument ref="entityOwnershipService" />
115     <argument ref="elanL2GatewayUtils" />
116   </bean>
117
118   <bean id="elanService" class="org.opendaylight.netvirt.elan.internal.ElanServiceProvider"
119     init-method="init">
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" />
127   </bean>
128   <service ref="elanService" odl:type="default" interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
129
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" />
135   </bean>
136
137   <bean id="cacheElanInterfaceListener" class="org.opendaylight.netvirt.elan.utils.CacheElanInterfaceListener"
138     init-method="init" destroy-method="close">
139     <argument ref="dataBroker" />
140   </bean>
141
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" />
146   </bean>
147
148   <bean id="elanStatusMonitor" class="org.opendaylight.netvirt.elan.statusanddiag.ElanStatusMonitor"
149     init-method="init" />
150
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" />
157   </bean>
158
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" />
166   </bean>
167
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" />
174   </bean>
175 </blueprint>