0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-13 22:58:42 +00:00
bird/yang/show_protocols_all/show_protocols_bgp.yang

238 lines
4.4 KiB
YANG

submodule show_protocols_bgp {
belongs-to show_protocols_all {
prefix "show_protocols_all";
}
import ietf-yang-types {
prefix yang;
}
import ietf-inet-types {
prefix inet;
}
description "cli show bgp";
grouping afis {
leaf afl1 {
type string;
}
leaf afn1 {
type string;
}
}
grouping bgp_capabilities {
container any_mp_bgp {
leaf multiprotocol {
type empty;
}
container af_announced {
uses afis;
}
}
leaf route_refresh {
type empty;
}
container any_ext_nexthop {
leaf extended_nexthop {
type empty;
}
container nexthop {
uses afis;
}
}
leaf extended_message {
type empty;
}
leaf graceful_restart {
type empty;
}
container is_gr_able {
leaf restart_time {
type uint32;
}
leaf restart_recovery {
type empty;
}
container af_supported {
uses afis;
}
container af_preserved {
uses afis;
}
}
leaf as4_support {
type empty;
}
container is_add_path {
leaf add_path {
type empty;
}
container af_rx {
uses afis;
}
container af_tx {
uses afis;
}
}
leaf enhanced_refresh {
type empty;
}
leaf long_lived_gr_restart {
type empty;
}
container is_llgr_able {
leaf stale_time {
type uint32;
}
container af_supported {
uses afis;
}
container af_preserved {
uses afis;
}
}
leaf hostname {
type string;
}
leaf role {
type string;
}
}
grouping bgp_details {
leaf bgp_status {
type status;
}
choice is_dynamic {
case dynamic {
leaf neighbor_range {
type inet:ip-address;
}
}
case nondinamic {
leaf neighbor_address {
type inet:ip-address;
}
}
}
leaf port_num {
type int16;
}
leaf neighbor_as {
type int32;
}
leaf local_as {
type int32;
}
leaf neighbor_gr_restarting {
type empty;
}
choice proto_state {
mandatory false;
case start_state {
container error_wait {
leaf remains {
type yang:date-and-time;
}
leaf delay {
type uint32;
}
}
container bs_active {
leaf remains {
type yang:date-and-time;
}
leaf delay {
type uint32;
}
}
container restart {
leaf restart_timer{
type yang:date-and-time;
}
}
}
case up {
leaf neighbour_id {
type string;
}
container local_capabilities {
uses bgp_capabilities;
}
container neighbour_capabilities {
uses bgp_capabilities;
}
container session {
leaf in_ex_ternal {
type enumeration {
enum internal;
enum external;
}
}
leaf multihop {
type empty;
}
leaf route_reflector {
type empty;
}
leaf route_server {
type empty;
}
leaf as4 {
type empty;
}
}
leaf source_address {
type inet:ip-address;
}
container hold_timer {
uses timer;
}
container keepalive_timer {
uses timer;
}
container last_error {
leaf err1 {
type string;
}
leaf err2 {
type string;
}
}
list bgp_channels {
key neighbor_gr;
leaf neighbor_gr {
type string;
}
leaf ll_stale_timer {
type yang:date-and-time;
}
container ipa_zero {
leaf next_hop_addr {
type inet:ip-address;
}
leaf link_addr {
type inet:ip-address;
}
}
leaf ipv4_table {
type string;
}
leaf ipv6_table {
type string;
}
leaf base_table {
type string;
}
}
}
}
leaf bgp_next_hop {
type inet:ip-address;
}
}
}