3 namespace "urn:opendaylight:params:xml:ns:yang:bgp-message";
6 import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
7 import bgp-types { prefix bgp-t; revision-date 2018-03-29; }
8 import network-concepts { prefix netc; revision-date 2013-11-25; }
10 organization "Cisco Systems, Inc.";
11 contact "Dana Kutenicsova <dkutenic@cisco.com>";
14 "This module contains the base data model of a BGP message.
15 It rolls up the definitions contained in RFC4271 and RFC4893.
17 Copyright (c)2013 Cisco Systems, Inc. All rights reserved.
19 This program and the accompanying materials are made available
20 under the terms of the Eclipse Public License v1.0 which
21 accompanies this distribution, and is available at
22 http://www.eclipse.org/legal/epl-v10.html";
24 revision "2018-03-29" {
25 description "Add RFC6514 Extended communities under bgp type.";
28 revision "2017-12-07" {
29 description "Add support for add-path in base BGP NLRI.";
32 revision "2013-09-19" {
34 "Split off basic types";
37 revision "2013-09-18" {
40 reference "RFC4271, RFC4893";
43 typedef protocol-version {
53 "Identifier of a single path. The identifier does not
54 carry any semantic meaning beyond uniquely identifying
55 a path. Default 0 value is reserved for non supported add-path key representation.";
58 grouping path-id-grouping {
64 grouping originator-id {
66 type inet:ipv4-address-no-zone;
72 type bgp-t:cluster-identifier;
77 grouping ipv4-prefix-and-path-id {
79 type inet:ipv4-prefix;
81 uses path-id-grouping;
88 grouping open-message {
89 description "Open Message";
90 reference "http://tools.ietf.org/html/rfc4271#section-4.2";
92 type protocol-version;
103 leaf bgp-identifier {
104 type inet:ipv4-address-no-zone;
107 list bgp-parameters {
108 list optional-capabilities {
109 reference "http://tools.ietf.org/html/rfc5492#section-4";
110 container c-parameters {
111 container as4-bytes-capability {
112 reference "http://tools.ietf.org/html/rfc6793";
117 container bgp-extended-message-capability {
118 reference "https://www.ietf.org/archive/id/draft-ietf-idr-bgp-extended-messages-11.txt";
119 presence "Indicates peer is able to send/receive 64K messages";
126 grouping path-attributes {
127 reference "http://tools.ietf.org/html/rfc4271#section-5";
128 container attributes {
130 reference "http://tools.ietf.org/html/rfc4271#section-5.1.1";
132 type bgp-t:bgp-origin;
137 reference "http://tools.ietf.org/html/rfc4271#section-5.1.2";
139 uses bgp-t:as-path-segment;
143 container multi-exit-disc {
144 reference "http://tools.ietf.org/html/rfc4271#section-5.1.4";
149 container local-pref {
150 reference "http://tools.ietf.org/html/rfc4271#section-5.1.5";
155 container atomic-aggregate {
156 reference "http://tools.ietf.org/html/rfc4271#section-5.1.6";
157 presence "Atomic Aggregate attribute is present.";
159 container aggregator {
160 uses bgp-t:bgp-aggregator;
163 uses bgp-t:community;
165 list extended-communities {
166 uses bgp-t:extended-community;
168 container originator-id {
171 container cluster-id {
177 type netc:accumulated-igp-metric;
181 list unrecognized-attributes {
202 container bgp-prefix-sid {
203 list bgp-prefix-sid-tlvs {
204 choice bgp-prefix-sid-tlv {
205 reference "https://tools.ietf.org/html/draft-ietf-idr-bgp-prefix-sid-02";
213 notification update {
217 grouping update-message {
218 description "Update Message";
219 reference "http://tools.ietf.org/html/rfc4271#section-4.3";
220 uses path-attributes;
221 list withdrawn-routes {
222 uses ipv4-prefix-and-path-id;
225 uses ipv4-prefix-and-path-id;
229 notification keepalive {
230 description "Keepalive Message";
231 reference "http://tools.ietf.org/html/rfc4271#section-4.4";
234 notification notify {
238 grouping notify-message {
239 description "Notification Message";
240 reference "http://tools.ietf.org/html/rfc4271#section-4.5";