Merge "Bug-6741: eth1 flows on table 0 are missing from d2 ovs"
[netvirt.git] / vpnservice / vpnmanager / vpnmanager-impl / src / main / resources / org / opendaylight / blueprint / vpnmanager.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="mdsalUtils"
10              interface="org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager" />
11   <reference id="notificationPublishService"
12              interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" />
13   <reference id="bgpmanager"
14              interface="org.opendaylight.netvirt.bgpmanager.api.IBgpManager" />
15   <reference id="elanService"
16              interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
17   <reference id="fibManager"
18              interface="org.opendaylight.netvirt.fibmanager.api.IFibManager" />
19
20   <odl:rpc-service id="idManagerService"
21                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
22   <odl:rpc-service id="itmRpcService"
23                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
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="odlArputilService"
27                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
28   <odl:rpc-service id="packetProcessingService"
29                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService" />
30
31   <bean id="dpnInVpnChangeListener"
32         class="org.opendaylight.netvirt.vpnmanager.DpnInVpnChangeListener">
33     <argument ref="dataBroker" />
34     <argument ref="mdsalUtils" />
35   </bean>
36   <service ref="dpnInVpnChangeListener" odl:type="default"
37            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.OdlL3vpnListener" />
38   <odl:notification-listener ref="dpnInVpnChangeListener" />
39
40   <bean id="vpnInterfaceManager"
41         class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager"
42         init-method="start" destroy-method="close">
43     <argument ref="dataBroker" />
44     <argument ref="bgpmanager" />
45     <argument ref="odlArputilService" />
46     <argument ref="idManagerService" />
47     <argument ref="mdsalUtils" />
48     <argument ref="fibManager" />
49     <argument ref="odlInterfaceRpcService" />
50     <argument ref="notificationPublishService" />
51   </bean>
52
53   <bean id="tunnelInterfaceStateListener"
54         class="org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener"
55         init-method="start" destroy-method="close">
56     <argument ref="dataBroker" />
57     <argument ref="bgpmanager" />
58     <argument ref="fibManager" />
59     <argument ref="itmRpcService" />
60   </bean>
61
62   <bean id="interfaceStateChangeListener"
63         class="org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener"
64         init-method="start" destroy-method="close">
65     <argument ref="dataBroker" />
66     <argument ref="vpnInterfaceManager" />
67   </bean>
68
69   <bean id="vpnInterfaceOpListener"
70         class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceOpListener"
71         init-method="start" destroy-method="close">
72     <argument ref="dataBroker" />
73     <argument ref="vpnInterfaceManager" />
74   </bean>
75
76   <bean id="arpScheduler"
77         class="org.opendaylight.netvirt.vpnmanager.ArpScheduler"
78         init-method="start" destroy-method="close">
79     <argument ref="dataBroker" />
80     <argument ref="odlInterfaceRpcService" />
81     <argument ref="mdsalUtils" />
82   </bean>
83
84   <bean id="subnetRoutePacketInHandler"
85         class="org.opendaylight.netvirt.vpnmanager.SubnetRoutePacketInHandler">
86     <argument ref="dataBroker" />
87     <argument ref="packetProcessingService" />
88   </bean>
89   <service ref="subnetRoutePacketInHandler" odl:type="default"
90            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingListener" />
91   <odl:notification-listener ref="subnetRoutePacketInHandler" />
92
93   <bean id="arpNotificationHandler"
94         class="org.opendaylight.netvirt.vpnmanager.ArpNotificationHandler">
95     <argument ref="dataBroker" />
96     <argument ref="vpnInterfaceManager" />
97     <argument ref="elanService" />
98     <argument ref="idManagerService" />
99     <argument ref="odlArputilService" />
100     <argument ref="arpScheduler" />
101   </bean>
102   <service ref="arpNotificationHandler" odl:type="default"
103            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilListener" />
104   <odl:notification-listener ref="arpNotificationHandler" />
105
106   <bean id="subnetRouteInterfaceStateChangeListener"
107         class="org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener"
108         init-method="start" destroy-method="close">
109     <argument ref="dataBroker" />
110     <argument ref="vpnInterfaceManager" />
111     <argument ref="vpnSubnetRouteHandler" />
112   </bean>
113
114   <bean id="vpnSubnetRouteHandler"
115         class="org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler">
116     <argument ref="dataBroker" />
117     <argument ref="subnetOpDpnManager" />
118     <argument ref="bgpmanager" />
119     <argument ref="vpnInterfaceManager" />
120     <argument ref="idManagerService" />
121   </bean>
122   <service ref="vpnSubnetRouteHandler" odl:type="default"
123            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnListener" />
124   <odl:notification-listener ref="vpnSubnetRouteHandler" />
125
126   <bean id="subnetOpDpnManager" class="org.opendaylight.netvirt.vpnmanager.SubnetOpDpnManager">
127     <argument ref="dataBroker" />
128   </bean>
129
130   <bean id="vpnManagerImpl" class="org.opendaylight.netvirt.vpnmanager.VpnManagerImpl"
131         init-method="start">
132     <argument ref="dataBroker" />
133     <argument ref="idManagerService" />
134     <argument ref="vpnInstanceListener" />
135     <argument ref="vpnInterfaceManager" />
136     <argument ref="mdsalUtils" />
137   </bean>
138   <service ref="vpnManagerImpl"
139            interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
140
141   <bean id="vpnInstanceListener"
142         class="org.opendaylight.netvirt.vpnmanager.VpnInstanceListener"
143         init-method="start" destroy-method="close">
144     <argument ref="dataBroker" />
145     <argument ref="bgpmanager" />
146     <argument ref="idManagerService" />
147     <argument ref="vpnInterfaceManager" />
148     <argument ref="fibManager" />
149   </bean>
150
151   <bean id="fibEntriesListener" class="org.opendaylight.netvirt.vpnmanager.FibEntriesListener"
152         init-method="start" destroy-method="close">
153     <argument ref="dataBroker" />
154     <argument ref="vpnInstanceListener" />
155   </bean>
156
157   <bean id="VpnInterfaceOpListener"
158         class="org.opendaylight.netvirt.vpnmanager.VpnInterfaceOpListener"
159         init-method="start" destroy-method="close">
160     <argument ref="dataBroker" />
161     <argument ref="vpnInterfaceManager" />
162   </bean>
163
164   <bean id="routerInterfaceListener"
165         class="org.opendaylight.netvirt.vpnmanager.RouterInterfaceListener"
166         init-method="start" destroy-method="close">
167     <argument ref="dataBroker" />
168     <argument ref="vpnInterfaceManager" />
169   </bean>
170
171   <odl:rpc-implementation ref="vpnRpcServiceImpl" />
172   <bean id="vpnRpcServiceImpl"
173         class="org.opendaylight.netvirt.vpnmanager.VpnRpcServiceImpl">
174     <argument ref="dataBroker" />
175     <argument ref="idManagerService" />
176     <argument ref="vpnInterfaceManager" />
177     <argument ref="fibManager" />
178     <argument ref="bgpmanager" />
179   </bean>
180   <service ref="vpnRpcServiceImpl"
181            interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
182
183   <bean id="interVpnLinkListener"
184         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkListener"
185         init-method="start" destroy-method="close">
186     <argument ref="dataBroker" />
187     <argument ref="idManagerService" />
188     <argument ref="mdsalUtils" />
189     <argument ref="bgpmanager" />
190     <argument ref="notificationPublishService" />
191   </bean>
192
193   <bean id="interVpnLinkNodeListener"
194         class="org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkNodeListener"
195         init-method="start" destroy-method="close">
196     <argument ref="dataBroker" />
197     <argument ref="mdsalUtils" />
198   </bean>
199
200   <bean id="tunnelEndPointChangeListener"
201         class="org.opendaylight.netvirt.vpnmanager.TunnelEndPointChangeListener"
202         init-method="start" destroy-method="close">
203     <argument ref="dataBroker" />
204     <argument ref="vpnInterfaceManager" />
205   </bean>
206 </blueprint>