Migrate to MD-SAL APIs
[bgpcep.git] / bgp / rib-impl / src / main / resources / OSGI-INF / blueprint / bgp-rib.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   Copyright (c) 2016 Brocade Communications Systems, Inc. and others.  All rights reserved.
4
5   This program and the accompanying materials are made available under the
6   terms of the Eclipse Public License v1.0 which accompanies this distribution,
7   and is available at http://www.eclipse.org/legal/epl-v10.html
8 -->
9 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
10            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0">
11
12   <reference id="BGPExtensionContext" interface="org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext"/>
13   <reference id="globalBossGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-boss-group"/>
14   <reference id="globalWorkerGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-worker-group"/>
15   <reference id="clusterSingletonServiceProvider" interface="org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider"/>
16
17   <bean id="BGPPeerRegistry" class="org.opendaylight.protocol.bgp.rib.impl.StrictBGPPeerRegistry"
18           factory-method="instance" destroy-method="close"/>
19
20   <service ref="BGPPeerRegistry" interface="org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry"
21           odl:type="default"/>
22
23   <bean id="BGPDispatcher" class="org.opendaylight.protocol.bgp.rib.impl.BGPDispatcherImpl"  destroy-method="close">
24     <argument>
25       <bean factory-ref="BGPExtensionContext" factory-method="getMessageRegistry"/>
26     </argument>
27     <argument ref="globalBossGroup"/>
28     <argument ref="globalWorkerGroup"/>
29     <argument ref="BGPPeerRegistry"/>
30   </bean>
31
32   <service ref="BGPDispatcher" interface="org.opendaylight.protocol.bgp.rib.impl.spi.BGPDispatcher"/>
33
34   <reference id="dataBroker" interface="org.opendaylight.mdsal.binding.api.DataBroker" odl:type="default"/>
35   <reference id="globalBgpExtensions" interface="org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext"/>
36   <reference id="codecTreeFactory" interface="org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory"/>
37   <reference id="domDataBroker" interface="org.opendaylight.mdsal.dom.api.DOMDataBroker" odl:type="default"/>
38   <reference id="bgpTableTypeRegistry" interface="org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer"/>
39   <odl:static-reference id="domSchemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService"/>
40   <reference id="rpcRegistry" interface="org.opendaylight.mdsal.binding.api.RpcProviderService"/>
41
42   <bean id="bgpDeployer" class="org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl"
43         init-method="init"
44         destroy-method="close">
45     <argument value="global-bgp"/>
46     <argument ref="clusterSingletonServiceProvider"/>
47     <argument ref="dataBroker"/>
48     <argument ref="bgpTableTypeRegistry"/>
49     <argument ref="globalBgpExtensions"/>
50     <argument ref="BGPDispatcher"/>
51     <argument ref="policiesProvider"/>
52     <argument ref="codecTreeFactory"/>
53     <argument ref="domDataBroker"/>
54     <argument ref="domSchemaService"/>
55     <argument ref="rpcRegistry"/>
56   </bean>
57
58   <reference id="policiesProvider" interface="org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.BGPRibRoutingPolicyFactory"/>
59
60   <bean id="bgpStateCollector" class="org.opendaylight.protocol.bgp.rib.impl.state.BGPStateCollectorImpl"/>
61   <service ref="bgpStateCollector" interface="org.opendaylight.protocol.bgp.rib.spi.state.BGPStateConsumer"/>
62
63   <reference-list id="ribStatsListener" interface="org.opendaylight.protocol.bgp.rib.spi.state.BGPRibStateConsumer"
64     availability="optional">
65       <reference-listener bind-method="bind" unbind-method="unbind">
66           <ref component-id="bgpStateCollector"/>
67       </reference-listener>
68   </reference-list>
69
70   <reference-list id="peersStatsListener" interface="org.opendaylight.protocol.bgp.rib.spi.state.BGPPeerStateConsumer"
71                   availability="optional">
72       <reference-listener bind-method="bind" unbind-method="unbind">
73           <ref component-id="bgpStateCollector"/>
74       </reference-listener>
75   </reference-list>
76 </blueprint>