Merge "Bug 6666: Making sure no 0 datapathID is used when adding interfaces to the...
[netvirt.git] / vpnservice / neutronvpn / neutronvpn-impl / src / main / resources / org / opendaylight / blueprint / neutronvpn.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="default" />
9   <reference id="elanService"
10              interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
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="notificationPublishService"
16              interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" />
17   <reference id="vpnManager"
18            interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
19
20
21   <odl:rpc-service id="idManagerService"
22                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
23   <odl:rpc-service id="odlInterfaceRpcService"
24                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService" />
25   <odl:rpc-service id="itmRpcService"
26                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
27   <odl:rpc-service id="lockManagerService"
28                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService" />
29   <odl:rpc-service id="vpnRpcService"
30                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
31   <odl:rpc-service id="odlArputilService"
32                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
33
34   <odl:clustered-app-config id="neutronvpnConfig"
35                             binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.config.rev160806.NeutronvpnConfig"
36                             default-config-file-name="netvirt-neutronvpn-config.xml">
37   </odl:clustered-app-config>
38
39   <bean id="neutronvpnNatManager"
40         class="org.opendaylight.netvirt.neutronvpn.NeutronvpnNatManager"
41         destroy-method="close">
42     <argument ref="dataBroker" />
43     <argument ref="mdsalUtils" />
44     <argument ref="lockManagerService" />
45     <argument ref="elanService" />
46   </bean>
47
48   <bean id="neutronFloatingToFixedIpMappingChangeListener"
49         class="org.opendaylight.netvirt.neutronvpn.NeutronFloatingToFixedIpMappingChangeListener"
50         init-method="start" destroy-method="close">
51     <argument ref="dataBroker" />
52     <argument ref="lockManagerService" />
53   </bean>
54
55   <bean id="neutronvpnManager" class="org.opendaylight.netvirt.neutronvpn.NeutronvpnManager"
56         destroy-method="close">
57     <argument ref="dataBroker" />
58     <argument ref="mdsalUtils" />
59     <argument ref="notificationPublishService" />
60     <argument ref="neutronvpnNatManager" />
61     <argument ref="lockManagerService" />
62     <argument ref="vpnRpcService" />
63     <argument ref="elanService" />
64     <argument ref="neutronFloatingToFixedIpMappingChangeListener" />
65     <argument ref="neutronvpnConfig" />
66   </bean>
67   <odl:rpc-implementation ref="neutronvpnManager" />
68
69   <bean id="neutronBgpvpnChangeListener"
70         class="org.opendaylight.netvirt.neutronvpn.NeutronBgpvpnChangeListener"
71         init-method="start" destroy-method="close">
72     <argument ref="dataBroker" />
73     <argument ref="neutronvpnManager" />
74     <argument ref="idManagerService" />
75   </bean>
76
77   <bean id="neutronHostConfigChangeListener"
78         class="org.opendaylight.netvirt.neutronvpn.NeutronHostConfigChangeListener"
79         init-method="start" destroy-method="close">
80     <argument ref="dataBroker" />
81   </bean>
82
83   <bean id="neutronNetworkChangeListener"
84         class="org.opendaylight.netvirt.neutronvpn.NeutronNetworkChangeListener"
85         init-method="start" destroy-method="close">
86     <argument ref="dataBroker" />
87     <argument ref="neutronvpnManager" />
88     <argument ref="neutronvpnNatManager" />
89     <argument ref="elanService" />
90     <argument ref="odlInterfaceRpcService" />
91   </bean>
92
93   <bean id="neutronQosPolicyChangeListener"
94         class="org.opendaylight.netvirt.neutronvpn.NeutronQosPolicyChangeListener"
95         init-method="start" destroy-method="close">
96     <argument ref="dataBroker" />
97     <argument ref="odlInterfaceRpcService" />
98   </bean>
99
100   <bean id="neutronSubnetChangeListener"
101         class="org.opendaylight.netvirt.neutronvpn.NeutronSubnetChangeListener"
102         init-method="start" destroy-method="close">
103     <argument ref="dataBroker" />
104     <argument ref="neutronvpnManager" />
105   </bean>
106
107   <bean id="neutronRouterChangeListener"
108         class="org.opendaylight.netvirt.neutronvpn.NeutronRouterChangeListener"
109         init-method="start" destroy-method="close">
110     <argument ref="dataBroker" />
111     <argument ref="neutronvpnManager" />
112     <argument ref="neutronvpnNatManager" />
113     <argument ref="neutronSubnetGwMacResolver" />
114   </bean>
115
116   <bean id="neutronPortChangeListener"
117         class="org.opendaylight.netvirt.neutronvpn.NeutronPortChangeListener"
118         init-method="start" destroy-method="close">
119     <argument ref="dataBroker" />
120     <argument ref="neutronvpnManager" />
121     <argument ref="neutronvpnNatManager" />
122     <argument ref="notificationPublishService" />
123     <argument ref="lockManagerService" />
124     <argument ref="neutronSubnetGwMacResolver" />
125     <argument ref="odlInterfaceRpcService" />
126     <argument ref="elanService" />
127   </bean>
128
129   <bean id="neutronSubnetGwMacResolver"
130         class="org.opendaylight.netvirt.neutronvpn.NeutronSubnetGwMacResolver"
131         init-method="start" destroy-method="close">
132     <argument ref="dataBroker" />
133     <argument ref="vpnManager" />
134     <argument ref="odlArputilService" />
135     <argument ref="elanService" />
136   </bean>
137
138   <bean id="l2GatewayListener"
139         class="org.opendaylight.netvirt.neutronvpn.l2gw.L2GatewayListener"
140         init-method="start" destroy-method="close">
141     <argument ref="dataBroker" />
142     <argument ref="entityOwnershipService" />
143     <argument ref="itmRpcService" />
144   </bean>
145
146   <bean id="l2GwTransportZoneListener"
147         class="org.opendaylight.netvirt.neutronvpn.l2gw.L2GwTransportZoneListener"
148         init-method="start" destroy-method="close">
149     <argument ref="dataBroker" />
150     <argument ref="itmRpcService" />
151   </bean>
152
153   <bean id="neutronSecurityRuleListener"
154         class="org.opendaylight.netvirt.neutronvpn.NeutronSecurityRuleListener"
155         init-method="start" destroy-method="close">
156     <argument ref="dataBroker" />
157   </bean>
158
159   <bean id="neutronvpnManagerImpl"
160         class="org.opendaylight.netvirt.neutronvpn.NeutronvpnManagerImpl">
161         <argument ref="neutronvpnManager" />
162   </bean>
163
164   <bean id="InterfaceStateToTransportZoneListener"
165         class="org.opendaylight.netvirt.neutronvpn.InterfaceStateToTransportZoneListener"
166         init-method="start" destroy-method="close">
167     <argument ref="dataBroker" />
168     <argument ref="neutronvpnManager" />
169   </bean>
170
171   <bean id="BridgeRefEntryToTransportZoneListener"
172         class="org.opendaylight.netvirt.neutronvpn.BridgeRefEntryToTransportZoneListener"
173         init-method="start" destroy-method="close">
174     <argument ref="dataBroker" />
175     <argument ref="neutronvpnManager" />
176   </bean>
177
178   <bean id="NeutronRouterDpnsToTransportZoneListener"
179         class="org.opendaylight.netvirt.neutronvpn.NeutronRouterDpnsToTransportZoneListener"
180         init-method="start" destroy-method="close">
181     <argument ref="dataBroker" />
182     <argument ref="neutronvpnManager" />
183   </bean>
184
185   <service ref="neutronvpnManagerImpl" odl:type="default"
186            interface="org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager" />
187 </blueprint>