Skip to content

Commit

Permalink
bgpd: yang defination
Browse files Browse the repository at this point in the history
Yang files for bgpd to use northbound APIs

Co-authored-by: Santosh P K <sapk@vmware.com>
Co-authored-by: vishaldhingra <vdhingra@vmware.com>
Signed-off-by: vishaldhingra <vdhingra@vmware.com>
  • Loading branch information
vishaldhingra and Santosh P K committed Jan 31, 2020
1 parent 7d75ef8 commit 09d7806
Show file tree
Hide file tree
Showing 10 changed files with 3,967 additions and 0 deletions.
179 changes: 179 additions & 0 deletions yang/frr-bgp-bmp.yang
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
submodule frr-bgp-bmp {
yang-version "1.1";

belongs-to frr-bgp {
prefix "bgp";
}

import ietf-inet-types {
prefix inet;
}

import frr-bgp-types {
prefix frr-bt;
}

include frr-bgp-common-multiprotocol;

organization
"Free Range Routing";

contact
"FRR Users List: <mailto:frog@lists.frrouting.org>
FRR Development List: <mailto:dev@lists.frrouting.org>";

description
"This module defines a model for managing FRR bgp information.
This YANG module augments the ietf-routing with additional
nexthop information";

revision 2019-12-03 {
description
"Initial revision.";
}

grouping bmp-incoming-session {
container incoming-session {
list session-list {
key "address tcp-port";

leaf address {
type inet:ip-address;
description
"IPv4 address to listen on";
}
leaf tcp-port {
type uint32;
}
}
}
}


grouping bmp-outgoing-session {
container outgoing-session {
list session-list {
key "hostname tcp-port";
leaf hostname {
type string;
}
leaf tcp-port {
type uint32;
}
leaf min-retry-time {
type uint32 {
range "100..86400000";
}
units "miliseconds";
default 30000;
description
"Minimum connection retry interval";
}
leaf max-retry-time {
type uint32 {
range "100..86400000";
}
units "miliseconds";
default 720000;
description
"Maximum connection retry interval";
}
}
}
}

grouping bmp-afi-safis {
container afi-safis {
description
"List of address-families associated with the BGP
instance";
list afi-safi {
key "afi-safi-name";
description
"AFI,SAFI configuration available for the
neighbour or group";
uses mp-afi-safi-config;
uses mp-all-afi-safi-list-contents;
}
}
}

grouping bmp-afi-safi-common-config {
container common-config {

leaf pre-policy {
type boolean;
default false;
description
"Send state before policy and filter processing.";
}
leaf post-policy {
type boolean;
default false;
description
"Send state after policy and filter processing";
}

}
}

grouping global-bmp-config {
description
"Structural grouping used to include filter
configuration and state for BMP";
container bmp-config {
description
"BMP related parameters";
list target-list {
key "target-name";

leaf target-name {
type string;
description
"Targets group name";
}
uses bmp-incoming-session;
uses bmp-outgoing-session;

leaf mirror {
type boolean;
default "false";
description
"When set to 'TRUE' it send BMP route mirroring messages";
}

leaf stats-time {
type uint32 {
range "100..86400000";
}
units "miliseconds";
description
"Interval to send BMP Stats";
}

leaf ipv4-access-list {
type frr-bt:access-list-ref;
description
"Access list to restrict BMP sessions";
}

leaf ipv6-access-list {
type frr-bt:access-list-ref;
description
"Access list to restrict BMP sessions";
}

uses bmp-afi-safis;
}

leaf mirror-buffer-limit {
type uint32 {
range "0..4294967294";
}
units "Bytes";
description
"Maximum memory used for buffered mirroring messages.";
}
}
}
}
Loading

0 comments on commit 09d7806

Please sign in to comment.