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 2010-09-24; }
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";
122 uses sid-label-index;
125 grouping lan-adj-sid-tlv {
126 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.2.2";
132 type netc:iso-system-identifier;
135 type inet:ipv4-address;
137 uses sid-label-index;
140 grouping prefix-flags {
149 grouping prefix-sid-tlv {
150 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.1";
152 case isis-prefix-flags-case {
153 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-08#section-5";
155 leaf readvertisement {
162 case ospf-prefix-flags-case {
163 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-05#section-5";
165 leaf mapping-server {
173 uses sid-label-index;
176 grouping ipv6-prefix-sid-tlv {
177 reference "https://tools.ietf.org/html/draft-previdi-isis-ipv6-prefix-sid-02#page-2";
189 grouping ero-ipv4-address {
192 type inet:ipv4-address;
197 grouping ero-ipv6-address {
200 type inet:ipv6-address;
205 grouping ero-unnumbered {
215 grouping binding-sub-tlvs {
216 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.4";
217 choice binding-sub-tlv {
218 case prefix-sid-case {
221 case ipv6-prefix-sid-case {
222 uses ipv6-prefix-sid-tlv;
224 case sid-label-case {
225 uses sid-label-index;
227 case ero-metric-case {
233 uses ero-ipv4-address;
236 uses ero-ipv6-address;
238 case unnumbered-interface-id-ero-case {
241 case ipv4-ero-backup-case {
242 uses ero-ipv4-address;
244 case ipv6-ero-backup-case {
245 uses ero-ipv6-address;
247 case unnumbered-interface-id-backup-ero-case {
253 grouping isis-binding-flags {
254 reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-06#section-2.4";
255 leaf address-family {
258 leaf mirror-context {
264 leaf leaked-from-level-2 {
272 grouping ospf-binding-flags {
273 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-08#section-6";
279 grouping binding-sid-tlv {
280 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.3";
285 case isis-binding-flags-case {
286 uses isis-binding-flags;
288 case ospf-binding-flags-case {
289 uses ospf-binding-flags;
292 list binding-sub-tlvs {
293 uses binding-sub-tlvs;
297 grouping range-sub-tlvs {
298 choice range-sub-tlv {
299 case binding-sid-tlv-case {
300 uses binding-sid-tlv;
302 case prefix-sid-tlv-case {
305 case ipv6-prefix-sid-tlv-case {
306 uses ipv6-prefix-sid-tlv;
308 case sid-label-tlv-case {
309 uses sid-label-index;
315 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.2";