1 module bgp-segment-routing {
3 namespace "urn:opendaylight:params:xml:ns:yang:bgp-segment-routing-ext";
6 import network-concepts { prefix netc; revision-date 2013-11-25; }
7 import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
9 organization "Cisco Systems, Inc.";
10 contact "Iveta Halanova <ihalanov@cisco.com>";
13 "This module contains the base data concepts contained
14 in draft-gredler-idr-bgp-ls-segment-routing-ext-02.
16 Copyright (c)2015 Cisco Systems, Inc. All rights reserved.
18 This program and the accompanying materials are made available
19 under the terms of the Eclipse Public License v1.0 which
20 accompanies this distribution, and is available at
21 http://www.eclipse.org/legal/epl-v10.html";
23 revision "2015-10-14" {
29 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.1.2";
31 enum shortest-path-first {
34 enum strict-shortest-path-first {
41 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.2";
45 grouping sid-label-index {
46 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.4";
47 choice sid-label-index {
48 case local-label-case {
53 case ipv6-address-case {
55 type inet:ipv6-address;
66 grouping sr-capabilities-tlv {
67 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.1.1";
85 grouping sr-algorithms-tlv {
86 leaf-list algorithms {
91 grouping ospf-adj-flags {
92 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-08#section-7.1";
103 case ospf-adj-flags-case {
106 case isis-adj-flags-case {
107 reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-06#section-2.2.1";
109 leaf address-family {
116 grouping adj-sid-tlv {
117 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.2.1";
119 uses epe-adj-sid-tlv;
122 grouping epe-adj-sid-tlv {
126 uses sid-label-index;
129 grouping lan-adj-sid-tlv {
130 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.2.2";
136 type netc:iso-system-identifier;
139 type inet:ipv4-address;
141 uses sid-label-index;
144 grouping prefix-flags {
153 grouping prefix-sid-tlv {
154 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.1";
156 case isis-prefix-flags-case {
157 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-08#section-5";
159 leaf readvertisement {
166 case ospf-prefix-flags-case {
167 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-05#section-5";
169 leaf mapping-server {
177 uses sid-label-index;
180 grouping ipv6-prefix-sid-tlv {
181 reference "https://tools.ietf.org/html/draft-previdi-isis-ipv6-prefix-sid-02#page-2";
193 grouping ero-ipv4-address {
196 type inet:ipv4-address;
201 grouping ero-ipv6-address {
204 type inet:ipv6-address;
209 grouping ero-unnumbered {
219 grouping binding-sub-tlvs {
220 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.4";
221 choice binding-sub-tlv {
222 case prefix-sid-case {
225 case ipv6-prefix-sid-case {
226 uses ipv6-prefix-sid-tlv;
228 case sid-label-case {
229 uses sid-label-index;
231 case ero-metric-case {
237 uses ero-ipv4-address;
240 uses ero-ipv6-address;
242 case unnumbered-interface-id-ero-case {
245 case ipv4-ero-backup-case {
246 uses ero-ipv4-address;
248 case ipv6-ero-backup-case {
249 uses ero-ipv6-address;
251 case unnumbered-interface-id-backup-ero-case {
257 grouping isis-binding-flags {
258 reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-06#section-2.4";
259 leaf address-family {
262 leaf mirror-context {
268 leaf leaked-from-level-2 {
276 grouping ospf-binding-flags {
277 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-08#section-6";
283 grouping binding-sid-tlv {
284 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.3";
289 case isis-binding-flags-case {
290 uses isis-binding-flags;
292 case ospf-binding-flags-case {
293 uses ospf-binding-flags;
296 list binding-sub-tlvs {
297 uses binding-sub-tlvs;
301 grouping range-sub-tlvs {
302 choice range-sub-tlv {
303 case binding-sid-tlv-case {
304 uses binding-sid-tlv;
306 case prefix-sid-tlv-case {
309 case ipv6-prefix-sid-tlv-case {
310 uses ipv6-prefix-sid-tlv;
312 case sid-label-tlv-case {
313 uses sid-label-index;
319 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.2";