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 general-flags {
53 grouping sid-label-index {
54 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.3.4.2";
55 choice sid-label-index {
56 case local-label-case {
61 case ipv6-address-case {
63 type inet:ipv6-address;
74 grouping sr-capabilities-tlv {
75 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.1.1";
93 grouping sr-algorithms-tlv {
94 leaf-list algorithms {
99 grouping adj-sid-tlv {
100 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.2.1";
105 uses sid-label-index;
108 grouping lan-adj-sid-tlv {
109 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.2.2";
115 type netc:iso-system-identifier;
117 uses sid-label-index;
120 grouping prefix-sid-tlv {
121 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.3.1";
126 uses sid-label-index;
135 grouping ero-ipv4-address {
138 type inet:ipv4-address;
143 grouping ero-ipv6-address {
146 type inet:ipv6-address;
151 grouping ero-unnumbered {
161 grouping binding-sub-tlvs {
162 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.3.4";
163 choice binding-sub-tlv {
164 case prefix-sid-case {
167 case sid-label-case {
168 uses sid-label-index;
170 case ero-metric-case {
176 uses ero-ipv4-address;
179 uses ero-ipv6-address;
181 case unnumbered-interface-id-ero-case {
184 case ipv4-ero-backup-case {
185 uses ero-ipv4-address;
187 case ipv6-ero-backup-case {
188 uses ero-ipv6-address;
190 case unnumbered-interface-id-backup-ero-case {
196 grouping binding-sid-tlv {
197 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.3.3";
202 list binding-sub-tlvs {
203 uses binding-sub-tlvs;
207 grouping range-sub-tlvs {
208 choice range-sub-tlv {
209 case binding-sid-tlv-case {
210 uses binding-sid-tlv;
212 case prefix-sid-tlv-case {
215 case sid-label-tlv-case {
216 uses sid-label-index;
222 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00#section-2.3.2";