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-00.
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-00#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-00#section-2.2";
45 grouping sid-label-index {
46 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.3.4.2";
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-00#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-05#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-05#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-00#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-00#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-00#section-2.3.1";
152 case isis-prefix-flags-case {
153 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-05#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;
182 grouping ero-ipv4-address {
185 type inet:ipv4-address;
190 grouping ero-ipv6-address {
193 type inet:ipv6-address;
198 grouping ero-unnumbered {
208 grouping binding-sub-tlvs {
209 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.3.4";
210 choice binding-sub-tlv {
211 case prefix-sid-case {
214 case sid-label-case {
215 uses sid-label-index;
217 case ero-metric-case {
223 uses ero-ipv4-address;
226 uses ero-ipv6-address;
228 case unnumbered-interface-id-ero-case {
231 case ipv4-ero-backup-case {
232 uses ero-ipv4-address;
234 case ipv6-ero-backup-case {
235 uses ero-ipv6-address;
237 case unnumbered-interface-id-backup-ero-case {
243 grouping isis-binding-flags {
244 reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-05#section-2.4";
245 leaf address-family {
248 leaf mirror-context {
254 leaf leaked-from-level-2 {
262 grouping ospf-binding-flags {
263 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-05#section-6";
269 grouping binding-sid-tlv {
270 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.3.3";
275 case isis-binding-flags-case {
276 uses isis-binding-flags;
278 case ospf-binding-flags-case {
279 uses ospf-binding-flags;
282 list binding-sub-tlvs {
283 uses binding-sub-tlvs;
287 grouping range-sub-tlvs {
288 choice range-sub-tlv {
289 case binding-sid-tlv-case {
290 uses binding-sid-tlv;
292 case prefix-sid-tlv-case {
295 case sid-label-tlv-case {
296 uses sid-label-index;
302 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.3.2";