3 namespace "urn:opendaylight:params:xml:ns:yang:bgp-inet";
6 import bgp-rib { prefix bgp-rib; revision-date 2013-09-25; }
7 import bgp-multiprotocol { prefix bgp-mp; revision-date 2013-09-19; }
8 import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
9 import bgp-message { prefix bgp-msg; revision-date 2013-09-19; }
10 import bmp-monitor { prefix bmp-mon; revision-date 2015-05-12; }
12 organization "Cisco Systems, Inc.";
13 contact "Dana Kutenicsova <dkutenic@cisco.com>";
16 "This module contains the concept of IPv4 and IPv6 routes,
17 split from bgp-rib and bgp-multiprotocol models.
19 Copyright (c)2015 Cisco Systems, Inc. All rights reserved.
21 This program and the accompanying materials are made available
22 under the terms of the Eclipse Public License v1.0 which
23 accompanies this distribution, and is available at
24 http://www.eclipse.org/legal/epl-v10.html";
26 revision "2015-03-05" {
31 grouping ipv4-prefix {
33 type inet:ipv4-prefix;
35 uses bgp-msg:path-id-grouping;
38 grouping ipv6-prefix {
40 type inet:ipv6-prefix;
42 uses bgp-msg:path-id-grouping;
45 grouping ipv4-prefixes {
46 container destination-ipv4 {
53 grouping ipv6-prefixes {
54 container destination-ipv6 {
61 grouping ipv4-routes {
62 container ipv4-routes {
73 grouping ipv6-bgp-prefix-sid-tlv {
74 reference "https://tools.ietf.org/html/draft-ietf-idr-bgp-prefix-sid-02#section-4.2";
75 leaf process-ipv6-head-ability {
76 description "S flag position 0. If set then it means that the BGP speaker is capable of processing the
77 IPv6 Segment Routing Header.";
83 grouping ipv6-routes {
84 container ipv6-routes {
91 augment "attributes/bgp-prefix-sid/bgp-prefix-sid-tlvs/bgp-prefix-sid-tlv" {
93 uses ipv6-bgp-prefix-sid-tlv;
101 augment "/bgp-msg:update/bgp-msg:attributes/bgp-mp:mp-reach-nlri/bgp-mp:advertized-routes/bgp-mp:destination-type" {
102 case destination-ipv4-case {
103 when "../../afi = ipv4";
106 case destination-ipv6-case {
107 when "../../afi = ipv6";
112 augment "/bgp-msg:update/bgp-msg:attributes/bgp-mp:mp-unreach-nlri/bgp-mp:withdrawn-routes/bgp-mp:destination-type" {
113 case destination-ipv4-case {
114 when "../../afi = ipv4";
117 case destination-ipv6-case {
118 when "../../afi = ipv6";
123 augment "/bgp-rib:application-rib/bgp-rib:tables/bgp-rib:routes" {
124 case ipv4-routes-case {
128 case ipv6-routes-case {
133 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:loc-rib/bgp-rib:tables/bgp-rib:routes" {
134 case ipv4-routes-case {
138 case ipv6-routes-case {
143 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:adj-rib-in/bgp-rib:tables/bgp-rib:routes" {
144 case ipv4-routes-case {
148 case ipv6-routes-case {
153 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:effective-rib-in/bgp-rib:tables/bgp-rib:routes" {
154 case ipv4-routes-case {
158 case ipv6-routes-case {
163 augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:adj-rib-out/bgp-rib:tables/bgp-rib:routes" {
164 case ipv4-routes-case {
168 case ipv6-routes-case {
173 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" {
174 case ipv4-routes-case {
178 case ipv6-routes-case {
183 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" {
184 case ipv4-routes-case {
188 case ipv6-routes-case {
193 augment "/bgp-msg:update/bgp-msg:attributes/bgp-msg:bgp-prefix-sid/bgp-msg:bgp-prefix-sid-tlvs/bgp-msg:bgp-prefix-sid-tlv" {
195 uses ipv6-bgp-prefix-sid-tlv;