3 namespace "urn:opendaylight:params:xml:ns:yang:bgp:mvpn";
6 import bgp-types { prefix bgp-t; revision-date 2020-01-20; }
7 import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
8 import pmsi-tunnel { prefix pmsi; revision-date 2020-01-20; }
9 import yang-ext { prefix ext; revision-date "2013-07-09"; }
10 import network-concepts { prefix netc; revision-date 2013-11-25; }
12 organization "AT&T Services, Inc.";
14 contact "Claudio D. Gasparini <claudio.gasparini@pantheon.tech>";
17 "This module contains the base data model of a BGP message.
18 It rolls up the definitions contained in RFC6513, RFC6514, RFC6515.
20 Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
22 This program and the accompanying materials are made available
23 under the terms of the Eclipse Public License v1.0 which
24 accompanies this distribution, and is available at
25 http://www.eclipse.org/legal/epl-v10.html";
28 description "Update to use -no-zone-adresses";
32 description "Initial version";
35 identity mcast-vpn-subsequent-address-family {
36 description "SAFI 5 MCAST-VPN";
37 reference "https://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml";
39 base bgp-t:subsequent-address-family;
43 reference "https://tools.ietf.org/html/rfc6514#section-4";
45 enum intra-as-i-pmsi-a-d {
48 enum inter-as-i-pmsi-a-d {
57 enum source-active-a-d {
60 enum shared-tree-join {
63 enum source-tree-join {
69 grouping source-as-grouping {
76 grouping multicast-source-rd-grouping {
77 uses bgp-t:route-distinguisher-grouping;
79 leaf multicast-source {
80 type inet:ip-address-no-zone;
85 grouping multicast-group-opaque-grouping {
86 choice multicast-group {
87 case c-g-address-case {
89 type inet:ip-address-no-zone;
93 case ldp-mp-opaque-value-case {
94 container ldp-mp-opaque-value {
101 grouping intra-as-i-pmsi-a-d-grouping {
102 container intra-as-i-pmsi-a-d {
104 description "https://tools.ietf.org/html/rfc6514#section-4.1";
106 uses bgp-t:route-distinguisher-grouping;
107 uses bgp-t:orig-route-ip-grouping;
111 grouping inter-as-i-pmsi-a-d-grouping {
112 container inter-as-i-pmsi-a-d {
113 description "https://tools.ietf.org/html/rfc6514#section-4.2";
115 uses bgp-t:route-distinguisher-grouping;
116 uses source-as-grouping;
120 grouping s-pmsi-a-d-grouping {
121 container s-pmsi-a-d {
122 description "https://tools.ietf.org/html/rfc6514#section-4.3";
124 uses multicast-source-rd-grouping;
125 uses multicast-group-opaque-grouping;
126 uses bgp-t:orig-route-ip-grouping;
130 grouping leaf-a-d-grouping {
132 description "https://tools.ietf.org/html/rfc6514#section-4.4";
134 choice leaf-a-d-route-key {
135 case inter-as-i-pmsi-a-d-case {
136 uses inter-as-i-pmsi-a-d-grouping;
138 case s-pmsi-a-d-case {
139 uses s-pmsi-a-d-grouping;
143 uses bgp-t:orig-route-ip-grouping;
147 grouping source-active-a-d-grouping {
148 container source-active-a-d {
149 description "https://tools.ietf.org/html/rfc6514#section-4.5";
151 uses multicast-source-rd-grouping;
152 leaf multicast-group {
153 type inet:ip-address-no-zone;
159 grouping c-multicast-grouping {
160 container c-multicast {
161 description "https://tools.ietf.org/html/rfc6514#section-4.6";
163 uses multicast-source-rd-grouping;
164 uses source-as-grouping;
165 uses multicast-group-opaque-grouping;
170 reference "https://tools.ietf.org/html/rfc6514#section-4";
171 description "The MCAST-VPN NLRI is carried in BGP [RFC4271] using BGP
172 Multiprotocol Extensions [RFC4760] with an Address Family Identifier
173 (AFI) of 1 or 2 and a Subsequent AFI (SAFI) of MCAST-VPN.";
176 case intra-as-i-pmsi-a-d-case {
177 uses intra-as-i-pmsi-a-d-grouping;
179 case inter-as-i-pmsi-a-d-case {
180 uses inter-as-i-pmsi-a-d-grouping;
182 case s-pmsi-a-d-case {
183 uses s-pmsi-a-d-grouping;
186 uses leaf-a-d-grouping;
188 case source-active-a-d-case {
189 uses source-active-a-d-grouping;
191 case shared-tree-join-case {
192 container shared-tree-join {
193 uses c-multicast-grouping;
196 case source-tree-join-case {
197 container source-tree-join {
198 uses c-multicast-grouping;
205 grouping pe-distinguisher-labels-attribute {
206 container pe-distinguisher-labels-attribute {
207 list pe-distinguisher-label-attribute {
209 type inet:ip-address-no-zone;
213 type netc:mpls-label;
220 grouping bgp-rib-route {
221 uses pmsi:bgp-rib-route {
222 augment "attributes" {
223 ext:augment-identifier pe-distinguisher-labels-attribute-augmentation;
224 uses pe-distinguisher-labels-attribute;
229 grouping mvpn-bgp-rib-route {
234 grouping mvpn-routes {
236 key "route-key path-id";
237 uses mvpn-bgp-rib-route;