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; }
8 import ietf-routing-types { prefix rt-types; }
10 organization "Cisco Systems, Inc.";
11 contact "Iveta Halanova <ihalanov@cisco.com>";
14 "This module contains the base data concepts contained
15 in draft-gredler-idr-bgp-ls-segment-routing-ext-02.
17 Copyright (c)2015 Cisco Systems, Inc. All rights reserved.
19 This program and the accompanying materials are made available
20 under the terms of the Eclipse Public License v1.0 which
21 accompanies this distribution, and is available at
22 http://www.eclipse.org/legal/epl-v10.html";
25 description "Update to use -no-zone-adresses";
28 revision "2015-10-14" {
34 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.1.2";
36 enum shortest-path-first {
39 enum strict-shortest-path-first {
46 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.2";
50 grouping sid-label-index {
51 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.4";
52 choice sid-label-index {
53 case local-label-case {
58 case ipv6-address-case {
60 type inet:ipv6-address-no-zone;
71 grouping sr-capabilities-tlv {
72 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.1.1";
88 grouping sr-algorithms-tlv {
89 leaf-list algorithms {
94 grouping ospf-adj-flags {
95 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-08#section-7.1";
106 case ospf-adj-flags-case {
107 container ospf-adj-flags {
111 case isis-adj-flags-case {
112 reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-06#section-2.2.1";
113 container isis-adj-flags {
115 leaf address-family {
123 grouping adj-sid-tlv {
124 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.2.1";
126 uses epe-adj-sid-tlv;
129 grouping epe-adj-sid-tlv {
133 uses sid-label-index;
136 grouping lan-adj-sid-tlv {
137 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.2.2";
143 type netc:iso-system-identifier;
146 type inet:ipv4-address-no-zone;
148 uses sid-label-index;
151 grouping prefix-flags {
160 grouping prefix-sid-tlv {
161 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.1";
163 case isis-prefix-flags-case {
164 container isis-prefix-flags {
165 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-08#section-5";
167 leaf readvertisement {
175 case ospf-prefix-flags-case {
176 container ospf-prefix-flags {
177 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-05#section-5";
179 leaf mapping-server {
188 uses sid-label-index;
191 grouping ipv6-prefix-sid-tlv {
192 reference "https://tools.ietf.org/html/draft-previdi-isis-ipv6-prefix-sid-02#page-2";
204 grouping ero-ipv4-address {
207 type inet:ipv4-address-no-zone;
212 grouping ero-ipv6-address {
215 type inet:ipv6-address-no-zone;
220 grouping ero-unnumbered {
230 grouping binding-sub-tlvs {
231 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.4";
232 choice binding-sub-tlv {
233 case prefix-sid-case {
234 container prefix-sid {
238 case ipv6-prefix-sid-case {
239 container ipv6-prefix-sid {
240 uses ipv6-prefix-sid-tlv;
243 case sid-label-case {
244 uses sid-label-index;
246 case ero-metric-case {
253 uses ero-ipv4-address;
258 uses ero-ipv6-address;
261 case unnumbered-interface-id-ero-case {
262 container unnumbered-interface-id-ero {
266 case ipv4-ero-backup-case {
267 container ipv4-ero-backup {
268 uses ero-ipv4-address;
271 case ipv6-ero-backup-case {
272 container ipv6-ero-backup {
273 uses ero-ipv6-address;
276 case unnumbered-interface-id-backup-ero-case {
277 container unnumbered-interface-id-backup-ero {
284 grouping isis-binding-flags {
285 reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-06#section-2.4";
286 leaf address-family {
289 leaf mirror-context {
295 leaf leaked-from-level-2 {
303 grouping ospf-binding-flags {
304 reference "https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions-08#section-6";
310 grouping binding-sid-tlv {
311 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.3";
316 case isis-binding-flags-case {
317 uses isis-binding-flags;
319 case ospf-binding-flags-case {
320 uses ospf-binding-flags;
323 list binding-sub-tlvs {
324 uses binding-sub-tlvs;
328 grouping range-sub-tlvs {
329 choice range-sub-tlv {
330 case binding-sid-tlv-case {
331 uses binding-sid-tlv;
333 case prefix-sid-tlv-case {
334 container prefix-sid-tlv {
338 case ipv6-prefix-sid-tlv-case {
339 container ipv6-prefix-sid-tlv {
340 uses ipv6-prefix-sid-tlv;
343 case sid-label-tlv-case {
344 uses sid-label-index;
350 reference "https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-02#section-2.3.2";