1 // vi: set smarttab et sw=4 tabstop=4:
4 namespace "urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl";
7 import bgp-multiprotocol { prefix bgp-mp; revision-date 2013-09-19; }
8 import bgp-rib { prefix rib; revision-date 2013-09-25; }
9 import bgp-types { prefix bgp-t; revision-date 2013-09-19; }
10 import config-bgp-rib { prefix bgprib; revision-date 2013-07-01; }
11 import config-bgp-parser-spi { prefix bgpspi; revision-date 2013-11-15; }
12 import config-bgp-rib-spi { prefix ribspi; revision-date 2013-11-15; }
13 import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
14 import opendaylight-md-sal-binding {prefix mdsb; revision-date 2013-10-28; }
15 import netty { prefix netty; revision-date 2013-11-19; }
16 import config { prefix config; revision-date 2013-04-05; }
17 import protocol-framework { prefix pf; revision-date 2014-03-13; }
18 import odl-tcpmd5-cfg { prefix tcpmd5; revision-date 2014-04-27; }
19 import odl-tcpmd5-netty-cfg { prefix tcpmd5n; revision-date 2014-04-27; }
21 organization "Cisco Systems, Inc.";
23 contact "Robert Varga <rovarga@cisco.com>";
26 "This module contains the base YANG definitions for
27 BGP listener implementation.
29 Copyright (c)2013 Cisco Systems, Inc. All rights reserved.;
31 This program and the accompanying materials are made available
32 under the terms of the Eclipse Public License v1.0 which
33 accompanies this distribution, and is available at
34 http://www.eclipse.org/legal/epl-v10.html";
36 revision "2013-04-09" {
41 identity base-bgp-parser {
42 base config:module-type;
43 config:java-name-prefix BaseBGPParser;
44 config:provided-service bgpspi:extension;
47 augment "/config:modules/config:module/config:configuration" {
48 case base-bgp-parser {
49 when "/config:modules/config:module/config:type = 'base-bgp-parser'";
53 identity bgp-dispatcher {
55 "Service representing a BGP Dispatcher.";
57 base "config:service-type";
58 config:java-class "org.opendaylight.protocol.bgp.rib.impl.spi.BGPDispatcher";
61 identity bgp-dispatcher-impl {
62 base config:module-type;
63 config:provided-service bgp-dispatcher;
64 config:java-name-prefix BGPDispatcherImpl;
67 augment "/config:modules/config:module/config:configuration" {
68 case bgp-dispatcher-impl {
69 when "/config:modules/config:module/config:type = 'bgp-dispatcher-impl'";
71 container bgp-extensions {
72 uses config:service-ref {
75 config:required-identity bgpspi:consumer-extensions;
81 uses config:service-ref {
84 config:required-identity netty:netty-timer;
89 container boss-group {
90 uses config:service-ref {
93 config:required-identity netty:netty-threadgroup;
98 container worker-group {
99 uses config:service-ref {
102 config:required-identity netty:netty-threadgroup;
107 container md5-channel-factory {
108 uses config:service-ref {
111 config:required-identity tcpmd5n:md5-channel-factory;
116 container md5-server-channel-factory {
117 uses config:service-ref {
120 config:required-identity tcpmd5n:md5-server-channel-factory;
127 identity base-bgp-rib {
128 base config:module-type;
129 config:provided-service ribspi:extension;
130 config:java-name-prefix BaseBGPRIB;
133 augment "/config:modules/config:module/config:configuration" {
135 when "/config:modules/config:module/config:type = 'base-bgp-rib'";
139 identity rib-instance {
141 "Service representing a RIB instance";
143 base "config:service-type";
144 config:java-class "org.opendaylight.protocol.bgp.rib.impl.spi.RIB";
149 "BGP peer instance.";
151 base config:module-type;
152 config:java-name-prefix BGPPeer;
155 identity bgp-table-type {
157 "Service representing a AFI/SAFI pair";
159 base "config:service-type";
160 config:java-class "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType";
163 identity bgp-table-type-impl {
165 "Simple provider for bgp-table-type.";
167 config:provided-service bgp-table-type;
168 base config:module-type;
169 config:java-name-prefix BGPTableTypeImpl;
172 augment "/config:modules/config:module/config:configuration" {
173 case bgp-table-type-impl {
174 when "/config:modules/config:module/config:type = 'bgp-table-type-impl'";
178 base bgp-t:address-family;
184 base bgp-t:subsequent-address-family;
191 augment "/config:modules/config:module/config:configuration" {
193 when "/config:modules/config:module/config:type = 'bgp-peer'";
196 description "Remote host IP address";
197 type inet:ip-address;
202 description "Remote host port";
203 type inet:port-number;
212 list advertized-table {
213 uses config:service-ref {
216 config:required-identity bgp-table-type;
223 "Expected remote AS number. If not present, it is assumed
224 to be the same as our local AS number.";
229 type tcpmd5:rfc2385-key;
230 description "RFC2385 shared secret";
234 uses config:service-ref {
237 config:required-identity rib-instance;
245 base config:module-type;
246 config:provided-service bgprib:rib;
247 config:provided-service rib-instance;
248 config:java-name-prefix RIBImpl;
251 augment "/config:modules/config:module/config:configuration" {
253 when "/config:modules/config:module/config:type = 'rib-impl'";
255 container extensions {
256 uses config:service-ref {
259 config:required-identity ribspi:consumer-extensions;
264 container bgp-dispatcher {
265 uses config:service-ref {
268 config:required-identity bgp-dispatcher;
273 container session-reconnect-strategy {
274 uses config:service-ref {
277 config:required-identity pf:reconnect-strategy-factory;
282 container tcp-reconnect-strategy {
283 uses config:service-ref {
286 config:required-identity pf:reconnect-strategy-factory;
291 container data-provider {
292 uses config:service-ref {
295 config:required-identity mdsb:binding-data-broker;
301 description "Our local AS number. Needed by best selection path attribute.";
307 description "Our local BGP identifier. Needed by best selection path attribute.";
309 type inet:ipv4-address;
313 uses config:service-ref {
316 config:required-identity bgp-table-type;
322 description "Identifier of this RIB in local data store.";