1 module bgp-labeled-unicast {
3 namespace "urn:opendaylight:params:xml:ns:yang:bgp-labeled-unicast";
6 import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
7 import bgp-message { prefix bgp-msg; revision-date 2018-03-29; }
8 import bgp-multiprotocol { prefix bgp-mp; revision-date 2018-03-29; }
9 import bgp-rib { prefix bgp-rib; revision-date 2018-03-29; }
10 import bgp-types { prefix bgp-t; revision-date 2018-03-29; }
11 import bmp-monitor { prefix bmp-mon; revision-date 2018-03-29; }
12 import network-concepts { prefix netc; revision-date 2013-11-25; }
13 import bgp-inet { prefix bgp-inet; revision-date 2018-03-29; }
15 organization "Cisco Systems, Inc.";
16 contact "GE QU <gequ@cisco.com>"
17 + " Mingming Chen <mingmche@cisco.com>";
20 "This module contains the base data model of a BGP message.
21 It rolls up the definitions contained in RFC3107.
23 Copyright (c)2015 Cisco Systems, Inc. All rights reserved.
25 This program and the accompanying materials are made available
26 under the terms of the Eclipse Public License v1.0 which
27 accompanies this distribution, and is available at
28 http://www.eclipse.org/legal/epl-v10.html";
30 revision "2018-03-29" {
31 description "Add support for add-path for all afi/safi.";
34 revision "2017-12-07" {
35 description "Add support for add-path in base BGP NLRI.";
38 revision "2015-05-25" {
43 identity labeled-unicast-subsequent-address-family {
44 reference "https://tools.ietf.org/html/rfc3107#section-3";
45 base bgp-t:subsequent-address-family;
55 reference "https://tools.ietf.org/html/rfc3032#section-2.1";
57 "The lable stack entry.";
63 grouping labeled-unicast {
64 reference "https://tools.ietf.org/html/rfc3107#section-3";
67 "The Label field carries one or more labels (that corresponds to
68 the stack of labels). Each label is encoded as 3
69 octets, where the high-order 20 bits contain the label value,
70 and the low order bit contains 'Bottom of Stack'.";
79 grouping labeled-unicast-destination {
80 list c-labeled-unicast-destination {
82 uses bgp-msg:path-id-grouping;
86 grouping labeled-unicast-routes-list {
87 list labeled-unicast-route {
88 key "route-key path-id";
91 augment "attributes/bgp-prefix-sid/bgp-prefix-sid-tlvs/bgp-prefix-sid-tlv" {
92 case lu-label-index-tlv {
95 case lu-originator-srgb-tlv {
96 uses originator-srgb-tlv;
103 grouping labeled-unicast-routes {
104 container labeled-unicast-routes {
105 uses labeled-unicast-routes-list;
109 grouping labeled-unicast-ipv6-routes {
110 container labeled-unicast-ipv6-routes {
111 uses labeled-unicast-routes-list;
115 augment "/bgp-msg:update/bgp-msg:attributes/bgp-mp:mp-reach-nlri/bgp-mp:advertized-routes/bgp-mp:destination-type" {
116 case destination-labeled-unicast-case {
117 container destination-labeled-unicast {
118 uses labeled-unicast-destination;
121 case destination-ipv6-labeled-unicast-case {
122 container destination-ipv6-labeled-unicast {
123 uses labeled-unicast-destination;
128 augment "/bgp-msg:update/bgp-msg:attributes/bgp-mp:mp-unreach-nlri/bgp-mp:withdrawn-routes/bgp-mp:destination-type" {
129 case destination-labeled-unicast-case {
130 container destination-labeled-unicast {
131 uses labeled-unicast-destination;
134 case destination-ipv6-labeled-unicast-case {
135 container destination-ipv6-labeled-unicast {
136 uses labeled-unicast-destination;
141 augment "/bgp-rib:application-rib/bgp-rib:tables/bgp-rib:routes" {
142 case labeled-unicast-routes-case {
143 uses labeled-unicast-routes;
145 case labeled-unicast-ipv6-routes-case {
146 uses labeled-unicast-ipv6-routes;
150 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:loc-rib/bgp-rib:tables/bgp-rib:routes" {
151 case labeled-unicast-routes-case {
152 uses labeled-unicast-routes;
154 case labeled-unicast-ipv6-routes-case {
155 uses labeled-unicast-ipv6-routes;
159 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:adj-rib-in/bgp-rib:tables/bgp-rib:routes" {
160 case labeled-unicast-routes-case {
161 uses labeled-unicast-routes;
163 case labeled-unicast-ipv6-routes-case {
164 uses labeled-unicast-ipv6-routes;
168 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:effective-rib-in/bgp-rib:tables/bgp-rib:routes" {
169 case labeled-unicast-routes-case {
170 uses labeled-unicast-routes;
172 case labeled-unicast-ipv6-routes-case {
173 uses labeled-unicast-ipv6-routes;
177 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:adj-rib-out/bgp-rib:tables/bgp-rib:routes" {
178 case labeled-unicast-routes-case {
179 uses labeled-unicast-routes;
181 case labeled-unicast-ipv6-routes-case {
182 uses labeled-unicast-ipv6-routes;
186 augment "/bmp-mon:bmp-monitor/bmp-mon:monitor/bmp-mon:router/bmp-mon:peer/bmp-mon:pre-policy-rib/bmp-mon:tables/bmp-mon:routes" {
187 case labeled-unicast-routes-case {
188 uses labeled-unicast-routes;
190 case labeled-unicast-ipv6-routes-case {
191 uses labeled-unicast-ipv6-routes;
195 augment "/bmp-mon:bmp-monitor/bmp-mon:monitor/bmp-mon:router/bmp-mon:peer/bmp-mon:post-policy-rib/bmp-mon:tables/bmp-mon:routes" {
196 case labeled-unicast-routes-case {
197 uses labeled-unicast-routes;
199 case labeled-unicast-ipv6-routes-case {
200 uses labeled-unicast-ipv6-routes;
204 grouping label-index-tlv {
205 reference "https://tools.ietf.org/html/draft-ietf-idr-bgp-prefix-sid-02#section-4.1";
206 leaf label-index-tlv {
207 description "Value representing the index value in the SRGB space.";
213 grouping originator-srgb-tlv {
214 reference "https://tools.ietf.org/html/draft-ietf-idr-bgp-prefix-sid-02#section-4.3";
216 description "Originator SRGB: 3 octets of base followed by 3 octets of range.";
228 augment "/bgp-msg:update/bgp-msg:attributes/bgp-msg:bgp-prefix-sid/bgp-msg:bgp-prefix-sid-tlvs/bgp-msg:bgp-prefix-sid-tlv" {
229 reference "https://tools.ietf.org/html/draft-ietf-idr-bgp-prefix-sid-02";
230 case lu-label-index-tlv {
231 uses label-index-tlv;
233 case lu-originator-srgb-tlv {
234 uses originator-srgb-tlv;