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