Cisco-IOS-XR-ip-bfd-oper

This module contains a collection of YANG definitions for Cisco IOS-XR ip-bfd package operational data. This module contains de...

  • Version: 2020-05-20

    Cisco-IOS-XR-ip-bfd-oper@2020-05-20


    
      module Cisco-IOS-XR-ip-bfd-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-bfd-oper";
    
        prefix ip-bfd-oper;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        include Cisco-IOS-XR-ip-bfd-oper-sub1 {
          revision-date "2020-05-20";
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
    Customer Service
    
    Postal: 170 West Tasman Drive
    San Jose, CA 95134
    
    Tel: +1 800 553-NETS
    
    E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
    for Cisco IOS-XR ip-bfd package operational data.
    
    This module contains definitions
    for the following management objects:
      bfd: Bidirectional Forwarding Detection(BFD) operational data
      bfd-server-nodes: Table of information about BFD in the Node
    
    Copyright (c) 2013-2020 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2020-05-20" {
          description
            "Added XML Support for IPv4 and IPv6SingleHopMultiPathTable via CSCvu15981.";
        }
    
        revision "2019-10-03" {
          description
            "Addressed openconfig-bfd model open issues via CSCvp68925.Revision updated now.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        container bfd {
          config false;
          description
            "Bidirectional Forwarding Detection(BFD)
    operational data";
          container label-session-briefs {
            description
              "Table of brief information about all Label BFD
    sessions in the System";
            list label-session-brief {
              description
                "Brief information for a single Label BFD
    session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf incoming-label {
                type uint32;
                description "Incoming Label";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              container status-brief-information {
                description
                  "Brief Status Information";
                container async-interval-multiplier {
                  description
                    "Async Interval and Detect Multiplier Information";
                  leaf negotiated-remote-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated remote transmit interval in
    micro-seconds";
                  }
    
                  leaf negotiated-local-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated local transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container async-interval-multiplier
    
                container echo-interval-multiplier {
                  description
                    "Echo Interval and Detect Multiplier Information";
                  leaf negotiated-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated transmit interval in micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container echo-interval-multiplier
              }  // container status-brief-information
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf session-type {
                type Bfd-session;
                description "Session type";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf session-flags {
                type uint32;
                description "Session Flags";
              }
            }  // list label-session-brief
          }  // container label-session-briefs
    
          container ipv4bf-do-mplste-tail-summary {
            description
              "Summary information of IPv4 BFD over MPLS-TE
    Tail";
            container session-state {
              description
                "Statistics of states for sessions";
              leaf total-count {
                type uint32;
                description
                  "Number of sessions in database";
              }
    
              leaf down-count {
                type uint32;
                description
                  "Number of sessions in down state";
              }
    
              leaf up-count {
                type uint32;
                description
                  "Number of sessions in up state";
              }
    
              leaf unknown-count {
                type uint32;
                description
                  "Number of sessions in unknown state";
              }
            }  // container session-state
          }  // container ipv4bf-do-mplste-tail-summary
    
          container ipv6-single-hop-counters {
            description
              "IPv6 single hop Counters";
            container ipv6-single-hop-packet-counters {
              description
                "Table of IPv6 single hop Packet counters";
              list ipv6-single-hop-packet-counter {
                description
                  "Interface IPv6 single hop Packet counters";
                leaf interface-name {
                  type xr:Interface-name;
                  description "Interface Name";
                }
    
                leaf location {
                  type xr:Node-id;
                  description "Location";
                }
    
                leaf hello-transmit-count {
                  type uint32;
                  description
                    "Number of Hellos transmitted";
                }
    
                leaf hello-receive-count {
                  type uint32;
                  description
                    "Number of Hellos received";
                }
    
                leaf echo-transmit-count {
                  type uint32;
                  description
                    "Number of echo packets transmitted";
                }
    
                leaf echo-receive-count {
                  type uint32;
                  description
                    "Number of echo packets received";
                }
    
                leaf display-type {
                  type Bfd-mgmt-pkt-display;
                  description
                    "Packet Display Type";
                }
              }  // list ipv6-single-hop-packet-counter
            }  // container ipv6-single-hop-packet-counters
          }  // container ipv6-single-hop-counters
    
          container counters {
            description "IPv4 Counters";
            container packet-counters {
              description
                "Table of IPv4 Packet counters";
              list packet-counter {
                description
                  "Interface IPv4 Packet counters";
                leaf interface-name {
                  type xr:Interface-name;
                  description "Interface Name";
                }
    
                leaf location {
                  type xr:Node-id;
                  description "Location";
                }
    
                leaf hello-transmit-count {
                  type uint32;
                  description
                    "Number of Hellos transmitted";
                }
    
                leaf hello-receive-count {
                  type uint32;
                  description
                    "Number of Hellos received";
                }
    
                leaf echo-transmit-count {
                  type uint32;
                  description
                    "Number of echo packets transmitted";
                }
    
                leaf echo-receive-count {
                  type uint32;
                  description
                    "Number of echo packets received";
                }
    
                leaf display-type {
                  type Bfd-mgmt-pkt-display;
                  description
                    "Packet Display Type";
                }
              }  // list packet-counter
            }  // container packet-counters
          }  // container counters
    
          container client-details {
            description
              "Table of detailed information about BFD clients";
            list client-detail {
              key "client-name";
              description
                "Detailed information of client";
              leaf client-name {
                type xr:Cisco-ios-xr-string;
                description "Client Name";
              }
    
              container brief {
                description
                  "Brief client information";
                leaf name-xr {
                  type string {
                    length "0..257";
                  }
                  description
                    "Client process name";
                }
    
                leaf node-id {
                  type xr:Node-id;
                  description
                    "Location where client resides";
                }
    
                leaf session-count {
                  type uint32;
                  description
                    "Number of sessions created by this client";
                }
              }  // container brief
    
              container flags {
                description
                  "The BFD Client Flags";
                leaf is-zombie-state {
                  type int32;
                  description
                    "Client is in Zombie State";
                }
    
                leaf is-recreate-state {
                  type int32;
                  description
                    "Client is in Recreate State";
                }
              }  // container flags
    
              leaf recreate-time {
                type uint32;
                units "second";
                description
                  "Recreate Time in Seconds";
              }
            }  // list client-detail
          }  // container client-details
    
          container ipv4-single-hop-summary {
            description
              "Summary information of BFD IPv4 singlehop
    sessions";
            container session-state {
              description
                "Statistics of states for sessions";
              leaf total-count {
                type uint32;
                description
                  "Number of sessions in database";
              }
    
              leaf down-count {
                type uint32;
                description
                  "Number of sessions in down state";
              }
    
              leaf up-count {
                type uint32;
                description
                  "Number of sessions in up state";
              }
    
              leaf unknown-count {
                type uint32;
                description
                  "Number of sessions in unknown state";
              }
            }  // container session-state
          }  // container ipv4-single-hop-summary
    
          container ipv6-single-hop-summary {
            description
              "Summary information of BFD IPv6 singlehop
    sessions";
            container session-state {
              description
                "Statistics of states for sessions";
              leaf total-count {
                type uint32;
                description
                  "Number of sessions in database";
              }
    
              leaf down-count {
                type uint32;
                description
                  "Number of sessions in down state";
              }
    
              leaf up-count {
                type uint32;
                description
                  "Number of sessions in up state";
              }
    
              leaf unknown-count {
                type uint32;
                description
                  "Number of sessions in unknown state";
              }
            }  // container session-state
          }  // container ipv6-single-hop-summary
    
          container label-multi-paths {
            description "Label multipath";
            list label-multi-path {
              description
                "Label multipath table";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf incoming-label {
                type uint32;
                description "Incoming Label";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf local-discriminator-xr {
                type Bfd-discr;
                description
                  "Session's Local discriminator";
              }
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf incoming-label-xr {
                type uint32;
                description "Incoming Label";
              }
    
              leaf session-interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list label-multi-path
          }  // container label-multi-paths
    
          container ipv4-multi-hop-session-details {
            description
              "Table of detailed information about all IPv4
    multihop BFD sessions in the System ";
            list ipv4-multi-hop-session-detail {
              description
                "Detailed information for a single IPv4 multihop
    BFD session";
              leaf source-address {
                type inet:ip-address-no-zone;
                description "Source Address";
              }
    
              leaf destination-address {
                type inet:ip-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              container status-information {
                description
                  "Session status information";
                container source-address {
                  description "Source address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container source-address
    
                container last-state-change {
                  description
                    "Time since last state change";
                  leaf days {
                    type uint32;
                    units "day";
                    description
                      "Number of days since last session state
    transition";
                  }
    
                  leaf hours {
                    type uint8;
                    units "hour";
                    description
                      "Number of hours since last session state
    transition";
                  }
    
                  leaf minutes {
                    type uint8;
                    units "minute";
                    description
                      "Number of mins since last session state
    transition";
                  }
    
                  leaf seconds {
                    type uint8;
                    units "second";
                    description
                      "Number of seconds since last session state
    transition";
                  }
                }  // container last-state-change
    
                container transmit-packet {
                  description "Transmit Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container transmit-packet
    
                container receive-packet {
                  description "Receive Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container receive-packet
    
                container status-brief-information {
                  description
                    "Brief Status Information";
                  container async-interval-multiplier {
                    description
                      "Async Interval and Detect Multiplier Information";
                    leaf negotiated-remote-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated remote transmit interval in
    micro-seconds";
                    }
    
                    leaf negotiated-local-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated local transmit interval in
    micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container async-interval-multiplier
    
                  container echo-interval-multiplier {
                    description
                      "Echo Interval and Detect Multiplier Information";
                    leaf negotiated-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated transmit interval in micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container echo-interval-multiplier
                }  // container status-brief-information
    
                container async-transmit-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-transmit-statistics
    
                container async-receive-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-receive-statistics
    
                container echo-transmit-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-transmit-statistics
    
                container echo-received-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-received-statistics
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf session-subtype {
                  type string;
                  description "Session subtype";
                }
    
                leaf state {
                  type Bfd-mgmt-session-state;
                  description "State";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                leaf remote-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Remote discriminator";
                }
    
                leaf last-failure-time-sec {
                  type uint64;
                  units "second";
                  description
                    "Last Session Down Time (seconds)";
                }
    
                leaf out-of-up-state-count {
                  type uint64;
                  description
                    "Number of times session moved out of UP state";
                }
    
                leaf to-up-state-count {
                  type uint32;
                  description
                    "Number of times session state went to UP";
                }
    
                leaf desired-minimum-echo-transmit-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Desired minimum echo transmit interval in
    milli-seconds";
                }
    
                leaf remote-negotiated-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Remote Negotiated Interval in milli-seconds";
                }
    
                leaf latency-number {
                  type uint32;
                  description
                    "Number of Latency Samples. Time between Transmit
    and Receive";
                }
    
                leaf latency-minimum {
                  type uint32;
                  units "microsecond";
                  description
                    "Minimum value of Latency (in micro-seconds)";
                }
    
                leaf latency-maximum {
                  type uint32;
                  units "microsecond";
                  description
                    "Maximum value of Latency (in micro-seconds)";
                }
    
                leaf latency-average {
                  type uint32;
                  units "microsecond";
                  description
                    "Average value of Latency (in micro-seconds)";
                }
    
                leaf node-id {
                  type xr:Node-id;
                  description
                    "Location where session is housed";
                }
    
                leaf internal-label {
                  type uint32;
                  description "Internal Label";
                }
    
                leaf reverse-label {
                  type uint32;
                  description "Reverse Label";
                }
              }  // container status-information
    
              container mp-download-state {
                description "MP Dowload State";
                container change-time {
                  description "Change time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container change-time
    
                leaf mp-download-state {
                  type Bfd-mp-download-state;
                  description
                    "MP Download State";
                }
              }  // container mp-download-state
    
              container lsp-ping-info {
                description "LSP Ping Info";
                container lsp-ping-tx-last-time {
                  description
                    "LSP Ping last sent time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-time
    
                container lsp-ping-tx-last-error-time {
                  description
                    "LSP Ping last error time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-error-time
    
                container lsp-ping-rx-last-time {
                  description
                    "LSP Ping last received time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-rx-last-time
    
                leaf lsp-ping-tx-count {
                  type uint32;
                  description
                    "LSP Ping Tx count";
                }
    
                leaf lsp-ping-tx-error-count {
                  type uint32;
                  description
                    "LSP Ping Tx error count";
                }
    
                leaf lsp-ping-tx-last-rc {
                  type string;
                  description
                    "LSP Ping Tx last result";
                }
    
                leaf lsp-ping-tx-last-error-rc {
                  type string;
                  description
                    "LSP Ping Tx last error";
                }
    
                leaf lsp-ping-rx-last-discr {
                  type Bfd-discr;
                  description
                    "LSP Ping Rx last received discriminator";
                }
    
                leaf lsp-ping-rx-count {
                  type uint32;
                  description
                    "LSP Ping numer of times received";
                }
    
                leaf lsp-ping-rx-last-code {
                  type uint8;
                  description
                    "LSP Ping Rx Last Code";
                }
    
                leaf lsp-ping-rx-last-subcode {
                  type uint8;
                  description
                    "LSP Ping Rx Last Subcode";
                }
    
                leaf lsp-ping-rx-last-output {
                  type string;
                  description
                    "LSP Ping Rx Last Output";
                }
              }  // container lsp-ping-info
    
              list owner-information {
                description
                  "Client applications owning the session";
                leaf interval {
                  type uint32;
                  units "microsecond";
                  description
                    "Client specified minimum transmit interval in
    micro-seconds";
                }
    
                leaf detection-multiplier {
                  type uint32;
                  description
                    "Client specified detection multiplier to compute
    detection time";
                }
    
                leaf adjusted-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Adjusted minimum transmit interval in
    milli-seconds";
                }
    
                leaf adjusted-detection-multiplier {
                  type uint32;
                  description
                    "Adjusted detection multiplier to compute
    detection time";
                }
    
                leaf name {
                  type string {
                    length "0..257";
                  }
                  description
                    "Client process name";
                }
              }  // list owner-information
    
              list association-information {
                description
                  "Association session information";
                container ip-destination-address {
                  description
                    "IPv4/v6 dest address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container ip-destination-address
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                list owner-information {
                  description
                    "Client applications owning the session";
                  leaf interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Client specified minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Client specified detection multiplier to compute
    detection time";
                  }
    
                  leaf adjusted-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Adjusted minimum transmit interval in
    milli-seconds";
                  }
    
                  leaf adjusted-detection-multiplier {
                    type uint32;
                    description
                      "Adjusted detection multiplier to compute
    detection time";
                  }
    
                  leaf name {
                    type string {
                      length "0..257";
                    }
                    description
                      "Client process name";
                  }
                }  // list owner-information
              }  // list association-information
            }  // list ipv4-multi-hop-session-detail
          }  // container ipv4-multi-hop-session-details
    
          container ipv4-single-hop-session-details {
            description
              "Table of detailed information about all IPv4
    singlehop BFD sessions in the System ";
            list ipv4-single-hop-session-detail {
              description
                "Detailed information for a single IPv4
    singlehop BFD session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf destination-address {
                type inet:ipv4-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf local-discriminator {
                type uint32;
                description "Session Discr";
              }
    
              container status-information {
                description
                  "Session status information";
                container source-address {
                  description "Source address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container source-address
    
                container last-state-change {
                  description
                    "Time since last state change";
                  leaf days {
                    type uint32;
                    units "day";
                    description
                      "Number of days since last session state
    transition";
                  }
    
                  leaf hours {
                    type uint8;
                    units "hour";
                    description
                      "Number of hours since last session state
    transition";
                  }
    
                  leaf minutes {
                    type uint8;
                    units "minute";
                    description
                      "Number of mins since last session state
    transition";
                  }
    
                  leaf seconds {
                    type uint8;
                    units "second";
                    description
                      "Number of seconds since last session state
    transition";
                  }
                }  // container last-state-change
    
                container transmit-packet {
                  description "Transmit Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container transmit-packet
    
                container receive-packet {
                  description "Receive Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container receive-packet
    
                container status-brief-information {
                  description
                    "Brief Status Information";
                  container async-interval-multiplier {
                    description
                      "Async Interval and Detect Multiplier Information";
                    leaf negotiated-remote-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated remote transmit interval in
    micro-seconds";
                    }
    
                    leaf negotiated-local-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated local transmit interval in
    micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container async-interval-multiplier
    
                  container echo-interval-multiplier {
                    description
                      "Echo Interval and Detect Multiplier Information";
                    leaf negotiated-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated transmit interval in micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container echo-interval-multiplier
                }  // container status-brief-information
    
                container async-transmit-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-transmit-statistics
    
                container async-receive-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-receive-statistics
    
                container echo-transmit-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-transmit-statistics
    
                container echo-received-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-received-statistics
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf session-subtype {
                  type string;
                  description "Session subtype";
                }
    
                leaf state {
                  type Bfd-mgmt-session-state;
                  description "State";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                leaf remote-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Remote discriminator";
                }
    
                leaf last-failure-time-sec {
                  type uint64;
                  units "second";
                  description
                    "Last Session Down Time (seconds)";
                }
    
                leaf out-of-up-state-count {
                  type uint64;
                  description
                    "Number of times session moved out of UP state";
                }
    
                leaf to-up-state-count {
                  type uint32;
                  description
                    "Number of times session state went to UP";
                }
    
                leaf desired-minimum-echo-transmit-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Desired minimum echo transmit interval in
    milli-seconds";
                }
    
                leaf remote-negotiated-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Remote Negotiated Interval in milli-seconds";
                }
    
                leaf latency-number {
                  type uint32;
                  description
                    "Number of Latency Samples. Time between Transmit
    and Receive";
                }
    
                leaf latency-minimum {
                  type uint32;
                  units "microsecond";
                  description
                    "Minimum value of Latency (in micro-seconds)";
                }
    
                leaf latency-maximum {
                  type uint32;
                  units "microsecond";
                  description
                    "Maximum value of Latency (in micro-seconds)";
                }
    
                leaf latency-average {
                  type uint32;
                  units "microsecond";
                  description
                    "Average value of Latency (in micro-seconds)";
                }
    
                leaf node-id {
                  type xr:Node-id;
                  description
                    "Location where session is housed";
                }
    
                leaf internal-label {
                  type uint32;
                  description "Internal Label";
                }
    
                leaf reverse-label {
                  type uint32;
                  description "Reverse Label";
                }
              }  // container status-information
    
              container mp-download-state {
                description "MP Dowload State";
                container change-time {
                  description "Change time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container change-time
    
                leaf mp-download-state {
                  type Bfd-mp-download-state;
                  description
                    "MP Download State";
                }
              }  // container mp-download-state
    
              container lsp-ping-info {
                description "LSP Ping Info";
                container lsp-ping-tx-last-time {
                  description
                    "LSP Ping last sent time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-time
    
                container lsp-ping-tx-last-error-time {
                  description
                    "LSP Ping last error time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-error-time
    
                container lsp-ping-rx-last-time {
                  description
                    "LSP Ping last received time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-rx-last-time
    
                leaf lsp-ping-tx-count {
                  type uint32;
                  description
                    "LSP Ping Tx count";
                }
    
                leaf lsp-ping-tx-error-count {
                  type uint32;
                  description
                    "LSP Ping Tx error count";
                }
    
                leaf lsp-ping-tx-last-rc {
                  type string;
                  description
                    "LSP Ping Tx last result";
                }
    
                leaf lsp-ping-tx-last-error-rc {
                  type string;
                  description
                    "LSP Ping Tx last error";
                }
    
                leaf lsp-ping-rx-last-discr {
                  type Bfd-discr;
                  description
                    "LSP Ping Rx last received discriminator";
                }
    
                leaf lsp-ping-rx-count {
                  type uint32;
                  description
                    "LSP Ping numer of times received";
                }
    
                leaf lsp-ping-rx-last-code {
                  type uint8;
                  description
                    "LSP Ping Rx Last Code";
                }
    
                leaf lsp-ping-rx-last-subcode {
                  type uint8;
                  description
                    "LSP Ping Rx Last Subcode";
                }
    
                leaf lsp-ping-rx-last-output {
                  type string;
                  description
                    "LSP Ping Rx Last Output";
                }
              }  // container lsp-ping-info
    
              list owner-information {
                description
                  "Client applications owning the session";
                leaf interval {
                  type uint32;
                  units "microsecond";
                  description
                    "Client specified minimum transmit interval in
    micro-seconds";
                }
    
                leaf detection-multiplier {
                  type uint32;
                  description
                    "Client specified detection multiplier to compute
    detection time";
                }
    
                leaf adjusted-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Adjusted minimum transmit interval in
    milli-seconds";
                }
    
                leaf adjusted-detection-multiplier {
                  type uint32;
                  description
                    "Adjusted detection multiplier to compute
    detection time";
                }
    
                leaf name {
                  type string {
                    length "0..257";
                  }
                  description
                    "Client process name";
                }
              }  // list owner-information
    
              list association-information {
                description
                  "Association session information";
                container ip-destination-address {
                  description
                    "IPv4/v6 dest address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container ip-destination-address
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                list owner-information {
                  description
                    "Client applications owning the session";
                  leaf interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Client specified minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Client specified detection multiplier to compute
    detection time";
                  }
    
                  leaf adjusted-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Adjusted minimum transmit interval in
    milli-seconds";
                  }
    
                  leaf adjusted-detection-multiplier {
                    type uint32;
                    description
                      "Adjusted detection multiplier to compute
    detection time";
                  }
    
                  leaf name {
                    type string {
                      length "0..257";
                    }
                    description
                      "Client process name";
                  }
                }  // list owner-information
              }  // list association-information
            }  // list ipv4-single-hop-session-detail
          }  // container ipv4-single-hop-session-details
    
          container ipv4-multi-hop-session-briefs {
            description
              "Table of brief information about all IPv4
    multihop BFD sessions in the System";
            list ipv4-multi-hop-session-brief {
              description
                "Brief information for a single IPv4 multihop
    BFD session";
              leaf source-address {
                type inet:ipv4-address-no-zone;
                description "Source Address";
              }
    
              leaf destination-address {
                type inet:ipv4-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              container status-brief-information {
                description
                  "Brief Status Information";
                container async-interval-multiplier {
                  description
                    "Async Interval and Detect Multiplier Information";
                  leaf negotiated-remote-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated remote transmit interval in
    micro-seconds";
                  }
    
                  leaf negotiated-local-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated local transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container async-interval-multiplier
    
                container echo-interval-multiplier {
                  description
                    "Echo Interval and Detect Multiplier Information";
                  leaf negotiated-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated transmit interval in micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container echo-interval-multiplier
              }  // container status-brief-information
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf session-type {
                type Bfd-session;
                description "Session type";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf session-flags {
                type uint32;
                description "Session Flags";
              }
            }  // list ipv4-multi-hop-session-brief
          }  // container ipv4-multi-hop-session-briefs
    
          container generic-summaries {
            description
              "Generic summary information about BFD location";
            list generic-summary {
              key "location";
              description
                "Generic summary information for bfd location
    table";
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf node-id {
                type xr:Node-id;
                description "Node ID";
              }
    
              leaf pps-allocated-value {
                type uint32;
                description
                  "Allocated PPS value";
              }
    
              leaf ppsmp-allocated-value {
                type uint32;
                description
                  "Allocated MP PPS value";
              }
    
              leaf pps-max-value {
                type uint32;
                description "Max PPS value";
              }
    
              leaf ppsmp-max-value {
                type uint32;
                description "Max MP PPS value";
              }
    
              leaf total-session-number {
                type uint32;
                description
                  "Total Session Number";
              }
    
              leaf mp-session-number {
                type uint32;
                description "MP Session Number";
              }
    
              leaf max-session-number {
                type uint32;
                description "Max Session Number";
              }
    
              leaf pps-all-percentage {
                type uint32;
                units "percentage";
                description "All PPS percentage";
              }
    
              leaf ppsmp-percentage {
                type uint32;
                units "percentage";
                description "MP PPS percentage";
              }
            }  // list generic-summary
          }  // container generic-summaries
    
          container ipv6-single-hop-multi-paths {
            description
              "IPv6 single hop multipath";
            list ipv6-single-hop-multi-path {
              description
                "IPv6 single hop multipath table";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
    
              leaf destination-address {
                type inet:ip-address-no-zone;
                description
                  "Destination address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf local-discriminator {
                type uint32;
                description
                  "Session's Local discriminator";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf local-discriminator-xr {
                type Bfd-discr;
                description
                  "Session's Local discriminator";
              }
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf incoming-label-xr {
                type uint32;
                description "Incoming Label";
              }
    
              leaf session-interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list ipv6-single-hop-multi-path
          }  // container ipv6-single-hop-multi-paths
    
          container ipv4-single-hop-node-location-summaries {
            description
              "Table of summary information about BFD IPv4
    singlehop sessions per location";
            list ipv4-single-hop-node-location-summary {
              key "location";
              description
                "Summary information for BFD IPv4 singlehop
    sessions for location";
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              container session-state {
                description
                  "Statistics of states for sessions";
                leaf total-count {
                  type uint32;
                  description
                    "Number of sessions in database";
                }
    
                leaf up-count {
                  type uint32;
                  description
                    "Number of sessions in up state";
                }
    
                leaf down-count {
                  type uint32;
                  description
                    "Number of sessions in down state";
                }
    
                leaf unknown-count {
                  type uint32;
                  description
                    "Number of sessions in unknown state";
                }
    
                leaf retry-count {
                  type uint32;
                  description
                    "Number of sessions in retry state";
                }
    
                leaf standby-count {
                  type uint32;
                  description
                    "Number of sessions in standby state";
                }
              }  // container session-state
            }  // list ipv4-single-hop-node-location-summary
          }  // container ipv4-single-hop-node-location-summaries
    
          container label-summary {
            description
              "Summary information of Label BFD";
            container session-state {
              description
                "Statistics of states for sessions";
              leaf total-count {
                type uint32;
                description
                  "Number of sessions in database";
              }
    
              leaf down-count {
                type uint32;
                description
                  "Number of sessions in down state";
              }
    
              leaf up-count {
                type uint32;
                description
                  "Number of sessions in up state";
              }
    
              leaf unknown-count {
                type uint32;
                description
                  "Number of sessions in unknown state";
              }
            }  // container session-state
          }  // container label-summary
    
          container ipv4bf-do-mplste-head-session-briefs {
            description
              "Table of brief information about all IPv4 BFD
    over MPLS-TE Head sessions in the System";
            list ipv4bf-do-mplste-head-session-brief {
              description
                "Brief information for a single IPv4 BFD over
    MPLS-TE Head session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              leaf incoming-label {
                type uint32;
                description "Incoming Label";
              }
    
              leaf fe-ctype {
                type uint32;
                description "FEC Type";
              }
    
              leaf fec-subgroup-id {
                type uint32;
                description "FEC Subgroup ID";
              }
    
              leaf feclspid {
                type uint32;
                description "FEC LSP ID";
              }
    
              leaf fec-tunnel-id {
                type uint32;
                description "FEC Tunnel ID";
              }
    
              leaf fec-extended-tunnel-id {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Extended Tunnel ID";
              }
    
              leaf fec-source {
                type inet:ipv4-address-no-zone;
                description "FEC Source";
              }
    
              leaf fec-destination {
                type inet:ipv4-address-no-zone;
                description "FEC Destination";
              }
    
              leaf fecp2mpid {
                type uint32;
                description "FEC P2MP ID";
              }
    
              leaf fec-subgroup-originator {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Subgroup originator";
              }
    
              leaf fec-ctype {
                type uint32;
                description "FEC C Type";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              container status-brief-information {
                description
                  "Brief Status Information";
                container async-interval-multiplier {
                  description
                    "Async Interval and Detect Multiplier Information";
                  leaf negotiated-remote-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated remote transmit interval in
    micro-seconds";
                  }
    
                  leaf negotiated-local-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated local transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container async-interval-multiplier
    
                container echo-interval-multiplier {
                  description
                    "Echo Interval and Detect Multiplier Information";
                  leaf negotiated-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated transmit interval in micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container echo-interval-multiplier
              }  // container status-brief-information
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf session-type {
                type Bfd-session;
                description "Session type";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf session-flags {
                type uint32;
                description "Session Flags";
              }
            }  // list ipv4bf-do-mplste-head-session-brief
          }  // container ipv4bf-do-mplste-head-session-briefs
    
          container ipv4bf-do-mplste-tail-session-details {
            description
              "Table of detailed information about all IPv4 BFD
    over MPLS-TE Tail sessions in the System";
            list ipv4bf-do-mplste-tail-session-detail {
              description
                "Detailed information for a single IPv4 BFD over
    MPLS-TE Tail session";
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              leaf incoming-label {
                type uint32;
                description "Incoming Label";
              }
    
              leaf fe-ctype {
                type uint32;
                description "FEC Type";
              }
    
              leaf fec-subgroup-id {
                type uint32;
                description "FEC Subgroup ID";
              }
    
              leaf feclspid {
                type uint32;
                description "FEC LSP ID";
              }
    
              leaf fec-tunnel-id {
                type uint32;
                description "FEC Tunnel ID";
              }
    
              leaf fec-extended-tunnel-id {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Extended Tunnel ID";
              }
    
              leaf fec-source {
                type inet:ipv4-address-no-zone;
                description "FEC Source";
              }
    
              leaf fec-destination {
                type inet:ipv4-address-no-zone;
                description "FEC Destination";
              }
    
              leaf fecp2mpid {
                type uint32;
                description "FEC P2MP ID";
              }
    
              leaf fec-subgroup-originator {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Subgroup originator";
              }
    
              leaf fec-ctype {
                type uint32;
                description "FEC C Type";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              container status-information {
                description
                  "Session status information";
                container source-address {
                  description "Source address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container source-address
    
                container last-state-change {
                  description
                    "Time since last state change";
                  leaf days {
                    type uint32;
                    units "day";
                    description
                      "Number of days since last session state
    transition";
                  }
    
                  leaf hours {
                    type uint8;
                    units "hour";
                    description
                      "Number of hours since last session state
    transition";
                  }
    
                  leaf minutes {
                    type uint8;
                    units "minute";
                    description
                      "Number of mins since last session state
    transition";
                  }
    
                  leaf seconds {
                    type uint8;
                    units "second";
                    description
                      "Number of seconds since last session state
    transition";
                  }
                }  // container last-state-change
    
                container transmit-packet {
                  description "Transmit Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container transmit-packet
    
                container receive-packet {
                  description "Receive Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container receive-packet
    
                container status-brief-information {
                  description
                    "Brief Status Information";
                  container async-interval-multiplier {
                    description
                      "Async Interval and Detect Multiplier Information";
                    leaf negotiated-remote-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated remote transmit interval in
    micro-seconds";
                    }
    
                    leaf negotiated-local-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated local transmit interval in
    micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container async-interval-multiplier
    
                  container echo-interval-multiplier {
                    description
                      "Echo Interval and Detect Multiplier Information";
                    leaf negotiated-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated transmit interval in micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container echo-interval-multiplier
                }  // container status-brief-information
    
                container async-transmit-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-transmit-statistics
    
                container async-receive-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-receive-statistics
    
                container echo-transmit-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-transmit-statistics
    
                container echo-received-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-received-statistics
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf session-subtype {
                  type string;
                  description "Session subtype";
                }
    
                leaf state {
                  type Bfd-mgmt-session-state;
                  description "State";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                leaf remote-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Remote discriminator";
                }
    
                leaf last-failure-time-sec {
                  type uint64;
                  units "second";
                  description
                    "Last Session Down Time (seconds)";
                }
    
                leaf out-of-up-state-count {
                  type uint64;
                  description
                    "Number of times session moved out of UP state";
                }
    
                leaf to-up-state-count {
                  type uint32;
                  description
                    "Number of times session state went to UP";
                }
    
                leaf desired-minimum-echo-transmit-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Desired minimum echo transmit interval in
    milli-seconds";
                }
    
                leaf remote-negotiated-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Remote Negotiated Interval in milli-seconds";
                }
    
                leaf latency-number {
                  type uint32;
                  description
                    "Number of Latency Samples. Time between Transmit
    and Receive";
                }
    
                leaf latency-minimum {
                  type uint32;
                  units "microsecond";
                  description
                    "Minimum value of Latency (in micro-seconds)";
                }
    
                leaf latency-maximum {
                  type uint32;
                  units "microsecond";
                  description
                    "Maximum value of Latency (in micro-seconds)";
                }
    
                leaf latency-average {
                  type uint32;
                  units "microsecond";
                  description
                    "Average value of Latency (in micro-seconds)";
                }
    
                leaf node-id {
                  type xr:Node-id;
                  description
                    "Location where session is housed";
                }
    
                leaf internal-label {
                  type uint32;
                  description "Internal Label";
                }
    
                leaf reverse-label {
                  type uint32;
                  description "Reverse Label";
                }
              }  // container status-information
    
              container mp-download-state {
                description "MP Dowload State";
                container change-time {
                  description "Change time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container change-time
    
                leaf mp-download-state {
                  type Bfd-mp-download-state;
                  description
                    "MP Download State";
                }
              }  // container mp-download-state
    
              container lsp-ping-info {
                description "LSP Ping Info";
                container lsp-ping-tx-last-time {
                  description
                    "LSP Ping last sent time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-time
    
                container lsp-ping-tx-last-error-time {
                  description
                    "LSP Ping last error time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-error-time
    
                container lsp-ping-rx-last-time {
                  description
                    "LSP Ping last received time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-rx-last-time
    
                leaf lsp-ping-tx-count {
                  type uint32;
                  description
                    "LSP Ping Tx count";
                }
    
                leaf lsp-ping-tx-error-count {
                  type uint32;
                  description
                    "LSP Ping Tx error count";
                }
    
                leaf lsp-ping-tx-last-rc {
                  type string;
                  description
                    "LSP Ping Tx last result";
                }
    
                leaf lsp-ping-tx-last-error-rc {
                  type string;
                  description
                    "LSP Ping Tx last error";
                }
    
                leaf lsp-ping-rx-last-discr {
                  type Bfd-discr;
                  description
                    "LSP Ping Rx last received discriminator";
                }
    
                leaf lsp-ping-rx-count {
                  type uint32;
                  description
                    "LSP Ping numer of times received";
                }
    
                leaf lsp-ping-rx-last-code {
                  type uint8;
                  description
                    "LSP Ping Rx Last Code";
                }
    
                leaf lsp-ping-rx-last-subcode {
                  type uint8;
                  description
                    "LSP Ping Rx Last Subcode";
                }
    
                leaf lsp-ping-rx-last-output {
                  type string;
                  description
                    "LSP Ping Rx Last Output";
                }
              }  // container lsp-ping-info
    
              list owner-information {
                description
                  "Client applications owning the session";
                leaf interval {
                  type uint32;
                  units "microsecond";
                  description
                    "Client specified minimum transmit interval in
    micro-seconds";
                }
    
                leaf detection-multiplier {
                  type uint32;
                  description
                    "Client specified detection multiplier to compute
    detection time";
                }
    
                leaf adjusted-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Adjusted minimum transmit interval in
    milli-seconds";
                }
    
                leaf adjusted-detection-multiplier {
                  type uint32;
                  description
                    "Adjusted detection multiplier to compute
    detection time";
                }
    
                leaf name {
                  type string {
                    length "0..257";
                  }
                  description
                    "Client process name";
                }
              }  // list owner-information
    
              list association-information {
                description
                  "Association session information";
                container ip-destination-address {
                  description
                    "IPv4/v6 dest address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container ip-destination-address
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                list owner-information {
                  description
                    "Client applications owning the session";
                  leaf interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Client specified minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Client specified detection multiplier to compute
    detection time";
                  }
    
                  leaf adjusted-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Adjusted minimum transmit interval in
    milli-seconds";
                  }
    
                  leaf adjusted-detection-multiplier {
                    type uint32;
                    description
                      "Adjusted detection multiplier to compute
    detection time";
                  }
    
                  leaf name {
                    type string {
                      length "0..257";
                    }
                    description
                      "Client process name";
                  }
                }  // list owner-information
              }  // list association-information
            }  // list ipv4bf-do-mplste-tail-session-detail
          }  // container ipv4bf-do-mplste-tail-session-details
    
          container ipv4-multi-hop-node-location-summaries {
            description
              "Table of summary information about BFD IPv4
    multihop sessions per location";
            list ipv4-multi-hop-node-location-summary {
              key "location";
              description
                "Summary information for BFD IPv4 multihop
    sessions for location";
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              container session-state {
                description
                  "Statistics of states for sessions";
                leaf total-count {
                  type uint32;
                  description
                    "Number of sessions in database";
                }
    
                leaf up-count {
                  type uint32;
                  description
                    "Number of sessions in up state";
                }
    
                leaf down-count {
                  type uint32;
                  description
                    "Number of sessions in down state";
                }
    
                leaf unknown-count {
                  type uint32;
                  description
                    "Number of sessions in unknown state";
                }
    
                leaf retry-count {
                  type uint32;
                  description
                    "Number of sessions in retry state";
                }
    
                leaf standby-count {
                  type uint32;
                  description
                    "Number of sessions in standby state";
                }
              }  // container session-state
            }  // list ipv4-multi-hop-node-location-summary
          }  // container ipv4-multi-hop-node-location-summaries
    
          container ipv4bf-do-mplste-tail-session-briefs {
            description
              "Table of brief information about all IPv4 BFD
    over MPLS-TE Tail sessions in the System";
            list ipv4bf-do-mplste-tail-session-brief {
              description
                "Brief information for a single IPv4 BFD over
    MPLS-TE session";
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              leaf incoming-label {
                type uint32;
                description "Incoming Label";
              }
    
              leaf fe-ctype {
                type uint32;
                description "FEC Type";
              }
    
              leaf fec-subgroup-id {
                type uint32;
                description "FEC Subgroup ID";
              }
    
              leaf feclspid {
                type uint32;
                description "FEC LSP ID";
              }
    
              leaf fec-tunnel-id {
                type uint32;
                description "FEC Tunnel ID";
              }
    
              leaf fec-extended-tunnel-id {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Extended Tunnel ID";
              }
    
              leaf fec-source {
                type inet:ipv4-address-no-zone;
                description "FEC Source";
              }
    
              leaf fec-destination {
                type inet:ipv4-address-no-zone;
                description "FEC Destination";
              }
    
              leaf fecp2mpid {
                type uint32;
                description "FEC P2MP ID";
              }
    
              leaf fec-subgroup-originator {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Subgroup originator";
              }
    
              leaf fec-ctype {
                type uint32;
                description "FEC C Type";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              container status-brief-information {
                description
                  "Brief Status Information";
                container async-interval-multiplier {
                  description
                    "Async Interval and Detect Multiplier Information";
                  leaf negotiated-remote-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated remote transmit interval in
    micro-seconds";
                  }
    
                  leaf negotiated-local-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated local transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container async-interval-multiplier
    
                container echo-interval-multiplier {
                  description
                    "Echo Interval and Detect Multiplier Information";
                  leaf negotiated-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated transmit interval in micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container echo-interval-multiplier
              }  // container status-brief-information
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf session-type {
                type Bfd-session;
                description "Session type";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf session-flags {
                type uint32;
                description "Session Flags";
              }
            }  // list ipv4bf-do-mplste-tail-session-brief
          }  // container ipv4bf-do-mplste-tail-session-briefs
    
          container ipv6-multi-hop-node-location-summaries {
            description
              "Table of summary information about BFD IPv6
    multihop sessions per location";
            list ipv6-multi-hop-node-location-summary {
              key "location";
              description
                "Summary information for BFD IPv6 multihop
    sessions for location";
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              container session-state {
                description
                  "Statistics of states for sessions";
                leaf total-count {
                  type uint32;
                  description
                    "Number of sessions in database";
                }
    
                leaf up-count {
                  type uint32;
                  description
                    "Number of sessions in up state";
                }
    
                leaf down-count {
                  type uint32;
                  description
                    "Number of sessions in down state";
                }
    
                leaf unknown-count {
                  type uint32;
                  description
                    "Number of sessions in unknown state";
                }
    
                leaf retry-count {
                  type uint32;
                  description
                    "Number of sessions in retry state";
                }
    
                leaf standby-count {
                  type uint32;
                  description
                    "Number of sessions in standby state";
                }
              }  // container session-state
            }  // list ipv6-multi-hop-node-location-summary
          }  // container ipv6-multi-hop-node-location-summaries
    
          container ip-single-hop-session-details {
            description
              "Table of detailed information about all IP
    singlehop BFD sessions in the System ";
            list ip-single-hop-session-detail {
              description
                "Detailed information for a single IPv4/IPv6
    singlehop BFD session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf destination-address {
                type inet:ip-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf local-discriminator {
                type uint32;
                description "Session Discr";
              }
    
              container status-information {
                description
                  "Session status information";
                container source-address {
                  description "Source address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container source-address
    
                container last-state-change {
                  description
                    "Time since last state change";
                  leaf days {
                    type uint32;
                    units "day";
                    description
                      "Number of days since last session state
    transition";
                  }
    
                  leaf hours {
                    type uint8;
                    units "hour";
                    description
                      "Number of hours since last session state
    transition";
                  }
    
                  leaf minutes {
                    type uint8;
                    units "minute";
                    description
                      "Number of mins since last session state
    transition";
                  }
    
                  leaf seconds {
                    type uint8;
                    units "second";
                    description
                      "Number of seconds since last session state
    transition";
                  }
                }  // container last-state-change
    
                container transmit-packet {
                  description "Transmit Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container transmit-packet
    
                container receive-packet {
                  description "Receive Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container receive-packet
    
                container status-brief-information {
                  description
                    "Brief Status Information";
                  container async-interval-multiplier {
                    description
                      "Async Interval and Detect Multiplier Information";
                    leaf negotiated-remote-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated remote transmit interval in
    micro-seconds";
                    }
    
                    leaf negotiated-local-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated local transmit interval in
    micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container async-interval-multiplier
    
                  container echo-interval-multiplier {
                    description
                      "Echo Interval and Detect Multiplier Information";
                    leaf negotiated-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated transmit interval in micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container echo-interval-multiplier
                }  // container status-brief-information
    
                container async-transmit-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-transmit-statistics
    
                container async-receive-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-receive-statistics
    
                container echo-transmit-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-transmit-statistics
    
                container echo-received-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-received-statistics
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf session-subtype {
                  type string;
                  description "Session subtype";
                }
    
                leaf state {
                  type Bfd-mgmt-session-state;
                  description "State";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                leaf remote-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Remote discriminator";
                }
    
                leaf last-failure-time-sec {
                  type uint64;
                  units "second";
                  description
                    "Last Session Down Time (seconds)";
                }
    
                leaf out-of-up-state-count {
                  type uint64;
                  description
                    "Number of times session moved out of UP state";
                }
    
                leaf to-up-state-count {
                  type uint32;
                  description
                    "Number of times session state went to UP";
                }
    
                leaf desired-minimum-echo-transmit-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Desired minimum echo transmit interval in
    milli-seconds";
                }
    
                leaf remote-negotiated-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Remote Negotiated Interval in milli-seconds";
                }
    
                leaf latency-number {
                  type uint32;
                  description
                    "Number of Latency Samples. Time between Transmit
    and Receive";
                }
    
                leaf latency-minimum {
                  type uint32;
                  units "microsecond";
                  description
                    "Minimum value of Latency (in micro-seconds)";
                }
    
                leaf latency-maximum {
                  type uint32;
                  units "microsecond";
                  description
                    "Maximum value of Latency (in micro-seconds)";
                }
    
                leaf latency-average {
                  type uint32;
                  units "microsecond";
                  description
                    "Average value of Latency (in micro-seconds)";
                }
    
                leaf node-id {
                  type xr:Node-id;
                  description
                    "Location where session is housed";
                }
    
                leaf internal-label {
                  type uint32;
                  description "Internal Label";
                }
    
                leaf reverse-label {
                  type uint32;
                  description "Reverse Label";
                }
              }  // container status-information
    
              container mp-download-state {
                description "MP Dowload State";
                container change-time {
                  description "Change time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container change-time
    
                leaf mp-download-state {
                  type Bfd-mp-download-state;
                  description
                    "MP Download State";
                }
              }  // container mp-download-state
    
              container lsp-ping-info {
                description "LSP Ping Info";
                container lsp-ping-tx-last-time {
                  description
                    "LSP Ping last sent time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-time
    
                container lsp-ping-tx-last-error-time {
                  description
                    "LSP Ping last error time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-error-time
    
                container lsp-ping-rx-last-time {
                  description
                    "LSP Ping last received time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-rx-last-time
    
                leaf lsp-ping-tx-count {
                  type uint32;
                  description
                    "LSP Ping Tx count";
                }
    
                leaf lsp-ping-tx-error-count {
                  type uint32;
                  description
                    "LSP Ping Tx error count";
                }
    
                leaf lsp-ping-tx-last-rc {
                  type string;
                  description
                    "LSP Ping Tx last result";
                }
    
                leaf lsp-ping-tx-last-error-rc {
                  type string;
                  description
                    "LSP Ping Tx last error";
                }
    
                leaf lsp-ping-rx-last-discr {
                  type Bfd-discr;
                  description
                    "LSP Ping Rx last received discriminator";
                }
    
                leaf lsp-ping-rx-count {
                  type uint32;
                  description
                    "LSP Ping numer of times received";
                }
    
                leaf lsp-ping-rx-last-code {
                  type uint8;
                  description
                    "LSP Ping Rx Last Code";
                }
    
                leaf lsp-ping-rx-last-subcode {
                  type uint8;
                  description
                    "LSP Ping Rx Last Subcode";
                }
    
                leaf lsp-ping-rx-last-output {
                  type string;
                  description
                    "LSP Ping Rx Last Output";
                }
              }  // container lsp-ping-info
    
              list owner-information {
                description
                  "Client applications owning the session";
                leaf interval {
                  type uint32;
                  units "microsecond";
                  description
                    "Client specified minimum transmit interval in
    micro-seconds";
                }
    
                leaf detection-multiplier {
                  type uint32;
                  description
                    "Client specified detection multiplier to compute
    detection time";
                }
    
                leaf adjusted-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Adjusted minimum transmit interval in
    milli-seconds";
                }
    
                leaf adjusted-detection-multiplier {
                  type uint32;
                  description
                    "Adjusted detection multiplier to compute
    detection time";
                }
    
                leaf name {
                  type string {
                    length "0..257";
                  }
                  description
                    "Client process name";
                }
              }  // list owner-information
    
              list association-information {
                description
                  "Association session information";
                container ip-destination-address {
                  description
                    "IPv4/v6 dest address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container ip-destination-address
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                list owner-information {
                  description
                    "Client applications owning the session";
                  leaf interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Client specified minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Client specified detection multiplier to compute
    detection time";
                  }
    
                  leaf adjusted-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Adjusted minimum transmit interval in
    milli-seconds";
                  }
    
                  leaf adjusted-detection-multiplier {
                    type uint32;
                    description
                      "Adjusted detection multiplier to compute
    detection time";
                  }
    
                  leaf name {
                    type string {
                      length "0..257";
                    }
                    description
                      "Client process name";
                  }
                }  // list owner-information
              }  // list association-information
            }  // list ip-single-hop-session-detail
          }  // container ip-single-hop-session-details
    
          container ipv4-multi-hop-summary {
            description
              "Summary information of BFD IPv4 multihop
    sessions";
            container session-state {
              description
                "Statistics of states for sessions";
              leaf total-count {
                type uint32;
                description
                  "Number of sessions in database";
              }
    
              leaf down-count {
                type uint32;
                description
                  "Number of sessions in down state";
              }
    
              leaf up-count {
                type uint32;
                description
                  "Number of sessions in up state";
              }
    
              leaf unknown-count {
                type uint32;
                description
                  "Number of sessions in unknown state";
              }
            }  // container session-state
          }  // container ipv4-multi-hop-summary
    
          container ipv4-single-hop-counters {
            description
              "IPv4 single hop Counters";
            container ipv4-single-hop-packet-counters {
              description
                "Table of IPv4 single hop Packet counters";
              list ipv4-single-hop-packet-counter {
                description
                  "Interface IPv4 single hop Packet counters";
                leaf interface-name {
                  type xr:Interface-name;
                  description "Interface Name";
                }
    
                leaf location {
                  type xr:Node-id;
                  description "Location";
                }
    
                leaf hello-transmit-count {
                  type uint32;
                  description
                    "Number of Hellos transmitted";
                }
    
                leaf hello-receive-count {
                  type uint32;
                  description
                    "Number of Hellos received";
                }
    
                leaf echo-transmit-count {
                  type uint32;
                  description
                    "Number of echo packets transmitted";
                }
    
                leaf echo-receive-count {
                  type uint32;
                  description
                    "Number of echo packets received";
                }
    
                leaf display-type {
                  type Bfd-mgmt-pkt-display;
                  description
                    "Packet Display Type";
                }
              }  // list ipv4-single-hop-packet-counter
            }  // container ipv4-single-hop-packet-counters
          }  // container ipv4-single-hop-counters
    
          container ipv6-multi-hop-session-details {
            description
              "Table of detailed information about all IPv6
    multihop BFD sessions in the System ";
            list ipv6-multi-hop-session-detail {
              description
                "Detailed information for a single IPv6 multihop
    BFD session";
              leaf source-address {
                type inet:ip-address-no-zone;
                description "Source Address";
              }
    
              leaf destination-address {
                type inet:ip-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              container status-information {
                description
                  "Session status information";
                container source-address {
                  description "Source address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container source-address
    
                container last-state-change {
                  description
                    "Time since last state change";
                  leaf days {
                    type uint32;
                    units "day";
                    description
                      "Number of days since last session state
    transition";
                  }
    
                  leaf hours {
                    type uint8;
                    units "hour";
                    description
                      "Number of hours since last session state
    transition";
                  }
    
                  leaf minutes {
                    type uint8;
                    units "minute";
                    description
                      "Number of mins since last session state
    transition";
                  }
    
                  leaf seconds {
                    type uint8;
                    units "second";
                    description
                      "Number of seconds since last session state
    transition";
                  }
                }  // container last-state-change
    
                container transmit-packet {
                  description "Transmit Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container transmit-packet
    
                container receive-packet {
                  description "Receive Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container receive-packet
    
                container status-brief-information {
                  description
                    "Brief Status Information";
                  container async-interval-multiplier {
                    description
                      "Async Interval and Detect Multiplier Information";
                    leaf negotiated-remote-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated remote transmit interval in
    micro-seconds";
                    }
    
                    leaf negotiated-local-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated local transmit interval in
    micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container async-interval-multiplier
    
                  container echo-interval-multiplier {
                    description
                      "Echo Interval and Detect Multiplier Information";
                    leaf negotiated-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated transmit interval in micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container echo-interval-multiplier
                }  // container status-brief-information
    
                container async-transmit-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-transmit-statistics
    
                container async-receive-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-receive-statistics
    
                container echo-transmit-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-transmit-statistics
    
                container echo-received-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-received-statistics
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf session-subtype {
                  type string;
                  description "Session subtype";
                }
    
                leaf state {
                  type Bfd-mgmt-session-state;
                  description "State";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                leaf remote-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Remote discriminator";
                }
    
                leaf last-failure-time-sec {
                  type uint64;
                  units "second";
                  description
                    "Last Session Down Time (seconds)";
                }
    
                leaf out-of-up-state-count {
                  type uint64;
                  description
                    "Number of times session moved out of UP state";
                }
    
                leaf to-up-state-count {
                  type uint32;
                  description
                    "Number of times session state went to UP";
                }
    
                leaf desired-minimum-echo-transmit-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Desired minimum echo transmit interval in
    milli-seconds";
                }
    
                leaf remote-negotiated-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Remote Negotiated Interval in milli-seconds";
                }
    
                leaf latency-number {
                  type uint32;
                  description
                    "Number of Latency Samples. Time between Transmit
    and Receive";
                }
    
                leaf latency-minimum {
                  type uint32;
                  units "microsecond";
                  description
                    "Minimum value of Latency (in micro-seconds)";
                }
    
                leaf latency-maximum {
                  type uint32;
                  units "microsecond";
                  description
                    "Maximum value of Latency (in micro-seconds)";
                }
    
                leaf latency-average {
                  type uint32;
                  units "microsecond";
                  description
                    "Average value of Latency (in micro-seconds)";
                }
    
                leaf node-id {
                  type xr:Node-id;
                  description
                    "Location where session is housed";
                }
    
                leaf internal-label {
                  type uint32;
                  description "Internal Label";
                }
    
                leaf reverse-label {
                  type uint32;
                  description "Reverse Label";
                }
              }  // container status-information
    
              container mp-download-state {
                description "MP Dowload State";
                container change-time {
                  description "Change time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container change-time
    
                leaf mp-download-state {
                  type Bfd-mp-download-state;
                  description
                    "MP Download State";
                }
              }  // container mp-download-state
    
              container lsp-ping-info {
                description "LSP Ping Info";
                container lsp-ping-tx-last-time {
                  description
                    "LSP Ping last sent time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-time
    
                container lsp-ping-tx-last-error-time {
                  description
                    "LSP Ping last error time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-error-time
    
                container lsp-ping-rx-last-time {
                  description
                    "LSP Ping last received time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-rx-last-time
    
                leaf lsp-ping-tx-count {
                  type uint32;
                  description
                    "LSP Ping Tx count";
                }
    
                leaf lsp-ping-tx-error-count {
                  type uint32;
                  description
                    "LSP Ping Tx error count";
                }
    
                leaf lsp-ping-tx-last-rc {
                  type string;
                  description
                    "LSP Ping Tx last result";
                }
    
                leaf lsp-ping-tx-last-error-rc {
                  type string;
                  description
                    "LSP Ping Tx last error";
                }
    
                leaf lsp-ping-rx-last-discr {
                  type Bfd-discr;
                  description
                    "LSP Ping Rx last received discriminator";
                }
    
                leaf lsp-ping-rx-count {
                  type uint32;
                  description
                    "LSP Ping numer of times received";
                }
    
                leaf lsp-ping-rx-last-code {
                  type uint8;
                  description
                    "LSP Ping Rx Last Code";
                }
    
                leaf lsp-ping-rx-last-subcode {
                  type uint8;
                  description
                    "LSP Ping Rx Last Subcode";
                }
    
                leaf lsp-ping-rx-last-output {
                  type string;
                  description
                    "LSP Ping Rx Last Output";
                }
              }  // container lsp-ping-info
    
              list owner-information {
                description
                  "Client applications owning the session";
                leaf interval {
                  type uint32;
                  units "microsecond";
                  description
                    "Client specified minimum transmit interval in
    micro-seconds";
                }
    
                leaf detection-multiplier {
                  type uint32;
                  description
                    "Client specified detection multiplier to compute
    detection time";
                }
    
                leaf adjusted-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Adjusted minimum transmit interval in
    milli-seconds";
                }
    
                leaf adjusted-detection-multiplier {
                  type uint32;
                  description
                    "Adjusted detection multiplier to compute
    detection time";
                }
    
                leaf name {
                  type string {
                    length "0..257";
                  }
                  description
                    "Client process name";
                }
              }  // list owner-information
    
              list association-information {
                description
                  "Association session information";
                container ip-destination-address {
                  description
                    "IPv4/v6 dest address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container ip-destination-address
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                list owner-information {
                  description
                    "Client applications owning the session";
                  leaf interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Client specified minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Client specified detection multiplier to compute
    detection time";
                  }
    
                  leaf adjusted-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Adjusted minimum transmit interval in
    milli-seconds";
                  }
    
                  leaf adjusted-detection-multiplier {
                    type uint32;
                    description
                      "Adjusted detection multiplier to compute
    detection time";
                  }
    
                  leaf name {
                    type string {
                      length "0..257";
                    }
                    description
                      "Client process name";
                  }
                }  // list owner-information
              }  // list association-information
            }  // list ipv6-multi-hop-session-detail
          }  // container ipv6-multi-hop-session-details
    
          container ipv6-multi-hop-multi-paths {
            description
              "IPv6 multi hop multipath";
            list ipv6-multi-hop-multi-path {
              description
                "IPv6 multihop multipath table";
              leaf source-address {
                type inet:ip-address-no-zone;
                description "Source address";
              }
    
              leaf destination-address {
                type inet:ip-address-no-zone;
                description
                  "Destination address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf local-discriminator-xr {
                type Bfd-discr;
                description
                  "Session's Local discriminator";
              }
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf incoming-label-xr {
                type uint32;
                description "Incoming Label";
              }
    
              leaf session-interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list ipv6-multi-hop-multi-path
          }  // container ipv6-multi-hop-multi-paths
    
          container ipv4bf-do-mplste-head-counters {
            description
              "IPv4 BFD over MPLS-TE Counters";
            container ipv4bf-do-mplste-head-packet-counters {
              description
                "Table of IPv4 BFD over MPLS-TE Packet counters";
              list ipv4bf-do-mplste-head-packet-counter {
                description
                  "Interface  IPv4 BFD over MPLS-TE Packet
    counters";
                leaf interface-name {
                  type xr:Interface-name;
                  description "Interface Name";
                }
    
                leaf location {
                  type xr:Node-id;
                  description "Location";
                }
    
                leaf hello-transmit-count {
                  type uint32;
                  description
                    "Number of Hellos transmitted";
                }
    
                leaf hello-receive-count {
                  type uint32;
                  description
                    "Number of Hellos received";
                }
    
                leaf echo-transmit-count {
                  type uint32;
                  description
                    "Number of echo packets transmitted";
                }
    
                leaf echo-receive-count {
                  type uint32;
                  description
                    "Number of echo packets received";
                }
    
                leaf display-type {
                  type Bfd-mgmt-pkt-display;
                  description
                    "Packet Display Type";
                }
              }  // list ipv4bf-do-mplste-head-packet-counter
            }  // container ipv4bf-do-mplste-head-packet-counters
          }  // container ipv4bf-do-mplste-head-counters
    
          container session-mibs {
            description
              "BFD session MIB database";
            list session-mib {
              key "discriminator";
              description
                "Brief information for BFD session MIB";
              leaf discriminator {
                type uint32 {
                  range "1..4294967295";
                }
                description "Session Discr";
              }
    
              container dest-address {
                description
                  "Session Destination address";
                leaf afi {
                  type Bfd-af-id;
                  description "AFI";
                }
    
                leaf dummy {
                  when
                    "../afi = 'bfd-af-id-none'" {
                    description
                      "../AFI = 'BFD_AF_ID_NONE'";
                  }
                  type uint8;
                  description "No Address";
                }
    
                leaf ipv4 {
                  when
                    "../afi = 'bfd-af-id-ipv4'" {
                    description
                      "../AFI = 'BFD_AF_ID_IPV4'";
                  }
                  type Bfd-in-addr;
                  description
                    "IPv4 address type";
                }
    
                leaf ipv6 {
                  when
                    "../afi = 'bfd-af-id-ipv6'" {
                    description
                      "../AFI = 'BFD_AF_ID_IPV6'";
                  }
                  type Bfd-in6-addr;
                  description
                    "IPv6 address type";
                }
              }  // container dest-address
    
              leaf local-discriminator {
                type Bfd-discr;
                description
                  "Sessions' Local Discriminator";
              }
    
              leaf remote-discriminator {
                type Bfd-discr;
                description
                  "Sessions' Remote Discriminator";
              }
    
              leaf sessionversion {
                type uint32;
                description
                  "Session BFD Version";
              }
    
              leaf session-state {
                type uint32;
                description "Session State";
              }
    
              leaf trap-bitmap {
                type uint32;
                description
                  "Trap Generator Bitmap";
              }
    
              leaf pkt-in {
                type uint64;
                description "Packet In Counter";
              }
    
              leaf pkt-out {
                type uint64;
                description "Packet Out Counter";
              }
    
              leaf last-up-time-sec {
                type uint64;
                units "second";
                description
                  "Last Session Up Time (seconds)";
              }
    
              leaf last-up-time-nsec {
                type uint32;
                units "nanosecond";
                description
                  "Last Session Up Time (nanoseconds)";
              }
    
              leaf last-down-time-sec {
                type uint64;
                units "second";
                description
                  "Last Session Down Time (seconds)";
              }
    
              leaf last-down-time-nsec {
                type uint32;
                units "nanosecond";
                description
                  "Last Session Down Time (nanoseconds)";
              }
    
              leaf last-io-evm-schd-time-sec {
                type uint64;
                units "second";
                description
                  "Last IO EVM Schd Time (seconds)";
              }
    
              leaf last-io-evm-schd-time-nsec {
                type uint32;
                units "nanosecond";
                description
                  "Last IO Evm Schd Time (nanoseconds)";
              }
    
              leaf last-io-evm-schd-comp-time-sec {
                type uint64;
                units "second";
                description
                  "Last IO EVM Schd Comp Time (seconds)";
              }
    
              leaf last-io-evm-schd-comp-time-nsec {
                type uint32;
                units "nanosecond";
                description
                  "Last IO Evm Schd Comp Time (nanoseconds)";
              }
    
              leaf last-down-diag {
                type Bfd-mgmt-session-diag;
                description
                  "Last Session Down Diag";
              }
    
              leaf last-rx-down-diag {
                type Bfd-mgmt-session-diag;
                description
                  "Last Rx Session Down Diag";
              }
    
              leaf up-counter {
                type uint32;
                description "Up Count";
              }
    
              leaf last-time-cached {
                type uint64;
                description
                  "Last Time Session Info Queried";
              }
    
              leaf interface-name {
                type string {
                  length "0..64";
                }
                description
                  "Session Interface Name";
              }
    
              leaf int-handle {
                type uint32;
                description
                  "Session Interface Handle";
              }
    
              leaf detection-multiplier {
                type uint32;
                description
                  "Detection Multiplier";
              }
    
              leaf desired-min-tx-interval {
                type uint32;
                description
                  "Desired Min TX Interval";
              }
    
              leaf required-min-rx-interval {
                type uint32;
                description
                  "Required Min RX Interval";
              }
    
              leaf required-min-rx-echo-interval {
                type uint32;
                description
                  "Required Min RX Echo Interval";
              }
    
              leaf session-key {
                type string {
                  length "0..256";
                }
                description "Session Key";
              }
            }  // list session-mib
          }  // container session-mibs
    
          container ipv6-multi-hop-summary {
            description
              "Summary information of BFD IPv6 multihop
    sessions";
            container session-state {
              description
                "Statistics of states for sessions";
              leaf total-count {
                type uint32;
                description
                  "Number of sessions in database";
              }
    
              leaf down-count {
                type uint32;
                description
                  "Number of sessions in down state";
              }
    
              leaf up-count {
                type uint32;
                description
                  "Number of sessions in up state";
              }
    
              leaf unknown-count {
                type uint32;
                description
                  "Number of sessions in unknown state";
              }
            }  // container session-state
          }  // container ipv6-multi-hop-summary
    
          container label-summary-nodes {
            description
              "Table of summary about Label BFD sessions for
    location";
            list label-summary-node {
              key "location-name";
              description
                "Summary of Label BFD ";
              leaf location-name {
                type xr:Cisco-ios-xr-string;
                description "Location name";
              }
    
              container session-state {
                description
                  "Statistics of states for sessions";
                leaf total-count {
                  type uint32;
                  description
                    "Number of sessions in database";
                }
    
                leaf up-count {
                  type uint32;
                  description
                    "Number of sessions in up state";
                }
    
                leaf down-count {
                  type uint32;
                  description
                    "Number of sessions in down state";
                }
    
                leaf unknown-count {
                  type uint32;
                  description
                    "Number of sessions in unknown state";
                }
    
                leaf retry-count {
                  type uint32;
                  description
                    "Number of sessions in retry state";
                }
    
                leaf standby-count {
                  type uint32;
                  description
                    "Number of sessions in standby state";
                }
              }  // container session-state
            }  // list label-summary-node
          }  // container label-summary-nodes
    
          container ipv6-multi-hop-session-briefs {
            description
              "Table of brief information about all IPv6
    multihop BFD sessions in the System";
            list ipv6-multi-hop-session-brief {
              description
                "Brief information for a single IPv6 multihop
    BFD session";
              leaf source-address {
                type inet:ip-address-no-zone;
                description "Source Address";
              }
    
              leaf destination-address {
                type inet:ip-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              container status-brief-information {
                description
                  "Brief Status Information";
                container async-interval-multiplier {
                  description
                    "Async Interval and Detect Multiplier Information";
                  leaf negotiated-remote-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated remote transmit interval in
    micro-seconds";
                  }
    
                  leaf negotiated-local-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated local transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container async-interval-multiplier
    
                container echo-interval-multiplier {
                  description
                    "Echo Interval and Detect Multiplier Information";
                  leaf negotiated-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated transmit interval in micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container echo-interval-multiplier
              }  // container status-brief-information
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf session-type {
                type Bfd-session;
                description "Session type";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf session-flags {
                type uint32;
                description "Session Flags";
              }
            }  // list ipv6-multi-hop-session-brief
          }  // container ipv6-multi-hop-session-briefs
    
          container session-briefs {
            description
              "Table of brief information about singlehop IPv4
    BFD sessions in the System";
            list session-brief {
              description
                "Brief information for a single IPv4 singlehop
    BFD session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf destination-address {
                type inet:ipv4-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf local-discriminator {
                type uint32;
                description "Session Discr";
              }
    
              container status-brief-information {
                description
                  "Brief Status Information";
                container async-interval-multiplier {
                  description
                    "Async Interval and Detect Multiplier Information";
                  leaf negotiated-remote-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated remote transmit interval in
    micro-seconds";
                  }
    
                  leaf negotiated-local-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated local transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container async-interval-multiplier
    
                container echo-interval-multiplier {
                  description
                    "Echo Interval and Detect Multiplier Information";
                  leaf negotiated-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated transmit interval in micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container echo-interval-multiplier
              }  // container status-brief-information
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf session-type {
                type Bfd-session;
                description "Session type";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf session-flags {
                type uint32;
                description "Session Flags";
              }
            }  // list session-brief
          }  // container session-briefs
    
          container ipv6-single-hop-node-location-summaries {
            description
              "Table of summary information about BFD IPv6
    singlehop sessions per location";
            list ipv6-single-hop-node-location-summary {
              key "location";
              description
                "Summary information for BFD IPv6 singlehop
    sessions for location";
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              container session-state {
                description
                  "Statistics of states for sessions";
                leaf total-count {
                  type uint32;
                  description
                    "Number of sessions in database";
                }
    
                leaf up-count {
                  type uint32;
                  description
                    "Number of sessions in up state";
                }
    
                leaf down-count {
                  type uint32;
                  description
                    "Number of sessions in down state";
                }
    
                leaf unknown-count {
                  type uint32;
                  description
                    "Number of sessions in unknown state";
                }
    
                leaf retry-count {
                  type uint32;
                  description
                    "Number of sessions in retry state";
                }
    
                leaf standby-count {
                  type uint32;
                  description
                    "Number of sessions in standby state";
                }
              }  // container session-state
            }  // list ipv6-single-hop-node-location-summary
          }  // container ipv6-single-hop-node-location-summaries
    
          container summary {
            description
              "Summary information of BFD IPv4 singlehop
    sessions";
            container session-state {
              description
                "Statistics of states for sessions";
              leaf total-count {
                type uint32;
                description
                  "Number of sessions in database";
              }
    
              leaf down-count {
                type uint32;
                description
                  "Number of sessions in down state";
              }
    
              leaf up-count {
                type uint32;
                description
                  "Number of sessions in up state";
              }
    
              leaf unknown-count {
                type uint32;
                description
                  "Number of sessions in unknown state";
              }
            }  // container session-state
          }  // container summary
    
          container ipv4bfd-mplste-tail-node-summaries {
            description
              "Table of summary about IPv4 TE tail BFD sessions
    for location";
            list ipv4bfd-mplste-tail-node-summary {
              key "location-name";
              description
                "Summary of IPv4 BFD over MPLS-TE tail";
              leaf location-name {
                type xr:Cisco-ios-xr-string;
                description "Location name";
              }
    
              container session-state {
                description
                  "Statistics of states for sessions";
                leaf total-count {
                  type uint32;
                  description
                    "Number of sessions in database";
                }
    
                leaf up-count {
                  type uint32;
                  description
                    "Number of sessions in up state";
                }
    
                leaf down-count {
                  type uint32;
                  description
                    "Number of sessions in down state";
                }
    
                leaf unknown-count {
                  type uint32;
                  description
                    "Number of sessions in unknown state";
                }
    
                leaf retry-count {
                  type uint32;
                  description
                    "Number of sessions in retry state";
                }
    
                leaf standby-count {
                  type uint32;
                  description
                    "Number of sessions in standby state";
                }
              }  // container session-state
            }  // list ipv4bfd-mplste-tail-node-summary
          }  // container ipv4bfd-mplste-tail-node-summaries
    
          container ipv4bfd-mplste-head-summary-nodes {
            description
              "Table of summary about IPv4 TE head BFD sessions
    for location";
            list ipv4bfd-mplste-head-summary-node {
              key "location-name";
              description
                "Summary of IPv4 BFD over MPLS-TE head";
              leaf location-name {
                type xr:Cisco-ios-xr-string;
                description "Location name";
              }
    
              container session-state {
                description
                  "Statistics of states for sessions";
                leaf total-count {
                  type uint32;
                  description
                    "Number of sessions in database";
                }
    
                leaf up-count {
                  type uint32;
                  description
                    "Number of sessions in up state";
                }
    
                leaf down-count {
                  type uint32;
                  description
                    "Number of sessions in down state";
                }
    
                leaf unknown-count {
                  type uint32;
                  description
                    "Number of sessions in unknown state";
                }
    
                leaf retry-count {
                  type uint32;
                  description
                    "Number of sessions in retry state";
                }
    
                leaf standby-count {
                  type uint32;
                  description
                    "Number of sessions in standby state";
                }
              }  // container session-state
            }  // list ipv4bfd-mplste-head-summary-node
          }  // container ipv4bfd-mplste-head-summary-nodes
    
          container label-session-details {
            description
              "Table of detailed information about all Label
    BFD sessions in the System ";
            list label-session-detail {
              description
                "Detailed information for a single BFD session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf incoming-label {
                type uint32;
                description "Incoming Label";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              container status-information {
                description
                  "Session status information";
                container source-address {
                  description "Source address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container source-address
    
                container last-state-change {
                  description
                    "Time since last state change";
                  leaf days {
                    type uint32;
                    units "day";
                    description
                      "Number of days since last session state
    transition";
                  }
    
                  leaf hours {
                    type uint8;
                    units "hour";
                    description
                      "Number of hours since last session state
    transition";
                  }
    
                  leaf minutes {
                    type uint8;
                    units "minute";
                    description
                      "Number of mins since last session state
    transition";
                  }
    
                  leaf seconds {
                    type uint8;
                    units "second";
                    description
                      "Number of seconds since last session state
    transition";
                  }
                }  // container last-state-change
    
                container transmit-packet {
                  description "Transmit Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container transmit-packet
    
                container receive-packet {
                  description "Receive Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container receive-packet
    
                container status-brief-information {
                  description
                    "Brief Status Information";
                  container async-interval-multiplier {
                    description
                      "Async Interval and Detect Multiplier Information";
                    leaf negotiated-remote-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated remote transmit interval in
    micro-seconds";
                    }
    
                    leaf negotiated-local-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated local transmit interval in
    micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container async-interval-multiplier
    
                  container echo-interval-multiplier {
                    description
                      "Echo Interval and Detect Multiplier Information";
                    leaf negotiated-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated transmit interval in micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container echo-interval-multiplier
                }  // container status-brief-information
    
                container async-transmit-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-transmit-statistics
    
                container async-receive-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-receive-statistics
    
                container echo-transmit-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-transmit-statistics
    
                container echo-received-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-received-statistics
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf session-subtype {
                  type string;
                  description "Session subtype";
                }
    
                leaf state {
                  type Bfd-mgmt-session-state;
                  description "State";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                leaf remote-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Remote discriminator";
                }
    
                leaf last-failure-time-sec {
                  type uint64;
                  units "second";
                  description
                    "Last Session Down Time (seconds)";
                }
    
                leaf out-of-up-state-count {
                  type uint64;
                  description
                    "Number of times session moved out of UP state";
                }
    
                leaf to-up-state-count {
                  type uint32;
                  description
                    "Number of times session state went to UP";
                }
    
                leaf desired-minimum-echo-transmit-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Desired minimum echo transmit interval in
    milli-seconds";
                }
    
                leaf remote-negotiated-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Remote Negotiated Interval in milli-seconds";
                }
    
                leaf latency-number {
                  type uint32;
                  description
                    "Number of Latency Samples. Time between Transmit
    and Receive";
                }
    
                leaf latency-minimum {
                  type uint32;
                  units "microsecond";
                  description
                    "Minimum value of Latency (in micro-seconds)";
                }
    
                leaf latency-maximum {
                  type uint32;
                  units "microsecond";
                  description
                    "Maximum value of Latency (in micro-seconds)";
                }
    
                leaf latency-average {
                  type uint32;
                  units "microsecond";
                  description
                    "Average value of Latency (in micro-seconds)";
                }
    
                leaf node-id {
                  type xr:Node-id;
                  description
                    "Location where session is housed";
                }
    
                leaf internal-label {
                  type uint32;
                  description "Internal Label";
                }
    
                leaf reverse-label {
                  type uint32;
                  description "Reverse Label";
                }
              }  // container status-information
    
              container mp-download-state {
                description "MP Dowload State";
                container change-time {
                  description "Change time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container change-time
    
                leaf mp-download-state {
                  type Bfd-mp-download-state;
                  description
                    "MP Download State";
                }
              }  // container mp-download-state
    
              container lsp-ping-info {
                description "LSP Ping Info";
                container lsp-ping-tx-last-time {
                  description
                    "LSP Ping last sent time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-time
    
                container lsp-ping-tx-last-error-time {
                  description
                    "LSP Ping last error time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-error-time
    
                container lsp-ping-rx-last-time {
                  description
                    "LSP Ping last received time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-rx-last-time
    
                leaf lsp-ping-tx-count {
                  type uint32;
                  description
                    "LSP Ping Tx count";
                }
    
                leaf lsp-ping-tx-error-count {
                  type uint32;
                  description
                    "LSP Ping Tx error count";
                }
    
                leaf lsp-ping-tx-last-rc {
                  type string;
                  description
                    "LSP Ping Tx last result";
                }
    
                leaf lsp-ping-tx-last-error-rc {
                  type string;
                  description
                    "LSP Ping Tx last error";
                }
    
                leaf lsp-ping-rx-last-discr {
                  type Bfd-discr;
                  description
                    "LSP Ping Rx last received discriminator";
                }
    
                leaf lsp-ping-rx-count {
                  type uint32;
                  description
                    "LSP Ping numer of times received";
                }
    
                leaf lsp-ping-rx-last-code {
                  type uint8;
                  description
                    "LSP Ping Rx Last Code";
                }
    
                leaf lsp-ping-rx-last-subcode {
                  type uint8;
                  description
                    "LSP Ping Rx Last Subcode";
                }
    
                leaf lsp-ping-rx-last-output {
                  type string;
                  description
                    "LSP Ping Rx Last Output";
                }
              }  // container lsp-ping-info
    
              list owner-information {
                description
                  "Client applications owning the session";
                leaf interval {
                  type uint32;
                  units "microsecond";
                  description
                    "Client specified minimum transmit interval in
    micro-seconds";
                }
    
                leaf detection-multiplier {
                  type uint32;
                  description
                    "Client specified detection multiplier to compute
    detection time";
                }
    
                leaf adjusted-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Adjusted minimum transmit interval in
    milli-seconds";
                }
    
                leaf adjusted-detection-multiplier {
                  type uint32;
                  description
                    "Adjusted detection multiplier to compute
    detection time";
                }
    
                leaf name {
                  type string {
                    length "0..257";
                  }
                  description
                    "Client process name";
                }
              }  // list owner-information
    
              list association-information {
                description
                  "Association session information";
                container ip-destination-address {
                  description
                    "IPv4/v6 dest address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container ip-destination-address
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                list owner-information {
                  description
                    "Client applications owning the session";
                  leaf interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Client specified minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Client specified detection multiplier to compute
    detection time";
                  }
    
                  leaf adjusted-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Adjusted minimum transmit interval in
    milli-seconds";
                  }
    
                  leaf adjusted-detection-multiplier {
                    type uint32;
                    description
                      "Adjusted detection multiplier to compute
    detection time";
                  }
    
                  leaf name {
                    type string {
                      length "0..257";
                    }
                    description
                      "Client process name";
                  }
                }  // list owner-information
              }  // list association-information
            }  // list label-session-detail
          }  // container label-session-details
    
          container ipv6-single-hop-session-details {
            description
              "Table of detailed information about all IPv6
    singlehop BFD sessions in the System ";
            list ipv6-single-hop-session-detail {
              description
                "Detailed information for a single IPv6
    singlehop BFD session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf destination-address {
                type inet:ip-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf local-discriminator {
                type uint32;
                description "Session Discr";
              }
    
              container status-information {
                description
                  "Session status information";
                container source-address {
                  description "Source address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container source-address
    
                container last-state-change {
                  description
                    "Time since last state change";
                  leaf days {
                    type uint32;
                    units "day";
                    description
                      "Number of days since last session state
    transition";
                  }
    
                  leaf hours {
                    type uint8;
                    units "hour";
                    description
                      "Number of hours since last session state
    transition";
                  }
    
                  leaf minutes {
                    type uint8;
                    units "minute";
                    description
                      "Number of mins since last session state
    transition";
                  }
    
                  leaf seconds {
                    type uint8;
                    units "second";
                    description
                      "Number of seconds since last session state
    transition";
                  }
                }  // container last-state-change
    
                container transmit-packet {
                  description "Transmit Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container transmit-packet
    
                container receive-packet {
                  description "Receive Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container receive-packet
    
                container status-brief-information {
                  description
                    "Brief Status Information";
                  container async-interval-multiplier {
                    description
                      "Async Interval and Detect Multiplier Information";
                    leaf negotiated-remote-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated remote transmit interval in
    micro-seconds";
                    }
    
                    leaf negotiated-local-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated local transmit interval in
    micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container async-interval-multiplier
    
                  container echo-interval-multiplier {
                    description
                      "Echo Interval and Detect Multiplier Information";
                    leaf negotiated-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated transmit interval in micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container echo-interval-multiplier
                }  // container status-brief-information
    
                container async-transmit-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-transmit-statistics
    
                container async-receive-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-receive-statistics
    
                container echo-transmit-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-transmit-statistics
    
                container echo-received-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-received-statistics
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf session-subtype {
                  type string;
                  description "Session subtype";
                }
    
                leaf state {
                  type Bfd-mgmt-session-state;
                  description "State";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                leaf remote-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Remote discriminator";
                }
    
                leaf last-failure-time-sec {
                  type uint64;
                  units "second";
                  description
                    "Last Session Down Time (seconds)";
                }
    
                leaf out-of-up-state-count {
                  type uint64;
                  description
                    "Number of times session moved out of UP state";
                }
    
                leaf to-up-state-count {
                  type uint32;
                  description
                    "Number of times session state went to UP";
                }
    
                leaf desired-minimum-echo-transmit-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Desired minimum echo transmit interval in
    milli-seconds";
                }
    
                leaf remote-negotiated-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Remote Negotiated Interval in milli-seconds";
                }
    
                leaf latency-number {
                  type uint32;
                  description
                    "Number of Latency Samples. Time between Transmit
    and Receive";
                }
    
                leaf latency-minimum {
                  type uint32;
                  units "microsecond";
                  description
                    "Minimum value of Latency (in micro-seconds)";
                }
    
                leaf latency-maximum {
                  type uint32;
                  units "microsecond";
                  description
                    "Maximum value of Latency (in micro-seconds)";
                }
    
                leaf latency-average {
                  type uint32;
                  units "microsecond";
                  description
                    "Average value of Latency (in micro-seconds)";
                }
    
                leaf node-id {
                  type xr:Node-id;
                  description
                    "Location where session is housed";
                }
    
                leaf internal-label {
                  type uint32;
                  description "Internal Label";
                }
    
                leaf reverse-label {
                  type uint32;
                  description "Reverse Label";
                }
              }  // container status-information
    
              container mp-download-state {
                description "MP Dowload State";
                container change-time {
                  description "Change time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container change-time
    
                leaf mp-download-state {
                  type Bfd-mp-download-state;
                  description
                    "MP Download State";
                }
              }  // container mp-download-state
    
              container lsp-ping-info {
                description "LSP Ping Info";
                container lsp-ping-tx-last-time {
                  description
                    "LSP Ping last sent time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-time
    
                container lsp-ping-tx-last-error-time {
                  description
                    "LSP Ping last error time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-error-time
    
                container lsp-ping-rx-last-time {
                  description
                    "LSP Ping last received time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-rx-last-time
    
                leaf lsp-ping-tx-count {
                  type uint32;
                  description
                    "LSP Ping Tx count";
                }
    
                leaf lsp-ping-tx-error-count {
                  type uint32;
                  description
                    "LSP Ping Tx error count";
                }
    
                leaf lsp-ping-tx-last-rc {
                  type string;
                  description
                    "LSP Ping Tx last result";
                }
    
                leaf lsp-ping-tx-last-error-rc {
                  type string;
                  description
                    "LSP Ping Tx last error";
                }
    
                leaf lsp-ping-rx-last-discr {
                  type Bfd-discr;
                  description
                    "LSP Ping Rx last received discriminator";
                }
    
                leaf lsp-ping-rx-count {
                  type uint32;
                  description
                    "LSP Ping numer of times received";
                }
    
                leaf lsp-ping-rx-last-code {
                  type uint8;
                  description
                    "LSP Ping Rx Last Code";
                }
    
                leaf lsp-ping-rx-last-subcode {
                  type uint8;
                  description
                    "LSP Ping Rx Last Subcode";
                }
    
                leaf lsp-ping-rx-last-output {
                  type string;
                  description
                    "LSP Ping Rx Last Output";
                }
              }  // container lsp-ping-info
    
              list owner-information {
                description
                  "Client applications owning the session";
                leaf interval {
                  type uint32;
                  units "microsecond";
                  description
                    "Client specified minimum transmit interval in
    micro-seconds";
                }
    
                leaf detection-multiplier {
                  type uint32;
                  description
                    "Client specified detection multiplier to compute
    detection time";
                }
    
                leaf adjusted-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Adjusted minimum transmit interval in
    milli-seconds";
                }
    
                leaf adjusted-detection-multiplier {
                  type uint32;
                  description
                    "Adjusted detection multiplier to compute
    detection time";
                }
    
                leaf name {
                  type string {
                    length "0..257";
                  }
                  description
                    "Client process name";
                }
              }  // list owner-information
    
              list association-information {
                description
                  "Association session information";
                container ip-destination-address {
                  description
                    "IPv4/v6 dest address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container ip-destination-address
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                list owner-information {
                  description
                    "Client applications owning the session";
                  leaf interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Client specified minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Client specified detection multiplier to compute
    detection time";
                  }
    
                  leaf adjusted-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Adjusted minimum transmit interval in
    milli-seconds";
                  }
    
                  leaf adjusted-detection-multiplier {
                    type uint32;
                    description
                      "Adjusted detection multiplier to compute
    detection time";
                  }
    
                  leaf name {
                    type string {
                      length "0..257";
                    }
                    description
                      "Client process name";
                  }
                }  // list owner-information
              }  // list association-information
            }  // list ipv6-single-hop-session-detail
          }  // container ipv6-single-hop-session-details
    
          container ipv4-multi-hop-counters {
            description
              "IPv4 multiple hop Counters";
            container ipv4-multi-hop-packet-counters {
              description
                "Table of IPv4 multiple hop Packet counters";
              list ipv4-multi-hop-packet-counter {
                description
                  "IPv4 multiple hop Packet counters";
                leaf source-address {
                  type inet:ip-address-no-zone;
                  description "Source Address";
                }
    
                leaf destination-address {
                  type inet:ip-address-no-zone;
                  description
                    "Destination Address";
                }
    
                leaf location {
                  type xr:Node-id;
                  description "Location";
                }
    
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string;
                  description "VRF name";
                }
    
                leaf hello-transmit-count {
                  type uint32;
                  description
                    "Number of Hellos transmitted";
                }
    
                leaf hello-receive-count {
                  type uint32;
                  description
                    "Number of Hellos received";
                }
    
                leaf echo-transmit-count {
                  type uint32;
                  description
                    "Number of echo packets transmitted";
                }
    
                leaf echo-receive-count {
                  type uint32;
                  description
                    "Number of echo packets received";
                }
    
                leaf display-type {
                  type Bfd-mgmt-pkt-display;
                  description
                    "Packet Display Type";
                }
              }  // list ipv4-multi-hop-packet-counter
            }  // container ipv4-multi-hop-packet-counters
          }  // container ipv4-multi-hop-counters
    
          container session-details {
            description
              "Table of detailed information about IPv4
    singlehop BFD sessions in the System ";
            list session-detail {
              description
                "Detailed information for a single IPv4
    singlehop BFD session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf destination-address {
                type inet:ipv4-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf local-discriminator {
                type uint32;
                description "Session Discr";
              }
    
              container status-information {
                description
                  "Session status information";
                container source-address {
                  description "Source address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container source-address
    
                container last-state-change {
                  description
                    "Time since last state change";
                  leaf days {
                    type uint32;
                    units "day";
                    description
                      "Number of days since last session state
    transition";
                  }
    
                  leaf hours {
                    type uint8;
                    units "hour";
                    description
                      "Number of hours since last session state
    transition";
                  }
    
                  leaf minutes {
                    type uint8;
                    units "minute";
                    description
                      "Number of mins since last session state
    transition";
                  }
    
                  leaf seconds {
                    type uint8;
                    units "second";
                    description
                      "Number of seconds since last session state
    transition";
                  }
                }  // container last-state-change
    
                container transmit-packet {
                  description "Transmit Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container transmit-packet
    
                container receive-packet {
                  description "Receive Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container receive-packet
    
                container status-brief-information {
                  description
                    "Brief Status Information";
                  container async-interval-multiplier {
                    description
                      "Async Interval and Detect Multiplier Information";
                    leaf negotiated-remote-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated remote transmit interval in
    micro-seconds";
                    }
    
                    leaf negotiated-local-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated local transmit interval in
    micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container async-interval-multiplier
    
                  container echo-interval-multiplier {
                    description
                      "Echo Interval and Detect Multiplier Information";
                    leaf negotiated-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated transmit interval in micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container echo-interval-multiplier
                }  // container status-brief-information
    
                container async-transmit-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-transmit-statistics
    
                container async-receive-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-receive-statistics
    
                container echo-transmit-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-transmit-statistics
    
                container echo-received-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-received-statistics
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf session-subtype {
                  type string;
                  description "Session subtype";
                }
    
                leaf state {
                  type Bfd-mgmt-session-state;
                  description "State";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                leaf remote-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Remote discriminator";
                }
    
                leaf last-failure-time-sec {
                  type uint64;
                  units "second";
                  description
                    "Last Session Down Time (seconds)";
                }
    
                leaf out-of-up-state-count {
                  type uint64;
                  description
                    "Number of times session moved out of UP state";
                }
    
                leaf to-up-state-count {
                  type uint32;
                  description
                    "Number of times session state went to UP";
                }
    
                leaf desired-minimum-echo-transmit-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Desired minimum echo transmit interval in
    milli-seconds";
                }
    
                leaf remote-negotiated-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Remote Negotiated Interval in milli-seconds";
                }
    
                leaf latency-number {
                  type uint32;
                  description
                    "Number of Latency Samples. Time between Transmit
    and Receive";
                }
    
                leaf latency-minimum {
                  type uint32;
                  units "microsecond";
                  description
                    "Minimum value of Latency (in micro-seconds)";
                }
    
                leaf latency-maximum {
                  type uint32;
                  units "microsecond";
                  description
                    "Maximum value of Latency (in micro-seconds)";
                }
    
                leaf latency-average {
                  type uint32;
                  units "microsecond";
                  description
                    "Average value of Latency (in micro-seconds)";
                }
    
                leaf node-id {
                  type xr:Node-id;
                  description
                    "Location where session is housed";
                }
    
                leaf internal-label {
                  type uint32;
                  description "Internal Label";
                }
    
                leaf reverse-label {
                  type uint32;
                  description "Reverse Label";
                }
              }  // container status-information
    
              container mp-download-state {
                description "MP Dowload State";
                container change-time {
                  description "Change time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container change-time
    
                leaf mp-download-state {
                  type Bfd-mp-download-state;
                  description
                    "MP Download State";
                }
              }  // container mp-download-state
    
              container lsp-ping-info {
                description "LSP Ping Info";
                container lsp-ping-tx-last-time {
                  description
                    "LSP Ping last sent time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-time
    
                container lsp-ping-tx-last-error-time {
                  description
                    "LSP Ping last error time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-error-time
    
                container lsp-ping-rx-last-time {
                  description
                    "LSP Ping last received time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-rx-last-time
    
                leaf lsp-ping-tx-count {
                  type uint32;
                  description
                    "LSP Ping Tx count";
                }
    
                leaf lsp-ping-tx-error-count {
                  type uint32;
                  description
                    "LSP Ping Tx error count";
                }
    
                leaf lsp-ping-tx-last-rc {
                  type string;
                  description
                    "LSP Ping Tx last result";
                }
    
                leaf lsp-ping-tx-last-error-rc {
                  type string;
                  description
                    "LSP Ping Tx last error";
                }
    
                leaf lsp-ping-rx-last-discr {
                  type Bfd-discr;
                  description
                    "LSP Ping Rx last received discriminator";
                }
    
                leaf lsp-ping-rx-count {
                  type uint32;
                  description
                    "LSP Ping numer of times received";
                }
    
                leaf lsp-ping-rx-last-code {
                  type uint8;
                  description
                    "LSP Ping Rx Last Code";
                }
    
                leaf lsp-ping-rx-last-subcode {
                  type uint8;
                  description
                    "LSP Ping Rx Last Subcode";
                }
    
                leaf lsp-ping-rx-last-output {
                  type string;
                  description
                    "LSP Ping Rx Last Output";
                }
              }  // container lsp-ping-info
    
              list owner-information {
                description
                  "Client applications owning the session";
                leaf interval {
                  type uint32;
                  units "microsecond";
                  description
                    "Client specified minimum transmit interval in
    micro-seconds";
                }
    
                leaf detection-multiplier {
                  type uint32;
                  description
                    "Client specified detection multiplier to compute
    detection time";
                }
    
                leaf adjusted-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Adjusted minimum transmit interval in
    milli-seconds";
                }
    
                leaf adjusted-detection-multiplier {
                  type uint32;
                  description
                    "Adjusted detection multiplier to compute
    detection time";
                }
    
                leaf name {
                  type string {
                    length "0..257";
                  }
                  description
                    "Client process name";
                }
              }  // list owner-information
    
              list association-information {
                description
                  "Association session information";
                container ip-destination-address {
                  description
                    "IPv4/v6 dest address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container ip-destination-address
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                list owner-information {
                  description
                    "Client applications owning the session";
                  leaf interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Client specified minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Client specified detection multiplier to compute
    detection time";
                  }
    
                  leaf adjusted-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Adjusted minimum transmit interval in
    milli-seconds";
                  }
    
                  leaf adjusted-detection-multiplier {
                    type uint32;
                    description
                      "Adjusted detection multiplier to compute
    detection time";
                  }
    
                  leaf name {
                    type string {
                      length "0..257";
                    }
                    description
                      "Client process name";
                  }
                }  // list owner-information
              }  // list association-information
            }  // list session-detail
          }  // container session-details
    
          container ipv4-single-hop-multi-paths {
            description
              "IPv4 single hop multipath";
            list ipv4-single-hop-multi-path {
              description
                "IPv4 single hop multipath table";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf destination-address {
                type inet:ipv4-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf local-discriminator {
                type uint32;
                description
                  "Session's Local discriminator";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf local-discriminator-xr {
                type Bfd-discr;
                description
                  "Session's Local discriminator";
              }
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf incoming-label-xr {
                type uint32;
                description "Incoming Label";
              }
    
              leaf session-interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list ipv4-single-hop-multi-path
          }  // container ipv4-single-hop-multi-paths
    
          container ipv4-single-hop-session-briefs {
            description
              "Table of brief information about all IPv4
    singlehop BFD sessions in the System";
            list ipv4-single-hop-session-brief {
              description
                "Brief information for a single IPv4 singlehop
    BFD session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf destination-address {
                type inet:ipv4-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf local-discriminator {
                type uint32;
                description "Session Discr";
              }
    
              container status-brief-information {
                description
                  "Brief Status Information";
                container async-interval-multiplier {
                  description
                    "Async Interval and Detect Multiplier Information";
                  leaf negotiated-remote-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated remote transmit interval in
    micro-seconds";
                  }
    
                  leaf negotiated-local-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated local transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container async-interval-multiplier
    
                container echo-interval-multiplier {
                  description
                    "Echo Interval and Detect Multiplier Information";
                  leaf negotiated-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated transmit interval in micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container echo-interval-multiplier
              }  // container status-brief-information
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf session-type {
                type Bfd-session;
                description "Session type";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf session-flags {
                type uint32;
                description "Session Flags";
              }
            }  // list ipv4-single-hop-session-brief
          }  // container ipv4-single-hop-session-briefs
    
          container ipv6-multi-hop-counters {
            description
              "IPv6 multiple hop Counters";
            container ipv6-multi-hop-packet-counters {
              description
                "Table of IPv6 multiple hop Packet counters";
              list ipv6-multi-hop-packet-counter {
                description
                  "IPv4 multiple hop Packet counters";
                leaf source-address {
                  type inet:ip-address-no-zone;
                  description "Source Address";
                }
    
                leaf destination-address {
                  type inet:ip-address-no-zone;
                  description
                    "Destination Address";
                }
    
                leaf location {
                  type xr:Node-id;
                  description "Location";
                }
    
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string;
                  description "VRF name";
                }
    
                leaf hello-transmit-count {
                  type uint32;
                  description
                    "Number of Hellos transmitted";
                }
    
                leaf hello-receive-count {
                  type uint32;
                  description
                    "Number of Hellos received";
                }
    
                leaf echo-transmit-count {
                  type uint32;
                  description
                    "Number of echo packets transmitted";
                }
    
                leaf echo-receive-count {
                  type uint32;
                  description
                    "Number of echo packets received";
                }
    
                leaf display-type {
                  type Bfd-mgmt-pkt-display;
                  description
                    "Packet Display Type";
                }
              }  // list ipv6-multi-hop-packet-counter
            }  // container ipv6-multi-hop-packet-counters
          }  // container ipv6-multi-hop-counters
    
          container label-counters {
            description "Label Counters";
            container label-packet-counters {
              description
                "Table of Label Packet counters";
              list label-packet-counter {
                description
                  "Interface Label Packet counters";
                leaf interface-name {
                  type xr:Interface-name;
                  description "Interface Name";
                }
    
                leaf location {
                  type xr:Node-id;
                  description "Location";
                }
    
                leaf hello-transmit-count {
                  type uint32;
                  description
                    "Number of Hellos transmitted";
                }
    
                leaf hello-receive-count {
                  type uint32;
                  description
                    "Number of Hellos received";
                }
    
                leaf echo-transmit-count {
                  type uint32;
                  description
                    "Number of echo packets transmitted";
                }
    
                leaf echo-receive-count {
                  type uint32;
                  description
                    "Number of echo packets received";
                }
    
                leaf display-type {
                  type Bfd-mgmt-pkt-display;
                  description
                    "Packet Display Type";
                }
              }  // list label-packet-counter
            }  // container label-packet-counters
          }  // container label-counters
    
          container ipv4bf-do-mplste-head-session-details {
            description
              "Table of detailed information about all IPv4 BFD
    over MPLS-TE Head sessions in the System";
            list ipv4bf-do-mplste-head-session-detail {
              description
                "Detailed information for a single IPv4 BFD over
    MPLS-TE head session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              leaf incoming-label {
                type uint32;
                description "Incoming Label";
              }
    
              leaf fe-ctype {
                type uint32;
                description "FEC Type";
              }
    
              leaf fec-subgroup-id {
                type uint32;
                description "FEC Subgroup ID";
              }
    
              leaf feclspid {
                type uint32;
                description "FEC LSP ID";
              }
    
              leaf fec-tunnel-id {
                type uint32;
                description "FEC Tunnel ID";
              }
    
              leaf fec-extended-tunnel-id {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Extended Tunnel ID";
              }
    
              leaf fec-source {
                type inet:ipv4-address-no-zone;
                description "FEC Source";
              }
    
              leaf fec-destination {
                type inet:ipv4-address-no-zone;
                description "FEC Destination";
              }
    
              leaf fecp2mpid {
                type uint32;
                description "FEC P2MP ID";
              }
    
              leaf fec-subgroup-originator {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Subgroup originator";
              }
    
              leaf fec-ctype {
                type uint32;
                description "FEC C Type";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              container status-information {
                description
                  "Session status information";
                container source-address {
                  description "Source address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container source-address
    
                container last-state-change {
                  description
                    "Time since last state change";
                  leaf days {
                    type uint32;
                    units "day";
                    description
                      "Number of days since last session state
    transition";
                  }
    
                  leaf hours {
                    type uint8;
                    units "hour";
                    description
                      "Number of hours since last session state
    transition";
                  }
    
                  leaf minutes {
                    type uint8;
                    units "minute";
                    description
                      "Number of mins since last session state
    transition";
                  }
    
                  leaf seconds {
                    type uint8;
                    units "second";
                    description
                      "Number of seconds since last session state
    transition";
                  }
                }  // container last-state-change
    
                container transmit-packet {
                  description "Transmit Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container transmit-packet
    
                container receive-packet {
                  description "Receive Packet";
                  leaf version {
                    type uint8;
                    description "Version";
                  }
    
                  leaf diagnostic {
                    type Bfd-mgmt-session-diag;
                    description "Diagnostic";
                  }
    
                  leaf ihear-you {
                    type int32;
                    description
                      "I Hear You (v0)";
                  }
    
                  leaf state {
                    type Bfd-mgmt-session-state;
                    description "State (v1)";
                  }
    
                  leaf demand {
                    type int32;
                    description "Demand mode";
                  }
    
                  leaf poll {
                    type int32;
                    description "Poll bit";
                  }
    
                  leaf final {
                    type int32;
                    description "Final bit";
                  }
    
                  leaf control-plane-independent {
                    type int32;
                    description
                      "BFD implementation does not share fate with its
    control plane";
                  }
    
                  leaf authentication-present {
                    type int32;
                    description
                      "Requesting authentication for the session";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
    
                  leaf length {
                    type uint32;
                    description "Length";
                  }
    
                  leaf my-discriminator {
                    type Bfd-discr;
                    description
                      "My Discriminator";
                  }
    
                  leaf your-discriminator {
                    type Bfd-discr;
                    description
                      "Your Discriminator";
                  }
    
                  leaf desired-minimum-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Desired minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf required-minimum-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required receive interval in micro-seconds";
                  }
    
                  leaf required-minimum-echo-receive-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Required echo receive interval in micro-seconds";
                  }
                }  // container receive-packet
    
                container status-brief-information {
                  description
                    "Brief Status Information";
                  container async-interval-multiplier {
                    description
                      "Async Interval and Detect Multiplier Information";
                    leaf negotiated-remote-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated remote transmit interval in
    micro-seconds";
                    }
    
                    leaf negotiated-local-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated local transmit interval in
    micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container async-interval-multiplier
    
                  container echo-interval-multiplier {
                    description
                      "Echo Interval and Detect Multiplier Information";
                    leaf negotiated-transmit-interval {
                      type uint32;
                      units "microsecond";
                      description
                        "Negotiated transmit interval in micro-seconds";
                    }
    
                    leaf detection-time {
                      type uint32;
                      units "microsecond";
                      description
                        "Detection time in micro-seconds";
                    }
    
                    leaf detection-multiplier {
                      type uint32;
                      description
                        "Detection Multiplier";
                    }
                  }  // container echo-interval-multiplier
                }  // container status-brief-information
    
                container async-transmit-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-transmit-statistics
    
                container async-receive-statistics {
                  description
                    "Statistics of Interval between Async Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container async-receive-statistics
    
                container echo-transmit-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Transmitted (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-transmit-statistics
    
                container echo-received-statistics {
                  description
                    "Statistics of Interval between Echo Packets
    Received (in milli-seconds)";
                  leaf number {
                    type uint32;
                    description
                      "Number of Interval Samples between Packets
    sent/received";
                  }
    
                  leaf minimum {
                    type uint32;
                    units "millisecond";
                    description
                      "Minimum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf maximum {
                    type uint32;
                    units "millisecond";
                    description
                      "Maximum of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf average {
                    type uint32;
                    units "millisecond";
                    description
                      "Average of Transmit/Receive Interval (in
    milli-seconds)";
                  }
    
                  leaf last {
                    type uint32;
                    units "millisecond";
                    description
                      "Time since last Transmit/Receive (in
    milli-seconds)";
                  }
    
                  leaf last-time-stamp {
                    type uint64;
                    description
                      "TimeStamp of last Transmit/Receive";
                  }
                }  // container echo-received-statistics
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf session-subtype {
                  type string;
                  description "Session subtype";
                }
    
                leaf state {
                  type Bfd-mgmt-session-state;
                  description "State";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                leaf remote-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Remote discriminator";
                }
    
                leaf last-failure-time-sec {
                  type uint64;
                  units "second";
                  description
                    "Last Session Down Time (seconds)";
                }
    
                leaf out-of-up-state-count {
                  type uint64;
                  description
                    "Number of times session moved out of UP state";
                }
    
                leaf to-up-state-count {
                  type uint32;
                  description
                    "Number of times session state went to UP";
                }
    
                leaf desired-minimum-echo-transmit-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Desired minimum echo transmit interval in
    milli-seconds";
                }
    
                leaf remote-negotiated-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Remote Negotiated Interval in milli-seconds";
                }
    
                leaf latency-number {
                  type uint32;
                  description
                    "Number of Latency Samples. Time between Transmit
    and Receive";
                }
    
                leaf latency-minimum {
                  type uint32;
                  units "microsecond";
                  description
                    "Minimum value of Latency (in micro-seconds)";
                }
    
                leaf latency-maximum {
                  type uint32;
                  units "microsecond";
                  description
                    "Maximum value of Latency (in micro-seconds)";
                }
    
                leaf latency-average {
                  type uint32;
                  units "microsecond";
                  description
                    "Average value of Latency (in micro-seconds)";
                }
    
                leaf node-id {
                  type xr:Node-id;
                  description
                    "Location where session is housed";
                }
    
                leaf internal-label {
                  type uint32;
                  description "Internal Label";
                }
    
                leaf reverse-label {
                  type uint32;
                  description "Reverse Label";
                }
              }  // container status-information
    
              container mp-download-state {
                description "MP Dowload State";
                container change-time {
                  description "Change time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container change-time
    
                leaf mp-download-state {
                  type Bfd-mp-download-state;
                  description
                    "MP Download State";
                }
              }  // container mp-download-state
    
              container lsp-ping-info {
                description "LSP Ping Info";
                container lsp-ping-tx-last-time {
                  description
                    "LSP Ping last sent time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-time
    
                container lsp-ping-tx-last-error-time {
                  description
                    "LSP Ping last error time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-tx-last-error-time
    
                container lsp-ping-rx-last-time {
                  description
                    "LSP Ping last received time";
                  leaf seconds {
                    type uint64;
                    units "second";
                    description "seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "nanoseconds";
                  }
                }  // container lsp-ping-rx-last-time
    
                leaf lsp-ping-tx-count {
                  type uint32;
                  description
                    "LSP Ping Tx count";
                }
    
                leaf lsp-ping-tx-error-count {
                  type uint32;
                  description
                    "LSP Ping Tx error count";
                }
    
                leaf lsp-ping-tx-last-rc {
                  type string;
                  description
                    "LSP Ping Tx last result";
                }
    
                leaf lsp-ping-tx-last-error-rc {
                  type string;
                  description
                    "LSP Ping Tx last error";
                }
    
                leaf lsp-ping-rx-last-discr {
                  type Bfd-discr;
                  description
                    "LSP Ping Rx last received discriminator";
                }
    
                leaf lsp-ping-rx-count {
                  type uint32;
                  description
                    "LSP Ping numer of times received";
                }
    
                leaf lsp-ping-rx-last-code {
                  type uint8;
                  description
                    "LSP Ping Rx Last Code";
                }
    
                leaf lsp-ping-rx-last-subcode {
                  type uint8;
                  description
                    "LSP Ping Rx Last Subcode";
                }
    
                leaf lsp-ping-rx-last-output {
                  type string;
                  description
                    "LSP Ping Rx Last Output";
                }
              }  // container lsp-ping-info
    
              list owner-information {
                description
                  "Client applications owning the session";
                leaf interval {
                  type uint32;
                  units "microsecond";
                  description
                    "Client specified minimum transmit interval in
    micro-seconds";
                }
    
                leaf detection-multiplier {
                  type uint32;
                  description
                    "Client specified detection multiplier to compute
    detection time";
                }
    
                leaf adjusted-interval {
                  type uint32;
                  units "millisecond";
                  description
                    "Adjusted minimum transmit interval in
    milli-seconds";
                }
    
                leaf adjusted-detection-multiplier {
                  type uint32;
                  description
                    "Adjusted detection multiplier to compute
    detection time";
                }
    
                leaf name {
                  type string {
                    length "0..257";
                  }
                  description
                    "Client process name";
                }
              }  // list owner-information
    
              list association-information {
                description
                  "Association session information";
                container ip-destination-address {
                  description
                    "IPv4/v6 dest address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container ip-destination-address
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                list owner-information {
                  description
                    "Client applications owning the session";
                  leaf interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Client specified minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Client specified detection multiplier to compute
    detection time";
                  }
    
                  leaf adjusted-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Adjusted minimum transmit interval in
    milli-seconds";
                  }
    
                  leaf adjusted-detection-multiplier {
                    type uint32;
                    description
                      "Adjusted detection multiplier to compute
    detection time";
                  }
    
                  leaf name {
                    type string {
                      length "0..257";
                    }
                    description
                      "Client process name";
                  }
                }  // list owner-information
              }  // list association-information
            }  // list ipv4bf-do-mplste-head-session-detail
          }  // container ipv4bf-do-mplste-head-session-details
    
          container relation-briefs {
            description
              "Table of brief information about all BFD
    relations in the System";
            list relation-brief {
              description
                "Brief information for relation of a single BFD
    session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf destination-address {
                type inet:ip-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              list link-information {
                description
                  "Brief Member Link Information";
                leaf state {
                  type Bfd-mgmt-session-state;
                  description "State";
                }
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
              }  // list link-information
            }  // list relation-brief
          }  // container relation-briefs
    
          container client-briefs {
            description
              "Table of Brief information about BFD clients";
            list client-brief {
              key "name";
              description
                "Brief information of client";
              leaf name {
                type xr:Cisco-ios-xr-string;
                description "Client Name";
              }
    
              leaf name-xr {
                type string {
                  length "0..257";
                }
                description
                  "Client process name";
              }
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where client resides";
              }
    
              leaf session-count {
                type uint32;
                description
                  "Number of sessions created by this client";
              }
            }  // list client-brief
          }  // container client-briefs
    
          container ipv4bf-do-mplste-head-multi-paths {
            description
              "IPv4 BFD over MPLS-TE Head multipath";
            list ipv4bf-do-mplste-head-multi-path {
              description
                "Label multipath table";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              leaf incoming-label {
                type uint32;
                description "Incoming Label";
              }
    
              leaf fe-ctype {
                type uint32;
                description "FEC Type";
              }
    
              leaf fec-subgroup-id {
                type uint32;
                description "FEC Subgroup ID";
              }
    
              leaf feclspid {
                type uint32;
                description "FEC LSP ID";
              }
    
              leaf fec-tunnel-id {
                type uint32;
                description "FEC Tunnel ID";
              }
    
              leaf fec-extended-tunnel-id {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Extended Tunnel ID";
              }
    
              leaf fec-source {
                type inet:ipv4-address-no-zone;
                description "FEC Source";
              }
    
              leaf fec-destination {
                type inet:ipv4-address-no-zone;
                description "FEC Destination";
              }
    
              leaf fecp2mpid {
                type uint32;
                description "FEC P2MP ID";
              }
    
              leaf fec-subgroup-originator {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Subgroup originator";
              }
    
              leaf fec-ctype {
                type uint32;
                description "FEC C Type";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf local-discriminator-xr {
                type Bfd-discr;
                description
                  "Session's Local discriminator";
              }
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf incoming-label-xr {
                type uint32;
                description "Incoming Label";
              }
    
              leaf session-interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list ipv4bf-do-mplste-head-multi-path
          }  // container ipv4bf-do-mplste-head-multi-paths
    
          container relation-details {
            description
              "Table of detail information about all BFD
    relations in the System";
            list relation-detail {
              description
                "Detail information for relation of a single BFD
    session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf destination-address {
                type inet:ip-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf local-discriminator {
                type Bfd-discr;
                description
                  "Session's Local discriminator";
              }
    
              list link-information {
                description
                  "Detail Member Link Information";
                leaf state {
                  type Bfd-mgmt-session-state;
                  description "State";
                }
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
              }  // list link-information
    
              list association-information {
                description
                  "Association session information";
                container ip-destination-address {
                  description
                    "IPv4/v6 dest address";
                  leaf afi {
                    type Bfd-af-id;
                    description "AFI";
                  }
    
                  leaf dummy {
                    when
                      "../afi = 'bfd-af-id-none'" {
                      description
                        "../AFI = 'BFD_AF_ID_NONE'";
                    }
                    type uint8;
                    description "No Address";
                  }
    
                  leaf ipv4 {
                    when
                      "../afi = 'bfd-af-id-ipv4'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV4'";
                    }
                    type Bfd-in-addr;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when
                      "../afi = 'bfd-af-id-ipv6'" {
                      description
                        "../AFI = 'BFD_AF_ID_IPV6'";
                    }
                    type Bfd-in6-addr;
                    description
                      "IPv6 address type";
                  }
                }  // container ip-destination-address
    
                leaf interface-name {
                  type string {
                    length "0..64";
                  }
                  description
                    "Session Interface Name";
                }
    
                leaf sessiontype {
                  type Bfd-session;
                  description "Session type";
                }
    
                leaf local-discriminator {
                  type Bfd-discr;
                  description
                    "Session's Local discriminator";
                }
    
                list owner-information {
                  description
                    "Client applications owning the session";
                  leaf interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Client specified minimum transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Client specified detection multiplier to compute
    detection time";
                  }
    
                  leaf adjusted-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Adjusted minimum transmit interval in
    milli-seconds";
                  }
    
                  leaf adjusted-detection-multiplier {
                    type uint32;
                    description
                      "Adjusted detection multiplier to compute
    detection time";
                  }
    
                  leaf name {
                    type string {
                      length "0..257";
                    }
                    description
                      "Client process name";
                  }
                }  // list owner-information
              }  // list association-information
            }  // list relation-detail
          }  // container relation-details
    
          container ipv4bf-do-mplste-tail-counters {
            description
              "IPv4 BFD over MPLS-TE Counters";
            container ipv4bf-do-mplste-tail-packet-counters {
              description
                "Table of IPv4 BFD over MPLS-TE Packet counters";
              list ipv4bf-do-mplste-tail-packet-counter {
                description
                  "Interface  IPv4 BFD over MPLS-TE Packet
    counters";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string;
                  description "VRF name";
                }
    
                leaf incoming-label {
                  type uint32;
                  description "Incoming Label";
                }
    
                leaf fe-ctype {
                  type uint32;
                  description "FEC Type";
                }
    
                leaf fec-subgroup-id {
                  type uint32;
                  description "FEC Subgroup ID";
                }
    
                leaf feclspid {
                  type uint32;
                  description "FEC LSP ID";
                }
    
                leaf fec-tunnel-id {
                  type uint32;
                  description "FEC Tunnel ID";
                }
    
                leaf fec-extended-tunnel-id {
                  type inet:ipv4-address-no-zone;
                  description
                    "FEC Extended Tunnel ID";
                }
    
                leaf fec-source {
                  type inet:ipv4-address-no-zone;
                  description "FEC Source";
                }
    
                leaf fec-destination {
                  type inet:ipv4-address-no-zone;
                  description "FEC Destination";
                }
    
                leaf fecp2mpid {
                  type uint32;
                  description "FEC P2MP ID";
                }
    
                leaf fec-subgroup-originator {
                  type inet:ipv4-address-no-zone;
                  description
                    "FEC Subgroup originator";
                }
    
                leaf fec-ctype {
                  type uint32;
                  description "FEC C Type";
                }
    
                leaf location {
                  type xr:Node-id;
                  description "Location";
                }
    
                leaf hello-transmit-count {
                  type uint32;
                  description
                    "Number of Hellos transmitted";
                }
    
                leaf hello-receive-count {
                  type uint32;
                  description
                    "Number of Hellos received";
                }
    
                leaf echo-transmit-count {
                  type uint32;
                  description
                    "Number of echo packets transmitted";
                }
    
                leaf echo-receive-count {
                  type uint32;
                  description
                    "Number of echo packets received";
                }
    
                leaf display-type {
                  type Bfd-mgmt-pkt-display;
                  description
                    "Packet Display Type";
                }
              }  // list ipv4bf-do-mplste-tail-packet-counter
            }  // container ipv4bf-do-mplste-tail-packet-counters
          }  // container ipv4bf-do-mplste-tail-counters
    
          container ipv6-single-hop-session-briefs {
            description
              "Table of brief information about all IPv6
    singlehop BFD sessions in the System";
            list ipv6-single-hop-session-brief {
              description
                "Brief information for a single IPv6 singlehop
    BFD session";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
    
              leaf destination-address {
                type inet:ip-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf local-discriminator {
                type uint32;
                description "Session Discr";
              }
    
              container status-brief-information {
                description
                  "Brief Status Information";
                container async-interval-multiplier {
                  description
                    "Async Interval and Detect Multiplier Information";
                  leaf negotiated-remote-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated remote transmit interval in
    micro-seconds";
                  }
    
                  leaf negotiated-local-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated local transmit interval in
    micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container async-interval-multiplier
    
                container echo-interval-multiplier {
                  description
                    "Echo Interval and Detect Multiplier Information";
                  leaf negotiated-transmit-interval {
                    type uint32;
                    units "microsecond";
                    description
                      "Negotiated transmit interval in micro-seconds";
                  }
    
                  leaf detection-time {
                    type uint32;
                    units "microsecond";
                    description
                      "Detection time in micro-seconds";
                  }
    
                  leaf detection-multiplier {
                    type uint32;
                    description
                      "Detection Multiplier";
                  }
                }  // container echo-interval-multiplier
              }  // container status-brief-information
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf session-type {
                type Bfd-session;
                description "Session type";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf session-flags {
                type uint32;
                description "Session Flags";
              }
            }  // list ipv6-single-hop-session-brief
          }  // container ipv6-single-hop-session-briefs
    
          container ipv4bf-do-mplste-tail-multi-paths {
            description
              "IPv4 BFD over MPLS-TE Tail multipath";
            list ipv4bf-do-mplste-tail-multi-path {
              description
                "Label multipath table";
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              leaf incoming-label {
                type uint32;
                description "Incoming Label";
              }
    
              leaf fe-ctype {
                type uint32;
                description "FEC Type";
              }
    
              leaf fec-subgroup-id {
                type uint32;
                description "FEC Subgroup ID";
              }
    
              leaf feclspid {
                type uint32;
                description "FEC LSP ID";
              }
    
              leaf fec-tunnel-id {
                type uint32;
                description "FEC Tunnel ID";
              }
    
              leaf fec-extended-tunnel-id {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Extended Tunnel ID";
              }
    
              leaf fec-source {
                type inet:ipv4-address-no-zone;
                description "FEC Source";
              }
    
              leaf fec-destination {
                type inet:ipv4-address-no-zone;
                description "FEC Destination";
              }
    
              leaf fecp2mpid {
                type uint32;
                description "FEC P2MP ID";
              }
    
              leaf fec-subgroup-originator {
                type inet:ipv4-address-no-zone;
                description
                  "FEC Subgroup originator";
              }
    
              leaf fec-ctype {
                type uint32;
                description "FEC C Type";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf local-discriminator-xr {
                type Bfd-discr;
                description
                  "Session's Local discriminator";
              }
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf incoming-label-xr {
                type uint32;
                description "Incoming Label";
              }
    
              leaf session-interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list ipv4bf-do-mplste-tail-multi-path
          }  // container ipv4bf-do-mplste-tail-multi-paths
    
          container ipv4-multi-hop-multi-paths {
            description
              "IPv4 multi-hop multipath";
            list ipv4-multi-hop-multi-path {
              description
                "IPv4 multi hop multipath table";
              leaf source-address {
                type inet:ip-address-no-zone;
                description "Source Address";
              }
    
              leaf destination-address {
                type inet:ip-address-no-zone;
                description
                  "Destination Address";
              }
    
              leaf location {
                type xr:Node-id;
                description "Location";
              }
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF name";
              }
    
              leaf session-subtype {
                type string;
                description "Session subtype";
              }
    
              leaf state {
                type Bfd-mgmt-session-state;
                description "State";
              }
    
              leaf local-discriminator-xr {
                type Bfd-discr;
                description
                  "Session's Local discriminator";
              }
    
              leaf node-id {
                type xr:Node-id;
                description
                  "Location where session is housed";
              }
    
              leaf incoming-label-xr {
                type uint32;
                description "Incoming Label";
              }
    
              leaf session-interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list ipv4-multi-hop-multi-path
          }  // container ipv4-multi-hop-multi-paths
    
          container ipv4bf-do-mplste-head-summary {
            description
              "Summary information of IPv4 BFD over MPLS-TE
    Head";
            container session-state {
              description
                "Statistics of states for sessions";
              leaf total-count {
                type uint32;
                description
                  "Number of sessions in database";
              }
    
              leaf down-count {
                type uint32;
                description
                  "Number of sessions in down state";
              }
    
              leaf up-count {
                type uint32;
                description
                  "Number of sessions in up state";
              }
    
              leaf unknown-count {
                type uint32;
                description
                  "Number of sessions in unknown state";
              }
            }  // container session-state
          }  // container ipv4bf-do-mplste-head-summary
        }  // container bfd
    
        container bfd-server-nodes {
          config false;
          description
            "Table of information about BFD in the Node";
          list bfd-server-node {
            key "location";
            description
              "Table of information about BFD per Node";
            container client-detail-locs {
              description
                "Table of detailed information about BFD clients";
              list client-detail-loc {
                key "client-name";
                description
                  "Detailed information of client";
                leaf client-name {
                  type xr:Cisco-ios-xr-string;
                  description "Client Name";
                }
    
                container brief {
                  description
                    "Brief client information";
                  leaf name-xr {
                    type string {
                      length "0..257";
                    }
                    description
                      "Client process name";
                  }
    
                  leaf node-id {
                    type xr:Node-id;
                    description
                      "Location where client resides";
                  }
    
                  leaf session-count {
                    type uint32;
                    description
                      "Number of sessions created by this client";
                  }
                }  // container brief
    
                container flags {
                  description
                    "The BFD Client Flags";
                  leaf is-zombie-state {
                    type int32;
                    description
                      "Client is in Zombie State";
                  }
    
                  leaf is-recreate-state {
                    type int32;
                    description
                      "Client is in Recreate State";
                  }
                }  // container flags
    
                leaf recreate-time {
                  type uint32;
                  units "second";
                  description
                    "Recreate Time in Seconds";
                }
              }  // list client-detail-loc
            }  // container client-detail-locs
    
            container client-brief-locs {
              description
                "Table of Brief information about BFD clients";
              list client-brief-loc {
                key "name";
                description
                  "Brief information of client";
                leaf name {
                  type xr:Cisco-ios-xr-string;
                  description "Client Name";
                }
    
                leaf name-xr {
                  type string {
                    length "0..257";
                  }
                  description
                    "Client process name";
                }
    
                leaf node-id {
                  type xr:Node-id;
                  description
                    "Location where client resides";
                }
    
                leaf session-count {
                  type uint32;
                  description
                    "Number of sessions created by this client";
                }
              }  // list client-brief-loc
            }  // container client-brief-locs
    
            leaf location {
              type xr:Node-id;
              description "Location";
            }
          }  // list bfd-server-node
        }  // container bfd-server-nodes
      }  // module Cisco-IOS-XR-ip-bfd-oper
    

© 2024 YumaWorks, Inc. All rights reserved.