3 namespace "urn:opendaylight:params:xml:ns:yang:bgp:mvpn";
6 import bgp-types { prefix bgp-t; revision-date 2018-03-29; }
7 import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
8 import pmsi-tunnel { prefix pmsi; revision-date 2018-03-29; }
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 "Initial version";
31 identity mcast-vpn-subsequent-address-family {
32 description "SAFI 5 MCAST-VPN";
33 reference "https://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml";
35 base bgp-t:subsequent-address-family;
39 reference "https://tools.ietf.org/html/rfc6514#section-4";
41 enum intra-as-i-pmsi-a-d {
44 enum inter-as-i-pmsi-a-d {
53 enum source-active-a-d {
56 enum shared-tree-join {
59 enum source-tree-join {
65 grouping source-as-grouping {
72 grouping multicast-source-rd-grouping {
73 uses bgp-t:route-distinguisher-grouping;
75 leaf multicast-source {
81 grouping multicast-group-opaque-grouping {
82 choice multicast-group {
83 case c-g-address-case {
89 case ldp-mp-opaque-value-case {
90 container ldp-mp-opaque-value {
97 grouping intra-as-i-pmsi-a-d-grouping {
98 container intra-as-i-pmsi-a-d {
100 description "https://tools.ietf.org/html/rfc6514#section-4.1";
102 uses bgp-t:route-distinguisher-grouping;
103 uses bgp-t:orig-route-ip-grouping;
107 grouping inter-as-i-pmsi-a-d-grouping {
108 container inter-as-i-pmsi-a-d {
109 description "https://tools.ietf.org/html/rfc6514#section-4.2";
111 uses bgp-t:route-distinguisher-grouping;
112 uses source-as-grouping;
116 grouping s-pmsi-a-d-grouping {
117 container s-pmsi-a-d {
118 description "https://tools.ietf.org/html/rfc6514#section-4.3";
120 uses multicast-source-rd-grouping;
121 uses multicast-group-opaque-grouping;
122 uses bgp-t:orig-route-ip-grouping;
126 grouping leaf-a-d-grouping {
128 description "https://tools.ietf.org/html/rfc6514#section-4.4";
130 choice leaf-a-d-route-key {
131 case inter-as-i-pmsi-a-d-case {
132 uses inter-as-i-pmsi-a-d-grouping;
134 case s-pmsi-a-d-case {
135 uses s-pmsi-a-d-grouping;
139 uses bgp-t:orig-route-ip-grouping;
143 grouping source-active-a-d-grouping {
144 container source-active-a-d {
145 description "https://tools.ietf.org/html/rfc6514#section-4.5";
147 uses multicast-source-rd-grouping;
148 leaf multicast-group {
149 type inet:ip-address;
155 grouping c-multicast-grouping {
156 container c-multicast {
157 description "https://tools.ietf.org/html/rfc6514#section-4.6";
159 uses multicast-source-rd-grouping;
160 uses source-as-grouping;
161 uses multicast-group-opaque-grouping;
166 reference "https://tools.ietf.org/html/rfc6514#section-4";
167 description "The MCAST-VPN NLRI is carried in BGP [RFC4271] using BGP
168 Multiprotocol Extensions [RFC4760] with an Address Family Identifier
169 (AFI) of 1 or 2 and a Subsequent AFI (SAFI) of MCAST-VPN.";
172 case intra-as-i-pmsi-a-d-case {
173 uses intra-as-i-pmsi-a-d-grouping;
175 case inter-as-i-pmsi-a-d-case {
176 uses inter-as-i-pmsi-a-d-grouping;
178 case s-pmsi-a-d-case {
179 uses s-pmsi-a-d-grouping;
182 uses leaf-a-d-grouping;
184 case source-active-a-d-case {
185 uses source-active-a-d-grouping;
187 case shared-tree-join-case {
188 container shared-tree-join {
189 uses c-multicast-grouping;
192 case source-tree-join-case {
193 container source-tree-join {
194 uses c-multicast-grouping;
201 grouping pe-distinguisher-labels-attribute {
202 container pe-distinguisher-labels-attribute {
203 list pe-distinguisher-label-attribute {
205 type inet:ip-address;
209 type netc:mpls-label;
216 grouping bgp-rib-route {
217 uses pmsi:bgp-rib-route {
218 augment "attributes" {
219 ext:augment-identifier pe-distinguisher-labels-attribute-augmentation;
220 uses pe-distinguisher-labels-attribute;
225 grouping mvpn-bgp-rib-route {
230 grouping mvpn-routes {
232 key "route-key path-id";
233 uses mvpn-bgp-rib-route;