Cisco-IOS-XE-bfd-oper

This module contains a collection of YANG definitions for BFD neighbor monitoring. Copyright (c) 2016-2019 by Cisco Systems, Inc...

  • Version: 2021-03-01

    Cisco-IOS-XE-bfd-oper@2021-03-01


    
      module Cisco-IOS-XE-bfd-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-bfd-oper";
    
        prefix bfd-ios-xe-oper;
    
        import ietf-inet-types {
          prefix inet;
        }
        import cisco-semver {
          prefix cisco-semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
    
         Postal: 170 W Tasman Drive
         San Jose, CA 95134
    
         Tel: +1 1800 553-NETS
    
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for BFD neighbor monitoring.
         Copyright (c) 2016-2019 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-03-01" {
          description
            "- Added session state info and session neighbor details";
          reference
            "2.3.0";
    
        }
    
        revision "2019-05-01" {
          description "Added semantic version";
          reference
            "2.2.0";
    
        }
    
        revision "2018-10-29" {
          description
            "Cleaned up spelling errors in descriptions.";
          reference
            "2.1.0";
    
        }
    
        revision "2017-09-10" {
          description "Enumeration renaming";
          reference
            "2.0.0";
    
        }
    
        revision "2017-02-07" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "2.3.0";
        cisco-semver:module-version "2.2.0";
        cisco-semver:module-version "2.1.0";
        cisco-semver:module-version "2.0.0";
        cisco-semver:module-version "1.0.0";
    
        typedef bfd-oper-session-type {
          type enumeration {
            enum "ipv4" {
              value 0;
            }
            enum "ipv6" {
              value 1;
            }
            enum "vccv" {
              value 2;
            }
            enum "mpls-tp" {
              value 3;
            }
            enum "ipv4-multihop" {
              value 4;
            }
            enum "ipv6-multihop" {
              value 5;
            }
            enum "poch-ipv4" {
              value 6;
              description
                "Port Channel IPV4 client";
            }
          }
          description "BFD session type";
        }
    
        typedef bfd-remote-state-type {
          type enumeration {
            enum "remote-up" {
              value 0;
            }
            enum "remote-down" {
              value 1;
            }
            enum "remote-init" {
              value 2;
            }
            enum "remote-admindown" {
              value 3;
            }
            enum "remote-invalid" {
              value 4;
            }
          }
          description "BFD remote state type";
        }
    
        typedef bfd-state-type {
          type enumeration {
            enum "admindown" {
              value 0;
            }
            enum "down" {
              value 1;
            }
            enum "fail" {
              value 2;
            }
            enum "init" {
              value 3;
            }
            enum "up" {
              value 4;
            }
            enum "invalid" {
              value 5;
            }
          }
          description "BFD state type";
        }
    
        typedef bfd-lsp-type {
          type enumeration {
            enum "working" {
              value 0;
            }
            enum "protect" {
              value 1;
            }
            enum "unknown" {
              value 2;
            }
          }
          description "BFD LSP type";
        }
    
        typedef bfd-diag-state {
          type enumeration {
            enum "bfd-diag-no-diag" {
              value 0;
              description "No failure";
            }
            enum "bfd-diag-ctrl-time-exp" {
              value 1;
              description "Control time expired";
            }
            enum "bfd-diag-echo-failed" {
              value 2;
              description "Echo failed";
            }
            enum "bfd-diag-nbr-signaled-down" {
              value 3;
              description
                "Neighbor session down";
            }
            enum "bfd-diag-fwd-plane-reset" {
              value 4;
              description
                "Forwarding plane in the local system is reset for some reason";
            }
            enum "bfd-diag-path-down" {
              value 5;
              description
                "The underlying path has failed";
            }
            enum "bfd-diag-concat-path-down" {
              value 6;
              description "Forward path failure";
            }
            enum "bfd-diag-admin-down" {
              value 7;
              description
                "Entering the administratively down state and sending an explanatory diagnostic code";
            }
            enum "bfd-diag-rev-concat-path-down" {
              value 8;
              description "Reverse path failure";
            }
            enum "bfd-diag-not-valid" {
              value 9;
              description "Not valid diag";
            }
          }
          description
            "BFD diag state to identify failure";
        }
    
        typedef bfd-session-host {
          type enumeration {
            enum "bfd-host-software" {
              value 0;
              description
                "BFD sessions host software";
            }
            enum "bfd-host-hardware" {
              value 1;
              description
                "BFD sessions host hardware";
            }
            enum "bfd-host-unknown" {
              value 2;
              description "Unknown host";
            }
          }
          description "BFD sessions host";
        }
    
        grouping bfd-neighbor-params {
          description "BFD neighbour parameters";
          leaf ld {
            type uint32;
            description "Local discriminator";
          }
    
          leaf rd {
            type uint32;
            description "Remote discriminator";
          }
    
          leaf remote-state {
            type bfd-remote-state-type;
            description
              "Remote Heard. RH state of BFD version '0'
             is also mapped to up/down";
          }
    
          leaf state {
            type bfd-state-type;
            description "BFD state";
          }
    
          leaf remote-min-tx-int {
            type uint32;
            units "microseconds";
            description
              "Configured received remote TX interval";
          }
    
          leaf remote-min-rx-int {
            type uint32;
            units "microseconds";
            description
              "Configured received remote RX interval";
          }
    
          leaf remote-multiplier {
            type uint32;
            description
              "Configured received remote multiplier value";
          }
    
          leaf local-min-tx-int {
            type uint32;
            units "microseconds";
            description
              "Configured transmit control packet interval";
          }
    
          leaf local-min-rx-int {
            type uint32;
            units "microseconds";
            description
              "Configured receive control packet interval";
          }
    
          leaf local-multiplier {
            type uint32;
            description
              "Configured local multiplier value";
          }
    
          leaf local-diag {
            type bfd-diag-state;
            description
              "Local  diag is used to identify the remote sessions failure";
          }
    
          leaf remote-diag {
            type bfd-diag-state;
            description
              "Remote diag is used to identify the remote sessions failure";
          }
    
          leaf session-host {
            type bfd-session-host;
            description
              "If the hardware limit is exceeded, then the sessions are hosted in software";
          }
    
          leaf common-tx-interval {
            type uint32;
            units "microseconds";
            description
              "Common negotiated interval value";
          }
    
          leaf hold-down-interval {
            type uint32;
            units "microseconds";
            description
              "Detect time expired timer";
          }
        }  // grouping bfd-neighbor-params
    
        grouping bfd-tunnel-path-key {
          description "BFD tunnel Path Key";
          leaf interface {
            type string;
            description "Associated interface";
          }
    
          leaf lsp-type {
            type bfd-lsp-type;
            description "LSP type";
          }
        }  // grouping bfd-tunnel-path-key
    
        grouping bfd-circuit-key {
          description "BFD circuit key";
          leaf interface {
            type string;
            description "Associated interface";
          }
    
          leaf vcid {
            type uint32;
            description
              "Virtual circuit identifier";
          }
        }  // grouping bfd-circuit-key
    
        grouping bfd-nbr-key {
          description "BFD Neighbor key";
          leaf ip {
            type inet:ip-address;
            description "Neighbor IP address";
          }
    
          leaf interface {
            type string;
            description "Interface";
          }
        }  // grouping bfd-nbr-key
    
        grouping mhop-nbr-key {
          description "BFD MHOP Neighbor key";
          leaf ip {
            type inet:ip-address;
            description "Neighbor IP address";
          }
    
          leaf src-ip {
            type inet:ip-address;
            description "Source IP address";
          }
        }  // grouping mhop-nbr-key
    
        grouping mhop-vrf-nbr-key {
          description
            "BFD MHOP VRF Neighbor key";
          leaf ip {
            type inet:ip-address;
            description "Neighbor IP address";
          }
    
          leaf vrf {
            type string;
            description "Neighbor VFR";
          }
    
          leaf src-ip {
            type inet:ip-address;
            description "Source IP address";
          }
        }  // grouping mhop-vrf-nbr-key
    
        grouping session-count-info {
          description "BFD sessions info";
          leaf max-sup-sw-sess {
            type uint32;
            description
              "Maximum supported software sessions";
          }
    
          leaf max-sup-hw-sess {
            type uint32;
            description
              "Maximum supported hardware sessions";
          }
    
          leaf total-session {
            type uint32;
            description "Total sessions";
          }
    
          leaf init-session {
            type uint32;
            description "Init sessions";
          }
    
          leaf down-session {
            type uint32;
            description "Down sessions";
          }
    
          leaf up-session {
            type uint32;
            description "Up sessions";
          }
    
          leaf admin-down-session {
            type uint32;
            description "Admin down sessions";
          }
        }  // grouping session-count-info
    
        grouping bfd-session-v2 {
          description "BFD session data";
          leaf type {
            type bfd-oper-session-type;
            description "Session type";
          }
    
          container bfd-tunnel-paths {
            description
              "BFD tunnel path information";
            list bfd-tunnel-path {
              when "../../type='mpls-tp'";
              key "interface lsp-type";
              description
                "List of BFD tunnel paths";
              uses bfd-ios-xe-oper:bfd-tunnel-path-key;
    
              uses bfd-ios-xe-oper:bfd-neighbor-params;
            }  // list bfd-tunnel-path
          }  // container bfd-tunnel-paths
    
          container bfd-circuits {
            description
              "BFD circuit information";
            list bfd-circuit {
              when "../../type='vccv'";
              key "interface vcid";
              description "List of BFD circuits";
              uses bfd-ios-xe-oper:bfd-circuit-key;
    
              uses bfd-ios-xe-oper:bfd-neighbor-params;
            }  // list bfd-circuit
          }  // container bfd-circuits
    
          container bfd-nbrs {
            description
              "BFD neighbor information";
            list bfd-nbr {
              when
                "../../type!='mpls-tp' and ../../type!='vccv'";
              key "ip interface";
              description
                "List of BFD neighbors";
              uses bfd-ios-xe-oper:bfd-nbr-key;
    
              uses bfd-ios-xe-oper:bfd-neighbor-params;
            }  // list bfd-nbr
          }  // container bfd-nbrs
    
          container bfd-mhop-nbrs {
            description
              "Multi hop neighbors for multi hop neighbor scenario
             for global VRF (no VRF)";
            list bfd-mhop-nbr {
              when
                "../../type='ipv4-multihop' or ../../type='ipv6-multihop'";
              key "ip src-ip";
              description
                "List of MHOP neighbors";
              uses bfd-ios-xe-oper:mhop-nbr-key;
    
              uses bfd-ios-xe-oper:bfd-neighbor-params;
            }  // list bfd-mhop-nbr
          }  // container bfd-mhop-nbrs
    
          container bfd-mhop-vrf-nbrs {
            description
              "Multi hop neighbors for multi hop neighbor scenario
             with non-global VRF";
            list bfd-mhop-vrf-nbr {
              when
                "../../type='ipv4-multihop' or ../../type='ipv6-multihop'";
              key "ip vrf src-ip";
              description
                "List of multi hop neighbors";
              uses bfd-ios-xe-oper:mhop-vrf-nbr-key;
    
              uses bfd-ios-xe-oper:bfd-neighbor-params;
            }  // list bfd-mhop-vrf-nbr
          }  // container bfd-mhop-vrf-nbrs
        }  // grouping bfd-session-v2
    
        container bfd-state {
          config false;
          description "BFD neighbor information";
          container sessions {
            description
              "BFD neighbor session information";
            list session {
              key "type";
              description "List of BFD sessions";
              uses bfd-ios-xe-oper:bfd-session-v2;
            }  // list session
          }  // container sessions
    
          container bfd-session-info {
            presence "bfd-session-info";
            description
              "BFD sessions state information";
            uses bfd-ios-xe-oper:session-count-info;
          }  // container bfd-session-info
        }  // container bfd-state
      }  // module Cisco-IOS-XE-bfd-oper
    

© 2023 YumaWorks, Inc. All rights reserved.