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; }
14 organization "Cisco Systems, Inc.";
15 contact "GE QU <gequ@cisco.com>"
16 + " Mingming Chen <mingmche@cisco.com>";
19 "This module contains the base data model of a BGP message.
20 It rolls up the definitions contained in RFC3107.
22 Copyright (c)2015 Cisco Systems, Inc. All rights reserved.
24 This program and the accompanying materials are made available
25 under the terms of the Eclipse Public License v1.0 which
26 accompanies this distribution, and is available at
27 http://www.eclipse.org/legal/epl-v10.html";
29 revision "2018-03-29" {
30 description "Add support for add-path for all afi/safi.";
33 revision "2017-12-07" {
34 description "Add support for add-path in base BGP NLRI.";
37 revision "2015-05-25" {
42 identity labeled-unicast-subsequent-address-family {
43 reference "https://tools.ietf.org/html/rfc3107#section-3";
44 base bgp-t:subsequent-address-family;
54 reference "https://tools.ietf.org/html/rfc3032#section-2.1";
56 "The lable stack entry.";
62 grouping labeled-unicast {
63 reference "https://tools.ietf.org/html/rfc3107#section-3";
66 "The Label field carries one or more labels (that corresponds to
67 the stack of labels). Each label is encoded as 3
68 octets, where the high-order 20 bits contain the label value,
69 and the low order bit contains 'Bottom of Stack'.";
78 grouping labeled-unicast-destination {
79 list c-labeled-unicast-destination {
81 uses bgp-msg:path-id-grouping;
85 grouping labeled-unicast-routes-list {
86 list labeled-unicast-route {
87 key "route-key path-id";
90 augment "attributes/bgp-prefix-sid/bgp-prefix-sid-tlvs/bgp-prefix-sid-tlv" {
91 case lu-label-index-tlv {
94 case lu-originator-srgb-tlv {
95 uses originator-srgb-tlv;
102 grouping labeled-unicast-routes {
103 container labeled-unicast-routes {
104 uses labeled-unicast-routes-list;
108 grouping labeled-unicast-ipv6-routes {
109 container labeled-unicast-ipv6-routes {
110 uses labeled-unicast-routes-list;
114 augment "/bgp-msg:update/bgp-msg:attributes/bgp-mp:mp-reach-nlri/bgp-mp:advertized-routes/bgp-mp:destination-type" {
115 case destination-labeled-unicast-case {
116 container destination-labeled-unicast {
117 uses labeled-unicast-destination;
120 case destination-ipv6-labeled-unicast-case {
121 container destination-ipv6-labeled-unicast {
122 uses labeled-unicast-destination;
127 augment "/bgp-msg:update/bgp-msg:attributes/bgp-mp:mp-unreach-nlri/bgp-mp:withdrawn-routes/bgp-mp:destination-type" {
128 case destination-labeled-unicast-case {
129 container destination-labeled-unicast {
130 uses labeled-unicast-destination;
133 case destination-ipv6-labeled-unicast-case {
134 container destination-ipv6-labeled-unicast {
135 uses labeled-unicast-destination;
140 augment "/bgp-rib:application-rib/bgp-rib:tables/bgp-rib:routes" {
141 case labeled-unicast-routes-case {
142 uses labeled-unicast-routes;
144 case labeled-unicast-ipv6-routes-case {
145 uses labeled-unicast-ipv6-routes;
149 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:loc-rib/bgp-rib:tables/bgp-rib:routes" {
150 case labeled-unicast-routes-case {
151 uses labeled-unicast-routes;
153 case labeled-unicast-ipv6-routes-case {
154 uses labeled-unicast-ipv6-routes;
158 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:adj-rib-in/bgp-rib:tables/bgp-rib:routes" {
159 case labeled-unicast-routes-case {
160 uses labeled-unicast-routes;
162 case labeled-unicast-ipv6-routes-case {
163 uses labeled-unicast-ipv6-routes;
167 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:effective-rib-in/bgp-rib:tables/bgp-rib:routes" {
168 case labeled-unicast-routes-case {
169 uses labeled-unicast-routes;
171 case labeled-unicast-ipv6-routes-case {
172 uses labeled-unicast-ipv6-routes;
176 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:adj-rib-out/bgp-rib:tables/bgp-rib:routes" {
177 case labeled-unicast-routes-case {
178 uses labeled-unicast-routes;
180 case labeled-unicast-ipv6-routes-case {
181 uses labeled-unicast-ipv6-routes;
185 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" {
186 case labeled-unicast-routes-case {
187 uses labeled-unicast-routes;
189 case labeled-unicast-ipv6-routes-case {
190 uses labeled-unicast-ipv6-routes;
194 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" {
195 case labeled-unicast-routes-case {
196 uses labeled-unicast-routes;
198 case labeled-unicast-ipv6-routes-case {
199 uses labeled-unicast-ipv6-routes;
203 grouping label-index-tlv {
204 reference "https://tools.ietf.org/html/draft-ietf-idr-bgp-prefix-sid-02#section-4.1";
205 leaf label-index-tlv {
206 description "Value representing the index value in the SRGB space.";
212 grouping originator-srgb-tlv {
213 reference "https://tools.ietf.org/html/draft-ietf-idr-bgp-prefix-sid-02#section-4.3";
215 description "Originator SRGB: 3 octets of base followed by 3 octets of range.";
227 augment "/bgp-msg:update/bgp-msg:attributes/bgp-msg:bgp-prefix-sid/bgp-msg:bgp-prefix-sid-tlvs/bgp-msg:bgp-prefix-sid-tlv" {
228 reference "https://tools.ietf.org/html/draft-ietf-idr-bgp-prefix-sid-02";
229 case lu-label-index-tlv {
230 uses label-index-tlv;
232 case lu-originator-srgb-tlv {
233 uses originator-srgb-tlv;