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 bgp-rib { prefix bgp-rib; revision-date 2018-03-29; }
10 import yang-ext { prefix ext; revision-date "2013-07-09"; }
11 import network-concepts { prefix netc; revision-date 2013-11-25; }
13 organization "AT&T Services, Inc.";
15 contact "Claudio D. Gasparini <claudio.gasparini@pantheon.tech>";
18 "This module contains the base data model of a BGP message.
19 It rolls up the definitions contained in RFC6513, RFC6514, RFC6515.
21 Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
23 This program and the accompanying materials are made available
24 under the terms of the Eclipse Public License v1.0 which
25 accompanies this distribution, and is available at
26 http://www.eclipse.org/legal/epl-v10.html";
29 description "Initial version";
32 identity mcast-vpn-subsequent-address-family {
33 description "SAFI 5 MCAST-VPN";
34 reference "https://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml";
36 base bgp-t:subsequent-address-family;
40 reference "https://tools.ietf.org/html/rfc6514#section-4";
42 enum intra-as-i-pmsi-a-d {
45 enum inter-as-i-pmsi-a-d {
54 enum source-active-a-d {
57 enum shared-tree-join {
60 enum source-tree-join {
66 grouping source-as-grouping {
73 grouping multicast-source-rd-grouping {
74 uses bgp-t:route-distinguisher-grouping;
76 leaf multicast-source {
82 grouping multicast-group-opaque-grouping {
83 choice multicast-group {
84 case c-g-address-case {
90 case ldp-mp-opaque-value-case {
91 container ldp-mp-opaque-value {
98 grouping intra-as-i-pmsi-a-d-grouping {
99 container intra-as-i-pmsi-a-d {
101 description "https://tools.ietf.org/html/rfc6514#section-4.1";
103 uses bgp-t:route-distinguisher-grouping;
104 uses bgp-t:orig-route-ip-grouping;
108 grouping inter-as-i-pmsi-a-d-grouping {
109 container inter-as-i-pmsi-a-d {
110 description "https://tools.ietf.org/html/rfc6514#section-4.2";
112 uses bgp-t:route-distinguisher-grouping;
113 uses source-as-grouping;
117 grouping s-pmsi-a-d-grouping {
118 container s-pmsi-a-d {
119 description "https://tools.ietf.org/html/rfc6514#section-4.3";
121 uses multicast-source-rd-grouping;
122 uses multicast-group-opaque-grouping;
123 uses bgp-t:orig-route-ip-grouping;
127 grouping leaf-a-d-grouping {
129 description "https://tools.ietf.org/html/rfc6514#section-4.4";
131 choice leaf-a-d-route-key {
132 case inter-as-i-pmsi-a-d-case {
133 uses inter-as-i-pmsi-a-d-grouping;
135 case s-pmsi-a-d-case {
136 uses s-pmsi-a-d-grouping;
140 uses bgp-t:orig-route-ip-grouping;
144 grouping source-active-a-d-grouping {
145 container source-active-a-d {
146 description "https://tools.ietf.org/html/rfc6514#section-4.5";
148 uses multicast-source-rd-grouping;
149 leaf multicast-group {
150 type inet:ip-address;
156 grouping c-multicast-grouping {
157 container c-multicast {
158 description "https://tools.ietf.org/html/rfc6514#section-4.6";
160 uses multicast-source-rd-grouping;
161 uses source-as-grouping;
162 uses multicast-group-opaque-grouping;
167 reference "https://tools.ietf.org/html/rfc6514#section-4";
168 description "The MCAST-VPN NLRI is carried in BGP [RFC4271] using BGP
169 Multiprotocol Extensions [RFC4760] with an Address Family Identifier
170 (AFI) of 1 or 2 and a Subsequent AFI (SAFI) of MCAST-VPN.";
173 case intra-as-i-pmsi-a-d-case {
174 uses intra-as-i-pmsi-a-d-grouping;
176 case inter-as-i-pmsi-a-d-case {
177 uses inter-as-i-pmsi-a-d-grouping;
179 case s-pmsi-a-d-case {
180 uses s-pmsi-a-d-grouping;
183 uses leaf-a-d-grouping;
185 case source-active-a-d-case {
186 uses source-active-a-d-grouping;
188 case shared-tree-join-case {
189 container shared-tree-join {
190 uses c-multicast-grouping;
193 case source-tree-join-case {
194 container source-tree-join {
195 uses c-multicast-grouping;
202 grouping pe-distinguisher-labels-attribute {
203 container pe-distinguisher-labels-attribute {
204 list pe-distinguisher-label-attribute {
206 type inet:ip-address;
210 type netc:mpls-label;
217 grouping bgp-rib-route {
218 uses pmsi:bgp-rib-route {
219 augment "attributes" {
220 ext:augment-identifier pe-distinguisher-labels-attribute-augmentation;
221 uses pe-distinguisher-labels-attribute;
226 grouping mvpn-bgp-rib-route {
231 grouping mvpn-routes {
233 key "route-key path-id";
234 uses mvpn-bgp-rib-route;