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">
5 <reference id="BGPExtensionContext" interface="org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext"/>
6 <reference id="globalBossGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-boss-group"/>
7 <reference id="globalWorkerGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-worker-group"/>
8 <reference id="clusterSingletonServiceProvider" interface="org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider"/>
10 <bean id="BGPPeerRegistry" class="org.opendaylight.protocol.bgp.rib.impl.StrictBGPPeerRegistry"
11 factory-method="instance" destroy-method="close"/>
13 <service ref="BGPPeerRegistry" interface="org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry"
15 <!-- The following service properties specify the config system module and instance that correspond to
16 this OSGi service which enables the config system module to be restarted when this blueprint
17 container is restarted. -->
19 <entry key="config-module-namespace" value="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"/>
20 <entry key="config-module-name" value="strict-bgp-peer-registry"/>
21 <entry key="config-instance-name" value="global-bgp-peer-registry"/>
25 <bean id="BGPDispatcher" class="org.opendaylight.protocol.bgp.rib.impl.BGPDispatcherImpl" destroy-method="close">
27 <bean factory-ref="BGPExtensionContext" factory-method="getMessageRegistry"/>
29 <argument ref="globalBossGroup"/>
30 <argument ref="globalWorkerGroup"/>
31 <argument ref="BGPPeerRegistry"/>
34 <service ref="BGPDispatcher" interface="org.opendaylight.protocol.bgp.rib.impl.spi.BGPDispatcher">
35 <!-- The following service properties specify the config system module and instance that correspond to
36 this OSGi service which enables the config system module to be restarted when this blueprint
37 container is restarted. -->
39 <entry key="config-module-namespace" value="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"/>
40 <entry key="config-module-name" value="bgp-dispatcher-impl"/>
41 <entry key="config-instance-name" value="global-bgp-dispatcher"/>
45 <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" odl:type="pingpong"/>
46 <reference id="globalBgpExtensions" interface="org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext"/>
47 <reference id="codecTreeFactory" interface="org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory"/>
48 <reference id="domDataBroker" interface="org.opendaylight.controller.md.sal.dom.api.DOMDataBroker" odl:type="pingpong"/>
49 <reference id="bgpTableTypeRegistry" interface="org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer"/>
50 <odl:static-reference id="domSchemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService"/>
51 <reference id="rpcRegistry" interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry"/>
53 <bean id="bgpDeployer" class="org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl" destroy-method="close">
54 <argument value="global-bgp"/>
55 <argument ref="blueprintContainer"/>
56 <argument ref="blueprintBundleContext"/>
57 <argument ref="dataBroker"/>
58 <argument ref="bgpTableTypeRegistry"/>
61 <service ref="bgpDeployer" interface="org.opendaylight.protocol.bgp.rib.impl.spi.BgpDeployer"/>
63 <bean id="ribImpl" class="org.opendaylight.protocol.bgp.rib.impl.config.RibImpl" scope="prototype">
64 <argument ref="clusterSingletonServiceProvider"/>
65 <argument ref="globalBgpExtensions"/>
66 <argument ref="BGPDispatcher"/>
67 <argument ref="codecTreeFactory"/>
68 <argument ref="domDataBroker"/>
69 <argument ref="domSchemaService"/>
72 <bean id="bgpPeer" class="org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer" scope="prototype">
73 <argument ref="rpcRegistry"/>
76 <bean id="appPeer" class="org.opendaylight.protocol.bgp.rib.impl.config.AppPeer" scope="prototype"/>
78 <bean id="bgpStateCollector" class="org.opendaylight.protocol.bgp.rib.impl.state.BGPStateCollectorImpl"/>
79 <service ref="bgpStateCollector" interface="org.opendaylight.protocol.bgp.rib.spi.state.BGPStateConsumer"/>
81 <reference-list id="ribStatsListener" interface="org.opendaylight.protocol.bgp.rib.spi.state.BGPRIBStateConsumer"
82 availability="optional">
83 <reference-listener bind-method="bind" unbind-method="unbind">
84 <ref component-id="bgpStateCollector"/>
88 <reference-list id="peersStatsListener" interface="org.opendaylight.protocol.bgp.rib.spi.state.BGPPeerStateConsumer"
89 availability="optional">
90 <reference-listener bind-method="bind" unbind-method="unbind">
91 <ref component-id="bgpStateCollector"/>