Bug 7281: Support auto-TZ for non-neutron northbounds.
[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="notificationPublishService"
14              interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" />
15   <reference id="vpnManager"
16            interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
17   <reference id="centralizedSwitchProvider"
18            interface="org.opendaylight.netvirt.vpnmanager.api.ICentralizedSwitchProvider" />
19   <reference id="interfaceManager"
20     interface="org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager" />
21
22   <odl:rpc-service id="idManagerService"
23                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
24   <odl:rpc-service id="itmRpcService"
25                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
26   <odl:rpc-service id="vpnRpcService"
27                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
28   <odl:rpc-service id="odlArputilService"
29                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
30
31   <bean id="neutronvpnNatManager"
32         class="org.opendaylight.netvirt.neutronvpn.NeutronvpnNatManager"
33         destroy-method="close">
34     <argument ref="dataBroker" />
35   </bean>
36
37   <bean id="neutronFloatingToFixedIpMappingChangeListener"
38         class="org.opendaylight.netvirt.neutronvpn.NeutronFloatingToFixedIpMappingChangeListener"
39         init-method="start" destroy-method="close">
40     <argument ref="dataBroker" />
41   </bean>
42
43   <bean id="neutronvpnManager" class="org.opendaylight.netvirt.neutronvpn.NeutronvpnManager"
44         destroy-method="close">
45     <argument ref="dataBroker" />
46     <argument ref="notificationPublishService" />
47     <argument ref="neutronvpnNatManager" />
48     <argument ref="vpnRpcService" />
49     <argument ref="elanService" />
50     <argument ref="neutronFloatingToFixedIpMappingChangeListener" />
51   </bean>
52   <odl:rpc-implementation ref="neutronvpnManager" />
53
54   <bean id="neutronBgpvpnChangeListener"
55         class="org.opendaylight.netvirt.neutronvpn.NeutronBgpvpnChangeListener"
56         init-method="start" destroy-method="close">
57     <argument ref="dataBroker" />
58     <argument ref="neutronvpnManager" />
59     <argument ref="idManagerService" />
60   </bean>
61
62   <bean id="neutronHostConfigChangeListener"
63         class="org.opendaylight.netvirt.neutronvpn.NeutronHostConfigChangeListener"
64         init-method="start" destroy-method="close">
65     <argument ref="dataBroker" />
66   </bean>
67
68   <bean id="neutronNetworkChangeListener"
69         class="org.opendaylight.netvirt.neutronvpn.NeutronNetworkChangeListener"
70         init-method="start" destroy-method="close">
71     <argument ref="dataBroker" />
72     <argument ref="neutronvpnManager" />
73     <argument ref="neutronvpnNatManager" />
74     <argument ref="elanService" />
75   </bean>
76
77   <bean id="neutronSubnetChangeListener"
78         class="org.opendaylight.netvirt.neutronvpn.NeutronSubnetChangeListener"
79         init-method="start" destroy-method="close">
80     <argument ref="dataBroker" />
81     <argument ref="neutronvpnManager" />
82     <argument ref="neutronvpnNatManager" />
83     <argument ref="neutronExternalSubnetHandler" />
84   </bean>
85
86   <bean id="neutronExternalSubnetHandler"
87         class="org.opendaylight.netvirt.neutronvpn.NeutronExternalSubnetHandler"
88         destroy-method="close">
89     <argument ref="neutronvpnManager" />
90     <argument ref="neutronvpnNatManager" />
91   </bean>
92
93   <bean id="neutronRouterChangeListener"
94         class="org.opendaylight.netvirt.neutronvpn.NeutronRouterChangeListener"
95         init-method="start" destroy-method="close">
96     <argument ref="dataBroker" />
97     <argument ref="neutronvpnManager" />
98     <argument ref="neutronvpnNatManager" />
99     <argument ref="neutronSubnetGwMacResolver" />
100   </bean>
101
102   <bean id="neutronPortChangeListener"
103         class="org.opendaylight.netvirt.neutronvpn.NeutronPortChangeListener"
104         init-method="start" destroy-method="close">
105     <argument ref="dataBroker" />
106     <argument ref="neutronvpnManager" />
107     <argument ref="neutronvpnNatManager" />
108     <argument ref="notificationPublishService" />
109     <argument ref="neutronSubnetGwMacResolver" />
110     <argument ref="elanService" />
111   </bean>
112
113   <bean id="neutronvpnSubnetmapListener"
114         class="org.opendaylight.netvirt.neutronvpn.SubnetmapChangeListener"
115         init-method="start" destroy-method="close">
116     <argument ref="dataBroker" />
117     <argument ref="notificationPublishService" />
118   </bean>
119
120   <bean id="neutronSubnetGwMacResolver"
121         class="org.opendaylight.netvirt.neutronvpn.NeutronSubnetGwMacResolver"
122         init-method="start" destroy-method="close">
123     <argument ref="dataBroker" />
124     <argument ref="vpnManager" />
125     <argument ref="odlArputilService" />
126     <argument ref="elanService" />
127     <argument ref="centralizedSwitchProvider" />
128   </bean>
129
130   <bean id="l2GatewayListener"
131         class="org.opendaylight.netvirt.neutronvpn.l2gw.L2GatewayListener"
132         init-method="start" destroy-method="close">
133     <argument ref="dataBroker" />
134     <argument ref="entityOwnershipService" />
135     <argument ref="itmRpcService" />
136   </bean>
137
138   <bean id="l2GwTransportZoneListener"
139         class="org.opendaylight.netvirt.neutronvpn.l2gw.L2GwTransportZoneListener"
140         init-method="start" destroy-method="close">
141     <argument ref="dataBroker" />
142     <argument ref="itmRpcService" />
143   </bean>
144
145   <bean id="neutronSecurityRuleListener"
146         class="org.opendaylight.netvirt.neutronvpn.NeutronSecurityRuleListener"
147         init-method="start" destroy-method="close">
148     <argument ref="dataBroker" />
149   </bean>
150
151   <bean id="neutronvpnManagerImpl"
152         class="org.opendaylight.netvirt.neutronvpn.NeutronvpnManagerImpl">
153         <argument ref="neutronvpnManager" />
154   </bean>
155
156   <bean id="NeutronTrunkChangeListener"
157         class="org.opendaylight.netvirt.neutronvpn.NeutronTrunkChangeListener"
158         init-method="start" destroy-method="close">
159     <argument ref="dataBroker" />
160     <argument ref="interfaceManager" />
161   </bean>
162
163   <service ref="neutronvpnManagerImpl" odl:type="default"
164            interface="org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager" />
165 </blueprint>