Cisco-IOS-XR-pim-oper

This module contains a collection of YANG definitions for Cisco IOS-XR pim package operational data. This module contains defin...

  • Version: 2021-02-17

    Cisco-IOS-XR-pim-oper@2021-02-17


    
      module Cisco-IOS-XR-pim-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-pim-oper";
    
        prefix pim-oper;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        include Cisco-IOS-XR-pim-oper-sub2 {
          revision-date "2021-02-17";
        }
        include Cisco-IOS-XR-pim-oper-sub1 {
          revision-date "2021-02-17";
        }
    
        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 pim package operational data.
         
         This module contains definitions
         for the following management objects:
           pim-ma: PIM MA operational data
           pim: PIM operational data
           ipv6-pim: IPv6 PIM operational data
           pim6-ma: PIM6 MA operational data
         
         Copyright (c) 2013-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-02-17" {
          description
            "Addition made for Sticky DR neighbor tracking
           2020-10-11
             Changes to IOS-XR PIM oper";
        }
    
        revision "2019-12-24" {
          description "Fixed CSCvr52977.";
        }
    
        revision "2019-08-27" {
          description
            "Providing PIM information.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        typedef Pim-topology-interface-flag {
          type enumeration {
            enum "lh" {
              value 0;
              description "LH";
            }
            enum "ld" {
              value 1;
              description "LD";
            }
            enum "li" {
              value 2;
              description "LI";
            }
            enum "ii" {
              value 3;
              description "II";
            }
            enum "id" {
              value 4;
              description "ID";
            }
            enum "as" {
              value 5;
              description "AS";
            }
            enum "ab" {
              value 6;
              description "AB";
            }
            enum "ex" {
              value 7;
              description "EX";
            }
          }
          description
            "Pim topology interface flag";
        }
    
        typedef Pim-safi {
          type enumeration {
            enum "unicast" {
              value 1;
              description "SAFI unicast";
            }
            enum "multicast" {
              value 2;
              description "SAFI Multicast";
            }
            enum "all" {
              value 3;
              description "SAFI all";
            }
            enum "default" {
              value 4;
              description "SAFI default";
            }
          }
          description "Pim safi";
        }
    
        typedef Pim-client {
          type enumeration {
            enum "none" {
              value 0;
              description "No Client";
            }
            enum "configured-embedded-rp" {
              value 1;
              description
                "Embedded RP from configuration";
            }
            enum "embedded" {
              value 2;
              description
                "Embedded RP learnt from the Group addr";
            }
            enum "permanent" {
              value 3;
              description "Permanent";
            }
            enum "auto-rp" {
              value 4;
              description "AutoRP";
            }
            enum "bsr" {
              value 5;
              description "BSR";
            }
            enum "configured" {
              value 6;
              description "Configured";
            }
            enum "static" {
              value 7;
              description "Static";
            }
          }
          description "Pim client";
        }
    
        typedef Pim-topology-entry-flag {
          type enumeration {
            enum "kat" {
              value 0;
              description "KAT";
            }
            enum "aa" {
              value 1;
              description "AA";
            }
            enum "pa" {
              value 2;
              description "PA";
            }
            enum "ra" {
              value 3;
              description "RA";
            }
            enum "ia" {
              value 4;
              description "IA";
            }
            enum "rr" {
              value 5;
              description "RR";
            }
            enum "lh" {
              value 6;
              description "LH";
            }
            enum "dss" {
              value 7;
              description "DSS";
            }
            enum "dcc" {
              value 8;
              description "DCC";
            }
            enum "sr" {
              value 9;
              description "SR";
            }
            enum "e" {
              value 10;
              description "E";
            }
            enum "ex" {
              value 11;
              description "EX";
            }
            enum "ma" {
              value 12;
              description "MA";
            }
            enum "mt" {
              value 13;
              description "MT";
            }
            enum "mfa" {
              value 14;
              description "MFA";
            }
            enum "mfp" {
              value 15;
              description "MFP";
            }
            enum "mfb" {
              value 16;
              description "MFB";
            }
          }
          description "Pim topology entry flag";
        }
    
        typedef Pim-protocol {
          type enumeration {
            enum "non-routable" {
              value 0;
              description "Non Routable";
            }
            enum "sparse-mode" {
              value 1;
              description "Sparse Mode";
            }
            enum "dense-mode" {
              value 2;
              description "Dense Mode";
            }
            enum "bidir" {
              value 3;
              description "Bidirectional Mode";
            }
            enum "ssm" {
              value 4;
              description
                "Source Specific Multicast Mode";
            }
            enum "maximum" {
              value 5;
              description "Maximum";
            }
            enum "any" {
              value 6;
              description "Any";
            }
          }
          description "Pim protocol";
        }
    
        container pim-ma {
          config false;
          description "PIM MA operational data";
          container active {
            description "Active Process";
            container interface-table {
              description "Interface Table";
              container interface-by-handles {
                description
                  "Table of PIM MA interfaces indexed by handle";
                list interface-by-handle {
                  key "interface-handle";
                  description
                    "PIM MA interface referenced by handle";
                  leaf interface-handle {
                    type uint32;
                    description
                      "Interface handle";
                  }
    
                  container rp-address {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf vrf-name {
                    type string;
                    description "VRF Name";
                  }
    
                  leaf interface-type {
                    type Pim-interface;
                    description "Interface Type";
                  }
                }  // list interface-by-handle
              }  // container interface-by-handles
    
              container interface-by-names {
                description
                  "Table of PIM MA interfaces indexed by name";
                list interface-by-name {
                  key "interface-name";
                  description
                    "PIM MA interface referenced by name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf vrf-name {
                    type string;
                    description "VRF Name";
                  }
    
                  leaf interface-type {
                    type Pim-interface;
                    description "Interface Type";
                  }
                }  // list interface-by-name
              }  // container interface-by-names
            }  // container interface-table
    
            container pim-ma-summary {
              description "PIM MA summary";
              leaf is-im-connection-open {
                type boolean;
                description "IM Connection Open";
              }
    
              leaf is-netio-connection-open {
                type boolean;
                description
                  "Netio Connection Open";
              }
    
              leaf is-edm-connection-open {
                type boolean;
                description
                  "EDM Connection Open";
              }
    
              leaf is-standby-edm-connection-open {
                type boolean;
                description
                  "Standby EDM Connection Open";
              }
    
              leaf encap-interface-count {
                type uint32;
                description
                  "Encap Interface Count";
              }
    
              leaf decap-interface-count {
                type uint32;
                description
                  "Decap Interface Count";
              }
    
              leaf mdt-interface-count {
                type uint32;
                description
                  "MDT Interface Count";
              }
            }  // container pim-ma-summary
          }  // container active
    
          container standby {
            description "Standby Process";
            container interface-table {
              description "Interface Table";
              container interface-by-handles {
                description
                  "Table of PIM MA interfaces indexed by handle";
                list interface-by-handle {
                  key "interface-handle";
                  description
                    "PIM MA interface referenced by handle";
                  leaf interface-handle {
                    type uint32;
                    description
                      "Interface handle";
                  }
    
                  container rp-address {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf vrf-name {
                    type string;
                    description "VRF Name";
                  }
    
                  leaf interface-type {
                    type Pim-interface;
                    description "Interface Type";
                  }
                }  // list interface-by-handle
              }  // container interface-by-handles
    
              container interface-by-names {
                description
                  "Table of PIM MA interfaces indexed by name";
                list interface-by-name {
                  key "interface-name";
                  description
                    "PIM MA interface referenced by name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf vrf-name {
                    type string;
                    description "VRF Name";
                  }
    
                  leaf interface-type {
                    type Pim-interface;
                    description "Interface Type";
                  }
                }  // list interface-by-name
              }  // container interface-by-names
            }  // container interface-table
    
            container pim-ma-summary {
              description "PIM MA summary";
              leaf is-im-connection-open {
                type boolean;
                description "IM Connection Open";
              }
    
              leaf is-netio-connection-open {
                type boolean;
                description
                  "Netio Connection Open";
              }
    
              leaf is-edm-connection-open {
                type boolean;
                description
                  "EDM Connection Open";
              }
    
              leaf is-standby-edm-connection-open {
                type boolean;
                description
                  "Standby EDM Connection Open";
              }
    
              leaf encap-interface-count {
                type uint32;
                description
                  "Encap Interface Count";
              }
    
              leaf decap-interface-count {
                type uint32;
                description
                  "Decap Interface Count";
              }
    
              leaf mdt-interface-count {
                type uint32;
                description
                  "MDT Interface Count";
              }
            }  // container pim-ma-summary
          }  // container standby
        }  // container pim-ma
    
        container pim {
          config false;
          description "PIM operational data";
          container standby {
            description "Standby Process";
            container default-context {
              description "Default Context";
              container global-interfaces {
                description
                  "PIM global interface table";
                list global-interface {
                  key "interface-name";
                  description
                    "PIM interface name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list global-interface
              }  // container global-interfaces
    
              container ifrs-interfaces {
                description
                  "PIM interfaces in forward reference store table";
                list ifrs-interface {
                  key "interface-name";
                  description
                    "PIM IFRS interface information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list ifrs-interface
              }  // container ifrs-interfaces
    
              container interface-statistics {
                description
                  "PIM interface statistics";
                list interface-statistic {
                  key "interface-name";
                  description
                    "PIM interface statistics";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf input-hello {
                    type uint32;
                    description
                      "Hello packets in";
                  }
    
                  leaf output-hello {
                    type uint32;
                    description
                      "Hello packets out";
                  }
    
                  leaf input-register {
                    type uint32;
                    description
                      "Register packets in";
                  }
    
                  leaf output-register {
                    type uint32;
                    description
                      "Register packets out";
                  }
    
                  leaf input-register-stop {
                    type uint32;
                    description
                      "Register Stop packets in";
                  }
    
                  leaf output-register-stop {
                    type uint32;
                    description
                      "Register Stop packets out";
                  }
    
                  leaf input-jp {
                    type uint32;
                    description
                      "Join Prune packets in";
                  }
    
                  leaf output-jp {
                    type uint32;
                    description
                      "Join Prune packets out";
                  }
    
                  leaf input-bsr-message {
                    type uint32;
                    description
                      "Input BSR Messages";
                  }
    
                  leaf output-bsr-message {
                    type uint32;
                    description
                      "Output BSR Messages";
                  }
    
                  leaf input-assert {
                    type uint32;
                    description
                      "Assert packets in";
                  }
    
                  leaf output-assert {
                    type uint32;
                    description
                      "Assert packets out";
                  }
    
                  leaf input-graft-message {
                    type uint32;
                    description
                      "Input Graft Messages";
                  }
    
                  leaf output-graft-message {
                    type uint32;
                    description
                      "Output Graft Messages";
                  }
    
                  leaf input-graft-ack-message {
                    type uint32;
                    description
                      "Input Graft Ack Messages";
                  }
    
                  leaf output-graft-ack-message {
                    type uint32;
                    description
                      "Output Graft Ack Messages";
                  }
    
                  leaf input-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Input Candidate-RP Advertisment";
                  }
    
                  leaf output-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Output Candidate-RP Advertisment";
                  }
    
                  leaf input-df-election {
                    type uint32;
                    description
                      "DF Election packets in";
                  }
    
                  leaf output-df-election {
                    type uint32;
                    description
                      "DF Election packets out";
                  }
    
                  leaf input-miscellaneous {
                    type uint32;
                    description
                      "Miscellaneous packet in";
                  }
                }  // list interface-statistic
              }  // container interface-statistics
    
              container topology-route-count {
                description
                  "Topology route count information from PIM
    topology table";
                leaf group-ranges {
                  type uint32;
                  description
                    "No. of (*,G/M) routes";
                }
    
                leaf active-group-ranges {
                  type uint32;
                  description
                    "No. of (*,G/M) routes active in mrib";
                }
    
                leaf groute-count {
                  type uint32;
                  description
                    "No. of (*,G) routes";
                }
    
                leaf sg-route-count {
                  type uint32;
                  description
                    "No. of (S,G) routes";
                }
    
                leaf sgr-route-count {
                  type uint32;
                  description
                    "No. of (S,G)RPT routes";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
              }  // container topology-route-count
    
              container jp-statistics {
                description
                  "PIM join prune statistics table";
                list jp-statistic {
                  key "interface-name";
                  description
                    "PIM Join Prune Statistics";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "Interface MTU";
                  }
    
                  leaf transmitted {
                    type uint32;
                    description "Transmitted";
                  }
    
                  leaf transmitted100 {
                    type uint16;
                    description
                      "Transmitted 100 average";
                  }
    
                  leaf transmitted-1k {
                    type uint16;
                    description
                      "Transmitted 1K average";
                  }
    
                  leaf transmitted-10k {
                    type uint16;
                    description
                      "Transmitted 10K average";
                  }
    
                  leaf transmitted-50k {
                    type uint16;
                    description
                      "Deprecated by Transmitted100";
                  }
    
                  leaf received {
                    type uint32;
                    description "Received";
                  }
    
                  leaf received100 {
                    type uint16;
                    description
                      "Received 100 average";
                  }
    
                  leaf received-1k {
                    type uint16;
                    description
                      "Received 1K average";
                  }
    
                  leaf received-10k {
                    type uint16;
                    description
                      "Received 10K average";
                  }
    
                  leaf received-50k {
                    type uint16;
                    description
                      "Deprecated by Received100";
                  }
                }  // list jp-statistic
              }  // container jp-statistics
    
              container mib-databases {
                description
                  "PIM group database for mroute mibs table";
                list mib-database {
                  key "source-address group-address source-netmask";
                  description
                    "PIM multicast static route information";
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description
                      "Multicast static route source address";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description
                      "Multicast satic route group address";
                  }
    
                  leaf source-netmask {
                    type uint32;
                    description "Source mask";
                  }
    
                  container source-address-xr {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-xr
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-xr
    
                  container rpf-neighbor {
                    description
                      "The RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container rpf-root {
                    description
                      "Root of this mcast tree";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-root
    
                  leaf upstream-assert-timer {
                    type int32;
                    description
                      "Upstream Assert Timer";
                  }
    
                  leaf assert-metric {
                    type uint32;
                    description "Assert Metric";
                  }
    
                  leaf assert-metric-preference {
                    type uint32;
                    description
                      "Assert Metric Preference";
                  }
    
                  leaf assert-rpt-bit {
                    type boolean;
                    description "Assert RPT Bit";
                  }
    
                  leaf spt-bit {
                    type boolean;
                    description
                      "Is SPT bit set ?";
                  }
    
                  leaf rpf-mask {
                    type uint32;
                    description
                      "Mask of the multicast root";
                  }
    
                  leaf rpf-safi {
                    type uint8;
                    description
                      "Unicast or mcast";
                  }
    
                  leaf rpf-table-name {
                    type string;
                    description "RPF Table name";
                  }
    
                  leaf rpf-drop {
                    type boolean;
                    description
                      "RPF route-policy drop";
                  }
    
                  leaf rpf-extranet {
                    type boolean;
                    description
                      "Extranet RPF route-policy";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "RPF interface name ";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
    
                  leaf bidirectional-route {
                    type boolean;
                    description
                      "Is this Bidir ?";
                  }
    
                  leaf uptime {
                    type uint64;
                    description
                      "Uptime of route";
                  }
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description
                      "The PIM protocol";
                  }
                }  // list mib-database
              }  // container mib-databases
    
              container ifrs-summary {
                description
                  "PIM interfaces in forward reference store
    summary";
                leaf interface-count {
                  type uint32;
                  description
                    "Number of interfaces";
                }
    
                leaf configuration-count {
                  type uint32;
                  description
                    "Configuration counts";
                }
              }  // container ifrs-summary
    
              container ranges {
                description
                  "PIM range list information";
                list range {
                  key "rp-address client";
                  description
                    "PIM range list information";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  container rp-address-xr {
                    description
                      "Rendezvous point address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  container source-of-information {
                    description
                      "Source of information";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-of-information
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description "PIM protocol";
                  }
    
                  leaf client-xr {
                    type Pim-show-range-client;
                    description
                      "Client mapping learnt via";
                  }
    
                  leaf expires {
                    type uint64;
                    description
                      "When mapping expires";
                  }
    
                  list group-range {
                    description
                      "List of group ranges";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container source-of-information {
                      description
                        "Source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      description
                        "When mapping expires";
                    }
                  }  // list group-range
                }  // list range
              }  // container ranges
    
              container bsr {
                description
                  "PIM BSR information";
                container rp-caches {
                  description
                    "PIM BSR RP cache table";
                  list rp-cache {
                    key "group-prefix prefix-length";
                    description
                      "PIM BSR RP cache";
                    leaf group-prefix {
                      type inet:ip-address-no-zone;
                      description "Group prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix Length";
                    }
    
                    container group-prefix-xr {
                      description "Group Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-prefix-xr
    
                    container candidate-rp-list {
                      description
                        "C-RP list for this prefix";
                      list pim-bsr-crp-bag {
                        description
                          "Next C-RP in the List";
                        container candidate-rp-address {
                          description
                            "C-RP address";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container candidate-rp-address
    
                        leaf candidate-rp-holdtime {
                          type uint16;
                          description
                            "C-RP Holdtime";
                        }
    
                        leaf candidate-rp-priority {
                          type uint8;
                          description
                            "C-RP Priority";
                        }
    
                        leaf candidate-rp-up-time {
                          type uint16;
                          description
                            "C-RP Uptime";
                        }
    
                        leaf candidate-rp-expires {
                          type uint16;
                          description
                            "C-RP Expires";
                        }
    
                        leaf protocol {
                          type Pim-show-protocol;
                          description
                            "PIM Protocol";
                        }
                      }  // list pim-bsr-crp-bag
                    }  // container candidate-rp-list
    
                    leaf group-prefix-length {
                      type uint32;
                      description
                        "Group Prefix Length";
                    }
    
                    leaf candidate-rp-group-count {
                      type uint32;
                      description
                        "C-RP count for this Prefix";
                    }
                  }  // list rp-cache
                }  // container rp-caches
    
                container candidate-rps {
                  description "PIM candidate-RP";
                  list candidate-rp {
                    key "rp-address";
                    description
                      "PIM BSR candidate RP information";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description
                        "Candidate-RP address";
                    }
    
                    container candidate-rp {
                      description
                        "Cand-RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container candidate-rp
    
                    leaf candidate-rp-mode {
                      type Pim-show-protocol;
                      description "Cand-RP Mode";
                    }
    
                    leaf candidate-rp-scope {
                      type int32;
                      description
                        "Cand-RP Scope";
                    }
    
                    leaf crp-priority {
                      type uint8;
                      description
                        "Cand-RP Priority";
                    }
    
                    leaf crp-holdtime {
                      type uint16;
                      description
                        "Cand-RP Holdtime";
                    }
    
                    leaf candidate-rp-advance-interval {
                      type uint16;
                      units "second";
                      description
                        "Cand-RP Adv Interval in seconds";
                    }
    
                    leaf candidate-rp-uptime {
                      type uint16;
                      description
                        "Cand-RP uptime";
                    }
    
                    leaf acl-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "Group Access-List Name";
                    }
    
                    list crp-access {
                      max-elements 2;
                      description
                        "Group Ranges Using this Cand-RP";
                      leaf candidate-rp-mode {
                        type Pim-show-protocol;
                        description
                          "Cand-RP Mode";
                      }
    
                      leaf acl-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Group Access-List Name";
                      }
                    }  // list crp-access
                  }  // list candidate-rp
                }  // container candidate-rps
    
                container bsr-elections {
                  description
                    "PIM BSR election state";
                  list bsr-election {
                    key "pim-scope";
                    description
                      "PIM BSR information";
                    leaf pim-scope {
                      type uint32;
                      description
                        "BSR information";
                    }
    
                    container bsr-address {
                      description "BSR address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container bsr-address
    
                    container candidate-bsr-address {
                      description
                        "C-BSR address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container candidate-bsr-address
    
                    leaf bsr-priority {
                      type uint8;
                      description "BSR Priority";
                    }
    
                    leaf bsr-mask-length {
                      type uint8;
                      description
                        "Hash Function Mask Length";
                    }
    
                    leaf bsr-up-time {
                      type uint16;
                      description "BSR Uptime";
                    }
    
                    leaf bootstrap-timeout {
                      type uint16;
                      description
                        "Bootstrap Timeout";
                    }
    
                    leaf candidate-bsr-state {
                      type uint32;
                      description
                        "BSR Candidate State";
                    }
    
                    leaf bsr-election-state {
                      type uint32;
                      description
                        "BSR Election State";
                    }
    
                    leaf bsr-scope {
                      type uint16;
                      description "BSR Scope";
                    }
    
                    leaf candidate-bsr-flag {
                      type boolean;
                      description
                        "BSR Candidate Config Flag";
                    }
    
                    leaf candidate-bsr-priority {
                      type uint8;
                      description
                        "C-BSR Priority";
                    }
    
                    leaf candidate-bsr-mask-length {
                      type uint8;
                      description
                        "C-BSR Hash Func. Mask Len";
                    }
                  }  // list bsr-election
                }  // container bsr-elections
              }  // container bsr
    
              container route-policy {
                description "PIM route policy";
                container route-policy-statistics {
                  description
                    "PIM route policy statistics";
                  leaf policy-name {
                    type string;
                    description
                      "RPF policy name";
                  }
    
                  leaf requests {
                    type uint32;
                    description
                      "Number of RPF lookup requests";
                  }
    
                  leaf pass {
                    type uint32;
                    description
                      "Number of RPF pass";
                  }
    
                  leaf drop {
                    type uint32;
                    description
                      "Number of RPF drops";
                  }
    
                  leaf default-table {
                    type uint32;
                    description
                      "Number of RPF lookup in default-only Table";
                  }
    
                  leaf any-table {
                    type uint32;
                    description
                      "Number of RPF lookup in any Table";
                  }
                }  // container route-policy-statistics
              }  // container route-policy
    
              container rpf-summary {
                description
                  "PIM RPF registration summary";
                leaf default-safi {
                  type uint32;
                  description
                    "Default RPF Table SAFI";
                }
    
                leaf default-table-name {
                  type string;
                  description
                    "Default RPF Table Name";
                }
    
                leaf is-mbgp-configured {
                  type boolean;
                  description
                    "Is MBGP configured?";
                }
    
                leaf is-ospf-te-configured {
                  type boolean;
                  description
                    "Is OSPF TE configured?";
                }
    
                leaf is-isis-te-configured {
                  type boolean;
                  description
                    "Is ISIS TE configured?";
                }
    
                leaf is-isis-mtr-configured {
                  type boolean;
                  description
                    "Is ISIS MTR configured?";
                }
    
                leaf mo-frr-configured {
                  type boolean;
                  description
                    "Is MoFRR configured?";
                }
    
                leaf rib-mo-frr-configured {
                  type boolean;
                  description
                    "Is MoFRR RIB configured?";
                }
    
                leaf rump-enabled {
                  type boolean;
                  description
                    "Is RUMP MuRIB enabled?";
                }
    
                leaf rib-convergence-timeout {
                  type uint32;
                  units "second";
                  description
                    "RIB convergence timeout in seconds";
                }
    
                leaf rib-convergence-time-left {
                  type uint32;
                  units "second";
                  description
                    "RIB convergence time left in seconds";
                }
    
                leaf is-multipath-enabled {
                  type boolean;
                  description
                    "Is Multipath Enabled ?";
                }
    
                leaf is-multipath-interface-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Interface Hash Extension Enabled ?";
                }
    
                leaf is-multipath-source-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Source based Hash Enabled ?";
                }
    
                leaf is-multipath-source-next-hop-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Source-Nexthop Hash Enabled ?";
                }
    
                leaf rpf-registrations {
                  type uint32;
                  description
                    "RPF Registration count";
                }
    
                leaf is-rib-convergence {
                  type boolean;
                  description
                    "RIB Convergence status";
                }
              }  // container rpf-summary
    
              container interfaces {
                description "PIM interfaces";
                list interface {
                  key "interface-name";
                  description
                    "PIM interface name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list interface
              }  // container interfaces
    
              container net-io-tunnels {
                description
                  "Tunnel information that NETIO has ";
                list net-io-tunnel {
                  key "tunnel-name";
                  description
                    "PIM netio tunnel information";
                  leaf tunnel-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..64";
                    }
                    description "Tunnel name";
                  }
    
                  container source-address {
                    description
                      "Source addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  container rp-address {
                    description
                      "RP addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address-netio {
                    description
                      "Source addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-netio
    
                  container group-address-netio {
                    description
                      "Group addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-netio
    
                  leaf vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "VRF Name";
                  }
                }  // list net-io-tunnel
              }  // container net-io-tunnels
    
              container bidir-df-states {
                description
                  "Bidirectional PIM DF election state table";
                list bidir-df-state {
                  key "rp-address interface-name";
                  description
                    "Bidirectional PIM DF Election Table Entry";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address-xr {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  leaf pim-interface-name {
                    type string;
                    description "Interface Name";
                  }
    
                  leaf election-state {
                    type string;
                    description
                      "DF Election State";
                  }
    
                  leaf time-seconds {
                    type uint64;
                    units "second";
                    description
                      "Timer expires (seconds)";
                  }
    
                  leaf time-nano-seconds {
                    type uint64;
                    units "nanosecond";
                    description
                      "Timer expires (nseconds)";
                  }
    
                  leaf our-metric {
                    type uint32;
                    description "Metric";
                  }
    
                  leaf our-metric-preference {
                    type uint32;
                    description
                      "MetricPreference";
                  }
                }  // list bidir-df-state
              }  // container bidir-df-states
    
              container topologies {
                description "PIM topology table";
                list topology {
                  key "source-address group-address rpt";
                  description
                    "PIM topology information";
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description "Source address";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group address";
                  }
    
                  leaf rpt {
                    type uint32;
                    description "RPT bit";
                  }
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-xr
    
                  container source-address-xr {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-xr
    
                  container rp-address {
                    description
                      "RP Address (If rpt)";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container rpf-neighbor {
                    description "RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container secondary-rpf-neighbor {
                    description
                      "Secondary RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container secondary-rpf-neighbor
    
                  container rpf-root {
                    description
                      "Root of this mcast tree";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-root
    
                  container proxy-address {
                    description
                      "RPF Proxy address.";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container proxy-address
    
                  container orig-src-address {
                    description
                      "Orig Src Address.";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container orig-src-address
    
                  leaf limit-reached {
                    type boolean;
                    description
                      "Have we throttled the creation of routes or
    interfaces ?";
                  }
    
                  leaf low-memory {
                    type boolean;
                    description
                      "Node is running low on memory";
                  }
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description
                      "The PIM protocol";
                  }
    
                  leaf wildcard {
                    type boolean;
                    description "WC -Wildcard";
                  }
    
                  leaf rpt-xr {
                    type boolean;
                    description
                      "Is this on the RPT ?";
                  }
    
                  leaf spt {
                    type boolean;
                    description
                      "Is this on the SPT ?";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
    
                  leaf expiry {
                    type uint64;
                    description
                      "When this entry expires";
                  }
    
                  leaf alive {
                    type int32;
                    units "second";
                    description
                      "Alive time in seconds (-1 if never)";
                  }
    
                  leaf register-received-timer {
                    type int32;
                    units "second";
                    description
                      "Register Received Timer in seconds (-1 if never)";
                  }
    
                  leaf remote-source {
                    type boolean;
                    description "MSDP told us";
                  }
    
                  leaf crossed-threshold {
                    type boolean;
                    description
                      "Incoming traffic crossed threshold. MT flag set";
                  }
    
                  leaf data-mdt-addr-assigned {
                    type boolean;
                    description
                      "PIM has assigned a Data MDT Address";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
    
                  leaf rpf-safi {
                    type uint8;
                    description
                      "Unicast or mcast";
                  }
    
                  leaf rpf-table-name {
                    type string;
                    description "RPF Table name";
                  }
    
                  leaf rpf-drop {
                    type boolean;
                    description
                      "RPF route-policy drop";
                  }
    
                  leaf rpf-extranet {
                    type boolean;
                    description
                      "Extranet RPF route-policy";
                  }
    
                  leaf is-via-lsm {
                    type boolean;
                    description "Via LSM";
                  }
    
                  leaf secondary-rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "Secondary Interface Identifier";
                  }
    
                  leaf connected {
                    type boolean;
                    description "Is Connected ?";
                  }
    
                  leaf proxy {
                    type boolean;
                    description
                      "Is the RPF target a proxy?";
                  }
    
                  leaf rpf-proxy-enabled {
                    type boolean;
                    description
                      "Is rpf if proxy enabled?";
                  }
    
                  leaf mofrr-enabled {
                    type boolean;
                    description
                      "Is this SG MoFRR enabled?";
                  }
    
                  leaf rib-mo-frr-enabled {
                    type boolean;
                    description
                      "Is this SG MoFRR enabled?";
                  }
    
                  leaf jp-timer {
                    type int32;
                    description
                      "Join-Prune Timer";
                  }
    
                  leaf jp-status {
                    type int32;
                    description
                      "Join-Prune Status";
                  }
    
                  leaf suppress-registers {
                    type int32;
                    description
                      "When the Null register probe expires";
                  }
    
                  leaf assume-alive {
                    type boolean;
                    description
                      "The Assume Alive Bit";
                  }
    
                  leaf probe-alive {
                    type boolean;
                    description
                      "The Probe Alive Bit";
                  }
    
                  leaf really-alive {
                    type boolean;
                    description
                      "The Really Alive Bit";
                  }
    
                  leaf inherit-alive {
                    type boolean;
                    description
                      "The Inherit Alive Bit";
                  }
    
                  leaf inherit-spt {
                    type boolean;
                    description
                      "The Inherit SPT Bit";
                  }
    
                  leaf signal-sources {
                    type boolean;
                    description
                      "Signal Sources on route?";
                  }
    
                  leaf dont-check-connected {
                    type boolean;
                    description
                      "Do we need to make the connected check on this
    route ?";
                  }
    
                  leaf register-received {
                    type boolean;
                    description
                      "Have registers been received for this source ?";
                  }
    
                  leaf last-hop {
                    type boolean;
                    description
                      "Are we last hop ?";
                  }
    
                  leaf sending-registers {
                    type boolean;
                    description
                      "Are we sending registers for this route ?";
                  }
    
                  leaf sending-null-registers {
                    type boolean;
                    description
                      "Are we sending null registers for this route ?";
                  }
    
                  leaf sa-sent {
                    type boolean;
                    description "BGP SA sent";
                  }
    
                  leaf sa-received {
                    type boolean;
                    description
                      "BGP SA received";
                  }
    
                  leaf sa-joined {
                    type boolean;
                    description "BGP SA join";
                  }
    
                  leaf anycast-rp-match {
                    type boolean;
                    description
                      "Group matches Anycast-RP policy";
                  }
    
                  leaf anycast-rp-route-target {
                    type inet:ipv4-address;
                    description "Anycast-RP RT";
                  }
    
                  leaf bgp-join {
                    type boolean;
                    description "BGP C JOIN";
                  }
    
                  leaf bgp-jp-time {
                    type uint64;
                    description "BGP C JP Time";
                  }
    
                  leaf customer-routing-type {
                    type int32;
                    description
                      "Type of Customer Routing in the MVPN";
                  }
    
                  leaf extranet-route {
                    type boolean;
                    description
                      "Is a Extranet route ?";
                  }
    
                  leaf mofrr-active {
                    type boolean;
                    description
                      "Is MoFRR Active?";
                  }
    
                  leaf mofrr-primary {
                    type boolean;
                    description
                      "Is this Mofrr Primary?";
                  }
    
                  leaf mofrr-backup {
                    type boolean;
                    description
                      "Is this Mofrr Backup?";
                  }
    
                  leaf vxlan {
                    type boolean;
                    description "Is this VXLAN?";
                  }
    
                  leaf kat-state {
                    type boolean;
                    description
                      "Keep Alive Timer State";
                  }
    
                  list outgoing-interface {
                    description
                      "Outgoing interface list";
                    container assert-winner {
                      description
                        "Assert Winner";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container assert-winner
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiry {
                      type uint64;
                      units "second";
                      description
                        "Expiry in seconds";
                    }
    
                    leaf bgp-c-mcast-prune-delay-timer {
                      type uint64;
                      units "second";
                      description
                        "BGP C-MCAST Prune Suppression in seconds";
                    }
    
                    leaf jp-timer {
                      type int32;
                      units "second";
                      description
                        "Join-Prune Timer (secs)";
                    }
    
                    leaf jp-state {
                      type int32;
                      description
                        "Join-Prune State";
                    }
    
                    leaf assert-timer {
                      type int32;
                      units "second";
                      description
                        "Assert Timer in seconds";
                    }
    
                    leaf local-members {
                      type int32;
                      description
                        "Local Information. Deprecated - use
    'local-members-information' instead";
                    }
    
                    leaf internal-interest-info {
                      type int32;
                      description
                        "Internal Interest. Deprecated - use
    'internal-interest-information' instead";
                    }
    
                    leaf forwarding-state {
                      type int32;
                      description
                        "Forward or Prune";
                    }
    
                    leaf immediate-state {
                      type int32;
                      description
                        "Immediate fwding state";
                    }
    
                    leaf last-hop {
                      type boolean;
                      description
                        "Are we last hop ?";
                    }
    
                    leaf mldp-inband-mdt {
                      type boolean;
                      description
                        "MLDP Inband MDT interface";
                    }
    
                    leaf mldp-stale {
                      type boolean;
                      description "OLE is stale";
                    }
    
                    leaf sa-prune {
                      type boolean;
                      description
                        "BGP SA Prune state";
                    }
    
                    leaf admin-boundary {
                      type boolean;
                      description
                        "Is this an administrative boundary ?";
                    }
    
                    leaf igmp-membership {
                      type boolean;
                      description
                        "IGMP membership";
                    }
    
                    leaf mdt-safi-join {
                      type boolean;
                      description
                        "MDT Safi join";
                    }
    
                    leaf mvpn-safi-join {
                      type boolean;
                      description
                        "MVPN Safi join";
                    }
    
                    leaf local-mdt-join {
                      type boolean;
                      description
                        "Default MDT Join";
                    }
    
                    leaf data-mdt-join {
                      type boolean;
                      description
                        "Data MDT join";
                    }
    
                    leaf mvpnv6-safi-join {
                      type boolean;
                      description
                        "MVPN IPv6 Safi join";
                    }
    
                    leaf bgp-c-mcast-join {
                      type boolean;
                      description
                        "BGP C-Mcast join";
                    }
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "VRF which physically owns";
                    }
    
                    leaf extranet-interface {
                      type boolean;
                      description
                        "Is this an Extranet Interface ?";
                    }
    
                    leaf internal-interest-information {
                      type Pim-internal-interest-info;
                      description
                        "Internal Interest. Replaces
    internal-interest-info";
                    }
    
                    leaf local-members-information {
                      type Pim-show-local-interest;
                      description
                        "Local Information. Replaces local-members";
                    }
    
                    leaf assert-state {
                      type boolean;
                      description "Assert State";
                    }
                  }  // list outgoing-interface
                }  // list topology
              }  // container topologies
    
              container topology-interface-flag-route-counts {
                description
                  "Route count for topology with interface flag set";
                list topology-interface-flag-route-count {
                  key "interface-flag";
                  description
                    "Route count for topology with interface flag
    set";
                  leaf interface-flag {
                    type Pim-topology-interface-flag;
                    description "Interface flag";
                  }
    
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // list topology-interface-flag-route-count
              }  // container topology-interface-flag-route-counts
    
              container group-map-sources {
                description
                  "PIM group-mapping with source information";
                list group-map-source {
                  key "prefix prefix-length client protocol rp-address priority";
                  description
                    "PIM Group Mapping Entry with source information";
                  leaf prefix {
                    type inet:ip-address-no-zone;
                    description "Prefix";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  leaf protocol {
                    type Pim-protocol;
                    description "Protocol";
                  }
    
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf priority {
                    type uint32;
                    description "RP Priority";
                  }
    
                  container source-of-information {
                    description
                      "The source of information";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-of-information
    
                  container group-map-information {
                    description
                      "Group Mapping information";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container rp-address {
                      description
                        "Rendezvous Point Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf client {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt from";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "Protocol mode of the range";
                    }
    
                    leaf group-count {
                      type uint32;
                      description
                        "No. of groups in this range";
                    }
    
                    leaf is-used {
                      type boolean;
                      description
                        "Is this mapping being used?";
                    }
    
                    leaf mrib-active {
                      type boolean;
                      description
                        "Is this mapping active in MRIB?";
                    }
    
                    leaf is-override {
                      type boolean;
                      description
                        "Is this the override range?";
                    }
    
                    leaf priority {
                      type uint32;
                      description
                        "Bootstrap priority";
                    }
                  }  // container group-map-information
    
                  leaf holdtime {
                    type int32;
                    units "second";
                    description
                      "Holdtime in seconds";
                  }
    
                  leaf expires {
                    type uint64;
                    units "second";
                    description
                      "Mapping expiry time in seconds";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Mapping uptime in seconds";
                  }
                }  // list group-map-source
              }  // container group-map-sources
    
              container traffic-counters {
                description
                  "PIM message traffic counters";
                leaf elapsed-time {
                  type uint32;
                  units "second";
                  description
                    "Running time for counters in seconds";
                }
    
                leaf inputs {
                  type uint32;
                  description "Packets in";
                }
    
                leaf outputs {
                  type uint32;
                  description "Packets out";
                }
    
                leaf format-error {
                  type uint32;
                  description
                    "Malformed packets in";
                }
    
                leaf pakman-error {
                  type uint32;
                  description
                    "Pakman packets dropped";
                }
    
                leaf standby-packets-error {
                  type uint32;
                  description
                    "Packets received in standby state";
                }
    
                leaf checksum-error {
                  type uint32;
                  description "Checksum errors";
                }
    
                leaf socket-error {
                  type uint32;
                  description "Socket errors";
                }
    
                leaf send-queue-full {
                  type uint32;
                  description
                    "Packets dropped since send queue was full";
                }
    
                leaf boundary-acl-rx-drop {
                  type uint32;
                  description
                    "Inc. JP dropped since boundary ACL confg";
                }
    
                leaf boundary-acl-tx-drop {
                  type uint32;
                  description
                    "Out JP dropped since boundary ACL confg";
                }
    
                leaf no-socket-connection {
                  type uint32;
                  description
                    "Packets dropped since no socket connection";
                }
    
                leaf no-source-address {
                  type uint32;
                  description
                    "Packets dropped since no source address";
                }
    
                leaf input-hello {
                  type uint32;
                  description "Hello packets in";
                }
    
                leaf output-hello {
                  type uint32;
                  description
                    "Hello packets out";
                }
    
                leaf input-jp {
                  type uint32;
                  description
                    "Join Prune packets in";
                }
    
                leaf output-jp {
                  type uint32;
                  description
                    "Join Prune packets out";
                }
    
                leaf input-data-register {
                  type uint32;
                  description
                    "Data Register packets in";
                }
    
                leaf input-null-register {
                  type uint32;
                  description
                    "Null Register packets in";
                }
    
                leaf output-null-register {
                  type uint32;
                  description
                    "Null Register packets out";
                }
    
                leaf input-register-stop {
                  type uint32;
                  description
                    "Register Stop packets in";
                }
    
                leaf output-register-stop {
                  type uint32;
                  description
                    "Register Stop packets out";
                }
    
                leaf input-assert {
                  type uint32;
                  description
                    "Assert packets in";
                }
    
                leaf input-assert-batched {
                  type uint32;
                  description
                    "Batched Assert packets in";
                }
    
                leaf output-assert {
                  type uint32;
                  description
                    "Assert packets out";
                }
    
                leaf output-assert-batched {
                  type uint32;
                  description
                    "Batched Assert packets out";
                }
    
                leaf input-df-election {
                  type uint32;
                  description
                    "DF Election packets in";
                }
    
                leaf output-df-election {
                  type uint32;
                  description
                    "DF Election packets out";
                }
    
                leaf input-bsr-message {
                  type uint32;
                  description
                    "Input BSR Messages";
                }
    
                leaf output-bsr-message {
                  type uint32;
                  description
                    "Output BSR Messages";
                }
    
                leaf input-candidate-rp-advertisement {
                  type uint32;
                  description
                    "Input Candidate-RP Advertisment";
                }
    
                leaf output-candidate-rp-advertisement {
                  type uint32;
                  description
                    "Output Candidate-RP Advertisment";
                }
    
                leaf input-ecmp-redirect {
                  type uint32;
                  description
                    "Input Ecmp Redirect";
                }
    
                leaf output-ecmp-redirect {
                  type uint32;
                  description
                    "Output Ecmp Redirect";
                }
    
                leaf output-loop-error {
                  type uint32;
                  description
                    "Output on loopback error";
                }
    
                leaf mldp-mdt-invalid-lsm-identifier {
                  type uint32;
                  description " Invalid LSM ID";
                }
    
                leaf input-no-idb-error {
                  type uint32;
                  description
                    "No IDB for intf error";
                }
    
                leaf input-no-vrf-error {
                  type uint32;
                  description
                    "No VRF for idb error";
                }
    
                leaf input-no-pim-error {
                  type uint32;
                  description
                    "PIM Disabled on intf error";
                }
    
                leaf input-pim-version-error {
                  type uint32;
                  description
                    "Invalid PIM version error";
                }
    
                leaf output-join-group {
                  type uint32;
                  description
                    "Output Join Groups";
                }
    
                leaf output-prune-group {
                  type uint32;
                  description
                    "Output Prune Groups";
                }
    
                leaf output-join-prune-bytes {
                  type uint32;
                  units "byte";
                  description "Output JP Bytes";
                }
    
                leaf output-hello-bytes {
                  type uint32;
                  units "byte";
                  description
                    "Output Hello Bytes";
                }
    
                leaf non-supported-packets {
                  type uint32;
                  description
                    "PIM non supported pckets";
                }
    
                leaf invalid-registers {
                  type uint32;
                  description
                    "PIM invalid registers received";
                }
    
                leaf invalid-join-prunes {
                  type uint32;
                  description
                    "PIM invalid Join/Prunes received";
                }
    
                leaf packet-packman-error {
                  type uint32;
                  description
                    "Packets Dropped due to Pakman Error";
                }
    
                leaf packet-read-socket-error {
                  type uint32;
                  description
                    "Packet Read Socket Error";
                }
    
                leaf packet-queue-last-clear {
                  type uint32;
                  units "second";
                  description
                    "Time in seconds since the last clear of all
    packet queues stats";
                }
    
                leaf packets-standby {
                  type uint32;
                  description
                    "Packets Dropped due to Standby Error";
                }
    
                leaf no-mdt-socket-connection {
                  type uint32;
                  description
                    "Packets dropped since no mdt socket connection";
                }
    
                leaf mdt-send-queue-full {
                  type uint32;
                  description
                    "Packets dropped since mdt send queue was full";
                }
    
                leaf mdt-socket-error {
                  type uint32;
                  description
                    "MDT Socket errors";
                }
    
                leaf mdt-join-tlv-sent {
                  type uint32;
                  description
                    "Data MDT Join Msgs sent";
                }
    
                leaf mdt-join-tlv-received {
                  type uint32;
                  description
                    "Data MDT Join Msgs received";
                }
    
                leaf mdt-join-bad-type {
                  type uint32;
                  description
                    "Data MDT TLV bad type";
                }
    
                leaf mdt-drop-local-source-address {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to local source
    addr";
                }
    
                leaf mdt-drop-null-local-address {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to null local
    addr";
                }
    
                leaf mdt-drop-no-idb {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to idb missing";
                }
    
                leaf mdt-drop-no-vrf {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to vrf missing";
                }
    
                leaf invalid-destination-packets {
                  type uint32;
                  description
                    "Control Packets with Invalid Destination";
                }
    
                leaf mdt-joins-drop-multiple-encapsulation {
                  type uint32;
                  description
                    "MDT Join msgs dropped due to multiple Encap
    limitation";
                }
    
                leaf truncated-pim-packets {
                  type uint32;
                  description
                    "Packets dropped due to truncated Joins or Prunes";
                }
    
                leaf invalid-source-encodings {
                  type uint32;
                  description
                    "Number of invalid source encodings received";
                }
    
                leaf invalid-hello-options {
                  type uint32;
                  description
                    "Number of invalid hello options received";
                }
    
                list packet-queue {
                  max-elements 2;
                  description
                    "Packet queue state and statistics";
                  container packet-queue-state {
                    description
                      "State of the queue";
                    leaf max-queue-size {
                      type uint32;
                      units "byte";
                      description
                        "Maximum size of queue in bytes";
                    }
    
                    leaf queue-size-bytes {
                      type uint32;
                      units "byte";
                      description
                        "Size of queue in bytes";
                    }
    
                    leaf queue-size-packets {
                      type uint32;
                      description
                        "Size of queue in number of packets";
                    }
                  }  // container packet-queue-state
    
                  container packet-queue-stats {
                    description
                      "Statistics about the queue";
                    leaf enqueued-packets {
                      type uint32;
                      description
                        "Total number of packets enqueued to this queue";
                    }
    
                    leaf dequeued-packets {
                      type uint32;
                      description
                        "Total number of packets dequeued from this queue";
                    }
    
                    leaf high-water-mark-packets {
                      type uint32;
                      description
                        "Highest number of packets enqueued in this queue";
                    }
    
                    leaf high-water-mark-bytes {
                      type uint32;
                      units "byte";
                      description
                        "Highest number of bytes enqueued in this queue";
                    }
    
                    leaf tail-drops {
                      type uint32;
                      description
                        "Number packets dropped from this queue due to
    max size";
                    }
                  }  // container packet-queue-stats
    
                  leaf packet-queue-priority {
                    type uint32;
                    description
                      "Priority of this packet queue";
                  }
                }  // list packet-queue
              }  // container traffic-counters
    
              container group-map-rpfs {
                description
                  "PIM group mapping information";
                list group-map-rpf {
                  key "prefix prefix-length client protocol rp-address rp-priority";
                  description
                    "PIM group mapping entry";
                  leaf prefix {
                    type inet:ip-address-no-zone;
                    description "Prefix";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  leaf protocol {
                    type Pim-protocol;
                    description "Protocol";
                  }
    
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf rp-priority {
                    type uint32;
                    description "RP priority";
                  }
    
                  container rpf-neighbor {
                    description
                      "RPF neighbor to the RP";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container group-map-information {
                    description
                      "Group Mapping information";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container rp-address {
                      description
                        "Rendezvous Point Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf client {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt from";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "Protocol mode of the range";
                    }
    
                    leaf group-count {
                      type uint32;
                      description
                        "No. of groups in this range";
                    }
    
                    leaf is-used {
                      type boolean;
                      description
                        "Is this mapping being used?";
                    }
    
                    leaf mrib-active {
                      type boolean;
                      description
                        "Is this mapping active in MRIB?";
                    }
    
                    leaf is-override {
                      type boolean;
                      description
                        "Is this the override range?";
                    }
    
                    leaf priority {
                      type uint32;
                      description
                        "Bootstrap priority";
                    }
                  }  // container group-map-information
    
                  leaf are-we-rp {
                    type boolean;
                    description "Are we the RP?";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "RPF interface to the RP";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
                }  // list group-map-rpf
              }  // container group-map-rpfs
    
              container summary {
                description "PIM summary";
                leaf route-limit {
                  type uint32;
                  description "Maximum routes";
                }
    
                leaf route-count {
                  type uint32;
                  description "Current routes";
                }
    
                leaf route-low-water-mark {
                  type uint32;
                  description
                    "The number of routes below which the throttle on
    route creation will be lifted";
                }
    
                leaf is-route-limit-reached {
                  type boolean;
                  description
                    "Is route creation throttled";
                }
    
                leaf topology-interface-state-limit {
                  type uint32;
                  description
                    "Maximum Topology Interface State count";
                }
    
                leaf topology-interface-state-count {
                  type uint32;
                  description
                    "Current Topology Interface State count";
                }
    
                leaf rxi-low-water-mark {
                  type uint32;
                  description
                    "The rxi below which the throttle on interface
    creation will be lifted";
                }
    
                leaf rxi-limit-reached {
                  type boolean;
                  description
                    "Is interface creation throttled";
                }
    
                leaf register-limit {
                  type uint32;
                  description
                    "Maximum registers";
                }
    
                leaf register-count {
                  type uint32;
                  description
                    "Current registers";
                }
    
                leaf register-limit-reached {
                  type boolean;
                  description
                    "Is PIM SM register handling throttled";
                }
    
                leaf ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from Autorp";
                }
    
                leaf ranges-count {
                  type uint32;
                  description
                    "Current group ranges from Autorp";
                }
    
                leaf ranges-threshold {
                  type uint32;
                  description
                    "OOR theshold of grange ranges from AutoRP";
                }
    
                leaf is-ranges-limit-reached {
                  type boolean;
                  description
                    "Is Auto-RP group-to-RP mapping range creation
    throttled";
                }
    
                leaf bsr-ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from BSR";
                }
    
                leaf bsr-ranges-count {
                  type uint32;
                  description
                    "Current group ranges from BSR";
                }
    
                leaf bsr-range-threshold {
                  type uint32;
                  description
                    "Threshold group range from BSR";
                }
    
                leaf is-bsr-ranges-threshold-reached {
                  type boolean;
                  description
                    "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                }
    
                leaf bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Maximum crp-set from BSR";
                }
    
                leaf bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Current crp-set count from BSR";
                }
    
                leaf bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Threshold crp-set from BSR";
                }
    
                leaf is-maximum-enforcement-disabled {
                  type boolean;
                  description
                    "Is maximum enforcement disabled";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
    
                leaf route-threshold {
                  type uint32;
                  description "Threshold routes";
                }
    
                leaf global-auto-rp-ranges-limit {
                  type uint32;
                  description
                    "Global Auto-RP maximum group ranges";
                }
    
                leaf is-global-auto-rp-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global AutoRP group-to-RP mapping range
    creation throttled";
                }
    
                leaf global-bsr-ranges-limit {
                  type uint32;
                  description
                    "Global BSR maximum group ranges";
                }
    
                leaf global-bsr-ranges-count {
                  type uint32;
                  description
                    "Global BSR current group ranges";
                }
    
                leaf global-bsr-ranges-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold group ranges";
                }
    
                leaf is-global-bsr-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global BSR group-to-RP mapping range creation
    throttled";
                }
    
                leaf global-bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Global BSR maximum crp-set";
                }
    
                leaf global-bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Global BSR current crp-set count";
                }
    
                leaf global-bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold crp-set";
                }
    
                leaf is-global-route-limit-reached {
                  type boolean;
                  description
                    "Is global route creation throttled";
                }
    
                leaf topology-interface-state-threshold {
                  type uint32;
                  description
                    "Topology Interface State threshold";
                }
    
                leaf is-global-rxi-limit-reached {
                  type boolean;
                  description
                    "Is global interface creation throttled";
                }
    
                leaf register-threshold {
                  type uint32;
                  description
                    "Threshold registers";
                }
    
                leaf global-register-limit {
                  type uint32;
                  description
                    "Maximum global registers";
                }
    
                leaf is-global-register-limit-reached {
                  type boolean;
                  description
                    "Is global PIM SM register handling throttled";
                }
              }  // container summary
    
              container gre {
                description "GRE information";
                container gre-next-hops {
                  description
                    "GRE destination neighbor table";
                  list gre-next-hop {
                    key "destination-address";
                    description
                      "PIM GRE address next-hop information";
                    leaf destination-address {
                      type inet:ip-address-no-zone;
                      description
                        "GRE destination address";
                    }
    
                    container registered-address {
                      description
                        "Address registered";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container registered-address
    
                    leaf metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf metric-preference {
                      type uint32;
                      description
                        "Metric preference";
                    }
    
                    leaf is-connected {
                      type uint8;
                      description
                        "Are we connected ?";
                    }
    
                    list gre-path {
                      description
                        "GRE Paths list";
                      container gre-neighbor {
                        description
                          "GRE neighbor";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container gre-neighbor
    
                      container gre-next-hop {
                        description
                          "GRE nexthop";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container gre-next-hop
    
                      leaf gre-interface-name {
                        type xr:Interface-name;
                        description
                          "GRE Interface";
                      }
    
                      leaf is-gre-interface-disabled {
                        type boolean;
                        description
                          "Is the gre interface disabled ?";
                      }
    
                      leaf is-via-lsm {
                        type boolean;
                        description "Via LSM";
                      }
    
                      leaf is-connector-attribute-present {
                        type boolean;
                        description
                          "Connector attribute present";
                      }
    
                      leaf extranet-vrf-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Extranet VRF name";
                      }
                    }  // list gre-path
                  }  // list gre-next-hop
                }  // container gre-next-hops
              }  // container gre
    
              container bidir-df-winners {
                description
                  "Bidirectional PIM DF election winner table";
                list bidir-df-winner {
                  key "rp-address interface-name";
                  description
                    "Bidirectional PIM DF election table entry";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address-xr {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  container df-winner {
                    description "DF Winner";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container df-winner
    
                  leaf pim-interface-name {
                    type string;
                    description "Interface Name";
                  }
    
                  leaf are-we-df {
                    type boolean;
                    description "Are we DF";
                  }
    
                  leaf rp-lan {
                    type boolean;
                    description
                      "Is this the RP LAN";
                  }
    
                  leaf metric {
                    type uint32;
                    description "Metric";
                  }
    
                  leaf metric-preference {
                    type uint32;
                    description
                      "Metric Preference";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
                }  // list bidir-df-winner
              }  // container bidir-df-winners
    
              container table-contexts {
                description
                  "PIM table context list";
                list table-context {
                  key "saf-name topology-name";
                  description
                    "PIM table context information";
                  leaf saf-name {
                    type Pim-safi;
                    description "SAF name";
                  }
    
                  leaf topology-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..32";
                    }
                    description "Topology name";
                  }
    
                  leaf afi {
                    type uint32;
                    description "AFI";
                  }
    
                  leaf safi {
                    type uint32;
                    description "SAFI";
                  }
    
                  leaf table-name {
                    type string;
                    description "Table name";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active status";
                  }
    
                  leaf is-ital-registration-done {
                    type boolean;
                    description
                      "ITAL reg status";
                  }
    
                  leaf is-rib-registration-done {
                    type boolean;
                    description "RIB reg status";
                  }
    
                  leaf is-rib-convergence-received {
                    type boolean;
                    description
                      "RIB Convergence receive status";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
                }  // list table-context
              }  // container table-contexts
    
              container neighbor-summaries {
                description
                  "PIM neighbor summary table";
                list neighbor-summary {
                  key "interface-name";
                  description
                    "PIM neighbor summary information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf number-of-neighbors {
                    type int32;
                    description
                      "Number of neighbors";
                  }
    
                  leaf number-of-external-neighbors {
                    type int32;
                    description
                      "Number of external neighbors";
                  }
                }  // list neighbor-summary
              }  // container neighbor-summaries
    
              container context {
                description
                  "PIM context information";
                container remote-default-group {
                  description
                    "Remote Default Group";
                  leaf af-name {
                    type Pim-afi;
                    description "AFName";
                  }
    
                  leaf ipv4-address {
                    when
                      "../af-name = 'ipv4-unicast'" {
                      description
                        "../AFName = 'IPv4Unicast'";
                    }
                    type inet:ipv4-address;
                    description "IPv4 Address";
                  }
    
                  leaf ipv6-address {
                    when
                      "../af-name = 'ipv6-unicast'" {
                      description
                        "../AFName = 'IPv6Unicast'";
                    }
                    type Ipv6-address;
                    description "IPV6 Address";
                  }
                }  // container remote-default-group
    
                container rpf-default-table {
                  description
                    "RPF Default Table";
                  leaf afi {
                    type uint32;
                    description "AFI";
                  }
    
                  leaf safi {
                    type uint32;
                    description "SAFI";
                  }
    
                  leaf table-name {
                    type string;
                    description "Table name";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active status";
                  }
    
                  leaf is-ital-registration-done {
                    type boolean;
                    description
                      "ITAL reg status";
                  }
    
                  leaf is-rib-registration-done {
                    type boolean;
                    description "RIB reg status";
                  }
    
                  leaf is-rib-convergence-received {
                    type boolean;
                    description
                      "RIB Convergence receive status";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
                }  // container rpf-default-table
    
                leaf vrf-id {
                  type uint32;
                  description "VRF ID";
                }
    
                leaf table-id {
                  type uint32;
                  description "Table ID";
                }
    
                leaf murib-id {
                  type uint32;
                  description "MURIB ID";
                }
    
                leaf rpf-id {
                  type uint32;
                  description "RPF ID";
                }
    
                leaf remote-table-id {
                  type uint32;
                  description "Remote Table ID";
                }
    
                leaf mdt-default-group {
                  type inet:ipv4-address;
                  description
                    "MDT Default group";
                }
    
                leaf mdt-source {
                  type inet:ipv4-address;
                  description "MDT source";
                }
    
                leaf mdt-source-interface {
                  type string;
                  description
                    "MDT Source Interface Name";
                }
    
                leaf mdt-interface {
                  type xr:Interface-name;
                  description "MDT handle";
                }
    
                leaf mdt-gre-rpf-identifier {
                  type uint32;
                  description
                    "GRE-MDT RPF Identifier";
                }
    
                leaf mdt-gre-remote-rpf-identifier {
                  type uint32;
                  description
                    "GRE-MDT Remote RPF Identifier";
                }
    
                leaf is-unicast-rib-registration {
                  type boolean;
                  description
                    "Ucast RIB Registration";
                }
    
                leaf is-multicast-rib-registration {
                  type boolean;
                  description
                    "Mcast RIB Registration";
                }
    
                leaf is-active {
                  type boolean;
                  description "Active";
                }
    
                leaf is-active-ital {
                  type boolean;
                  description "Active ITAL";
                }
    
                leaf is-mrib-register {
                  type boolean;
                  description "MRIB Register";
                }
    
                leaf is-mdt-owner {
                  type boolean;
                  description "MDT Owner";
                }
    
                leaf is-routing-enabled {
                  type boolean;
                  description "Routing Enabled";
                }
    
                leaf is-socket-add-required {
                  type boolean;
                  description
                    "VRF required on Socket";
                }
    
                leaf is-socket-added {
                  type boolean;
                  description
                    "VRF added on Socket";
                }
    
                leaf is-lpts-socket-add-required {
                  type boolean;
                  description
                    "VRF LPTS filter required on Socket";
                }
    
                leaf is-lpts-socket-added {
                  type boolean;
                  description
                    "VRF LPTS filter added on Socket";
                }
    
                leaf is-udp-socket-add-required {
                  type boolean;
                  description
                    "VRF added on UDP Socket";
                }
    
                leaf is-udp-socket-added {
                  type boolean;
                  description
                    "VRF added on UDP Socket";
                }
    
                leaf is-udp-socket-bind-required {
                  type boolean;
                  description
                    "VRF bind required on UDP Socket";
                }
    
                leaf is-udp-socket-bind {
                  type boolean;
                  description
                    "VRF bound on UDP Socket";
                }
    
                leaf is-register-injection-socket-add-required {
                  type boolean;
                  description
                    "VRF required on Register Injection Socket";
                }
    
                leaf is-register-injection-socket-added {
                  type boolean;
                  description
                    "VRF added on Register Injection Socket";
                }
    
                leaf is-register-injection-lpts-socket-add-required {
                  type boolean;
                  description
                    "VRF LPTS filter required on Register Injection
    Socket";
                }
    
                leaf is-register-injection-lpts-socket-added {
                  type boolean;
                  description
                    "VRF LPTS filter added on Register Injection
    Socket";
                }
    
                leaf is-m-host-publish-pending {
                  type boolean;
                  description
                    "Publish pending for MHost Default interface";
                }
    
                leaf mhost-interface {
                  type xr:Interface-name;
                  description "MHost handle";
                }
    
                leaf mhost-default-interface-config {
                  type string;
                  description
                    "Configured Mhost Defint";
                }
    
                leaf mdt-mtu {
                  type uint32;
                  description "MDT MTU";
                }
    
                leaf maximum-mdt-aggregation {
                  type uint32;
                  description
                    "MDT max aggregation";
                }
    
                leaf mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Data MDT Switchover interval";
                }
    
                leaf mdt-data-announce-interval {
                  type uint32;
                  description
                    "Data MDT Announce interval";
                }
    
                leaf non-default-vrf-count-on-socket {
                  type uint32;
                  description
                    "Count of non-default vrfs on raw socket";
                }
    
                leaf neighbor-filter-name {
                  type string;
                  description
                    "Neighbor Filter Name";
                }
    
                leaf mdt-neighbor-filter-name {
                  type string;
                  description
                    "MDT Neighbor Filter Name";
                }
    
                leaf allow-rp-configured {
                  type boolean;
                  description
                    "Allow RP Configured";
                }
    
                leaf allow-rp-group-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "Allow RP Group-List ACL Name";
                }
    
                leaf allow-rp-rp-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "Allow RP RP-list ACL Name";
                }
    
                leaf sg-expiry-timer-configured {
                  type boolean;
                  description
                    "S,G Expiry Timer Configured";
                }
    
                leaf sg-expiry-time {
                  type uint16;
                  units "second";
                  description
                    "S,G Expiry Time Configured, in seconds";
                }
    
                leaf sg-expiry-timer-sg-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "S,G expiry timer ACL name";
                }
    
                leaf mldp-mdt-name {
                  type string;
                  description "MLDP MDT Name";
                }
    
                leaf mldp-mdt-interface {
                  type xr:Interface-name;
                  description "MLDP MDT handle";
                }
    
                leaf mldp-mdt-mtu {
                  type uint32;
                  description "MLDP MDT MTU";
                }
    
                leaf mldp-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "MLDP MDT max aggregation";
                }
    
                leaf mldp-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "MLDP Data MDT Switchover interval";
                }
    
                leaf mldp-mdt-data-announce-interval {
                  type uint32;
                  description
                    "MLDP Data MDT Announce interval";
                }
    
                leaf mldp-mdt-rpf-identifier {
                  type uint32;
                  description "MLDP RPF-ID";
                }
    
                leaf mldp-mdt-remote-rpf-identifier {
                  type uint32;
                  description
                    "MLDP Remote RPF-ID";
                }
    
                leaf is-create-mldp-mdt-interface {
                  type boolean;
                  description
                    "Create MLDP MDT interface";
                }
    
                leaf is-mldp-mdt-owner {
                  type boolean;
                  description "MLDP MDT Owner";
                }
    
                leaf mldp-root-count {
                  type uint32;
                  description "MLDP Root count";
                }
    
                leaf mldp-head-lsm-identifier {
                  type uint32;
                  description "MLDP Head LSM-ID";
                }
    
                leaf mldp-remote-head-lsm-identifier {
                  type uint32;
                  description
                    "MLDP Remote Head LSM-ID";
                }
    
                leaf organization-unique-identifier {
                  type uint32;
                  description "OUI for VPN-ID";
                }
    
                leaf vpn-index {
                  type uint32;
                  description "VPN Index";
                }
    
                leaf mldp-partitioned-mdt-configured {
                  type boolean;
                  description
                    "MLDP Partitioned MDT";
                }
    
                leaf mldp-remote-partitioned-mdt-configured {
                  type boolean;
                  description
                    "MLDP Remote Partitioned MDT";
                }
    
                leaf mldp-partioned-mp2m-ptree {
                  type boolean;
                  description
                    "MP2MP Partitioned MDT tree";
                }
    
                leaf mldp-partitioned-head-lsm-identifier {
                  type uint32;
                  description
                    "Partitioned MDT Head LSM-ID";
                }
    
                leaf mldp-head-local-label {
                  type uint32;
                  description
                    "Partitioned MDT Head local label";
                }
    
                leaf mldp-partitioned-mdt-identifier {
                  type uint32;
                  description
                    "MLDP Partitioned MDT Identifier";
                }
    
                leaf bgp-auto-discovery-configured {
                  type boolean;
                  description
                    "BGP Auto-Discovery configured";
                }
    
                leaf suppress-pim-data-mdt-tlv {
                  type boolean;
                  description
                    "Suppress PIM Data-MDT TLV Announcements";
                }
    
                leaf inter-autonomous-system-enabled {
                  type boolean;
                  description "Inter-AS Enabled";
                }
    
                leaf bgp-source-active-announce {
                  type boolean;
                  description
                    "Send BGP Source-Active Announcements";
                }
    
                leaf bgp-i-pmsi-added {
                  type boolean;
                  description "BGP I-PMSI Added";
                }
    
                leaf mldp-bsr-control-tree-added {
                  type boolean;
                  description
                    "MLDP BSR Control tree added";
                }
    
                leaf mldp-auto-rp-discovery-tree-added {
                  type boolean;
                  description
                    "MLDP Autorp Discovery Control tree added";
                }
    
                leaf mldp-auto-rp-announce-tree-added {
                  type boolean;
                  description
                    "MLDP Autorp Announce Control tree added";
                }
    
                leaf bgp-auto-discovery-type {
                  type uint32;
                  description
                    "BGP Auto Discovery Type";
                }
    
                leaf mdt-partitioned-mdt-control-identifier {
                  type uint32;
                  description
                    "Partitioned MDT Control Identifier";
                }
    
                leaf mdt-partitioned-ir-control-identifier {
                  type uint32;
                  description
                    "Partitioned IR MDT Control Identifier";
                }
    
                leaf mldp-control-head-lsm-identifier {
                  type uint32;
                  description
                    "MLDP MVPN Identifier";
                }
    
                leaf umh {
                  type boolean;
                  description
                    "Join UMH Core-Tree";
                }
    
                leaf suppress-shared-tree-join {
                  type boolean;
                  description
                    "Suppress Shared-Tree Joins";
                }
    
                leaf rsvp-te-mdt-name {
                  type string;
                  description "RSVP-TE MDT Name";
                }
    
                leaf rsvp-te-mdt-interface {
                  type xr:Interface-name;
                  description
                    "RSVP-TEMDT handle";
                }
    
                leaf rsvp-te-mdt-mtu {
                  type uint32;
                  description "RSVP-TEMDT MTU";
                }
    
                leaf rsvp-te-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "RSVP-TE MDT max aggregation";
                }
    
                leaf rsvp-te-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "RSVP-TE Data MDT Switchover interval";
                }
    
                leaf rsvp-te-mdt-data-announce-interval {
                  type uint32;
                  description
                    "RSVP-TE Data MDT Announce interval";
                }
    
                leaf rsvp-te-mdt-rpf-identifier {
                  type uint32;
                  description "RSVP-TE RPF-ID";
                }
    
                leaf is-create-rsvp-te-mdt-interface {
                  type boolean;
                  description
                    "Create RSVP-TE MDT interface";
                }
    
                leaf is-rsvp-te-mdt-owner {
                  type boolean;
                  description
                    "RSVP-TE MDT Owner";
                }
    
                leaf rsvp-te-mdt-static-p2mp-count {
                  type uint32;
                  description
                    "Number of Static P2MP-TE MDT";
                }
    
                leaf p2mpte-li-drop {
                  type uint32;
                  description
                    "Route LI updates dropped for P2MP";
                }
    
                leaf ir-mdt-name {
                  type string;
                  description "IR MDT Name";
                }
    
                leaf ir-mdt-interface {
                  type xr:Interface-name;
                  description "IRMDT handle";
                }
    
                leaf ir-mdt-mtu {
                  type uint32;
                  description "IRMDT MTU";
                }
    
                leaf ir-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "IR MDT max aggregation";
                }
    
                leaf ir-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "IR Data MDT Switchover interval";
                }
    
                leaf ir-mdt-data-announce-interval {
                  type uint32;
                  description
                    "IR Data MDT Announce interval";
                }
    
                leaf ir-mdt-rpf-identifier {
                  type uint32;
                  description "IR RPF-ID";
                }
    
                leaf ir-mdt-tail-label {
                  type uint32;
                  description "IR Tail Label";
                }
    
                leaf is-create-ir-mdt-interface {
                  type boolean;
                  description
                    "Create IR MDT interface";
                }
    
                leaf is-ir-mdt-owner {
                  type boolean;
                  description "IR MDT Owner";
                }
    
                leaf is-sr-local {
                  type boolean;
                  description "SR Local";
                }
    
                leaf is-sr-remote {
                  type boolean;
                  description "SR Remote";
                }
    
                leaf sr-mdt-name {
                  type string;
                  description "SR MDT Name";
                }
    
                leaf sr-mdt-interface {
                  type xr:Interface-name;
                  description "SRMDT handle";
                }
    
                leaf sr-mdt-mtu {
                  type uint32;
                  description "SRMDT MTU";
                }
    
                leaf sr-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "SR MDT max aggregation";
                }
    
                leaf sr-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "SR Data MDT Switchover interval";
                }
    
                leaf sr-mdt-data-announce-interval {
                  type uint32;
                  description
                    "SR Data MDT Announce interval";
                }
    
                leaf sr-mdt-rpf-identifier {
                  type uint32;
                  description "SR RPF-ID";
                }
    
                leaf sr-mdt-tail-label {
                  type uint32;
                  description "SR Tail Label";
                }
    
                leaf is-create-sr-mdt-interface {
                  type boolean;
                  description
                    "Create SR MDT interface";
                }
    
                leaf is-sr-mdt-owner {
                  type boolean;
                  description "SR MDT Owner";
                }
    
                leaf mdt-partitioned-tree-sid-control-identifier {
                  type uint32;
                  description
                    "Partitioned Tree-SID MDT Control Identifier";
                }
    
                leaf in-b-and-mdt-name {
                  type string;
                  description "Inband MDT Name";
                }
    
                leaf in-b-and-mdt-interface {
                  type xr:Interface-name;
                  description
                    "Inband MDT handle";
                }
    
                leaf in-b-and-mdt-mtu {
                  type uint32;
                  description "Inband MDT MTU";
                }
    
                leaf in-band-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "Inband MDT max aggregation";
                }
    
                leaf in-b-and-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Inband Data MDT Switchover interval";
                }
    
                leaf in-b-and-mdt-data-announce-interval {
                  type uint32;
                  description
                    "Inband Data MDT Announce interval";
                }
    
                leaf in-b-and-mdt-rpf-identifier {
                  type uint32;
                  description "Inband RPF-ID";
                }
    
                leaf is-create-in-b-and-mdt-interface {
                  type boolean;
                  description
                    "Create Inband MDT interface";
                }
    
                leaf is-in-b-and-mdt-owner {
                  type boolean;
                  description "Inband MDT Owner";
                }
    
                leaf in-band-signaling-local-enabled {
                  type boolean;
                  description
                    "Inband signaling Local enabled";
                }
    
                leaf in-band-signaling-remote-enabled {
                  type boolean;
                  description
                    "Inband signaling Remote enabled";
                }
    
                leaf valid-rd-present {
                  type boolean;
                  description "RD is valid";
                }
    
                leaf stale-rd-present {
                  type boolean;
                  description "RD is stale";
                }
    
                leaf route-distinguisher {
                  type yang:hex-string;
                  description "RD value";
                }
    
                leaf gin-b-and-mdt-name {
                  type string;
                  description "Inband MDT Name";
                }
    
                leaf gin-b-and-mdt-interface {
                  type xr:Interface-name;
                  description
                    "Inband MDT handle";
                }
    
                leaf gin-b-and-mdt-mtu {
                  type uint32;
                  description "Inband MDT MTU";
                }
    
                leaf gin-band-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "Inband MDT max aggregation";
                }
    
                leaf gin-b-and-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Inband Data MDT Switchover interval";
                }
    
                leaf gin-b-and-mdt-data-announce-interval {
                  type uint32;
                  description
                    "Inband Data MDT Announce interval";
                }
    
                leaf gin-b-and-mdt-rpf-identifier {
                  type uint32;
                  description "Inband RPF-ID";
                }
    
                leaf is-create-gin-b-and-mdt-interface {
                  type boolean;
                  description
                    "Create Inband MDT interface";
                }
    
                leaf is-gin-b-and-mdt-owner {
                  type boolean;
                  description "Inband MDT Owner";
                }
    
                leaf is-pim-nsf-rib-converged {
                  type boolean;
                  description
                    "PIM NSF RIB converged";
                }
    
                leaf is-pim-nsf-rib-converge-received {
                  type boolean;
                  description
                    "PIM NSF RIB converge received";
                }
    
                leaf is-rib-multipath-enabled {
                  type boolean;
                  description
                    "PIM RIB multiplath enabled";
                }
    
                leaf is-rib-multipath-interface-hash {
                  type boolean;
                  description
                    "PIM RIB multipath interface hash";
                }
    
                leaf is-rib-multipath-source-hash {
                  type boolean;
                  description
                    "PIM RIB multipath source based hash";
                }
    
                leaf is-rib-multipath-source-next-hop-hash {
                  type boolean;
                  description
                    "PIM RIB multipath source-nexthop hash";
                }
    
                leaf rump-enabled {
                  type boolean;
                  description
                    "PIM is using MuRIB";
                }
    
                leaf is-create-mdt-interface {
                  type boolean;
                  description
                    "Create MDT interface";
                }
    
                leaf is-auto-rp-listen-enabled {
                  type boolean;
                  description
                    "Auto RP Listen Enabled";
                }
    
                leaf is-all-interface-disable-operation {
                  type boolean;
                  description
                    "PIM all interface disable operation";
                }
    
                leaf is-default-granges {
                  type boolean;
                  description "Default granges";
                }
    
                leaf is-auto-rp-listen-sock-add {
                  type boolean;
                  description
                    "Auto RP listen sock add";
                }
    
                leaf is-redistribution-reset {
                  type boolean;
                  description
                    "Pending redist reset";
                }
    
                leaf redistribution-reset-count {
                  type uint32;
                  description
                    "Redist reset count";
                }
    
                leaf rpf-policy-name {
                  type string;
                  description
                    "RPF topology selection route-policy name";
                }
    
                leaf table-count {
                  type uint32;
                  description
                    "Number of configured Tables";
                }
    
                leaf active-table-count {
                  type uint32;
                  description
                    "Number of active Tables";
                }
    
                leaf anycast-rp-policy-name {
                  type string;
                  description
                    "Anycast-RP Policy Name";
                }
    
                leaf anycast-rp-configured {
                  type boolean;
                  description
                    "Anycast-RP config";
                }
    
                leaf bgp-remote-on {
                  type boolean;
                  description
                    "BGP remote interface status";
                }
    
                leaf bgp-remote-interface-name {
                  type string;
                  description
                    "BGP remote interface name";
                }
    
                leaf bgp-remote-interface {
                  type xr:Interface-name;
                  description
                    "BGP remote interface handle";
                }
    
                leaf bgp-remote-address {
                  type inet:ipv4-address;
                  description
                    "BGP remote interface address";
                }
    
                leaf bgp-remote-state {
                  type uint32;
                  description
                    "BGP remote interface state";
                }
    
                leaf physical-interface-count {
                  type uint64;
                  description
                    "Enabled Physical Interface Count";
                }
    
                leaf virtual-interface-count {
                  type uint64;
                  description
                    "Enabled Virtual Interface Count";
                }
    
                leaf virtual-mlc-interface-name {
                  type string;
                  description
                    "Virtual master line card Interface";
                }
    
                leaf mdt-immediate-switch {
                  type boolean;
                  description
                    "MDT Immediate Switch";
                }
    
                leaf remote-mdt-idb-name {
                  type string;
                  description
                    "Remote MDT Interface Handle Name";
                }
    
                leaf remote-mdt-address {
                  type inet:ipv4-address;
                  description
                    "Remote MDT interface address";
                }
    
                leaf-list mldp-root-address {
                  type uint32;
                  description
                    "MLDP Root addresses";
                }
    
                list export-route-target {
                  description
                    "Export Route Targets";
                  leaf route-target {
                    type yang:hex-string;
                    description
                      "Route Target Extended community value";
                  }
    
                  leaf configured {
                    type boolean;
                    description
                      "Configured Route Target";
                  }
    
                  leaf anycast-rp {
                    type boolean;
                    description
                      "Anycast-RP Group";
                  }
    
                  leaf anycast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Group marked";
                  }
    
                  leaf update-pending {
                    type boolean;
                    description
                      "Update Pending to BGP";
                  }
    
                  leaf bgp-auto-discovery {
                    type boolean;
                    description
                      "BGP Auto Discovery";
                  }
    
                  leaf segment-border {
                    type boolean;
                    description "Segment Border";
                  }
                }  // list export-route-target
    
                list import-route-target {
                  description
                    "Import Route Targets";
                  leaf route-target {
                    type yang:hex-string;
                    description
                      "Route Target Extended community value";
                  }
    
                  leaf configured {
                    type boolean;
                    description
                      "Configured Route Target";
                  }
    
                  leaf anycast-rp {
                    type boolean;
                    description
                      "Anycast-RP Group";
                  }
    
                  leaf anycast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Group marked";
                  }
    
                  leaf update-pending {
                    type boolean;
                    description
                      "Update Pending to BGP";
                  }
    
                  leaf bgp-auto-discovery {
                    type boolean;
                    description
                      "BGP Auto Discovery";
                  }
    
                  leaf segment-border {
                    type boolean;
                    description "Segment Border";
                  }
                }  // list import-route-target
    
                list anycast-rp-range {
                  description
                    "Anycast-RP Ranges";
                  container prefix {
                    description
                      "Anycast-RP Range Prefix";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container prefix
    
                  leaf prefix-length {
                    type uint8;
                    description
                      "Anycast-RP Range Prefix Length";
                  }
    
                  leaf ancast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Range marked";
                  }
                }  // list anycast-rp-range
              }  // container context
    
              container topology-entry-flag-route-counts {
                description
                  "Route count for topology with entry flag set";
                list topology-entry-flag-route-count {
                  key "entry-flag";
                  description
                    "Route count for topology with entry flag set";
                  leaf entry-flag {
                    type Pim-topology-entry-flag;
                    description "entry flag";
                  }
    
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // list topology-entry-flag-route-count
              }  // container topology-entry-flag-route-counts
    
              container rpf-redirect {
                description
                  "PIM ECMP RPF-redirect bundle";
                container redirect-route-databases {
                  description
                    "PIM ECMP RPF-redirect route database";
                  list redirect-route-database {
                    key "source-address group-address";
                    description
                      "PIM ECMP RPF-redirect route information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    container group-address-xr {
                      description "Group ddress";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container source-address-xr {
                      description
                        "Source address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    leaf bandwidth {
                      type uint32;
                      units "kbit/s";
                      description
                        "Bandwidth in Kbps";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    list interface {
                      description
                        "Outgoing interface list";
                      container rpf-address {
                        description
                          "RPF Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rpf-address
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface name";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiry {
                        type uint64;
                        units "second";
                        description
                          "Expiry in seconds";
                      }
    
                      leaf is-rpf-interface {
                        type boolean;
                        description
                          "Is RPF Interface";
                      }
    
                      leaf is-outgoing-interface {
                        type boolean;
                        description
                          "Is outgoing Interface";
                      }
    
                      leaf is-snoop-interface {
                        type boolean;
                        description
                          "Is snooping Interface";
                      }
                    }  // list interface
                  }  // list redirect-route-database
                }  // container redirect-route-databases
    
                container bundle-interfaces {
                  description
                    "PIM ECMP RPF-redirect bundle information";
                  list bundle-interface {
                    key "bundle-name interface-name";
                    description
                      "PIM ECMP RPF-redirect bundle interface
    information";
                    leaf bundle-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description "Bundle name";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Bundle interface name";
                    }
    
                    leaf rpf-redirect-bundle-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "RPF redirect bundle name";
                    }
    
                    leaf rpf-redirect-interface-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "RPF redirect interface name";
                    }
    
                    leaf available-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth available in Kbps";
                    }
    
                    leaf allocated-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth allocated in Kbps";
                    }
    
                    leaf total-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Total bandwidth used in Kbps";
                    }
    
                    leaf topology-bandwidth-used {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth used by topology in Kbps";
                    }
    
                    leaf snooping-bandwidth-used {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth used by snooped entries in Kbps";
                    }
    
                    leaf allocated-threshold-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Configured threshold in Kbps";
                    }
    
                    leaf available-threshold-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Available threshold in Kbps";
                    }
                  }  // list bundle-interface
                }  // container bundle-interfaces
              }  // container rpf-redirect
    
              container tunnels {
                description
                  "Tunnels information that PIM has";
                list tunnel {
                  key "tunnel-name";
                  description
                    "PIM tunnel information";
                  leaf tunnel-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..64";
                    }
                    description "Tunnel name";
                  }
    
                  container source-address {
                    description
                      "Source addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  container rp-address {
                    description
                      "RP addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address-netio {
                    description
                      "Source addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-netio
    
                  container group-address-netio {
                    description
                      "Group addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-netio
    
                  leaf vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "VRF Name";
                  }
                }  // list tunnel
              }  // container tunnels
    
              container multicast-static-routes {
                description
                  "PIM multicast static route table";
                list multicast-static-route {
                  key "address prefix-length";
                  description
                    "PIM multicast static route information";
                  leaf address {
                    type inet:ip-address-no-zone;
                    description
                      "Network address";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  container prefix {
                    description "Prefix";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container prefix
    
                  container nexthop {
                    description "Next Hop";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container nexthop
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "Interface Handle";
                  }
    
                  leaf distance {
                    type uint32;
                    description "Distance";
                  }
    
                  leaf prefix-length-xr {
                    type uint8;
                    description "Prefix Length";
                  }
    
                  leaf is-via-lsm {
                    type boolean;
                    description "LSM flag";
                  }
                }  // list multicast-static-route
              }  // container multicast-static-routes
    
              container neighbors {
                description "PIM neighbor table";
                list neighbor {
                  key "interface-name neighbor-address";
                  description
                    "PIM neighbor information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf neighbor-address {
                    type inet:ip-address-no-zone;
                    description
                      "Neighbor address";
                  }
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
    
                  leaf expires {
                    type uint64;
                    units "second";
                    description
                      "Neighbor expiry in seconds";
                  }
    
                  leaf expiry-timer {
                    type uint64;
                    units "second";
                    description
                      "Expiry timer in seconds";
                  }
    
                  leaf is-this-neighbor-us {
                    type boolean;
                    description
                      "Is this neighbor us ?";
                  }
    
                  leaf is-this-neighbor-dr {
                    type boolean;
                    description
                      "Is this neighbor the DR";
                  }
    
                  leaf is-dr-priority-capable {
                    type boolean;
                    description
                      "Is this neighbor DR priority capable ?";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR priority";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description
                      "Is this neighbor bidir capable ?";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description
                      "Is this neighbor proxy capable?";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Is this neighbor capable of batching asserts?";
                  }
    
                  leaf is-ecmp-redirect-capable {
                    type boolean;
                    description
                      "Is this neighbor capable of Ecmp Redirect?";
                  }
    
                  leaf is-bfd-state {
                    type boolean;
                    description
                      "Is the neighbor bfd session created";
                  }
    
                  leaf sticky-dr-neighbor {
                    type boolean;
                    description
                      "Is Sticky DR advertised on interface by neighbor";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  list neighbor-address-xr {
                    description
                      "List of Neighbor Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list neighbor-address-xr
                }  // list neighbor
              }  // container neighbors
            }  // container default-context
    
            container process {
              description "Process";
              container nsr {
                description "NSR Information";
                leaf state {
                  type uint8;
                  description "NSR state";
                }
    
                leaf partner-connected {
                  type boolean;
                  description
                    "Partner process connected";
                }
    
                leaf rmf-notification-done {
                  type boolean;
                  description
                    "RMF Notification done";
                }
    
                leaf rmf-timer-valid {
                  type boolean;
                  description
                    "Is RMF timer running ?";
                }
    
                leaf rmf-timer-expiry {
                  type uint64;
                  description
                    "Time for RMF timer to expire";
                }
    
                leaf last-connection-up {
                  type uint64;
                  description
                    "Time when connection went up";
                }
    
                leaf last-connection-dn {
                  type uint64;
                  description
                    "Time when connection went down";
                }
    
                leaf last-rmf-ready {
                  type uint64;
                  description
                    "Time when RMF Rdy notif was sent";
                }
    
                leaf last-rmf-not-ready {
                  type uint64;
                  description
                    "Time when RMF Not-Rdy notif was sent";
                }
    
                leaf count-connection-up {
                  type uint32;
                  description
                    "No. of times connection went up";
                }
    
                leaf count-connection-dn {
                  type uint32;
                  description
                    "No. of times connection went down";
                }
    
                leaf count-rmf-ready {
                  type uint32;
                  description
                    "No. of times RMF Ready notif was sent";
                }
    
                leaf count-rmf-not-ready {
                  type uint32;
                  description
                    "No. of times RMF Not Ready notif was sent";
                }
              }  // container nsr
    
              container summary {
                description "PIM Global Summary";
                leaf route-limit {
                  type uint32;
                  description "Maximum routes";
                }
    
                leaf route-count {
                  type uint32;
                  description "Current routes";
                }
    
                leaf route-low-water-mark {
                  type uint32;
                  description
                    "The number of routes below which the throttle on
    route creation will be lifted";
                }
    
                leaf is-route-limit-reached {
                  type boolean;
                  description
                    "Is route creation throttled";
                }
    
                leaf topology-interface-state-limit {
                  type uint32;
                  description
                    "Maximum Topology Interface State count";
                }
    
                leaf topology-interface-state-count {
                  type uint32;
                  description
                    "Current Topology Interface State count";
                }
    
                leaf rxi-low-water-mark {
                  type uint32;
                  description
                    "The rxi below which the throttle on interface
    creation will be lifted";
                }
    
                leaf rxi-limit-reached {
                  type boolean;
                  description
                    "Is interface creation throttled";
                }
    
                leaf register-limit {
                  type uint32;
                  description
                    "Maximum registers";
                }
    
                leaf register-count {
                  type uint32;
                  description
                    "Current registers";
                }
    
                leaf register-limit-reached {
                  type boolean;
                  description
                    "Is PIM SM register handling throttled";
                }
    
                leaf ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from Autorp";
                }
    
                leaf ranges-count {
                  type uint32;
                  description
                    "Current group ranges from Autorp";
                }
    
                leaf ranges-threshold {
                  type uint32;
                  description
                    "OOR theshold of grange ranges from AutoRP";
                }
    
                leaf is-ranges-limit-reached {
                  type boolean;
                  description
                    "Is Auto-RP group-to-RP mapping range creation
    throttled";
                }
    
                leaf bsr-ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from BSR";
                }
    
                leaf bsr-ranges-count {
                  type uint32;
                  description
                    "Current group ranges from BSR";
                }
    
                leaf bsr-range-threshold {
                  type uint32;
                  description
                    "Threshold group range from BSR";
                }
    
                leaf is-bsr-ranges-threshold-reached {
                  type boolean;
                  description
                    "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                }
    
                leaf bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Maximum crp-set from BSR";
                }
    
                leaf bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Current crp-set count from BSR";
                }
    
                leaf bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Threshold crp-set from BSR";
                }
    
                leaf is-maximum-enforcement-disabled {
                  type boolean;
                  description
                    "Is maximum enforcement disabled";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
    
                leaf route-threshold {
                  type uint32;
                  description "Threshold routes";
                }
    
                leaf global-auto-rp-ranges-limit {
                  type uint32;
                  description
                    "Global Auto-RP maximum group ranges";
                }
    
                leaf is-global-auto-rp-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global AutoRP group-to-RP mapping range
    creation throttled";
                }
    
                leaf global-bsr-ranges-limit {
                  type uint32;
                  description
                    "Global BSR maximum group ranges";
                }
    
                leaf global-bsr-ranges-count {
                  type uint32;
                  description
                    "Global BSR current group ranges";
                }
    
                leaf global-bsr-ranges-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold group ranges";
                }
    
                leaf is-global-bsr-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global BSR group-to-RP mapping range creation
    throttled";
                }
    
                leaf global-bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Global BSR maximum crp-set";
                }
    
                leaf global-bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Global BSR current crp-set count";
                }
    
                leaf global-bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold crp-set";
                }
    
                leaf is-global-route-limit-reached {
                  type boolean;
                  description
                    "Is global route creation throttled";
                }
    
                leaf topology-interface-state-threshold {
                  type uint32;
                  description
                    "Topology Interface State threshold";
                }
    
                leaf is-global-rxi-limit-reached {
                  type boolean;
                  description
                    "Is global interface creation throttled";
                }
    
                leaf register-threshold {
                  type uint32;
                  description
                    "Threshold registers";
                }
    
                leaf global-register-limit {
                  type uint32;
                  description
                    "Maximum global registers";
                }
    
                leaf is-global-register-limit-reached {
                  type boolean;
                  description
                    "Is global PIM SM register handling throttled";
                }
              }  // container summary
    
              container nsf {
                description
                  "PIM NSF information";
                leaf configured-state {
                  type boolean;
                  description
                    "Is Multicast NSF Configured";
                }
    
                leaf nsf-state {
                  type boolean;
                  description
                    "Are we currently in NSF";
                }
    
                leaf nsf-timeout {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF timeout in seconds";
                }
    
                leaf nsf-time-left {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF time left in seconds";
                }
    
                leaf waiting-timer {
                  type boolean;
                  description
                    "Waiting for NSF timer expiry";
                }
    
                leaf waiting-membership {
                  type boolean;
                  description
                    "Waiting for IGMP/MLD";
                }
    
                leaf respawn-count {
                  type uint32;
                  description "Respawn Count";
                }
    
                leaf last-nsf-on {
                  type int64;
                  description "Last NSF time ON";
                }
    
                leaf last-nsf-off {
                  type int64;
                  description
                    "Last NSF time off";
                }
    
                leaf last-nsf-on-sec {
                  type int32;
                  units "second";
                  description
                    "Last NSF time ON in Seconds";
                }
    
                leaf last-nsf-off-sec {
                  type int32;
                  units "second";
                  description
                    "Last NSF time OFF in Seconds";
                }
    
                leaf last-icd-notif-recv {
                  type int64;
                  description
                    "Last ICD Notif Recv";
                }
    
                leaf last-icd-notif-recv-sec {
                  type int32;
                  units "second";
                  description
                    "Last ICD Notif Recv in Seconds";
                }
              }  // container nsf
    
              container issu {
                description "ISSU Information";
                leaf informationvalid {
                  type boolean;
                  description
                    "Is Information valid ?";
                }
    
                leaf role-ha {
                  type int32;
                  description "HA role";
                }
    
                leaf role-issu {
                  type int32;
                  description "ISSU role";
                }
    
                leaf phase-issu {
                  type int32;
                  description "ISSU Phase";
                }
    
                leaf last-ha-role-notification-received {
                  type uint64;
                  description
                    "Time when last HA role nfn was received";
                }
    
                leaf last-issu-role-notification-received {
                  type uint64;
                  description
                    "Time when last ISSU role nfn was received";
                }
    
                leaf last-issu-phase-notification-received {
                  type uint64;
                  description
                    "Time when last ISSU Phase nfn was received";
                }
    
                leaf is-eoc-received {
                  type boolean;
                  description
                    "Was EOC received ?";
                }
    
                leaf eoc-received-timestamp {
                  type uint64;
                  description
                    "Time when EOC was received";
                }
    
                leaf is-ihms-done-received {
                  type boolean;
                  description
                    "Was IHMS done received ?";
                }
    
                leaf ihms-received-timestamp {
                  type uint64;
                  description
                    "Time when IHMS done was received";
                }
    
                leaf is-rib-sync-received {
                  type boolean;
                  description
                    "Was RIB Sync received ?";
                }
    
                leaf rib-sync-received-timestamp {
                  type uint64;
                  description
                    "Time when RIB Sync was received";
                }
    
                leaf is-nbr-sync-received {
                  type boolean;
                  description
                    "Was NBR Sync achieved ?";
                }
    
                leaf nbr-sync-received-timestamp {
                  type uint64;
                  description
                    "Time when NBR Sync was achieved";
                }
    
                leaf is-checkpoint-idt-done {
                  type boolean;
                  description
                    "Was Checkpoint IDT done ?";
                }
    
                leaf checkpoint-idt-timestamp {
                  type uint64;
                  description
                    "Time when Checkpoint IDT done";
                }
              }  // container issu
            }  // container process
    
            container vrfs {
              description "VRF Table";
              list vrf {
                key "vrf-name";
                description "VRF name";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description "VRF name ";
                }
    
                container ifrs-interfaces {
                  description
                    "PIM interfaces in forward reference store table";
                  list ifrs-interface {
                    key "interface-name";
                    description
                      "PIM IFRS interface information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container dr-address {
                      description
                        "PIM Designated Router";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container dr-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identfier";
                    }
    
                    leaf interface-address-mask {
                      type uint8;
                      description
                        "Interface IP Address Mask";
                    }
    
                    leaf is-enabled {
                      type boolean;
                      description
                        "Is PIM enabled on this IF ?";
                    }
    
                    leaf neighbor-count {
                      type uint16;
                      description
                        "No. of neighbors on this IF";
                    }
    
                    leaf external-neighbor-count {
                      type uint16;
                      description
                        "No. of external neighbors on this IF";
                    }
    
                    leaf hello-interval {
                      type uint16;
                      description
                        "Hello Interval";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR Priority";
                    }
    
                    leaf hello-expiry {
                      type uint64;
                      description
                        "Hello Timer Expiry";
                    }
    
                    leaf are-we-dr {
                      type boolean;
                      description
                        "Are we the DR on this IF ?";
                    }
    
                    leaf bfd-enabled {
                      type boolean;
                      description "BFD state";
                    }
    
                    leaf bfd-interval {
                      type uint32;
                      description "BFD Interval";
                    }
    
                    leaf bfd-multiplier {
                      type uint32;
                      description
                        "BFD Multiplier";
                    }
    
                    leaf virtual-interface {
                      type boolean;
                      description
                        " is this a Virtual Interfaces ?";
                    }
    
                    leaf passive-interface {
                      type boolean;
                      description
                        "Passive PIM interface";
                    }
    
                    leaf neighbor-filter-name {
                      type string;
                      description
                        "Neighbor Filter Name";
                    }
    
                    leaf sticky-dr-enabled {
                      type boolean;
                      description
                        "Is Sticky DR enabled on Interface";
                    }
    
                    leaf sticky-dr-active {
                      type boolean;
                      description
                        "Is Sticky DR Active on Interface";
                    }
    
                    leaf sticky-dr-active-since {
                      type uint64;
                      units "second";
                      description
                        "Sticky DR uptime in seconds";
                    }
    
                    leaf join-prune-interval {
                      type uint16;
                      description
                        "Join-Prune Interval";
                    }
    
                    leaf prune-delay-enabled {
                      type boolean;
                      description
                        "Prune Delay Enabled";
                    }
    
                    leaf configured-propagation-delay {
                      type uint16;
                      description
                        "Configured Propagation Delay";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf configured-override-interval {
                      type uint16;
                      description
                        "Configured Override Interval";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    leaf generation-id {
                      type uint32;
                      description
                        "Generation Identifier";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Bidir Capable";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Proxy Capable";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Batch Asserts Capable";
                    }
    
                    leaf idb-oor-enabled {
                      type boolean;
                      description
                        "Interface oor enabled";
                    }
    
                    leaf idb-acl-provided {
                      type boolean;
                      description
                        "ACL name provided";
                    }
    
                    leaf idb-max-count {
                      type uint32;
                      description
                        "Interface ole max count";
                    }
    
                    leaf idb-threshold-count {
                      type uint32;
                      description
                        "Interface ole threshold count";
                    }
    
                    leaf idb-current-count {
                      type uint32;
                      description
                        "Interface ole current count";
                    }
    
                    leaf idb-acl-name {
                      type string {
                        length "0..64";
                      }
                      description
                        "Interface ole ACL Name";
                    }
    
                    list interface-address {
                      description
                        "List of Interface IP Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list interface-address
                  }  // list ifrs-interface
                }  // container ifrs-interfaces
    
                container interface-statistics {
                  description
                    "PIM interface statistics";
                  list interface-statistic {
                    key "interface-name";
                    description
                      "PIM interface statistics";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf input-hello {
                      type uint32;
                      description
                        "Hello packets in";
                    }
    
                    leaf output-hello {
                      type uint32;
                      description
                        "Hello packets out";
                    }
    
                    leaf input-register {
                      type uint32;
                      description
                        "Register packets in";
                    }
    
                    leaf output-register {
                      type uint32;
                      description
                        "Register packets out";
                    }
    
                    leaf input-register-stop {
                      type uint32;
                      description
                        "Register Stop packets in";
                    }
    
                    leaf output-register-stop {
                      type uint32;
                      description
                        "Register Stop packets out";
                    }
    
                    leaf input-jp {
                      type uint32;
                      description
                        "Join Prune packets in";
                    }
    
                    leaf output-jp {
                      type uint32;
                      description
                        "Join Prune packets out";
                    }
    
                    leaf input-bsr-message {
                      type uint32;
                      description
                        "Input BSR Messages";
                    }
    
                    leaf output-bsr-message {
                      type uint32;
                      description
                        "Output BSR Messages";
                    }
    
                    leaf input-assert {
                      type uint32;
                      description
                        "Assert packets in";
                    }
    
                    leaf output-assert {
                      type uint32;
                      description
                        "Assert packets out";
                    }
    
                    leaf input-graft-message {
                      type uint32;
                      description
                        "Input Graft Messages";
                    }
    
                    leaf output-graft-message {
                      type uint32;
                      description
                        "Output Graft Messages";
                    }
    
                    leaf input-graft-ack-message {
                      type uint32;
                      description
                        "Input Graft Ack Messages";
                    }
    
                    leaf output-graft-ack-message {
                      type uint32;
                      description
                        "Output Graft Ack Messages";
                    }
    
                    leaf input-candidate-rp-advertisement {
                      type uint32;
                      description
                        "Input Candidate-RP Advertisment";
                    }
    
                    leaf output-candidate-rp-advertisement {
                      type uint32;
                      description
                        "Output Candidate-RP Advertisment";
                    }
    
                    leaf input-df-election {
                      type uint32;
                      description
                        "DF Election packets in";
                    }
    
                    leaf output-df-election {
                      type uint32;
                      description
                        "DF Election packets out";
                    }
    
                    leaf input-miscellaneous {
                      type uint32;
                      description
                        "Miscellaneous packet in";
                    }
                  }  // list interface-statistic
                }  // container interface-statistics
    
                container topology-route-count {
                  description
                    "Topology route count information from PIM
    topology table";
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // container topology-route-count
    
                container jp-statistics {
                  description
                    "PIM join prune statistics table";
                  list jp-statistic {
                    key "interface-name";
                    description
                      "PIM Join Prune Statistics";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf mtu {
                      type uint32;
                      description
                        "Interface MTU";
                    }
    
                    leaf transmitted {
                      type uint32;
                      description "Transmitted";
                    }
    
                    leaf transmitted100 {
                      type uint16;
                      description
                        "Transmitted 100 average";
                    }
    
                    leaf transmitted-1k {
                      type uint16;
                      description
                        "Transmitted 1K average";
                    }
    
                    leaf transmitted-10k {
                      type uint16;
                      description
                        "Transmitted 10K average";
                    }
    
                    leaf transmitted-50k {
                      type uint16;
                      description
                        "Deprecated by Transmitted100";
                    }
    
                    leaf received {
                      type uint32;
                      description "Received";
                    }
    
                    leaf received100 {
                      type uint16;
                      description
                        "Received 100 average";
                    }
    
                    leaf received-1k {
                      type uint16;
                      description
                        "Received 1K average";
                    }
    
                    leaf received-10k {
                      type uint16;
                      description
                        "Received 10K average";
                    }
    
                    leaf received-50k {
                      type uint16;
                      description
                        "Deprecated by Received100";
                    }
                  }  // list jp-statistic
                }  // container jp-statistics
    
                container mib-databases {
                  description
                    "PIM group database for mroute mibs table";
                  list mib-database {
                    key "source-address group-address source-netmask";
                    description
                      "PIM multicast static route information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Multicast static route source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Multicast satic route group address";
                    }
    
                    leaf source-netmask {
                      type uint32;
                      description "Source mask";
                    }
    
                    container source-address-xr {
                      description
                        "Source Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container rpf-neighbor {
                      description
                        "The RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container rpf-root {
                      description
                        "Root of this mcast tree";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-root
    
                    leaf upstream-assert-timer {
                      type int32;
                      description
                        "Upstream Assert Timer";
                    }
    
                    leaf assert-metric {
                      type uint32;
                      description
                        "Assert Metric";
                    }
    
                    leaf assert-metric-preference {
                      type uint32;
                      description
                        "Assert Metric Preference";
                    }
    
                    leaf assert-rpt-bit {
                      type boolean;
                      description
                        "Assert RPT Bit";
                    }
    
                    leaf spt-bit {
                      type boolean;
                      description
                        "Is SPT bit set ?";
                    }
    
                    leaf rpf-mask {
                      type uint32;
                      description
                        "Mask of the multicast root";
                    }
    
                    leaf rpf-safi {
                      type uint8;
                      description
                        "Unicast or mcast";
                    }
    
                    leaf rpf-table-name {
                      type string;
                      description
                        "RPF Table name";
                    }
    
                    leaf rpf-drop {
                      type boolean;
                      description
                        "RPF route-policy drop";
                    }
    
                    leaf rpf-extranet {
                      type boolean;
                      description
                        "Extranet RPF route-policy";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "RPF interface name ";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
    
                    leaf bidirectional-route {
                      type boolean;
                      description
                        "Is this Bidir ?";
                    }
    
                    leaf uptime {
                      type uint64;
                      description
                        "Uptime of route";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "The PIM protocol";
                    }
                  }  // list mib-database
                }  // container mib-databases
    
                container ifrs-summary {
                  description
                    "PIM interfaces in forward reference store
    summary";
                  leaf interface-count {
                    type uint32;
                    description
                      "Number of interfaces";
                  }
    
                  leaf configuration-count {
                    type uint32;
                    description
                      "Configuration counts";
                  }
                }  // container ifrs-summary
    
                container ranges {
                  description
                    "PIM range list information";
                  list range {
                    key "rp-address client";
                    description
                      "PIM range list information";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    container rp-address-xr {
                      description
                        "Rendezvous point address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    container source-of-information {
                      description
                        "Source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description "PIM protocol";
                    }
    
                    leaf client-xr {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt via";
                    }
    
                    leaf expires {
                      type uint64;
                      description
                        "When mapping expires";
                    }
    
                    list group-range {
                      description
                        "List of group ranges";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container source-of-information {
                        description
                          "Source of information";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container source-of-information
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expires {
                        type uint64;
                        description
                          "When mapping expires";
                      }
                    }  // list group-range
                  }  // list range
                }  // container ranges
    
                container bsr {
                  description
                    "PIM BSR information";
                  container rp-caches {
                    description
                      "PIM BSR RP cache table";
                    list rp-cache {
                      key "group-prefix prefix-length";
                      description
                        "PIM BSR RP cache";
                      leaf group-prefix {
                        type inet:ip-address-no-zone;
                        description
                          "Group prefix";
                      }
    
                      leaf prefix-length {
                        type uint32;
                        description
                          "Prefix Length";
                      }
    
                      container group-prefix-xr {
                        description
                          "Group Prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container group-prefix-xr
    
                      container candidate-rp-list {
                        description
                          "C-RP list for this prefix";
                        list pim-bsr-crp-bag {
                          description
                            "Next C-RP in the List";
                          container candidate-rp-address {
                            description
                              "C-RP address";
                            leaf af-name {
                              type Pim-afi;
                              description
                                "AFName";
                            }
    
                            leaf ipv4-address {
                              when
                                "../af-name = 'ipv4-unicast'" {
                                description
                                  "../AFName = 'IPv4Unicast'";
                              }
                              type inet:ipv4-address;
                              description
                                "IPv4 Address";
                            }
    
                            leaf ipv6-address {
                              when
                                "../af-name = 'ipv6-unicast'" {
                                description
                                  "../AFName = 'IPv6Unicast'";
                              }
                              type Ipv6-address;
                              description
                                "IPV6 Address";
                            }
                          }  // container candidate-rp-address
    
                          leaf candidate-rp-holdtime {
                            type uint16;
                            description
                              "C-RP Holdtime";
                          }
    
                          leaf candidate-rp-priority {
                            type uint8;
                            description
                              "C-RP Priority";
                          }
    
                          leaf candidate-rp-up-time {
                            type uint16;
                            description
                              "C-RP Uptime";
                          }
    
                          leaf candidate-rp-expires {
                            type uint16;
                            description
                              "C-RP Expires";
                          }
    
                          leaf protocol {
                            type Pim-show-protocol;
                            description
                              "PIM Protocol";
                          }
                        }  // list pim-bsr-crp-bag
                      }  // container candidate-rp-list
    
                      leaf group-prefix-length {
                        type uint32;
                        description
                          "Group Prefix Length";
                      }
    
                      leaf candidate-rp-group-count {
                        type uint32;
                        description
                          "C-RP count for this Prefix";
                      }
                    }  // list rp-cache
                  }  // container rp-caches
    
                  container candidate-rps {
                    description
                      "PIM candidate-RP";
                    list candidate-rp {
                      key "rp-address";
                      description
                        "PIM BSR candidate RP information";
                      leaf rp-address {
                        type inet:ip-address-no-zone;
                        description
                          "Candidate-RP address";
                      }
    
                      container candidate-rp {
                        description
                          "Cand-RP Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container candidate-rp
    
                      leaf candidate-rp-mode {
                        type Pim-show-protocol;
                        description
                          "Cand-RP Mode";
                      }
    
                      leaf candidate-rp-scope {
                        type int32;
                        description
                          "Cand-RP Scope";
                      }
    
                      leaf crp-priority {
                        type uint8;
                        description
                          "Cand-RP Priority";
                      }
    
                      leaf crp-holdtime {
                        type uint16;
                        description
                          "Cand-RP Holdtime";
                      }
    
                      leaf candidate-rp-advance-interval {
                        type uint16;
                        units "second";
                        description
                          "Cand-RP Adv Interval in seconds";
                      }
    
                      leaf candidate-rp-uptime {
                        type uint16;
                        description
                          "Cand-RP uptime";
                      }
    
                      leaf acl-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Group Access-List Name";
                      }
    
                      list crp-access {
                        max-elements 2;
                        description
                          "Group Ranges Using this Cand-RP";
                        leaf candidate-rp-mode {
                          type Pim-show-protocol;
                          description
                            "Cand-RP Mode";
                        }
    
                        leaf acl-name {
                          type string {
                            length "0..33";
                          }
                          description
                            "Group Access-List Name";
                        }
                      }  // list crp-access
                    }  // list candidate-rp
                  }  // container candidate-rps
    
                  container bsr-elections {
                    description
                      "PIM BSR election state";
                    list bsr-election {
                      key "pim-scope";
                      description
                        "PIM BSR information";
                      leaf pim-scope {
                        type uint32;
                        description
                          "BSR information";
                      }
    
                      container bsr-address {
                        description
                          "BSR address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container bsr-address
    
                      container candidate-bsr-address {
                        description
                          "C-BSR address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container candidate-bsr-address
    
                      leaf bsr-priority {
                        type uint8;
                        description
                          "BSR Priority";
                      }
    
                      leaf bsr-mask-length {
                        type uint8;
                        description
                          "Hash Function Mask Length";
                      }
    
                      leaf bsr-up-time {
                        type uint16;
                        description "BSR Uptime";
                      }
    
                      leaf bootstrap-timeout {
                        type uint16;
                        description
                          "Bootstrap Timeout";
                      }
    
                      leaf candidate-bsr-state {
                        type uint32;
                        description
                          "BSR Candidate State";
                      }
    
                      leaf bsr-election-state {
                        type uint32;
                        description
                          "BSR Election State";
                      }
    
                      leaf bsr-scope {
                        type uint16;
                        description "BSR Scope";
                      }
    
                      leaf candidate-bsr-flag {
                        type boolean;
                        description
                          "BSR Candidate Config Flag";
                      }
    
                      leaf candidate-bsr-priority {
                        type uint8;
                        description
                          "C-BSR Priority";
                      }
    
                      leaf candidate-bsr-mask-length {
                        type uint8;
                        description
                          "C-BSR Hash Func. Mask Len";
                      }
                    }  // list bsr-election
                  }  // container bsr-elections
                }  // container bsr
    
                container route-policy {
                  description "PIM route policy";
                  container route-policy-statistics {
                    description
                      "PIM route policy statistics";
                    leaf policy-name {
                      type string;
                      description
                        "RPF policy name";
                    }
    
                    leaf requests {
                      type uint32;
                      description
                        "Number of RPF lookup requests";
                    }
    
                    leaf pass {
                      type uint32;
                      description
                        "Number of RPF pass";
                    }
    
                    leaf drop {
                      type uint32;
                      description
                        "Number of RPF drops";
                    }
    
                    leaf default-table {
                      type uint32;
                      description
                        "Number of RPF lookup in default-only Table";
                    }
    
                    leaf any-table {
                      type uint32;
                      description
                        "Number of RPF lookup in any Table";
                    }
                  }  // container route-policy-statistics
                }  // container route-policy
    
                container rpf-summary {
                  description
                    "PIM RPF registration summary";
                  leaf default-safi {
                    type uint32;
                    description
                      "Default RPF Table SAFI";
                  }
    
                  leaf default-table-name {
                    type string;
                    description
                      "Default RPF Table Name";
                  }
    
                  leaf is-mbgp-configured {
                    type boolean;
                    description
                      "Is MBGP configured?";
                  }
    
                  leaf is-ospf-te-configured {
                    type boolean;
                    description
                      "Is OSPF TE configured?";
                  }
    
                  leaf is-isis-te-configured {
                    type boolean;
                    description
                      "Is ISIS TE configured?";
                  }
    
                  leaf is-isis-mtr-configured {
                    type boolean;
                    description
                      "Is ISIS MTR configured?";
                  }
    
                  leaf mo-frr-configured {
                    type boolean;
                    description
                      "Is MoFRR configured?";
                  }
    
                  leaf rib-mo-frr-configured {
                    type boolean;
                    description
                      "Is MoFRR RIB configured?";
                  }
    
                  leaf rump-enabled {
                    type boolean;
                    description
                      "Is RUMP MuRIB enabled?";
                  }
    
                  leaf rib-convergence-timeout {
                    type uint32;
                    units "second";
                    description
                      "RIB convergence timeout in seconds";
                  }
    
                  leaf rib-convergence-time-left {
                    type uint32;
                    units "second";
                    description
                      "RIB convergence time left in seconds";
                  }
    
                  leaf is-multipath-enabled {
                    type boolean;
                    description
                      "Is Multipath Enabled ?";
                  }
    
                  leaf is-multipath-interface-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Interface Hash Extension Enabled ?";
                  }
    
                  leaf is-multipath-source-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Source based Hash Enabled ?";
                  }
    
                  leaf is-multipath-source-next-hop-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Source-Nexthop Hash Enabled ?";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
                }  // container rpf-summary
    
                container interfaces {
                  description "PIM interfaces";
                  list interface {
                    key "interface-name";
                    description
                      "PIM interface name";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container dr-address {
                      description
                        "PIM Designated Router";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container dr-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identfier";
                    }
    
                    leaf interface-address-mask {
                      type uint8;
                      description
                        "Interface IP Address Mask";
                    }
    
                    leaf is-enabled {
                      type boolean;
                      description
                        "Is PIM enabled on this IF ?";
                    }
    
                    leaf neighbor-count {
                      type uint16;
                      description
                        "No. of neighbors on this IF";
                    }
    
                    leaf external-neighbor-count {
                      type uint16;
                      description
                        "No. of external neighbors on this IF";
                    }
    
                    leaf hello-interval {
                      type uint16;
                      description
                        "Hello Interval";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR Priority";
                    }
    
                    leaf hello-expiry {
                      type uint64;
                      description
                        "Hello Timer Expiry";
                    }
    
                    leaf are-we-dr {
                      type boolean;
                      description
                        "Are we the DR on this IF ?";
                    }
    
                    leaf bfd-enabled {
                      type boolean;
                      description "BFD state";
                    }
    
                    leaf bfd-interval {
                      type uint32;
                      description "BFD Interval";
                    }
    
                    leaf bfd-multiplier {
                      type uint32;
                      description
                        "BFD Multiplier";
                    }
    
                    leaf virtual-interface {
                      type boolean;
                      description
                        " is this a Virtual Interfaces ?";
                    }
    
                    leaf passive-interface {
                      type boolean;
                      description
                        "Passive PIM interface";
                    }
    
                    leaf neighbor-filter-name {
                      type string;
                      description
                        "Neighbor Filter Name";
                    }
    
                    leaf sticky-dr-enabled {
                      type boolean;
                      description
                        "Is Sticky DR enabled on Interface";
                    }
    
                    leaf sticky-dr-active {
                      type boolean;
                      description
                        "Is Sticky DR Active on Interface";
                    }
    
                    leaf sticky-dr-active-since {
                      type uint64;
                      units "second";
                      description
                        "Sticky DR uptime in seconds";
                    }
    
                    leaf join-prune-interval {
                      type uint16;
                      description
                        "Join-Prune Interval";
                    }
    
                    leaf prune-delay-enabled {
                      type boolean;
                      description
                        "Prune Delay Enabled";
                    }
    
                    leaf configured-propagation-delay {
                      type uint16;
                      description
                        "Configured Propagation Delay";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf configured-override-interval {
                      type uint16;
                      description
                        "Configured Override Interval";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    leaf generation-id {
                      type uint32;
                      description
                        "Generation Identifier";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Bidir Capable";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Proxy Capable";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Batch Asserts Capable";
                    }
    
                    leaf idb-oor-enabled {
                      type boolean;
                      description
                        "Interface oor enabled";
                    }
    
                    leaf idb-acl-provided {
                      type boolean;
                      description
                        "ACL name provided";
                    }
    
                    leaf idb-max-count {
                      type uint32;
                      description
                        "Interface ole max count";
                    }
    
                    leaf idb-threshold-count {
                      type uint32;
                      description
                        "Interface ole threshold count";
                    }
    
                    leaf idb-current-count {
                      type uint32;
                      description
                        "Interface ole current count";
                    }
    
                    leaf idb-acl-name {
                      type string {
                        length "0..64";
                      }
                      description
                        "Interface ole ACL Name";
                    }
    
                    list interface-address {
                      description
                        "List of Interface IP Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list interface-address
                  }  // list interface
                }  // container interfaces
    
                container net-io-tunnels {
                  description
                    "Tunnel information that NETIO has ";
                  list net-io-tunnel {
                    key "tunnel-name";
                    description
                      "PIM netio tunnel information";
                    leaf tunnel-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "Tunnel name";
                    }
    
                    container source-address {
                      description
                        "Source addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address
    
                    container rp-address {
                      description
                        "RP addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container source-address-netio {
                      description
                        "Source addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-netio
    
                    container group-address-netio {
                      description
                        "Group addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-netio
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "VRF Name";
                    }
                  }  // list net-io-tunnel
                }  // container net-io-tunnels
    
                container bidir-df-states {
                  description
                    "Bidirectional PIM DF election state table";
                  list bidir-df-state {
                    key "rp-address interface-name";
                    description
                      "Bidirectional PIM DF Election Table Entry";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container rp-address-xr {
                      description "RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    leaf pim-interface-name {
                      type string;
                      description
                        "Interface Name";
                    }
    
                    leaf election-state {
                      type string;
                      description
                        "DF Election State";
                    }
    
                    leaf time-seconds {
                      type uint64;
                      units "second";
                      description
                        "Timer expires (seconds)";
                    }
    
                    leaf time-nano-seconds {
                      type uint64;
                      units "nanosecond";
                      description
                        "Timer expires (nseconds)";
                    }
    
                    leaf our-metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf our-metric-preference {
                      type uint32;
                      description
                        "MetricPreference";
                    }
                  }  // list bidir-df-state
                }  // container bidir-df-states
    
                container topologies {
                  description
                    "PIM topology table";
                  list topology {
                    key "source-address group-address rpt";
                    description
                      "PIM topology information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    leaf rpt {
                      type uint32;
                      description "RPT bit";
                    }
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container source-address-xr {
                      description
                        "Source Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    container rp-address {
                      description
                        "RP Address (If rpt)";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container rpf-neighbor {
                      description "RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container secondary-rpf-neighbor {
                      description
                        "Secondary RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container secondary-rpf-neighbor
    
                    container rpf-root {
                      description
                        "Root of this mcast tree";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-root
    
                    container proxy-address {
                      description
                        "RPF Proxy address.";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container proxy-address
    
                    container orig-src-address {
                      description
                        "Orig Src Address.";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container orig-src-address
    
                    leaf limit-reached {
                      type boolean;
                      description
                        "Have we throttled the creation of routes or
    interfaces ?";
                    }
    
                    leaf low-memory {
                      type boolean;
                      description
                        "Node is running low on memory";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "The PIM protocol";
                    }
    
                    leaf wildcard {
                      type boolean;
                      description "WC -Wildcard";
                    }
    
                    leaf rpt-xr {
                      type boolean;
                      description
                        "Is this on the RPT ?";
                    }
    
                    leaf spt {
                      type boolean;
                      description
                        "Is this on the SPT ?";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiry {
                      type uint64;
                      description
                        "When this entry expires";
                    }
    
                    leaf alive {
                      type int32;
                      units "second";
                      description
                        "Alive time in seconds (-1 if never)";
                    }
    
                    leaf register-received-timer {
                      type int32;
                      units "second";
                      description
                        "Register Received Timer in seconds (-1 if never)";
                    }
    
                    leaf remote-source {
                      type boolean;
                      description "MSDP told us";
                    }
    
                    leaf crossed-threshold {
                      type boolean;
                      description
                        "Incoming traffic crossed threshold. MT flag set";
                    }
    
                    leaf data-mdt-addr-assigned {
                      type boolean;
                      description
                        "PIM has assigned a Data MDT Address";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
    
                    leaf rpf-safi {
                      type uint8;
                      description
                        "Unicast or mcast";
                    }
    
                    leaf rpf-table-name {
                      type string;
                      description
                        "RPF Table name";
                    }
    
                    leaf rpf-drop {
                      type boolean;
                      description
                        "RPF route-policy drop";
                    }
    
                    leaf rpf-extranet {
                      type boolean;
                      description
                        "Extranet RPF route-policy";
                    }
    
                    leaf is-via-lsm {
                      type boolean;
                      description "Via LSM";
                    }
    
                    leaf secondary-rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "Secondary Interface Identifier";
                    }
    
                    leaf connected {
                      type boolean;
                      description
                        "Is Connected ?";
                    }
    
                    leaf proxy {
                      type boolean;
                      description
                        "Is the RPF target a proxy?";
                    }
    
                    leaf rpf-proxy-enabled {
                      type boolean;
                      description
                        "Is rpf if proxy enabled?";
                    }
    
                    leaf mofrr-enabled {
                      type boolean;
                      description
                        "Is this SG MoFRR enabled?";
                    }
    
                    leaf rib-mo-frr-enabled {
                      type boolean;
                      description
                        "Is this SG MoFRR enabled?";
                    }
    
                    leaf jp-timer {
                      type int32;
                      description
                        "Join-Prune Timer";
                    }
    
                    leaf jp-status {
                      type int32;
                      description
                        "Join-Prune Status";
                    }
    
                    leaf suppress-registers {
                      type int32;
                      description
                        "When the Null register probe expires";
                    }
    
                    leaf assume-alive {
                      type boolean;
                      description
                        "The Assume Alive Bit";
                    }
    
                    leaf probe-alive {
                      type boolean;
                      description
                        "The Probe Alive Bit";
                    }
    
                    leaf really-alive {
                      type boolean;
                      description
                        "The Really Alive Bit";
                    }
    
                    leaf inherit-alive {
                      type boolean;
                      description
                        "The Inherit Alive Bit";
                    }
    
                    leaf inherit-spt {
                      type boolean;
                      description
                        "The Inherit SPT Bit";
                    }
    
                    leaf signal-sources {
                      type boolean;
                      description
                        "Signal Sources on route?";
                    }
    
                    leaf dont-check-connected {
                      type boolean;
                      description
                        "Do we need to make the connected check on this
    route ?";
                    }
    
                    leaf register-received {
                      type boolean;
                      description
                        "Have registers been received for this source ?";
                    }
    
                    leaf last-hop {
                      type boolean;
                      description
                        "Are we last hop ?";
                    }
    
                    leaf sending-registers {
                      type boolean;
                      description
                        "Are we sending registers for this route ?";
                    }
    
                    leaf sending-null-registers {
                      type boolean;
                      description
                        "Are we sending null registers for this route ?";
                    }
    
                    leaf sa-sent {
                      type boolean;
                      description "BGP SA sent";
                    }
    
                    leaf sa-received {
                      type boolean;
                      description
                        "BGP SA received";
                    }
    
                    leaf sa-joined {
                      type boolean;
                      description "BGP SA join";
                    }
    
                    leaf anycast-rp-match {
                      type boolean;
                      description
                        "Group matches Anycast-RP policy";
                    }
    
                    leaf anycast-rp-route-target {
                      type inet:ipv4-address;
                      description
                        "Anycast-RP RT";
                    }
    
                    leaf bgp-join {
                      type boolean;
                      description "BGP C JOIN";
                    }
    
                    leaf bgp-jp-time {
                      type uint64;
                      description
                        "BGP C JP Time";
                    }
    
                    leaf customer-routing-type {
                      type int32;
                      description
                        "Type of Customer Routing in the MVPN";
                    }
    
                    leaf extranet-route {
                      type boolean;
                      description
                        "Is a Extranet route ?";
                    }
    
                    leaf mofrr-active {
                      type boolean;
                      description
                        "Is MoFRR Active?";
                    }
    
                    leaf mofrr-primary {
                      type boolean;
                      description
                        "Is this Mofrr Primary?";
                    }
    
                    leaf mofrr-backup {
                      type boolean;
                      description
                        "Is this Mofrr Backup?";
                    }
    
                    leaf vxlan {
                      type boolean;
                      description
                        "Is this VXLAN?";
                    }
    
                    leaf kat-state {
                      type boolean;
                      description
                        "Keep Alive Timer State";
                    }
    
                    list outgoing-interface {
                      description
                        "Outgoing interface list";
                      container assert-winner {
                        description
                          "Assert Winner";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container assert-winner
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface Identifier";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiry {
                        type uint64;
                        units "second";
                        description
                          "Expiry in seconds";
                      }
    
                      leaf bgp-c-mcast-prune-delay-timer {
                        type uint64;
                        units "second";
                        description
                          "BGP C-MCAST Prune Suppression in seconds";
                      }
    
                      leaf jp-timer {
                        type int32;
                        units "second";
                        description
                          "Join-Prune Timer (secs)";
                      }
    
                      leaf jp-state {
                        type int32;
                        description
                          "Join-Prune State";
                      }
    
                      leaf assert-timer {
                        type int32;
                        units "second";
                        description
                          "Assert Timer in seconds";
                      }
    
                      leaf local-members {
                        type int32;
                        description
                          "Local Information. Deprecated - use
    'local-members-information' instead";
                      }
    
                      leaf internal-interest-info {
                        type int32;
                        description
                          "Internal Interest. Deprecated - use
    'internal-interest-information' instead";
                      }
    
                      leaf forwarding-state {
                        type int32;
                        description
                          "Forward or Prune";
                      }
    
                      leaf immediate-state {
                        type int32;
                        description
                          "Immediate fwding state";
                      }
    
                      leaf last-hop {
                        type boolean;
                        description
                          "Are we last hop ?";
                      }
    
                      leaf mldp-inband-mdt {
                        type boolean;
                        description
                          "MLDP Inband MDT interface";
                      }
    
                      leaf mldp-stale {
                        type boolean;
                        description
                          "OLE is stale";
                      }
    
                      leaf sa-prune {
                        type boolean;
                        description
                          "BGP SA Prune state";
                      }
    
                      leaf admin-boundary {
                        type boolean;
                        description
                          "Is this an administrative boundary ?";
                      }
    
                      leaf igmp-membership {
                        type boolean;
                        description
                          "IGMP membership";
                      }
    
                      leaf mdt-safi-join {
                        type boolean;
                        description
                          "MDT Safi join";
                      }
    
                      leaf mvpn-safi-join {
                        type boolean;
                        description
                          "MVPN Safi join";
                      }
    
                      leaf local-mdt-join {
                        type boolean;
                        description
                          "Default MDT Join";
                      }
    
                      leaf data-mdt-join {
                        type boolean;
                        description
                          "Data MDT join";
                      }
    
                      leaf mvpnv6-safi-join {
                        type boolean;
                        description
                          "MVPN IPv6 Safi join";
                      }
    
                      leaf bgp-c-mcast-join {
                        type boolean;
                        description
                          "BGP C-Mcast join";
                      }
    
                      leaf vrf-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "VRF which physically owns";
                      }
    
                      leaf extranet-interface {
                        type boolean;
                        description
                          "Is this an Extranet Interface ?";
                      }
    
                      leaf internal-interest-information {
                        type Pim-internal-interest-info;
                        description
                          "Internal Interest. Replaces
    internal-interest-info";
                      }
    
                      leaf local-members-information {
                        type Pim-show-local-interest;
                        description
                          "Local Information. Replaces local-members";
                      }
    
                      leaf assert-state {
                        type boolean;
                        description
                          "Assert State";
                      }
                    }  // list outgoing-interface
                  }  // list topology
                }  // container topologies
    
                container topology-interface-flag-route-counts {
                  description
                    "Route count for topology with interface flag set";
                  list topology-interface-flag-route-count {
                    key "interface-flag";
                    description
                      "Route count for topology with interface flag
    set";
                    leaf interface-flag {
                      type Pim-topology-interface-flag;
                      description
                        "Interface flag";
                    }
    
                    leaf group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes";
                    }
    
                    leaf active-group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes active in mrib";
                    }
    
                    leaf groute-count {
                      type uint32;
                      description
                        "No. of (*,G) routes";
                    }
    
                    leaf sg-route-count {
                      type uint32;
                      description
                        "No. of (S,G) routes";
                    }
    
                    leaf sgr-route-count {
                      type uint32;
                      description
                        "No. of (S,G)RPT routes";
                    }
    
                    leaf is-node-low-memory {
                      type boolean;
                      description
                        "Is node in low memory condition";
                    }
                  }  // list topology-interface-flag-route-count
                }  // container topology-interface-flag-route-counts
    
                container group-map-sources {
                  description
                    "PIM group-mapping with source information";
                  list group-map-source {
                    key "prefix prefix-length client protocol rp-address priority";
                    description
                      "PIM Group Mapping Entry with source information";
                    leaf prefix {
                      type inet:ip-address-no-zone;
                      description "Prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    leaf protocol {
                      type Pim-protocol;
                      description "Protocol";
                    }
    
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf priority {
                      type uint32;
                      description "RP Priority";
                    }
    
                    container source-of-information {
                      description
                        "The source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    container group-map-information {
                      description
                        "Group Mapping information";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container rp-address {
                        description
                          "Rendezvous Point Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rp-address
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf client {
                        type Pim-show-range-client;
                        description
                          "Client mapping learnt from";
                      }
    
                      leaf protocol {
                        type Pim-show-protocol;
                        description
                          "Protocol mode of the range";
                      }
    
                      leaf group-count {
                        type uint32;
                        description
                          "No. of groups in this range";
                      }
    
                      leaf is-used {
                        type boolean;
                        description
                          "Is this mapping being used?";
                      }
    
                      leaf mrib-active {
                        type boolean;
                        description
                          "Is this mapping active in MRIB?";
                      }
    
                      leaf is-override {
                        type boolean;
                        description
                          "Is this the override range?";
                      }
    
                      leaf priority {
                        type uint32;
                        description
                          "Bootstrap priority";
                      }
                    }  // container group-map-information
    
                    leaf holdtime {
                      type int32;
                      units "second";
                      description
                        "Holdtime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      units "second";
                      description
                        "Mapping expiry time in seconds";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Mapping uptime in seconds";
                    }
                  }  // list group-map-source
                }  // container group-map-sources
    
                container traffic-counters {
                  description
                    "PIM message traffic counters";
                  leaf elapsed-time {
                    type uint32;
                    units "second";
                    description
                      "Running time for counters in seconds";
                  }
    
                  leaf inputs {
                    type uint32;
                    description "Packets in";
                  }
    
                  leaf outputs {
                    type uint32;
                    description "Packets out";
                  }
    
                  leaf format-error {
                    type uint32;
                    description
                      "Malformed packets in";
                  }
    
                  leaf pakman-error {
                    type uint32;
                    description
                      "Pakman packets dropped";
                  }
    
                  leaf standby-packets-error {
                    type uint32;
                    description
                      "Packets received in standby state";
                  }
    
                  leaf checksum-error {
                    type uint32;
                    description
                      "Checksum errors";
                  }
    
                  leaf socket-error {
                    type uint32;
                    description "Socket errors";
                  }
    
                  leaf send-queue-full {
                    type uint32;
                    description
                      "Packets dropped since send queue was full";
                  }
    
                  leaf boundary-acl-rx-drop {
                    type uint32;
                    description
                      "Inc. JP dropped since boundary ACL confg";
                  }
    
                  leaf boundary-acl-tx-drop {
                    type uint32;
                    description
                      "Out JP dropped since boundary ACL confg";
                  }
    
                  leaf no-socket-connection {
                    type uint32;
                    description
                      "Packets dropped since no socket connection";
                  }
    
                  leaf no-source-address {
                    type uint32;
                    description
                      "Packets dropped since no source address";
                  }
    
                  leaf input-hello {
                    type uint32;
                    description
                      "Hello packets in";
                  }
    
                  leaf output-hello {
                    type uint32;
                    description
                      "Hello packets out";
                  }
    
                  leaf input-jp {
                    type uint32;
                    description
                      "Join Prune packets in";
                  }
    
                  leaf output-jp {
                    type uint32;
                    description
                      "Join Prune packets out";
                  }
    
                  leaf input-data-register {
                    type uint32;
                    description
                      "Data Register packets in";
                  }
    
                  leaf input-null-register {
                    type uint32;
                    description
                      "Null Register packets in";
                  }
    
                  leaf output-null-register {
                    type uint32;
                    description
                      "Null Register packets out";
                  }
    
                  leaf input-register-stop {
                    type uint32;
                    description
                      "Register Stop packets in";
                  }
    
                  leaf output-register-stop {
                    type uint32;
                    description
                      "Register Stop packets out";
                  }
    
                  leaf input-assert {
                    type uint32;
                    description
                      "Assert packets in";
                  }
    
                  leaf input-assert-batched {
                    type uint32;
                    description
                      "Batched Assert packets in";
                  }
    
                  leaf output-assert {
                    type uint32;
                    description
                      "Assert packets out";
                  }
    
                  leaf output-assert-batched {
                    type uint32;
                    description
                      "Batched Assert packets out";
                  }
    
                  leaf input-df-election {
                    type uint32;
                    description
                      "DF Election packets in";
                  }
    
                  leaf output-df-election {
                    type uint32;
                    description
                      "DF Election packets out";
                  }
    
                  leaf input-bsr-message {
                    type uint32;
                    description
                      "Input BSR Messages";
                  }
    
                  leaf output-bsr-message {
                    type uint32;
                    description
                      "Output BSR Messages";
                  }
    
                  leaf input-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Input Candidate-RP Advertisment";
                  }
    
                  leaf output-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Output Candidate-RP Advertisment";
                  }
    
                  leaf input-ecmp-redirect {
                    type uint32;
                    description
                      "Input Ecmp Redirect";
                  }
    
                  leaf output-ecmp-redirect {
                    type uint32;
                    description
                      "Output Ecmp Redirect";
                  }
    
                  leaf output-loop-error {
                    type uint32;
                    description
                      "Output on loopback error";
                  }
    
                  leaf mldp-mdt-invalid-lsm-identifier {
                    type uint32;
                    description
                      " Invalid LSM ID";
                  }
    
                  leaf input-no-idb-error {
                    type uint32;
                    description
                      "No IDB for intf error";
                  }
    
                  leaf input-no-vrf-error {
                    type uint32;
                    description
                      "No VRF for idb error";
                  }
    
                  leaf input-no-pim-error {
                    type uint32;
                    description
                      "PIM Disabled on intf error";
                  }
    
                  leaf input-pim-version-error {
                    type uint32;
                    description
                      "Invalid PIM version error";
                  }
    
                  leaf output-join-group {
                    type uint32;
                    description
                      "Output Join Groups";
                  }
    
                  leaf output-prune-group {
                    type uint32;
                    description
                      "Output Prune Groups";
                  }
    
                  leaf output-join-prune-bytes {
                    type uint32;
                    units "byte";
                    description
                      "Output JP Bytes";
                  }
    
                  leaf output-hello-bytes {
                    type uint32;
                    units "byte";
                    description
                      "Output Hello Bytes";
                  }
    
                  leaf non-supported-packets {
                    type uint32;
                    description
                      "PIM non supported pckets";
                  }
    
                  leaf invalid-registers {
                    type uint32;
                    description
                      "PIM invalid registers received";
                  }
    
                  leaf invalid-join-prunes {
                    type uint32;
                    description
                      "PIM invalid Join/Prunes received";
                  }
    
                  leaf packet-packman-error {
                    type uint32;
                    description
                      "Packets Dropped due to Pakman Error";
                  }
    
                  leaf packet-read-socket-error {
                    type uint32;
                    description
                      "Packet Read Socket Error";
                  }
    
                  leaf packet-queue-last-clear {
                    type uint32;
                    units "second";
                    description
                      "Time in seconds since the last clear of all
    packet queues stats";
                  }
    
                  leaf packets-standby {
                    type uint32;
                    description
                      "Packets Dropped due to Standby Error";
                  }
    
                  leaf no-mdt-socket-connection {
                    type uint32;
                    description
                      "Packets dropped since no mdt socket connection";
                  }
    
                  leaf mdt-send-queue-full {
                    type uint32;
                    description
                      "Packets dropped since mdt send queue was full";
                  }
    
                  leaf mdt-socket-error {
                    type uint32;
                    description
                      "MDT Socket errors";
                  }
    
                  leaf mdt-join-tlv-sent {
                    type uint32;
                    description
                      "Data MDT Join Msgs sent";
                  }
    
                  leaf mdt-join-tlv-received {
                    type uint32;
                    description
                      "Data MDT Join Msgs received";
                  }
    
                  leaf mdt-join-bad-type {
                    type uint32;
                    description
                      "Data MDT TLV bad type";
                  }
    
                  leaf mdt-drop-local-source-address {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to local source
    addr";
                  }
    
                  leaf mdt-drop-null-local-address {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to null local
    addr";
                  }
    
                  leaf mdt-drop-no-idb {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to idb missing";
                  }
    
                  leaf mdt-drop-no-vrf {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to vrf missing";
                  }
    
                  leaf invalid-destination-packets {
                    type uint32;
                    description
                      "Control Packets with Invalid Destination";
                  }
    
                  leaf mdt-joins-drop-multiple-encapsulation {
                    type uint32;
                    description
                      "MDT Join msgs dropped due to multiple Encap
    limitation";
                  }
    
                  leaf truncated-pim-packets {
                    type uint32;
                    description
                      "Packets dropped due to truncated Joins or Prunes";
                  }
    
                  leaf invalid-source-encodings {
                    type uint32;
                    description
                      "Number of invalid source encodings received";
                  }
    
                  leaf invalid-hello-options {
                    type uint32;
                    description
                      "Number of invalid hello options received";
                  }
    
                  list packet-queue {
                    max-elements 2;
                    description
                      "Packet queue state and statistics";
                    container packet-queue-state {
                      description
                        "State of the queue";
                      leaf max-queue-size {
                        type uint32;
                        units "byte";
                        description
                          "Maximum size of queue in bytes";
                      }
    
                      leaf queue-size-bytes {
                        type uint32;
                        units "byte";
                        description
                          "Size of queue in bytes";
                      }
    
                      leaf queue-size-packets {
                        type uint32;
                        description
                          "Size of queue in number of packets";
                      }
                    }  // container packet-queue-state
    
                    container packet-queue-stats {
                      description
                        "Statistics about the queue";
                      leaf enqueued-packets {
                        type uint32;
                        description
                          "Total number of packets enqueued to this queue";
                      }
    
                      leaf dequeued-packets {
                        type uint32;
                        description
                          "Total number of packets dequeued from this queue";
                      }
    
                      leaf high-water-mark-packets {
                        type uint32;
                        description
                          "Highest number of packets enqueued in this queue";
                      }
    
                      leaf high-water-mark-bytes {
                        type uint32;
                        units "byte";
                        description
                          "Highest number of bytes enqueued in this queue";
                      }
    
                      leaf tail-drops {
                        type uint32;
                        description
                          "Number packets dropped from this queue due to
    max size";
                      }
                    }  // container packet-queue-stats
    
                    leaf packet-queue-priority {
                      type uint32;
                      description
                        "Priority of this packet queue";
                    }
                  }  // list packet-queue
                }  // container traffic-counters
    
                container group-map-rpfs {
                  description
                    "PIM group mapping information";
                  list group-map-rpf {
                    key "prefix prefix-length client protocol rp-address rp-priority";
                    description
                      "PIM group mapping entry";
                    leaf prefix {
                      type inet:ip-address-no-zone;
                      description "Prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    leaf protocol {
                      type Pim-protocol;
                      description "Protocol";
                    }
    
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf rp-priority {
                      type uint32;
                      description "RP priority";
                    }
    
                    container rpf-neighbor {
                      description
                        "RPF neighbor to the RP";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container group-map-information {
                      description
                        "Group Mapping information";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container rp-address {
                        description
                          "Rendezvous Point Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rp-address
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf client {
                        type Pim-show-range-client;
                        description
                          "Client mapping learnt from";
                      }
    
                      leaf protocol {
                        type Pim-show-protocol;
                        description
                          "Protocol mode of the range";
                      }
    
                      leaf group-count {
                        type uint32;
                        description
                          "No. of groups in this range";
                      }
    
                      leaf is-used {
                        type boolean;
                        description
                          "Is this mapping being used?";
                      }
    
                      leaf mrib-active {
                        type boolean;
                        description
                          "Is this mapping active in MRIB?";
                      }
    
                      leaf is-override {
                        type boolean;
                        description
                          "Is this the override range?";
                      }
    
                      leaf priority {
                        type uint32;
                        description
                          "Bootstrap priority";
                      }
                    }  // container group-map-information
    
                    leaf are-we-rp {
                      type boolean;
                      description
                        "Are we the RP?";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "RPF interface to the RP";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
                  }  // list group-map-rpf
                }  // container group-map-rpfs
    
                container summary {
                  description "PIM summary";
                  leaf route-limit {
                    type uint32;
                    description "Maximum routes";
                  }
    
                  leaf route-count {
                    type uint32;
                    description "Current routes";
                  }
    
                  leaf route-low-water-mark {
                    type uint32;
                    description
                      "The number of routes below which the throttle on
    route creation will be lifted";
                  }
    
                  leaf is-route-limit-reached {
                    type boolean;
                    description
                      "Is route creation throttled";
                  }
    
                  leaf topology-interface-state-limit {
                    type uint32;
                    description
                      "Maximum Topology Interface State count";
                  }
    
                  leaf topology-interface-state-count {
                    type uint32;
                    description
                      "Current Topology Interface State count";
                  }
    
                  leaf rxi-low-water-mark {
                    type uint32;
                    description
                      "The rxi below which the throttle on interface
    creation will be lifted";
                  }
    
                  leaf rxi-limit-reached {
                    type boolean;
                    description
                      "Is interface creation throttled";
                  }
    
                  leaf register-limit {
                    type uint32;
                    description
                      "Maximum registers";
                  }
    
                  leaf register-count {
                    type uint32;
                    description
                      "Current registers";
                  }
    
                  leaf register-limit-reached {
                    type boolean;
                    description
                      "Is PIM SM register handling throttled";
                  }
    
                  leaf ranges-limit {
                    type uint32;
                    description
                      "Maximum group ranges from Autorp";
                  }
    
                  leaf ranges-count {
                    type uint32;
                    description
                      "Current group ranges from Autorp";
                  }
    
                  leaf ranges-threshold {
                    type uint32;
                    description
                      "OOR theshold of grange ranges from AutoRP";
                  }
    
                  leaf is-ranges-limit-reached {
                    type boolean;
                    description
                      "Is Auto-RP group-to-RP mapping range creation
    throttled";
                  }
    
                  leaf bsr-ranges-limit {
                    type uint32;
                    description
                      "Maximum group ranges from BSR";
                  }
    
                  leaf bsr-ranges-count {
                    type uint32;
                    description
                      "Current group ranges from BSR";
                  }
    
                  leaf bsr-range-threshold {
                    type uint32;
                    description
                      "Threshold group range from BSR";
                  }
    
                  leaf is-bsr-ranges-threshold-reached {
                    type boolean;
                    description
                      "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                  }
    
                  leaf bsr-candidate-rp-set-limit {
                    type uint32;
                    description
                      "Maximum crp-set from BSR";
                  }
    
                  leaf bsr-candidate-rp-set-count {
                    type uint32;
                    description
                      "Current crp-set count from BSR";
                  }
    
                  leaf bsr-candidate-rp-set-threshold {
                    type uint32;
                    description
                      "Threshold crp-set from BSR";
                  }
    
                  leaf is-maximum-enforcement-disabled {
                    type boolean;
                    description
                      "Is maximum enforcement disabled";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
    
                  leaf route-threshold {
                    type uint32;
                    description
                      "Threshold routes";
                  }
    
                  leaf global-auto-rp-ranges-limit {
                    type uint32;
                    description
                      "Global Auto-RP maximum group ranges";
                  }
    
                  leaf is-global-auto-rp-ranges-limit-reached {
                    type boolean;
                    description
                      "Is global AutoRP group-to-RP mapping range
    creation throttled";
                  }
    
                  leaf global-bsr-ranges-limit {
                    type uint32;
                    description
                      "Global BSR maximum group ranges";
                  }
    
                  leaf global-bsr-ranges-count {
                    type uint32;
                    description
                      "Global BSR current group ranges";
                  }
    
                  leaf global-bsr-ranges-threshold {
                    type uint32;
                    description
                      "Global BSR Threshold group ranges";
                  }
    
                  leaf is-global-bsr-ranges-limit-reached {
                    type boolean;
                    description
                      "Is global BSR group-to-RP mapping range creation
    throttled";
                  }
    
                  leaf global-bsr-candidate-rp-set-limit {
                    type uint32;
                    description
                      "Global BSR maximum crp-set";
                  }
    
                  leaf global-bsr-candidate-rp-set-count {
                    type uint32;
                    description
                      "Global BSR current crp-set count";
                  }
    
                  leaf global-bsr-candidate-rp-set-threshold {
                    type uint32;
                    description
                      "Global BSR Threshold crp-set";
                  }
    
                  leaf is-global-route-limit-reached {
                    type boolean;
                    description
                      "Is global route creation throttled";
                  }
    
                  leaf topology-interface-state-threshold {
                    type uint32;
                    description
                      "Topology Interface State threshold";
                  }
    
                  leaf is-global-rxi-limit-reached {
                    type boolean;
                    description
                      "Is global interface creation throttled";
                  }
    
                  leaf register-threshold {
                    type uint32;
                    description
                      "Threshold registers";
                  }
    
                  leaf global-register-limit {
                    type uint32;
                    description
                      "Maximum global registers";
                  }
    
                  leaf is-global-register-limit-reached {
                    type boolean;
                    description
                      "Is global PIM SM register handling throttled";
                  }
                }  // container summary
    
                container gre {
                  description "GRE information";
                  container gre-next-hops {
                    description
                      "GRE destination neighbor table";
                    list gre-next-hop {
                      key "destination-address";
                      description
                        "PIM GRE address next-hop information";
                      leaf destination-address {
                        type inet:ip-address-no-zone;
                        description
                          "GRE destination address";
                      }
    
                      container registered-address {
                        description
                          "Address registered";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container registered-address
    
                      leaf metric {
                        type uint32;
                        description "Metric";
                      }
    
                      leaf metric-preference {
                        type uint32;
                        description
                          "Metric preference";
                      }
    
                      leaf is-connected {
                        type uint8;
                        description
                          "Are we connected ?";
                      }
    
                      list gre-path {
                        description
                          "GRE Paths list";
                        container gre-neighbor {
                          description
                            "GRE neighbor";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container gre-neighbor
    
                        container gre-next-hop {
                          description
                            "GRE nexthop";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container gre-next-hop
    
                        leaf gre-interface-name {
                          type xr:Interface-name;
                          description
                            "GRE Interface";
                        }
    
                        leaf is-gre-interface-disabled {
                          type boolean;
                          description
                            "Is the gre interface disabled ?";
                        }
    
                        leaf is-via-lsm {
                          type boolean;
                          description "Via LSM";
                        }
    
                        leaf is-connector-attribute-present {
                          type boolean;
                          description
                            "Connector attribute present";
                        }
    
                        leaf extranet-vrf-name {
                          type string {
                            length "0..33";
                          }
                          description
                            "Extranet VRF name";
                        }
                      }  // list gre-path
                    }  // list gre-next-hop
                  }  // container gre-next-hops
                }  // container gre
    
                container bidir-df-winners {
                  description
                    "Bidirectional PIM DF election winner table";
                  list bidir-df-winner {
                    key "rp-address interface-name";
                    description
                      "Bidirectional PIM DF election table entry";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container rp-address-xr {
                      description "RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    container df-winner {
                      description "DF Winner";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container df-winner
    
                    leaf pim-interface-name {
                      type string;
                      description
                        "Interface Name";
                    }
    
                    leaf are-we-df {
                      type boolean;
                      description "Are we DF";
                    }
    
                    leaf rp-lan {
                      type boolean;
                      description
                        "Is this the RP LAN";
                    }
    
                    leaf metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf metric-preference {
                      type uint32;
                      description
                        "Metric Preference";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
                  }  // list bidir-df-winner
                }  // container bidir-df-winners
    
                container table-contexts {
                  description
                    "PIM table context list";
                  list table-context {
                    key "saf-name topology-name";
                    description
                      "PIM table context information";
                    leaf saf-name {
                      type Pim-safi;
                      description "SAF name";
                    }
    
                    leaf topology-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Topology name";
                    }
    
                    leaf afi {
                      type uint32;
                      description "AFI";
                    }
    
                    leaf safi {
                      type uint32;
                      description "SAFI";
                    }
    
                    leaf table-name {
                      type string;
                      description "Table name";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF ID";
                    }
    
                    leaf table-id {
                      type uint32;
                      description "Table ID";
                    }
    
                    leaf is-active {
                      type boolean;
                      description
                        "Active status";
                    }
    
                    leaf is-ital-registration-done {
                      type boolean;
                      description
                        "ITAL reg status";
                    }
    
                    leaf is-rib-registration-done {
                      type boolean;
                      description
                        "RIB reg status";
                    }
    
                    leaf is-rib-convergence-received {
                      type boolean;
                      description
                        "RIB Convergence receive status";
                    }
    
                    leaf is-rib-convergence {
                      type boolean;
                      description
                        "RIB Convergence status";
                    }
    
                    leaf rpf-registrations {
                      type uint32;
                      description
                        "RPF Registration count";
                    }
                  }  // list table-context
                }  // container table-contexts
    
                container neighbor-summaries {
                  description
                    "PIM neighbor summary table";
                  list neighbor-summary {
                    key "interface-name";
                    description
                      "PIM neighbor summary information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf number-of-neighbors {
                      type int32;
                      description
                        "Number of neighbors";
                    }
    
                    leaf number-of-external-neighbors {
                      type int32;
                      description
                        "Number of external neighbors";
                    }
                  }  // list neighbor-summary
                }  // container neighbor-summaries
    
                container context {
                  description
                    "PIM context information";
                  container remote-default-group {
                    description
                      "Remote Default Group";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container remote-default-group
    
                  container rpf-default-table {
                    description
                      "RPF Default Table";
                    leaf afi {
                      type uint32;
                      description "AFI";
                    }
    
                    leaf safi {
                      type uint32;
                      description "SAFI";
                    }
    
                    leaf table-name {
                      type string;
                      description "Table name";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF ID";
                    }
    
                    leaf table-id {
                      type uint32;
                      description "Table ID";
                    }
    
                    leaf is-active {
                      type boolean;
                      description
                        "Active status";
                    }
    
                    leaf is-ital-registration-done {
                      type boolean;
                      description
                        "ITAL reg status";
                    }
    
                    leaf is-rib-registration-done {
                      type boolean;
                      description
                        "RIB reg status";
                    }
    
                    leaf is-rib-convergence-received {
                      type boolean;
                      description
                        "RIB Convergence receive status";
                    }
    
                    leaf is-rib-convergence {
                      type boolean;
                      description
                        "RIB Convergence status";
                    }
    
                    leaf rpf-registrations {
                      type uint32;
                      description
                        "RPF Registration count";
                    }
                  }  // container rpf-default-table
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf murib-id {
                    type uint32;
                    description "MURIB ID";
                  }
    
                  leaf rpf-id {
                    type uint32;
                    description "RPF ID";
                  }
    
                  leaf remote-table-id {
                    type uint32;
                    description
                      "Remote Table ID";
                  }
    
                  leaf mdt-default-group {
                    type inet:ipv4-address;
                    description
                      "MDT Default group";
                  }
    
                  leaf mdt-source {
                    type inet:ipv4-address;
                    description "MDT source";
                  }
    
                  leaf mdt-source-interface {
                    type string;
                    description
                      "MDT Source Interface Name";
                  }
    
                  leaf mdt-interface {
                    type xr:Interface-name;
                    description "MDT handle";
                  }
    
                  leaf mdt-gre-rpf-identifier {
                    type uint32;
                    description
                      "GRE-MDT RPF Identifier";
                  }
    
                  leaf mdt-gre-remote-rpf-identifier {
                    type uint32;
                    description
                      "GRE-MDT Remote RPF Identifier";
                  }
    
                  leaf is-unicast-rib-registration {
                    type boolean;
                    description
                      "Ucast RIB Registration";
                  }
    
                  leaf is-multicast-rib-registration {
                    type boolean;
                    description
                      "Mcast RIB Registration";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active";
                  }
    
                  leaf is-active-ital {
                    type boolean;
                    description "Active ITAL";
                  }
    
                  leaf is-mrib-register {
                    type boolean;
                    description "MRIB Register";
                  }
    
                  leaf is-mdt-owner {
                    type boolean;
                    description "MDT Owner";
                  }
    
                  leaf is-routing-enabled {
                    type boolean;
                    description
                      "Routing Enabled";
                  }
    
                  leaf is-socket-add-required {
                    type boolean;
                    description
                      "VRF required on Socket";
                  }
    
                  leaf is-socket-added {
                    type boolean;
                    description
                      "VRF added on Socket";
                  }
    
                  leaf is-lpts-socket-add-required {
                    type boolean;
                    description
                      "VRF LPTS filter required on Socket";
                  }
    
                  leaf is-lpts-socket-added {
                    type boolean;
                    description
                      "VRF LPTS filter added on Socket";
                  }
    
                  leaf is-udp-socket-add-required {
                    type boolean;
                    description
                      "VRF added on UDP Socket";
                  }
    
                  leaf is-udp-socket-added {
                    type boolean;
                    description
                      "VRF added on UDP Socket";
                  }
    
                  leaf is-udp-socket-bind-required {
                    type boolean;
                    description
                      "VRF bind required on UDP Socket";
                  }
    
                  leaf is-udp-socket-bind {
                    type boolean;
                    description
                      "VRF bound on UDP Socket";
                  }
    
                  leaf is-register-injection-socket-add-required {
                    type boolean;
                    description
                      "VRF required on Register Injection Socket";
                  }
    
                  leaf is-register-injection-socket-added {
                    type boolean;
                    description
                      "VRF added on Register Injection Socket";
                  }
    
                  leaf is-register-injection-lpts-socket-add-required {
                    type boolean;
                    description
                      "VRF LPTS filter required on Register Injection
    Socket";
                  }
    
                  leaf is-register-injection-lpts-socket-added {
                    type boolean;
                    description
                      "VRF LPTS filter added on Register Injection
    Socket";
                  }
    
                  leaf is-m-host-publish-pending {
                    type boolean;
                    description
                      "Publish pending for MHost Default interface";
                  }
    
                  leaf mhost-interface {
                    type xr:Interface-name;
                    description "MHost handle";
                  }
    
                  leaf mhost-default-interface-config {
                    type string;
                    description
                      "Configured Mhost Defint";
                  }
    
                  leaf mdt-mtu {
                    type uint32;
                    description "MDT MTU";
                  }
    
                  leaf maximum-mdt-aggregation {
                    type uint32;
                    description
                      "MDT max aggregation";
                  }
    
                  leaf mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Data MDT Switchover interval";
                  }
    
                  leaf mdt-data-announce-interval {
                    type uint32;
                    description
                      "Data MDT Announce interval";
                  }
    
                  leaf non-default-vrf-count-on-socket {
                    type uint32;
                    description
                      "Count of non-default vrfs on raw socket";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf mdt-neighbor-filter-name {
                    type string;
                    description
                      "MDT Neighbor Filter Name";
                  }
    
                  leaf allow-rp-configured {
                    type boolean;
                    description
                      "Allow RP Configured";
                  }
    
                  leaf allow-rp-group-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "Allow RP Group-List ACL Name";
                  }
    
                  leaf allow-rp-rp-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "Allow RP RP-list ACL Name";
                  }
    
                  leaf sg-expiry-timer-configured {
                    type boolean;
                    description
                      "S,G Expiry Timer Configured";
                  }
    
                  leaf sg-expiry-time {
                    type uint16;
                    units "second";
                    description
                      "S,G Expiry Time Configured, in seconds";
                  }
    
                  leaf sg-expiry-timer-sg-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "S,G expiry timer ACL name";
                  }
    
                  leaf mldp-mdt-name {
                    type string;
                    description "MLDP MDT Name";
                  }
    
                  leaf mldp-mdt-interface {
                    type xr:Interface-name;
                    description
                      "MLDP MDT handle";
                  }
    
                  leaf mldp-mdt-mtu {
                    type uint32;
                    description "MLDP MDT MTU";
                  }
    
                  leaf mldp-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "MLDP MDT max aggregation";
                  }
    
                  leaf mldp-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "MLDP Data MDT Switchover interval";
                  }
    
                  leaf mldp-mdt-data-announce-interval {
                    type uint32;
                    description
                      "MLDP Data MDT Announce interval";
                  }
    
                  leaf mldp-mdt-rpf-identifier {
                    type uint32;
                    description "MLDP RPF-ID";
                  }
    
                  leaf mldp-mdt-remote-rpf-identifier {
                    type uint32;
                    description
                      "MLDP Remote RPF-ID";
                  }
    
                  leaf is-create-mldp-mdt-interface {
                    type boolean;
                    description
                      "Create MLDP MDT interface";
                  }
    
                  leaf is-mldp-mdt-owner {
                    type boolean;
                    description "MLDP MDT Owner";
                  }
    
                  leaf mldp-root-count {
                    type uint32;
                    description
                      "MLDP Root count";
                  }
    
                  leaf mldp-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP Head LSM-ID";
                  }
    
                  leaf mldp-remote-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP Remote Head LSM-ID";
                  }
    
                  leaf organization-unique-identifier {
                    type uint32;
                    description "OUI for VPN-ID";
                  }
    
                  leaf vpn-index {
                    type uint32;
                    description "VPN Index";
                  }
    
                  leaf mldp-partitioned-mdt-configured {
                    type boolean;
                    description
                      "MLDP Partitioned MDT";
                  }
    
                  leaf mldp-remote-partitioned-mdt-configured {
                    type boolean;
                    description
                      "MLDP Remote Partitioned MDT";
                  }
    
                  leaf mldp-partioned-mp2m-ptree {
                    type boolean;
                    description
                      "MP2MP Partitioned MDT tree";
                  }
    
                  leaf mldp-partitioned-head-lsm-identifier {
                    type uint32;
                    description
                      "Partitioned MDT Head LSM-ID";
                  }
    
                  leaf mldp-head-local-label {
                    type uint32;
                    description
                      "Partitioned MDT Head local label";
                  }
    
                  leaf mldp-partitioned-mdt-identifier {
                    type uint32;
                    description
                      "MLDP Partitioned MDT Identifier";
                  }
    
                  leaf bgp-auto-discovery-configured {
                    type boolean;
                    description
                      "BGP Auto-Discovery configured";
                  }
    
                  leaf suppress-pim-data-mdt-tlv {
                    type boolean;
                    description
                      "Suppress PIM Data-MDT TLV Announcements";
                  }
    
                  leaf inter-autonomous-system-enabled {
                    type boolean;
                    description
                      "Inter-AS Enabled";
                  }
    
                  leaf bgp-source-active-announce {
                    type boolean;
                    description
                      "Send BGP Source-Active Announcements";
                  }
    
                  leaf bgp-i-pmsi-added {
                    type boolean;
                    description
                      "BGP I-PMSI Added";
                  }
    
                  leaf mldp-bsr-control-tree-added {
                    type boolean;
                    description
                      "MLDP BSR Control tree added";
                  }
    
                  leaf mldp-auto-rp-discovery-tree-added {
                    type boolean;
                    description
                      "MLDP Autorp Discovery Control tree added";
                  }
    
                  leaf mldp-auto-rp-announce-tree-added {
                    type boolean;
                    description
                      "MLDP Autorp Announce Control tree added";
                  }
    
                  leaf bgp-auto-discovery-type {
                    type uint32;
                    description
                      "BGP Auto Discovery Type";
                  }
    
                  leaf mdt-partitioned-mdt-control-identifier {
                    type uint32;
                    description
                      "Partitioned MDT Control Identifier";
                  }
    
                  leaf mdt-partitioned-ir-control-identifier {
                    type uint32;
                    description
                      "Partitioned IR MDT Control Identifier";
                  }
    
                  leaf mldp-control-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP MVPN Identifier";
                  }
    
                  leaf umh {
                    type boolean;
                    description
                      "Join UMH Core-Tree";
                  }
    
                  leaf suppress-shared-tree-join {
                    type boolean;
                    description
                      "Suppress Shared-Tree Joins";
                  }
    
                  leaf rsvp-te-mdt-name {
                    type string;
                    description
                      "RSVP-TE MDT Name";
                  }
    
                  leaf rsvp-te-mdt-interface {
                    type xr:Interface-name;
                    description
                      "RSVP-TEMDT handle";
                  }
    
                  leaf rsvp-te-mdt-mtu {
                    type uint32;
                    description "RSVP-TEMDT MTU";
                  }
    
                  leaf rsvp-te-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "RSVP-TE MDT max aggregation";
                  }
    
                  leaf rsvp-te-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "RSVP-TE Data MDT Switchover interval";
                  }
    
                  leaf rsvp-te-mdt-data-announce-interval {
                    type uint32;
                    description
                      "RSVP-TE Data MDT Announce interval";
                  }
    
                  leaf rsvp-te-mdt-rpf-identifier {
                    type uint32;
                    description "RSVP-TE RPF-ID";
                  }
    
                  leaf is-create-rsvp-te-mdt-interface {
                    type boolean;
                    description
                      "Create RSVP-TE MDT interface";
                  }
    
                  leaf is-rsvp-te-mdt-owner {
                    type boolean;
                    description
                      "RSVP-TE MDT Owner";
                  }
    
                  leaf rsvp-te-mdt-static-p2mp-count {
                    type uint32;
                    description
                      "Number of Static P2MP-TE MDT";
                  }
    
                  leaf p2mpte-li-drop {
                    type uint32;
                    description
                      "Route LI updates dropped for P2MP";
                  }
    
                  leaf ir-mdt-name {
                    type string;
                    description "IR MDT Name";
                  }
    
                  leaf ir-mdt-interface {
                    type xr:Interface-name;
                    description "IRMDT handle";
                  }
    
                  leaf ir-mdt-mtu {
                    type uint32;
                    description "IRMDT MTU";
                  }
    
                  leaf ir-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "IR MDT max aggregation";
                  }
    
                  leaf ir-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "IR Data MDT Switchover interval";
                  }
    
                  leaf ir-mdt-data-announce-interval {
                    type uint32;
                    description
                      "IR Data MDT Announce interval";
                  }
    
                  leaf ir-mdt-rpf-identifier {
                    type uint32;
                    description "IR RPF-ID";
                  }
    
                  leaf ir-mdt-tail-label {
                    type uint32;
                    description "IR Tail Label";
                  }
    
                  leaf is-create-ir-mdt-interface {
                    type boolean;
                    description
                      "Create IR MDT interface";
                  }
    
                  leaf is-ir-mdt-owner {
                    type boolean;
                    description "IR MDT Owner";
                  }
    
                  leaf is-sr-local {
                    type boolean;
                    description "SR Local";
                  }
    
                  leaf is-sr-remote {
                    type boolean;
                    description "SR Remote";
                  }
    
                  leaf sr-mdt-name {
                    type string;
                    description "SR MDT Name";
                  }
    
                  leaf sr-mdt-interface {
                    type xr:Interface-name;
                    description "SRMDT handle";
                  }
    
                  leaf sr-mdt-mtu {
                    type uint32;
                    description "SRMDT MTU";
                  }
    
                  leaf sr-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "SR MDT max aggregation";
                  }
    
                  leaf sr-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "SR Data MDT Switchover interval";
                  }
    
                  leaf sr-mdt-data-announce-interval {
                    type uint32;
                    description
                      "SR Data MDT Announce interval";
                  }
    
                  leaf sr-mdt-rpf-identifier {
                    type uint32;
                    description "SR RPF-ID";
                  }
    
                  leaf sr-mdt-tail-label {
                    type uint32;
                    description "SR Tail Label";
                  }
    
                  leaf is-create-sr-mdt-interface {
                    type boolean;
                    description
                      "Create SR MDT interface";
                  }
    
                  leaf is-sr-mdt-owner {
                    type boolean;
                    description "SR MDT Owner";
                  }
    
                  leaf mdt-partitioned-tree-sid-control-identifier {
                    type uint32;
                    description
                      "Partitioned Tree-SID MDT Control Identifier";
                  }
    
                  leaf in-b-and-mdt-name {
                    type string;
                    description
                      "Inband MDT Name";
                  }
    
                  leaf in-b-and-mdt-interface {
                    type xr:Interface-name;
                    description
                      "Inband MDT handle";
                  }
    
                  leaf in-b-and-mdt-mtu {
                    type uint32;
                    description "Inband MDT MTU";
                  }
    
                  leaf in-band-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "Inband MDT max aggregation";
                  }
    
                  leaf in-b-and-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Inband Data MDT Switchover interval";
                  }
    
                  leaf in-b-and-mdt-data-announce-interval {
                    type uint32;
                    description
                      "Inband Data MDT Announce interval";
                  }
    
                  leaf in-b-and-mdt-rpf-identifier {
                    type uint32;
                    description "Inband RPF-ID";
                  }
    
                  leaf is-create-in-b-and-mdt-interface {
                    type boolean;
                    description
                      "Create Inband MDT interface";
                  }
    
                  leaf is-in-b-and-mdt-owner {
                    type boolean;
                    description
                      "Inband MDT Owner";
                  }
    
                  leaf in-band-signaling-local-enabled {
                    type boolean;
                    description
                      "Inband signaling Local enabled";
                  }
    
                  leaf in-band-signaling-remote-enabled {
                    type boolean;
                    description
                      "Inband signaling Remote enabled";
                  }
    
                  leaf valid-rd-present {
                    type boolean;
                    description "RD is valid";
                  }
    
                  leaf stale-rd-present {
                    type boolean;
                    description "RD is stale";
                  }
    
                  leaf route-distinguisher {
                    type yang:hex-string;
                    description "RD value";
                  }
    
                  leaf gin-b-and-mdt-name {
                    type string;
                    description
                      "Inband MDT Name";
                  }
    
                  leaf gin-b-and-mdt-interface {
                    type xr:Interface-name;
                    description
                      "Inband MDT handle";
                  }
    
                  leaf gin-b-and-mdt-mtu {
                    type uint32;
                    description "Inband MDT MTU";
                  }
    
                  leaf gin-band-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "Inband MDT max aggregation";
                  }
    
                  leaf gin-b-and-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Inband Data MDT Switchover interval";
                  }
    
                  leaf gin-b-and-mdt-data-announce-interval {
                    type uint32;
                    description
                      "Inband Data MDT Announce interval";
                  }
    
                  leaf gin-b-and-mdt-rpf-identifier {
                    type uint32;
                    description "Inband RPF-ID";
                  }
    
                  leaf is-create-gin-b-and-mdt-interface {
                    type boolean;
                    description
                      "Create Inband MDT interface";
                  }
    
                  leaf is-gin-b-and-mdt-owner {
                    type boolean;
                    description
                      "Inband MDT Owner";
                  }
    
                  leaf is-pim-nsf-rib-converged {
                    type boolean;
                    description
                      "PIM NSF RIB converged";
                  }
    
                  leaf is-pim-nsf-rib-converge-received {
                    type boolean;
                    description
                      "PIM NSF RIB converge received";
                  }
    
                  leaf is-rib-multipath-enabled {
                    type boolean;
                    description
                      "PIM RIB multiplath enabled";
                  }
    
                  leaf is-rib-multipath-interface-hash {
                    type boolean;
                    description
                      "PIM RIB multipath interface hash";
                  }
    
                  leaf is-rib-multipath-source-hash {
                    type boolean;
                    description
                      "PIM RIB multipath source based hash";
                  }
    
                  leaf is-rib-multipath-source-next-hop-hash {
                    type boolean;
                    description
                      "PIM RIB multipath source-nexthop hash";
                  }
    
                  leaf rump-enabled {
                    type boolean;
                    description
                      "PIM is using MuRIB";
                  }
    
                  leaf is-create-mdt-interface {
                    type boolean;
                    description
                      "Create MDT interface";
                  }
    
                  leaf is-auto-rp-listen-enabled {
                    type boolean;
                    description
                      "Auto RP Listen Enabled";
                  }
    
                  leaf is-all-interface-disable-operation {
                    type boolean;
                    description
                      "PIM all interface disable operation";
                  }
    
                  leaf is-default-granges {
                    type boolean;
                    description
                      "Default granges";
                  }
    
                  leaf is-auto-rp-listen-sock-add {
                    type boolean;
                    description
                      "Auto RP listen sock add";
                  }
    
                  leaf is-redistribution-reset {
                    type boolean;
                    description
                      "Pending redist reset";
                  }
    
                  leaf redistribution-reset-count {
                    type uint32;
                    description
                      "Redist reset count";
                  }
    
                  leaf rpf-policy-name {
                    type string;
                    description
                      "RPF topology selection route-policy name";
                  }
    
                  leaf table-count {
                    type uint32;
                    description
                      "Number of configured Tables";
                  }
    
                  leaf active-table-count {
                    type uint32;
                    description
                      "Number of active Tables";
                  }
    
                  leaf anycast-rp-policy-name {
                    type string;
                    description
                      "Anycast-RP Policy Name";
                  }
    
                  leaf anycast-rp-configured {
                    type boolean;
                    description
                      "Anycast-RP config";
                  }
    
                  leaf bgp-remote-on {
                    type boolean;
                    description
                      "BGP remote interface status";
                  }
    
                  leaf bgp-remote-interface-name {
                    type string;
                    description
                      "BGP remote interface name";
                  }
    
                  leaf bgp-remote-interface {
                    type xr:Interface-name;
                    description
                      "BGP remote interface handle";
                  }
    
                  leaf bgp-remote-address {
                    type inet:ipv4-address;
                    description
                      "BGP remote interface address";
                  }
    
                  leaf bgp-remote-state {
                    type uint32;
                    description
                      "BGP remote interface state";
                  }
    
                  leaf physical-interface-count {
                    type uint64;
                    description
                      "Enabled Physical Interface Count";
                  }
    
                  leaf virtual-interface-count {
                    type uint64;
                    description
                      "Enabled Virtual Interface Count";
                  }
    
                  leaf virtual-mlc-interface-name {
                    type string;
                    description
                      "Virtual master line card Interface";
                  }
    
                  leaf mdt-immediate-switch {
                    type boolean;
                    description
                      "MDT Immediate Switch";
                  }
    
                  leaf remote-mdt-idb-name {
                    type string;
                    description
                      "Remote MDT Interface Handle Name";
                  }
    
                  leaf remote-mdt-address {
                    type inet:ipv4-address;
                    description
                      "Remote MDT interface address";
                  }
    
                  leaf-list mldp-root-address {
                    type uint32;
                    description
                      "MLDP Root addresses";
                  }
    
                  list export-route-target {
                    description
                      "Export Route Targets";
                    leaf route-target {
                      type yang:hex-string;
                      description
                        "Route Target Extended community value";
                    }
    
                    leaf configured {
                      type boolean;
                      description
                        "Configured Route Target";
                    }
    
                    leaf anycast-rp {
                      type boolean;
                      description
                        "Anycast-RP Group";
                    }
    
                    leaf anycast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Group marked";
                    }
    
                    leaf update-pending {
                      type boolean;
                      description
                        "Update Pending to BGP";
                    }
    
                    leaf bgp-auto-discovery {
                      type boolean;
                      description
                        "BGP Auto Discovery";
                    }
    
                    leaf segment-border {
                      type boolean;
                      description
                        "Segment Border";
                    }
                  }  // list export-route-target
    
                  list import-route-target {
                    description
                      "Import Route Targets";
                    leaf route-target {
                      type yang:hex-string;
                      description
                        "Route Target Extended community value";
                    }
    
                    leaf configured {
                      type boolean;
                      description
                        "Configured Route Target";
                    }
    
                    leaf anycast-rp {
                      type boolean;
                      description
                        "Anycast-RP Group";
                    }
    
                    leaf anycast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Group marked";
                    }
    
                    leaf update-pending {
                      type boolean;
                      description
                        "Update Pending to BGP";
                    }
    
                    leaf bgp-auto-discovery {
                      type boolean;
                      description
                        "BGP Auto Discovery";
                    }
    
                    leaf segment-border {
                      type boolean;
                      description
                        "Segment Border";
                    }
                  }  // list import-route-target
    
                  list anycast-rp-range {
                    description
                      "Anycast-RP Ranges";
                    container prefix {
                      description
                        "Anycast-RP Range Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    leaf prefix-length {
                      type uint8;
                      description
                        "Anycast-RP Range Prefix Length";
                    }
    
                    leaf ancast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Range marked";
                    }
                  }  // list anycast-rp-range
                }  // container context
    
                container topology-entry-flag-route-counts {
                  description
                    "Route count for topology with entry flag set";
                  list topology-entry-flag-route-count {
                    key "entry-flag";
                    description
                      "Route count for topology with entry flag set";
                    leaf entry-flag {
                      type Pim-topology-entry-flag;
                      description "entry flag";
                    }
    
                    leaf group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes";
                    }
    
                    leaf active-group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes active in mrib";
                    }
    
                    leaf groute-count {
                      type uint32;
                      description
                        "No. of (*,G) routes";
                    }
    
                    leaf sg-route-count {
                      type uint32;
                      description
                        "No. of (S,G) routes";
                    }
    
                    leaf sgr-route-count {
                      type uint32;
                      description
                        "No. of (S,G)RPT routes";
                    }
    
                    leaf is-node-low-memory {
                      type boolean;
                      description
                        "Is node in low memory condition";
                    }
                  }  // list topology-entry-flag-route-count
                }  // container topology-entry-flag-route-counts
    
                container rpf-redirect {
                  description
                    "PIM ECMP RPF-redirect bundle";
                  container redirect-route-databases {
                    description
                      "PIM ECMP RPF-redirect route database";
                    list redirect-route-database {
                      key "source-address group-address";
                      description
                        "PIM ECMP RPF-redirect route information";
                      leaf source-address {
                        type inet:ip-address-no-zone;
                        description
                          "Source address";
                      }
    
                      leaf group-address {
                        type inet:ip-address-no-zone;
                        description
                          "Group address";
                      }
    
                      container group-address-xr {
                        description
                          "Group ddress";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container group-address-xr
    
                      container source-address-xr {
                        description
                          "Source address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container source-address-xr
    
                      leaf bandwidth {
                        type uint32;
                        units "kbit/s";
                        description
                          "Bandwidth in Kbps";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      list interface {
                        description
                          "Outgoing interface list";
                        container rpf-address {
                          description
                            "RPF Address";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container rpf-address
    
                        leaf interface-name {
                          type xr:Interface-name;
                          description
                            "Interface name";
                        }
    
                        leaf uptime {
                          type uint64;
                          units "second";
                          description
                            "Uptime in seconds";
                        }
    
                        leaf expiry {
                          type uint64;
                          units "second";
                          description
                            "Expiry in seconds";
                        }
    
                        leaf is-rpf-interface {
                          type boolean;
                          description
                            "Is RPF Interface";
                        }
    
                        leaf is-outgoing-interface {
                          type boolean;
                          description
                            "Is outgoing Interface";
                        }
    
                        leaf is-snoop-interface {
                          type boolean;
                          description
                            "Is snooping Interface";
                        }
                      }  // list interface
                    }  // list redirect-route-database
                  }  // container redirect-route-databases
    
                  container bundle-interfaces {
                    description
                      "PIM ECMP RPF-redirect bundle information";
                    list bundle-interface {
                      key "bundle-name interface-name";
                      description
                        "PIM ECMP RPF-redirect bundle interface
    information";
                      leaf bundle-name {
                        type xr:Cisco-ios-xr-string {
                          length "1..32";
                        }
                        description
                          "Bundle name";
                      }
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Bundle interface name";
                      }
    
                      leaf rpf-redirect-bundle-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "RPF redirect bundle name";
                      }
    
                      leaf rpf-redirect-interface-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "RPF redirect interface name";
                      }
    
                      leaf available-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth available in Kbps";
                      }
    
                      leaf allocated-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth allocated in Kbps";
                      }
    
                      leaf total-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Total bandwidth used in Kbps";
                      }
    
                      leaf topology-bandwidth-used {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth used by topology in Kbps";
                      }
    
                      leaf snooping-bandwidth-used {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth used by snooped entries in Kbps";
                      }
    
                      leaf allocated-threshold-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Configured threshold in Kbps";
                      }
    
                      leaf available-threshold-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Available threshold in Kbps";
                      }
                    }  // list bundle-interface
                  }  // container bundle-interfaces
                }  // container rpf-redirect
    
                container tunnels {
                  description
                    "Tunnels information that PIM has";
                  list tunnel {
                    key "tunnel-name";
                    description
                      "PIM tunnel information";
                    leaf tunnel-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "Tunnel name";
                    }
    
                    container source-address {
                      description
                        "Source addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address
    
                    container rp-address {
                      description
                        "RP addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container source-address-netio {
                      description
                        "Source addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-netio
    
                    container group-address-netio {
                      description
                        "Group addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-netio
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "VRF Name";
                    }
                  }  // list tunnel
                }  // container tunnels
    
                container multicast-static-routes {
                  description
                    "PIM multicast static route table";
                  list multicast-static-route {
                    key "address prefix-length";
                    description
                      "PIM multicast static route information";
                    leaf address {
                      type inet:ip-address-no-zone;
                      description
                        "Network address";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    container prefix {
                      description "Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container nexthop {
                      description "Next Hop";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container nexthop
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Handle";
                    }
    
                    leaf distance {
                      type uint32;
                      description "Distance";
                    }
    
                    leaf prefix-length-xr {
                      type uint8;
                      description
                        "Prefix Length";
                    }
    
                    leaf is-via-lsm {
                      type boolean;
                      description "LSM flag";
                    }
                  }  // list multicast-static-route
                }  // container multicast-static-routes
    
                container neighbors {
                  description
                    "PIM neighbor table";
                  list neighbor {
                    key "interface-name neighbor-address";
                    description
                      "PIM neighbor information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf neighbor-address {
                      type inet:ip-address-no-zone;
                      description
                        "Neighbor address";
                    }
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      units "second";
                      description
                        "Neighbor expiry in seconds";
                    }
    
                    leaf expiry-timer {
                      type uint64;
                      units "second";
                      description
                        "Expiry timer in seconds";
                    }
    
                    leaf is-this-neighbor-us {
                      type boolean;
                      description
                        "Is this neighbor us ?";
                    }
    
                    leaf is-this-neighbor-dr {
                      type boolean;
                      description
                        "Is this neighbor the DR";
                    }
    
                    leaf is-dr-priority-capable {
                      type boolean;
                      description
                        "Is this neighbor DR priority capable ?";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR priority";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Is this neighbor bidir capable ?";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Is this neighbor proxy capable?";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Is this neighbor capable of batching asserts?";
                    }
    
                    leaf is-ecmp-redirect-capable {
                      type boolean;
                      description
                        "Is this neighbor capable of Ecmp Redirect?";
                    }
    
                    leaf is-bfd-state {
                      type boolean;
                      description
                        "Is the neighbor bfd session created";
                    }
    
                    leaf sticky-dr-neighbor {
                      type boolean;
                      description
                        "Is Sticky DR advertised on interface by neighbor";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    list neighbor-address-xr {
                      description
                        "List of Neighbor Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list neighbor-address-xr
                  }  // list neighbor
                }  // container neighbors
              }  // list vrf
            }  // container vrfs
          }  // container standby
    
          container active {
            description "Active Process";
            container default-context {
              description "Default Context";
              container global-interfaces {
                description
                  "PIM global interface table";
                list global-interface {
                  key "interface-name";
                  description
                    "PIM interface name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list global-interface
              }  // container global-interfaces
    
              container ifrs-interfaces {
                description
                  "PIM interfaces in forward reference store table";
                list ifrs-interface {
                  key "interface-name";
                  description
                    "PIM IFRS interface information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list ifrs-interface
              }  // container ifrs-interfaces
    
              container interface-statistics {
                description
                  "PIM interface statistics";
                list interface-statistic {
                  key "interface-name";
                  description
                    "PIM interface statistics";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf input-hello {
                    type uint32;
                    description
                      "Hello packets in";
                  }
    
                  leaf output-hello {
                    type uint32;
                    description
                      "Hello packets out";
                  }
    
                  leaf input-register {
                    type uint32;
                    description
                      "Register packets in";
                  }
    
                  leaf output-register {
                    type uint32;
                    description
                      "Register packets out";
                  }
    
                  leaf input-register-stop {
                    type uint32;
                    description
                      "Register Stop packets in";
                  }
    
                  leaf output-register-stop {
                    type uint32;
                    description
                      "Register Stop packets out";
                  }
    
                  leaf input-jp {
                    type uint32;
                    description
                      "Join Prune packets in";
                  }
    
                  leaf output-jp {
                    type uint32;
                    description
                      "Join Prune packets out";
                  }
    
                  leaf input-bsr-message {
                    type uint32;
                    description
                      "Input BSR Messages";
                  }
    
                  leaf output-bsr-message {
                    type uint32;
                    description
                      "Output BSR Messages";
                  }
    
                  leaf input-assert {
                    type uint32;
                    description
                      "Assert packets in";
                  }
    
                  leaf output-assert {
                    type uint32;
                    description
                      "Assert packets out";
                  }
    
                  leaf input-graft-message {
                    type uint32;
                    description
                      "Input Graft Messages";
                  }
    
                  leaf output-graft-message {
                    type uint32;
                    description
                      "Output Graft Messages";
                  }
    
                  leaf input-graft-ack-message {
                    type uint32;
                    description
                      "Input Graft Ack Messages";
                  }
    
                  leaf output-graft-ack-message {
                    type uint32;
                    description
                      "Output Graft Ack Messages";
                  }
    
                  leaf input-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Input Candidate-RP Advertisment";
                  }
    
                  leaf output-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Output Candidate-RP Advertisment";
                  }
    
                  leaf input-df-election {
                    type uint32;
                    description
                      "DF Election packets in";
                  }
    
                  leaf output-df-election {
                    type uint32;
                    description
                      "DF Election packets out";
                  }
    
                  leaf input-miscellaneous {
                    type uint32;
                    description
                      "Miscellaneous packet in";
                  }
                }  // list interface-statistic
              }  // container interface-statistics
    
              container topology-route-count {
                description
                  "Topology route count information from PIM
    topology table";
                leaf group-ranges {
                  type uint32;
                  description
                    "No. of (*,G/M) routes";
                }
    
                leaf active-group-ranges {
                  type uint32;
                  description
                    "No. of (*,G/M) routes active in mrib";
                }
    
                leaf groute-count {
                  type uint32;
                  description
                    "No. of (*,G) routes";
                }
    
                leaf sg-route-count {
                  type uint32;
                  description
                    "No. of (S,G) routes";
                }
    
                leaf sgr-route-count {
                  type uint32;
                  description
                    "No. of (S,G)RPT routes";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
              }  // container topology-route-count
    
              container jp-statistics {
                description
                  "PIM join prune statistics table";
                list jp-statistic {
                  key "interface-name";
                  description
                    "PIM Join Prune Statistics";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "Interface MTU";
                  }
    
                  leaf transmitted {
                    type uint32;
                    description "Transmitted";
                  }
    
                  leaf transmitted100 {
                    type uint16;
                    description
                      "Transmitted 100 average";
                  }
    
                  leaf transmitted-1k {
                    type uint16;
                    description
                      "Transmitted 1K average";
                  }
    
                  leaf transmitted-10k {
                    type uint16;
                    description
                      "Transmitted 10K average";
                  }
    
                  leaf transmitted-50k {
                    type uint16;
                    description
                      "Deprecated by Transmitted100";
                  }
    
                  leaf received {
                    type uint32;
                    description "Received";
                  }
    
                  leaf received100 {
                    type uint16;
                    description
                      "Received 100 average";
                  }
    
                  leaf received-1k {
                    type uint16;
                    description
                      "Received 1K average";
                  }
    
                  leaf received-10k {
                    type uint16;
                    description
                      "Received 10K average";
                  }
    
                  leaf received-50k {
                    type uint16;
                    description
                      "Deprecated by Received100";
                  }
                }  // list jp-statistic
              }  // container jp-statistics
    
              container mib-databases {
                description
                  "PIM group database for mroute mibs table";
                list mib-database {
                  key "source-address group-address source-netmask";
                  description
                    "PIM multicast static route information";
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description
                      "Multicast static route source address";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description
                      "Multicast satic route group address";
                  }
    
                  leaf source-netmask {
                    type uint32;
                    description "Source mask";
                  }
    
                  container source-address-xr {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-xr
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-xr
    
                  container rpf-neighbor {
                    description
                      "The RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container rpf-root {
                    description
                      "Root of this mcast tree";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-root
    
                  leaf upstream-assert-timer {
                    type int32;
                    description
                      "Upstream Assert Timer";
                  }
    
                  leaf assert-metric {
                    type uint32;
                    description "Assert Metric";
                  }
    
                  leaf assert-metric-preference {
                    type uint32;
                    description
                      "Assert Metric Preference";
                  }
    
                  leaf assert-rpt-bit {
                    type boolean;
                    description "Assert RPT Bit";
                  }
    
                  leaf spt-bit {
                    type boolean;
                    description
                      "Is SPT bit set ?";
                  }
    
                  leaf rpf-mask {
                    type uint32;
                    description
                      "Mask of the multicast root";
                  }
    
                  leaf rpf-safi {
                    type uint8;
                    description
                      "Unicast or mcast";
                  }
    
                  leaf rpf-table-name {
                    type string;
                    description "RPF Table name";
                  }
    
                  leaf rpf-drop {
                    type boolean;
                    description
                      "RPF route-policy drop";
                  }
    
                  leaf rpf-extranet {
                    type boolean;
                    description
                      "Extranet RPF route-policy";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "RPF interface name ";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
    
                  leaf bidirectional-route {
                    type boolean;
                    description
                      "Is this Bidir ?";
                  }
    
                  leaf uptime {
                    type uint64;
                    description
                      "Uptime of route";
                  }
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description
                      "The PIM protocol";
                  }
                }  // list mib-database
              }  // container mib-databases
    
              container ifrs-summary {
                description
                  "PIM interfaces in forward reference store
    summary";
                leaf interface-count {
                  type uint32;
                  description
                    "Number of interfaces";
                }
    
                leaf configuration-count {
                  type uint32;
                  description
                    "Configuration counts";
                }
              }  // container ifrs-summary
    
              container ranges {
                description
                  "PIM range list information";
                list range {
                  key "rp-address client";
                  description
                    "PIM range list information";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  container rp-address-xr {
                    description
                      "Rendezvous point address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  container source-of-information {
                    description
                      "Source of information";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-of-information
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description "PIM protocol";
                  }
    
                  leaf client-xr {
                    type Pim-show-range-client;
                    description
                      "Client mapping learnt via";
                  }
    
                  leaf expires {
                    type uint64;
                    description
                      "When mapping expires";
                  }
    
                  list group-range {
                    description
                      "List of group ranges";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container source-of-information {
                      description
                        "Source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      description
                        "When mapping expires";
                    }
                  }  // list group-range
                }  // list range
              }  // container ranges
    
              container bsr {
                description
                  "PIM BSR information";
                container rp-caches {
                  description
                    "PIM BSR RP cache table";
                  list rp-cache {
                    key "group-prefix prefix-length";
                    description
                      "PIM BSR RP cache";
                    leaf group-prefix {
                      type inet:ip-address-no-zone;
                      description "Group prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix Length";
                    }
    
                    container group-prefix-xr {
                      description "Group Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-prefix-xr
    
                    container candidate-rp-list {
                      description
                        "C-RP list for this prefix";
                      list pim-bsr-crp-bag {
                        description
                          "Next C-RP in the List";
                        container candidate-rp-address {
                          description
                            "C-RP address";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container candidate-rp-address
    
                        leaf candidate-rp-holdtime {
                          type uint16;
                          description
                            "C-RP Holdtime";
                        }
    
                        leaf candidate-rp-priority {
                          type uint8;
                          description
                            "C-RP Priority";
                        }
    
                        leaf candidate-rp-up-time {
                          type uint16;
                          description
                            "C-RP Uptime";
                        }
    
                        leaf candidate-rp-expires {
                          type uint16;
                          description
                            "C-RP Expires";
                        }
    
                        leaf protocol {
                          type Pim-show-protocol;
                          description
                            "PIM Protocol";
                        }
                      }  // list pim-bsr-crp-bag
                    }  // container candidate-rp-list
    
                    leaf group-prefix-length {
                      type uint32;
                      description
                        "Group Prefix Length";
                    }
    
                    leaf candidate-rp-group-count {
                      type uint32;
                      description
                        "C-RP count for this Prefix";
                    }
                  }  // list rp-cache
                }  // container rp-caches
    
                container candidate-rps {
                  description "PIM candidate-RP";
                  list candidate-rp {
                    key "rp-address";
                    description
                      "PIM BSR candidate RP information";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description
                        "Candidate-RP address";
                    }
    
                    container candidate-rp {
                      description
                        "Cand-RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container candidate-rp
    
                    leaf candidate-rp-mode {
                      type Pim-show-protocol;
                      description "Cand-RP Mode";
                    }
    
                    leaf candidate-rp-scope {
                      type int32;
                      description
                        "Cand-RP Scope";
                    }
    
                    leaf crp-priority {
                      type uint8;
                      description
                        "Cand-RP Priority";
                    }
    
                    leaf crp-holdtime {
                      type uint16;
                      description
                        "Cand-RP Holdtime";
                    }
    
                    leaf candidate-rp-advance-interval {
                      type uint16;
                      units "second";
                      description
                        "Cand-RP Adv Interval in seconds";
                    }
    
                    leaf candidate-rp-uptime {
                      type uint16;
                      description
                        "Cand-RP uptime";
                    }
    
                    leaf acl-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "Group Access-List Name";
                    }
    
                    list crp-access {
                      max-elements 2;
                      description
                        "Group Ranges Using this Cand-RP";
                      leaf candidate-rp-mode {
                        type Pim-show-protocol;
                        description
                          "Cand-RP Mode";
                      }
    
                      leaf acl-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Group Access-List Name";
                      }
                    }  // list crp-access
                  }  // list candidate-rp
                }  // container candidate-rps
    
                container bsr-elections {
                  description
                    "PIM BSR election state";
                  list bsr-election {
                    key "pim-scope";
                    description
                      "PIM BSR information";
                    leaf pim-scope {
                      type uint32;
                      description
                        "BSR information";
                    }
    
                    container bsr-address {
                      description "BSR address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container bsr-address
    
                    container candidate-bsr-address {
                      description
                        "C-BSR address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container candidate-bsr-address
    
                    leaf bsr-priority {
                      type uint8;
                      description "BSR Priority";
                    }
    
                    leaf bsr-mask-length {
                      type uint8;
                      description
                        "Hash Function Mask Length";
                    }
    
                    leaf bsr-up-time {
                      type uint16;
                      description "BSR Uptime";
                    }
    
                    leaf bootstrap-timeout {
                      type uint16;
                      description
                        "Bootstrap Timeout";
                    }
    
                    leaf candidate-bsr-state {
                      type uint32;
                      description
                        "BSR Candidate State";
                    }
    
                    leaf bsr-election-state {
                      type uint32;
                      description
                        "BSR Election State";
                    }
    
                    leaf bsr-scope {
                      type uint16;
                      description "BSR Scope";
                    }
    
                    leaf candidate-bsr-flag {
                      type boolean;
                      description
                        "BSR Candidate Config Flag";
                    }
    
                    leaf candidate-bsr-priority {
                      type uint8;
                      description
                        "C-BSR Priority";
                    }
    
                    leaf candidate-bsr-mask-length {
                      type uint8;
                      description
                        "C-BSR Hash Func. Mask Len";
                    }
                  }  // list bsr-election
                }  // container bsr-elections
              }  // container bsr
    
              container route-policy {
                description "PIM route policy";
                container route-policy-statistics {
                  description
                    "PIM route policy statistics";
                  leaf policy-name {
                    type string;
                    description
                      "RPF policy name";
                  }
    
                  leaf requests {
                    type uint32;
                    description
                      "Number of RPF lookup requests";
                  }
    
                  leaf pass {
                    type uint32;
                    description
                      "Number of RPF pass";
                  }
    
                  leaf drop {
                    type uint32;
                    description
                      "Number of RPF drops";
                  }
    
                  leaf default-table {
                    type uint32;
                    description
                      "Number of RPF lookup in default-only Table";
                  }
    
                  leaf any-table {
                    type uint32;
                    description
                      "Number of RPF lookup in any Table";
                  }
                }  // container route-policy-statistics
              }  // container route-policy
    
              container rpf-summary {
                description
                  "PIM RPF registration summary";
                leaf default-safi {
                  type uint32;
                  description
                    "Default RPF Table SAFI";
                }
    
                leaf default-table-name {
                  type string;
                  description
                    "Default RPF Table Name";
                }
    
                leaf is-mbgp-configured {
                  type boolean;
                  description
                    "Is MBGP configured?";
                }
    
                leaf is-ospf-te-configured {
                  type boolean;
                  description
                    "Is OSPF TE configured?";
                }
    
                leaf is-isis-te-configured {
                  type boolean;
                  description
                    "Is ISIS TE configured?";
                }
    
                leaf is-isis-mtr-configured {
                  type boolean;
                  description
                    "Is ISIS MTR configured?";
                }
    
                leaf mo-frr-configured {
                  type boolean;
                  description
                    "Is MoFRR configured?";
                }
    
                leaf rib-mo-frr-configured {
                  type boolean;
                  description
                    "Is MoFRR RIB configured?";
                }
    
                leaf rump-enabled {
                  type boolean;
                  description
                    "Is RUMP MuRIB enabled?";
                }
    
                leaf rib-convergence-timeout {
                  type uint32;
                  units "second";
                  description
                    "RIB convergence timeout in seconds";
                }
    
                leaf rib-convergence-time-left {
                  type uint32;
                  units "second";
                  description
                    "RIB convergence time left in seconds";
                }
    
                leaf is-multipath-enabled {
                  type boolean;
                  description
                    "Is Multipath Enabled ?";
                }
    
                leaf is-multipath-interface-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Interface Hash Extension Enabled ?";
                }
    
                leaf is-multipath-source-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Source based Hash Enabled ?";
                }
    
                leaf is-multipath-source-next-hop-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Source-Nexthop Hash Enabled ?";
                }
    
                leaf rpf-registrations {
                  type uint32;
                  description
                    "RPF Registration count";
                }
    
                leaf is-rib-convergence {
                  type boolean;
                  description
                    "RIB Convergence status";
                }
              }  // container rpf-summary
    
              container interfaces {
                description "PIM interfaces";
                list interface {
                  key "interface-name";
                  description
                    "PIM interface name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list interface
              }  // container interfaces
    
              container net-io-tunnels {
                description
                  "Tunnel information that NETIO has ";
                list net-io-tunnel {
                  key "tunnel-name";
                  description
                    "PIM netio tunnel information";
                  leaf tunnel-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..64";
                    }
                    description "Tunnel name";
                  }
    
                  container source-address {
                    description
                      "Source addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  container rp-address {
                    description
                      "RP addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address-netio {
                    description
                      "Source addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-netio
    
                  container group-address-netio {
                    description
                      "Group addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-netio
    
                  leaf vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "VRF Name";
                  }
                }  // list net-io-tunnel
              }  // container net-io-tunnels
    
              container bidir-df-states {
                description
                  "Bidirectional PIM DF election state table";
                list bidir-df-state {
                  key "rp-address interface-name";
                  description
                    "Bidirectional PIM DF Election Table Entry";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address-xr {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  leaf pim-interface-name {
                    type string;
                    description "Interface Name";
                  }
    
                  leaf election-state {
                    type string;
                    description
                      "DF Election State";
                  }
    
                  leaf time-seconds {
                    type uint64;
                    units "second";
                    description
                      "Timer expires (seconds)";
                  }
    
                  leaf time-nano-seconds {
                    type uint64;
                    units "nanosecond";
                    description
                      "Timer expires (nseconds)";
                  }
    
                  leaf our-metric {
                    type uint32;
                    description "Metric";
                  }
    
                  leaf our-metric-preference {
                    type uint32;
                    description
                      "MetricPreference";
                  }
                }  // list bidir-df-state
              }  // container bidir-df-states
    
              container topologies {
                description "PIM topology table";
                list topology {
                  key "source-address group-address rpt";
                  description
                    "PIM topology information";
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description "Source address";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group address";
                  }
    
                  leaf rpt {
                    type uint32;
                    description "RPT bit";
                  }
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-xr
    
                  container source-address-xr {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-xr
    
                  container rp-address {
                    description
                      "RP Address (If rpt)";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container rpf-neighbor {
                    description "RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container secondary-rpf-neighbor {
                    description
                      "Secondary RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container secondary-rpf-neighbor
    
                  container rpf-root {
                    description
                      "Root of this mcast tree";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-root
    
                  container proxy-address {
                    description
                      "RPF Proxy address.";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container proxy-address
    
                  container orig-src-address {
                    description
                      "Orig Src Address.";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container orig-src-address
    
                  leaf limit-reached {
                    type boolean;
                    description
                      "Have we throttled the creation of routes or
    interfaces ?";
                  }
    
                  leaf low-memory {
                    type boolean;
                    description
                      "Node is running low on memory";
                  }
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description
                      "The PIM protocol";
                  }
    
                  leaf wildcard {
                    type boolean;
                    description "WC -Wildcard";
                  }
    
                  leaf rpt-xr {
                    type boolean;
                    description
                      "Is this on the RPT ?";
                  }
    
                  leaf spt {
                    type boolean;
                    description
                      "Is this on the SPT ?";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
    
                  leaf expiry {
                    type uint64;
                    description
                      "When this entry expires";
                  }
    
                  leaf alive {
                    type int32;
                    units "second";
                    description
                      "Alive time in seconds (-1 if never)";
                  }
    
                  leaf register-received-timer {
                    type int32;
                    units "second";
                    description
                      "Register Received Timer in seconds (-1 if never)";
                  }
    
                  leaf remote-source {
                    type boolean;
                    description "MSDP told us";
                  }
    
                  leaf crossed-threshold {
                    type boolean;
                    description
                      "Incoming traffic crossed threshold. MT flag set";
                  }
    
                  leaf data-mdt-addr-assigned {
                    type boolean;
                    description
                      "PIM has assigned a Data MDT Address";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
    
                  leaf rpf-safi {
                    type uint8;
                    description
                      "Unicast or mcast";
                  }
    
                  leaf rpf-table-name {
                    type string;
                    description "RPF Table name";
                  }
    
                  leaf rpf-drop {
                    type boolean;
                    description
                      "RPF route-policy drop";
                  }
    
                  leaf rpf-extranet {
                    type boolean;
                    description
                      "Extranet RPF route-policy";
                  }
    
                  leaf is-via-lsm {
                    type boolean;
                    description "Via LSM";
                  }
    
                  leaf secondary-rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "Secondary Interface Identifier";
                  }
    
                  leaf connected {
                    type boolean;
                    description "Is Connected ?";
                  }
    
                  leaf proxy {
                    type boolean;
                    description
                      "Is the RPF target a proxy?";
                  }
    
                  leaf rpf-proxy-enabled {
                    type boolean;
                    description
                      "Is rpf if proxy enabled?";
                  }
    
                  leaf mofrr-enabled {
                    type boolean;
                    description
                      "Is this SG MoFRR enabled?";
                  }
    
                  leaf rib-mo-frr-enabled {
                    type boolean;
                    description
                      "Is this SG MoFRR enabled?";
                  }
    
                  leaf jp-timer {
                    type int32;
                    description
                      "Join-Prune Timer";
                  }
    
                  leaf jp-status {
                    type int32;
                    description
                      "Join-Prune Status";
                  }
    
                  leaf suppress-registers {
                    type int32;
                    description
                      "When the Null register probe expires";
                  }
    
                  leaf assume-alive {
                    type boolean;
                    description
                      "The Assume Alive Bit";
                  }
    
                  leaf probe-alive {
                    type boolean;
                    description
                      "The Probe Alive Bit";
                  }
    
                  leaf really-alive {
                    type boolean;
                    description
                      "The Really Alive Bit";
                  }
    
                  leaf inherit-alive {
                    type boolean;
                    description
                      "The Inherit Alive Bit";
                  }
    
                  leaf inherit-spt {
                    type boolean;
                    description
                      "The Inherit SPT Bit";
                  }
    
                  leaf signal-sources {
                    type boolean;
                    description
                      "Signal Sources on route?";
                  }
    
                  leaf dont-check-connected {
                    type boolean;
                    description
                      "Do we need to make the connected check on this
    route ?";
                  }
    
                  leaf register-received {
                    type boolean;
                    description
                      "Have registers been received for this source ?";
                  }
    
                  leaf last-hop {
                    type boolean;
                    description
                      "Are we last hop ?";
                  }
    
                  leaf sending-registers {
                    type boolean;
                    description
                      "Are we sending registers for this route ?";
                  }
    
                  leaf sending-null-registers {
                    type boolean;
                    description
                      "Are we sending null registers for this route ?";
                  }
    
                  leaf sa-sent {
                    type boolean;
                    description "BGP SA sent";
                  }
    
                  leaf sa-received {
                    type boolean;
                    description
                      "BGP SA received";
                  }
    
                  leaf sa-joined {
                    type boolean;
                    description "BGP SA join";
                  }
    
                  leaf anycast-rp-match {
                    type boolean;
                    description
                      "Group matches Anycast-RP policy";
                  }
    
                  leaf anycast-rp-route-target {
                    type inet:ipv4-address;
                    description "Anycast-RP RT";
                  }
    
                  leaf bgp-join {
                    type boolean;
                    description "BGP C JOIN";
                  }
    
                  leaf bgp-jp-time {
                    type uint64;
                    description "BGP C JP Time";
                  }
    
                  leaf customer-routing-type {
                    type int32;
                    description
                      "Type of Customer Routing in the MVPN";
                  }
    
                  leaf extranet-route {
                    type boolean;
                    description
                      "Is a Extranet route ?";
                  }
    
                  leaf mofrr-active {
                    type boolean;
                    description
                      "Is MoFRR Active?";
                  }
    
                  leaf mofrr-primary {
                    type boolean;
                    description
                      "Is this Mofrr Primary?";
                  }
    
                  leaf mofrr-backup {
                    type boolean;
                    description
                      "Is this Mofrr Backup?";
                  }
    
                  leaf vxlan {
                    type boolean;
                    description "Is this VXLAN?";
                  }
    
                  leaf kat-state {
                    type boolean;
                    description
                      "Keep Alive Timer State";
                  }
    
                  list outgoing-interface {
                    description
                      "Outgoing interface list";
                    container assert-winner {
                      description
                        "Assert Winner";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container assert-winner
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiry {
                      type uint64;
                      units "second";
                      description
                        "Expiry in seconds";
                    }
    
                    leaf bgp-c-mcast-prune-delay-timer {
                      type uint64;
                      units "second";
                      description
                        "BGP C-MCAST Prune Suppression in seconds";
                    }
    
                    leaf jp-timer {
                      type int32;
                      units "second";
                      description
                        "Join-Prune Timer (secs)";
                    }
    
                    leaf jp-state {
                      type int32;
                      description
                        "Join-Prune State";
                    }
    
                    leaf assert-timer {
                      type int32;
                      units "second";
                      description
                        "Assert Timer in seconds";
                    }
    
                    leaf local-members {
                      type int32;
                      description
                        "Local Information. Deprecated - use
    'local-members-information' instead";
                    }
    
                    leaf internal-interest-info {
                      type int32;
                      description
                        "Internal Interest. Deprecated - use
    'internal-interest-information' instead";
                    }
    
                    leaf forwarding-state {
                      type int32;
                      description
                        "Forward or Prune";
                    }
    
                    leaf immediate-state {
                      type int32;
                      description
                        "Immediate fwding state";
                    }
    
                    leaf last-hop {
                      type boolean;
                      description
                        "Are we last hop ?";
                    }
    
                    leaf mldp-inband-mdt {
                      type boolean;
                      description
                        "MLDP Inband MDT interface";
                    }
    
                    leaf mldp-stale {
                      type boolean;
                      description "OLE is stale";
                    }
    
                    leaf sa-prune {
                      type boolean;
                      description
                        "BGP SA Prune state";
                    }
    
                    leaf admin-boundary {
                      type boolean;
                      description
                        "Is this an administrative boundary ?";
                    }
    
                    leaf igmp-membership {
                      type boolean;
                      description
                        "IGMP membership";
                    }
    
                    leaf mdt-safi-join {
                      type boolean;
                      description
                        "MDT Safi join";
                    }
    
                    leaf mvpn-safi-join {
                      type boolean;
                      description
                        "MVPN Safi join";
                    }
    
                    leaf local-mdt-join {
                      type boolean;
                      description
                        "Default MDT Join";
                    }
    
                    leaf data-mdt-join {
                      type boolean;
                      description
                        "Data MDT join";
                    }
    
                    leaf mvpnv6-safi-join {
                      type boolean;
                      description
                        "MVPN IPv6 Safi join";
                    }
    
                    leaf bgp-c-mcast-join {
                      type boolean;
                      description
                        "BGP C-Mcast join";
                    }
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "VRF which physically owns";
                    }
    
                    leaf extranet-interface {
                      type boolean;
                      description
                        "Is this an Extranet Interface ?";
                    }
    
                    leaf internal-interest-information {
                      type Pim-internal-interest-info;
                      description
                        "Internal Interest. Replaces
    internal-interest-info";
                    }
    
                    leaf local-members-information {
                      type Pim-show-local-interest;
                      description
                        "Local Information. Replaces local-members";
                    }
    
                    leaf assert-state {
                      type boolean;
                      description "Assert State";
                    }
                  }  // list outgoing-interface
                }  // list topology
              }  // container topologies
    
              container topology-interface-flag-route-counts {
                description
                  "Route count for topology with interface flag set";
                list topology-interface-flag-route-count {
                  key "interface-flag";
                  description
                    "Route count for topology with interface flag
    set";
                  leaf interface-flag {
                    type Pim-topology-interface-flag;
                    description "Interface flag";
                  }
    
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // list topology-interface-flag-route-count
              }  // container topology-interface-flag-route-counts
    
              container group-map-sources {
                description
                  "PIM group-mapping with source information";
                list group-map-source {
                  key "prefix prefix-length client protocol rp-address priority";
                  description
                    "PIM Group Mapping Entry with source information";
                  leaf prefix {
                    type inet:ip-address-no-zone;
                    description "Prefix";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  leaf protocol {
                    type Pim-protocol;
                    description "Protocol";
                  }
    
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf priority {
                    type uint32;
                    description "RP Priority";
                  }
    
                  container source-of-information {
                    description
                      "The source of information";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-of-information
    
                  container group-map-information {
                    description
                      "Group Mapping information";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container rp-address {
                      description
                        "Rendezvous Point Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf client {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt from";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "Protocol mode of the range";
                    }
    
                    leaf group-count {
                      type uint32;
                      description
                        "No. of groups in this range";
                    }
    
                    leaf is-used {
                      type boolean;
                      description
                        "Is this mapping being used?";
                    }
    
                    leaf mrib-active {
                      type boolean;
                      description
                        "Is this mapping active in MRIB?";
                    }
    
                    leaf is-override {
                      type boolean;
                      description
                        "Is this the override range?";
                    }
    
                    leaf priority {
                      type uint32;
                      description
                        "Bootstrap priority";
                    }
                  }  // container group-map-information
    
                  leaf holdtime {
                    type int32;
                    units "second";
                    description
                      "Holdtime in seconds";
                  }
    
                  leaf expires {
                    type uint64;
                    units "second";
                    description
                      "Mapping expiry time in seconds";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Mapping uptime in seconds";
                  }
                }  // list group-map-source
              }  // container group-map-sources
    
              container traffic-counters {
                description
                  "PIM message traffic counters";
                leaf elapsed-time {
                  type uint32;
                  units "second";
                  description
                    "Running time for counters in seconds";
                }
    
                leaf inputs {
                  type uint32;
                  description "Packets in";
                }
    
                leaf outputs {
                  type uint32;
                  description "Packets out";
                }
    
                leaf format-error {
                  type uint32;
                  description
                    "Malformed packets in";
                }
    
                leaf pakman-error {
                  type uint32;
                  description
                    "Pakman packets dropped";
                }
    
                leaf standby-packets-error {
                  type uint32;
                  description
                    "Packets received in standby state";
                }
    
                leaf checksum-error {
                  type uint32;
                  description "Checksum errors";
                }
    
                leaf socket-error {
                  type uint32;
                  description "Socket errors";
                }
    
                leaf send-queue-full {
                  type uint32;
                  description
                    "Packets dropped since send queue was full";
                }
    
                leaf boundary-acl-rx-drop {
                  type uint32;
                  description
                    "Inc. JP dropped since boundary ACL confg";
                }
    
                leaf boundary-acl-tx-drop {
                  type uint32;
                  description
                    "Out JP dropped since boundary ACL confg";
                }
    
                leaf no-socket-connection {
                  type uint32;
                  description
                    "Packets dropped since no socket connection";
                }
    
                leaf no-source-address {
                  type uint32;
                  description
                    "Packets dropped since no source address";
                }
    
                leaf input-hello {
                  type uint32;
                  description "Hello packets in";
                }
    
                leaf output-hello {
                  type uint32;
                  description
                    "Hello packets out";
                }
    
                leaf input-jp {
                  type uint32;
                  description
                    "Join Prune packets in";
                }
    
                leaf output-jp {
                  type uint32;
                  description
                    "Join Prune packets out";
                }
    
                leaf input-data-register {
                  type uint32;
                  description
                    "Data Register packets in";
                }
    
                leaf input-null-register {
                  type uint32;
                  description
                    "Null Register packets in";
                }
    
                leaf output-null-register {
                  type uint32;
                  description
                    "Null Register packets out";
                }
    
                leaf input-register-stop {
                  type uint32;
                  description
                    "Register Stop packets in";
                }
    
                leaf output-register-stop {
                  type uint32;
                  description
                    "Register Stop packets out";
                }
    
                leaf input-assert {
                  type uint32;
                  description
                    "Assert packets in";
                }
    
                leaf input-assert-batched {
                  type uint32;
                  description
                    "Batched Assert packets in";
                }
    
                leaf output-assert {
                  type uint32;
                  description
                    "Assert packets out";
                }
    
                leaf output-assert-batched {
                  type uint32;
                  description
                    "Batched Assert packets out";
                }
    
                leaf input-df-election {
                  type uint32;
                  description
                    "DF Election packets in";
                }
    
                leaf output-df-election {
                  type uint32;
                  description
                    "DF Election packets out";
                }
    
                leaf input-bsr-message {
                  type uint32;
                  description
                    "Input BSR Messages";
                }
    
                leaf output-bsr-message {
                  type uint32;
                  description
                    "Output BSR Messages";
                }
    
                leaf input-candidate-rp-advertisement {
                  type uint32;
                  description
                    "Input Candidate-RP Advertisment";
                }
    
                leaf output-candidate-rp-advertisement {
                  type uint32;
                  description
                    "Output Candidate-RP Advertisment";
                }
    
                leaf input-ecmp-redirect {
                  type uint32;
                  description
                    "Input Ecmp Redirect";
                }
    
                leaf output-ecmp-redirect {
                  type uint32;
                  description
                    "Output Ecmp Redirect";
                }
    
                leaf output-loop-error {
                  type uint32;
                  description
                    "Output on loopback error";
                }
    
                leaf mldp-mdt-invalid-lsm-identifier {
                  type uint32;
                  description " Invalid LSM ID";
                }
    
                leaf input-no-idb-error {
                  type uint32;
                  description
                    "No IDB for intf error";
                }
    
                leaf input-no-vrf-error {
                  type uint32;
                  description
                    "No VRF for idb error";
                }
    
                leaf input-no-pim-error {
                  type uint32;
                  description
                    "PIM Disabled on intf error";
                }
    
                leaf input-pim-version-error {
                  type uint32;
                  description
                    "Invalid PIM version error";
                }
    
                leaf output-join-group {
                  type uint32;
                  description
                    "Output Join Groups";
                }
    
                leaf output-prune-group {
                  type uint32;
                  description
                    "Output Prune Groups";
                }
    
                leaf output-join-prune-bytes {
                  type uint32;
                  units "byte";
                  description "Output JP Bytes";
                }
    
                leaf output-hello-bytes {
                  type uint32;
                  units "byte";
                  description
                    "Output Hello Bytes";
                }
    
                leaf non-supported-packets {
                  type uint32;
                  description
                    "PIM non supported pckets";
                }
    
                leaf invalid-registers {
                  type uint32;
                  description
                    "PIM invalid registers received";
                }
    
                leaf invalid-join-prunes {
                  type uint32;
                  description
                    "PIM invalid Join/Prunes received";
                }
    
                leaf packet-packman-error {
                  type uint32;
                  description
                    "Packets Dropped due to Pakman Error";
                }
    
                leaf packet-read-socket-error {
                  type uint32;
                  description
                    "Packet Read Socket Error";
                }
    
                leaf packet-queue-last-clear {
                  type uint32;
                  units "second";
                  description
                    "Time in seconds since the last clear of all
    packet queues stats";
                }
    
                leaf packets-standby {
                  type uint32;
                  description
                    "Packets Dropped due to Standby Error";
                }
    
                leaf no-mdt-socket-connection {
                  type uint32;
                  description
                    "Packets dropped since no mdt socket connection";
                }
    
                leaf mdt-send-queue-full {
                  type uint32;
                  description
                    "Packets dropped since mdt send queue was full";
                }
    
                leaf mdt-socket-error {
                  type uint32;
                  description
                    "MDT Socket errors";
                }
    
                leaf mdt-join-tlv-sent {
                  type uint32;
                  description
                    "Data MDT Join Msgs sent";
                }
    
                leaf mdt-join-tlv-received {
                  type uint32;
                  description
                    "Data MDT Join Msgs received";
                }
    
                leaf mdt-join-bad-type {
                  type uint32;
                  description
                    "Data MDT TLV bad type";
                }
    
                leaf mdt-drop-local-source-address {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to local source
    addr";
                }
    
                leaf mdt-drop-null-local-address {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to null local
    addr";
                }
    
                leaf mdt-drop-no-idb {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to idb missing";
                }
    
                leaf mdt-drop-no-vrf {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to vrf missing";
                }
    
                leaf invalid-destination-packets {
                  type uint32;
                  description
                    "Control Packets with Invalid Destination";
                }
    
                leaf mdt-joins-drop-multiple-encapsulation {
                  type uint32;
                  description
                    "MDT Join msgs dropped due to multiple Encap
    limitation";
                }
    
                leaf truncated-pim-packets {
                  type uint32;
                  description
                    "Packets dropped due to truncated Joins or Prunes";
                }
    
                leaf invalid-source-encodings {
                  type uint32;
                  description
                    "Number of invalid source encodings received";
                }
    
                leaf invalid-hello-options {
                  type uint32;
                  description
                    "Number of invalid hello options received";
                }
    
                list packet-queue {
                  max-elements 2;
                  description
                    "Packet queue state and statistics";
                  container packet-queue-state {
                    description
                      "State of the queue";
                    leaf max-queue-size {
                      type uint32;
                      units "byte";
                      description
                        "Maximum size of queue in bytes";
                    }
    
                    leaf queue-size-bytes {
                      type uint32;
                      units "byte";
                      description
                        "Size of queue in bytes";
                    }
    
                    leaf queue-size-packets {
                      type uint32;
                      description
                        "Size of queue in number of packets";
                    }
                  }  // container packet-queue-state
    
                  container packet-queue-stats {
                    description
                      "Statistics about the queue";
                    leaf enqueued-packets {
                      type uint32;
                      description
                        "Total number of packets enqueued to this queue";
                    }
    
                    leaf dequeued-packets {
                      type uint32;
                      description
                        "Total number of packets dequeued from this queue";
                    }
    
                    leaf high-water-mark-packets {
                      type uint32;
                      description
                        "Highest number of packets enqueued in this queue";
                    }
    
                    leaf high-water-mark-bytes {
                      type uint32;
                      units "byte";
                      description
                        "Highest number of bytes enqueued in this queue";
                    }
    
                    leaf tail-drops {
                      type uint32;
                      description
                        "Number packets dropped from this queue due to
    max size";
                    }
                  }  // container packet-queue-stats
    
                  leaf packet-queue-priority {
                    type uint32;
                    description
                      "Priority of this packet queue";
                  }
                }  // list packet-queue
              }  // container traffic-counters
    
              container group-map-rpfs {
                description
                  "PIM group mapping information";
                list group-map-rpf {
                  key "prefix prefix-length client protocol rp-address rp-priority";
                  description
                    "PIM group mapping entry";
                  leaf prefix {
                    type inet:ip-address-no-zone;
                    description "Prefix";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  leaf protocol {
                    type Pim-protocol;
                    description "Protocol";
                  }
    
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf rp-priority {
                    type uint32;
                    description "RP priority";
                  }
    
                  container rpf-neighbor {
                    description
                      "RPF neighbor to the RP";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container group-map-information {
                    description
                      "Group Mapping information";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container rp-address {
                      description
                        "Rendezvous Point Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf client {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt from";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "Protocol mode of the range";
                    }
    
                    leaf group-count {
                      type uint32;
                      description
                        "No. of groups in this range";
                    }
    
                    leaf is-used {
                      type boolean;
                      description
                        "Is this mapping being used?";
                    }
    
                    leaf mrib-active {
                      type boolean;
                      description
                        "Is this mapping active in MRIB?";
                    }
    
                    leaf is-override {
                      type boolean;
                      description
                        "Is this the override range?";
                    }
    
                    leaf priority {
                      type uint32;
                      description
                        "Bootstrap priority";
                    }
                  }  // container group-map-information
    
                  leaf are-we-rp {
                    type boolean;
                    description "Are we the RP?";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "RPF interface to the RP";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
                }  // list group-map-rpf
              }  // container group-map-rpfs
    
              container summary {
                description "PIM summary";
                leaf route-limit {
                  type uint32;
                  description "Maximum routes";
                }
    
                leaf route-count {
                  type uint32;
                  description "Current routes";
                }
    
                leaf route-low-water-mark {
                  type uint32;
                  description
                    "The number of routes below which the throttle on
    route creation will be lifted";
                }
    
                leaf is-route-limit-reached {
                  type boolean;
                  description
                    "Is route creation throttled";
                }
    
                leaf topology-interface-state-limit {
                  type uint32;
                  description
                    "Maximum Topology Interface State count";
                }
    
                leaf topology-interface-state-count {
                  type uint32;
                  description
                    "Current Topology Interface State count";
                }
    
                leaf rxi-low-water-mark {
                  type uint32;
                  description
                    "The rxi below which the throttle on interface
    creation will be lifted";
                }
    
                leaf rxi-limit-reached {
                  type boolean;
                  description
                    "Is interface creation throttled";
                }
    
                leaf register-limit {
                  type uint32;
                  description
                    "Maximum registers";
                }
    
                leaf register-count {
                  type uint32;
                  description
                    "Current registers";
                }
    
                leaf register-limit-reached {
                  type boolean;
                  description
                    "Is PIM SM register handling throttled";
                }
    
                leaf ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from Autorp";
                }
    
                leaf ranges-count {
                  type uint32;
                  description
                    "Current group ranges from Autorp";
                }
    
                leaf ranges-threshold {
                  type uint32;
                  description
                    "OOR theshold of grange ranges from AutoRP";
                }
    
                leaf is-ranges-limit-reached {
                  type boolean;
                  description
                    "Is Auto-RP group-to-RP mapping range creation
    throttled";
                }
    
                leaf bsr-ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from BSR";
                }
    
                leaf bsr-ranges-count {
                  type uint32;
                  description
                    "Current group ranges from BSR";
                }
    
                leaf bsr-range-threshold {
                  type uint32;
                  description
                    "Threshold group range from BSR";
                }
    
                leaf is-bsr-ranges-threshold-reached {
                  type boolean;
                  description
                    "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                }
    
                leaf bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Maximum crp-set from BSR";
                }
    
                leaf bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Current crp-set count from BSR";
                }
    
                leaf bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Threshold crp-set from BSR";
                }
    
                leaf is-maximum-enforcement-disabled {
                  type boolean;
                  description
                    "Is maximum enforcement disabled";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
    
                leaf route-threshold {
                  type uint32;
                  description "Threshold routes";
                }
    
                leaf global-auto-rp-ranges-limit {
                  type uint32;
                  description
                    "Global Auto-RP maximum group ranges";
                }
    
                leaf is-global-auto-rp-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global AutoRP group-to-RP mapping range
    creation throttled";
                }
    
                leaf global-bsr-ranges-limit {
                  type uint32;
                  description
                    "Global BSR maximum group ranges";
                }
    
                leaf global-bsr-ranges-count {
                  type uint32;
                  description
                    "Global BSR current group ranges";
                }
    
                leaf global-bsr-ranges-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold group ranges";
                }
    
                leaf is-global-bsr-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global BSR group-to-RP mapping range creation
    throttled";
                }
    
                leaf global-bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Global BSR maximum crp-set";
                }
    
                leaf global-bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Global BSR current crp-set count";
                }
    
                leaf global-bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold crp-set";
                }
    
                leaf is-global-route-limit-reached {
                  type boolean;
                  description
                    "Is global route creation throttled";
                }
    
                leaf topology-interface-state-threshold {
                  type uint32;
                  description
                    "Topology Interface State threshold";
                }
    
                leaf is-global-rxi-limit-reached {
                  type boolean;
                  description
                    "Is global interface creation throttled";
                }
    
                leaf register-threshold {
                  type uint32;
                  description
                    "Threshold registers";
                }
    
                leaf global-register-limit {
                  type uint32;
                  description
                    "Maximum global registers";
                }
    
                leaf is-global-register-limit-reached {
                  type boolean;
                  description
                    "Is global PIM SM register handling throttled";
                }
              }  // container summary
    
              container gre {
                description "GRE information";
                container gre-next-hops {
                  description
                    "GRE destination neighbor table";
                  list gre-next-hop {
                    key "destination-address";
                    description
                      "PIM GRE address next-hop information";
                    leaf destination-address {
                      type inet:ip-address-no-zone;
                      description
                        "GRE destination address";
                    }
    
                    container registered-address {
                      description
                        "Address registered";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container registered-address
    
                    leaf metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf metric-preference {
                      type uint32;
                      description
                        "Metric preference";
                    }
    
                    leaf is-connected {
                      type uint8;
                      description
                        "Are we connected ?";
                    }
    
                    list gre-path {
                      description
                        "GRE Paths list";
                      container gre-neighbor {
                        description
                          "GRE neighbor";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container gre-neighbor
    
                      container gre-next-hop {
                        description
                          "GRE nexthop";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container gre-next-hop
    
                      leaf gre-interface-name {
                        type xr:Interface-name;
                        description
                          "GRE Interface";
                      }
    
                      leaf is-gre-interface-disabled {
                        type boolean;
                        description
                          "Is the gre interface disabled ?";
                      }
    
                      leaf is-via-lsm {
                        type boolean;
                        description "Via LSM";
                      }
    
                      leaf is-connector-attribute-present {
                        type boolean;
                        description
                          "Connector attribute present";
                      }
    
                      leaf extranet-vrf-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Extranet VRF name";
                      }
                    }  // list gre-path
                  }  // list gre-next-hop
                }  // container gre-next-hops
              }  // container gre
    
              container bidir-df-winners {
                description
                  "Bidirectional PIM DF election winner table";
                list bidir-df-winner {
                  key "rp-address interface-name";
                  description
                    "Bidirectional PIM DF election table entry";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address-xr {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  container df-winner {
                    description "DF Winner";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container df-winner
    
                  leaf pim-interface-name {
                    type string;
                    description "Interface Name";
                  }
    
                  leaf are-we-df {
                    type boolean;
                    description "Are we DF";
                  }
    
                  leaf rp-lan {
                    type boolean;
                    description
                      "Is this the RP LAN";
                  }
    
                  leaf metric {
                    type uint32;
                    description "Metric";
                  }
    
                  leaf metric-preference {
                    type uint32;
                    description
                      "Metric Preference";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
                }  // list bidir-df-winner
              }  // container bidir-df-winners
    
              container table-contexts {
                description
                  "PIM table context list";
                list table-context {
                  key "saf-name topology-name";
                  description
                    "PIM table context information";
                  leaf saf-name {
                    type Pim-safi;
                    description "SAF name";
                  }
    
                  leaf topology-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..32";
                    }
                    description "Topology name";
                  }
    
                  leaf afi {
                    type uint32;
                    description "AFI";
                  }
    
                  leaf safi {
                    type uint32;
                    description "SAFI";
                  }
    
                  leaf table-name {
                    type string;
                    description "Table name";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active status";
                  }
    
                  leaf is-ital-registration-done {
                    type boolean;
                    description
                      "ITAL reg status";
                  }
    
                  leaf is-rib-registration-done {
                    type boolean;
                    description "RIB reg status";
                  }
    
                  leaf is-rib-convergence-received {
                    type boolean;
                    description
                      "RIB Convergence receive status";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
                }  // list table-context
              }  // container table-contexts
    
              container neighbor-summaries {
                description
                  "PIM neighbor summary table";
                list neighbor-summary {
                  key "interface-name";
                  description
                    "PIM neighbor summary information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf number-of-neighbors {
                    type int32;
                    description
                      "Number of neighbors";
                  }
    
                  leaf number-of-external-neighbors {
                    type int32;
                    description
                      "Number of external neighbors";
                  }
                }  // list neighbor-summary
              }  // container neighbor-summaries
    
              container context {
                description
                  "PIM context information";
                container remote-default-group {
                  description
                    "Remote Default Group";
                  leaf af-name {
                    type Pim-afi;
                    description "AFName";
                  }
    
                  leaf ipv4-address {
                    when
                      "../af-name = 'ipv4-unicast'" {
                      description
                        "../AFName = 'IPv4Unicast'";
                    }
                    type inet:ipv4-address;
                    description "IPv4 Address";
                  }
    
                  leaf ipv6-address {
                    when
                      "../af-name = 'ipv6-unicast'" {
                      description
                        "../AFName = 'IPv6Unicast'";
                    }
                    type Ipv6-address;
                    description "IPV6 Address";
                  }
                }  // container remote-default-group
    
                container rpf-default-table {
                  description
                    "RPF Default Table";
                  leaf afi {
                    type uint32;
                    description "AFI";
                  }
    
                  leaf safi {
                    type uint32;
                    description "SAFI";
                  }
    
                  leaf table-name {
                    type string;
                    description "Table name";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active status";
                  }
    
                  leaf is-ital-registration-done {
                    type boolean;
                    description
                      "ITAL reg status";
                  }
    
                  leaf is-rib-registration-done {
                    type boolean;
                    description "RIB reg status";
                  }
    
                  leaf is-rib-convergence-received {
                    type boolean;
                    description
                      "RIB Convergence receive status";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
                }  // container rpf-default-table
    
                leaf vrf-id {
                  type uint32;
                  description "VRF ID";
                }
    
                leaf table-id {
                  type uint32;
                  description "Table ID";
                }
    
                leaf murib-id {
                  type uint32;
                  description "MURIB ID";
                }
    
                leaf rpf-id {
                  type uint32;
                  description "RPF ID";
                }
    
                leaf remote-table-id {
                  type uint32;
                  description "Remote Table ID";
                }
    
                leaf mdt-default-group {
                  type inet:ipv4-address;
                  description
                    "MDT Default group";
                }
    
                leaf mdt-source {
                  type inet:ipv4-address;
                  description "MDT source";
                }
    
                leaf mdt-source-interface {
                  type string;
                  description
                    "MDT Source Interface Name";
                }
    
                leaf mdt-interface {
                  type xr:Interface-name;
                  description "MDT handle";
                }
    
                leaf mdt-gre-rpf-identifier {
                  type uint32;
                  description
                    "GRE-MDT RPF Identifier";
                }
    
                leaf mdt-gre-remote-rpf-identifier {
                  type uint32;
                  description
                    "GRE-MDT Remote RPF Identifier";
                }
    
                leaf is-unicast-rib-registration {
                  type boolean;
                  description
                    "Ucast RIB Registration";
                }
    
                leaf is-multicast-rib-registration {
                  type boolean;
                  description
                    "Mcast RIB Registration";
                }
    
                leaf is-active {
                  type boolean;
                  description "Active";
                }
    
                leaf is-active-ital {
                  type boolean;
                  description "Active ITAL";
                }
    
                leaf is-mrib-register {
                  type boolean;
                  description "MRIB Register";
                }
    
                leaf is-mdt-owner {
                  type boolean;
                  description "MDT Owner";
                }
    
                leaf is-routing-enabled {
                  type boolean;
                  description "Routing Enabled";
                }
    
                leaf is-socket-add-required {
                  type boolean;
                  description
                    "VRF required on Socket";
                }
    
                leaf is-socket-added {
                  type boolean;
                  description
                    "VRF added on Socket";
                }
    
                leaf is-lpts-socket-add-required {
                  type boolean;
                  description
                    "VRF LPTS filter required on Socket";
                }
    
                leaf is-lpts-socket-added {
                  type boolean;
                  description
                    "VRF LPTS filter added on Socket";
                }
    
                leaf is-udp-socket-add-required {
                  type boolean;
                  description
                    "VRF added on UDP Socket";
                }
    
                leaf is-udp-socket-added {
                  type boolean;
                  description
                    "VRF added on UDP Socket";
                }
    
                leaf is-udp-socket-bind-required {
                  type boolean;
                  description
                    "VRF bind required on UDP Socket";
                }
    
                leaf is-udp-socket-bind {
                  type boolean;
                  description
                    "VRF bound on UDP Socket";
                }
    
                leaf is-register-injection-socket-add-required {
                  type boolean;
                  description
                    "VRF required on Register Injection Socket";
                }
    
                leaf is-register-injection-socket-added {
                  type boolean;
                  description
                    "VRF added on Register Injection Socket";
                }
    
                leaf is-register-injection-lpts-socket-add-required {
                  type boolean;
                  description
                    "VRF LPTS filter required on Register Injection
    Socket";
                }
    
                leaf is-register-injection-lpts-socket-added {
                  type boolean;
                  description
                    "VRF LPTS filter added on Register Injection
    Socket";
                }
    
                leaf is-m-host-publish-pending {
                  type boolean;
                  description
                    "Publish pending for MHost Default interface";
                }
    
                leaf mhost-interface {
                  type xr:Interface-name;
                  description "MHost handle";
                }
    
                leaf mhost-default-interface-config {
                  type string;
                  description
                    "Configured Mhost Defint";
                }
    
                leaf mdt-mtu {
                  type uint32;
                  description "MDT MTU";
                }
    
                leaf maximum-mdt-aggregation {
                  type uint32;
                  description
                    "MDT max aggregation";
                }
    
                leaf mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Data MDT Switchover interval";
                }
    
                leaf mdt-data-announce-interval {
                  type uint32;
                  description
                    "Data MDT Announce interval";
                }
    
                leaf non-default-vrf-count-on-socket {
                  type uint32;
                  description
                    "Count of non-default vrfs on raw socket";
                }
    
                leaf neighbor-filter-name {
                  type string;
                  description
                    "Neighbor Filter Name";
                }
    
                leaf mdt-neighbor-filter-name {
                  type string;
                  description
                    "MDT Neighbor Filter Name";
                }
    
                leaf allow-rp-configured {
                  type boolean;
                  description
                    "Allow RP Configured";
                }
    
                leaf allow-rp-group-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "Allow RP Group-List ACL Name";
                }
    
                leaf allow-rp-rp-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "Allow RP RP-list ACL Name";
                }
    
                leaf sg-expiry-timer-configured {
                  type boolean;
                  description
                    "S,G Expiry Timer Configured";
                }
    
                leaf sg-expiry-time {
                  type uint16;
                  units "second";
                  description
                    "S,G Expiry Time Configured, in seconds";
                }
    
                leaf sg-expiry-timer-sg-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "S,G expiry timer ACL name";
                }
    
                leaf mldp-mdt-name {
                  type string;
                  description "MLDP MDT Name";
                }
    
                leaf mldp-mdt-interface {
                  type xr:Interface-name;
                  description "MLDP MDT handle";
                }
    
                leaf mldp-mdt-mtu {
                  type uint32;
                  description "MLDP MDT MTU";
                }
    
                leaf mldp-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "MLDP MDT max aggregation";
                }
    
                leaf mldp-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "MLDP Data MDT Switchover interval";
                }
    
                leaf mldp-mdt-data-announce-interval {
                  type uint32;
                  description
                    "MLDP Data MDT Announce interval";
                }
    
                leaf mldp-mdt-rpf-identifier {
                  type uint32;
                  description "MLDP RPF-ID";
                }
    
                leaf mldp-mdt-remote-rpf-identifier {
                  type uint32;
                  description
                    "MLDP Remote RPF-ID";
                }
    
                leaf is-create-mldp-mdt-interface {
                  type boolean;
                  description
                    "Create MLDP MDT interface";
                }
    
                leaf is-mldp-mdt-owner {
                  type boolean;
                  description "MLDP MDT Owner";
                }
    
                leaf mldp-root-count {
                  type uint32;
                  description "MLDP Root count";
                }
    
                leaf mldp-head-lsm-identifier {
                  type uint32;
                  description "MLDP Head LSM-ID";
                }
    
                leaf mldp-remote-head-lsm-identifier {
                  type uint32;
                  description
                    "MLDP Remote Head LSM-ID";
                }
    
                leaf organization-unique-identifier {
                  type uint32;
                  description "OUI for VPN-ID";
                }
    
                leaf vpn-index {
                  type uint32;
                  description "VPN Index";
                }
    
                leaf mldp-partitioned-mdt-configured {
                  type boolean;
                  description
                    "MLDP Partitioned MDT";
                }
    
                leaf mldp-remote-partitioned-mdt-configured {
                  type boolean;
                  description
                    "MLDP Remote Partitioned MDT";
                }
    
                leaf mldp-partioned-mp2m-ptree {
                  type boolean;
                  description
                    "MP2MP Partitioned MDT tree";
                }
    
                leaf mldp-partitioned-head-lsm-identifier {
                  type uint32;
                  description
                    "Partitioned MDT Head LSM-ID";
                }
    
                leaf mldp-head-local-label {
                  type uint32;
                  description
                    "Partitioned MDT Head local label";
                }
    
                leaf mldp-partitioned-mdt-identifier {
                  type uint32;
                  description
                    "MLDP Partitioned MDT Identifier";
                }
    
                leaf bgp-auto-discovery-configured {
                  type boolean;
                  description
                    "BGP Auto-Discovery configured";
                }
    
                leaf suppress-pim-data-mdt-tlv {
                  type boolean;
                  description
                    "Suppress PIM Data-MDT TLV Announcements";
                }
    
                leaf inter-autonomous-system-enabled {
                  type boolean;
                  description "Inter-AS Enabled";
                }
    
                leaf bgp-source-active-announce {
                  type boolean;
                  description
                    "Send BGP Source-Active Announcements";
                }
    
                leaf bgp-i-pmsi-added {
                  type boolean;
                  description "BGP I-PMSI Added";
                }
    
                leaf mldp-bsr-control-tree-added {
                  type boolean;
                  description
                    "MLDP BSR Control tree added";
                }
    
                leaf mldp-auto-rp-discovery-tree-added {
                  type boolean;
                  description
                    "MLDP Autorp Discovery Control tree added";
                }
    
                leaf mldp-auto-rp-announce-tree-added {
                  type boolean;
                  description
                    "MLDP Autorp Announce Control tree added";
                }
    
                leaf bgp-auto-discovery-type {
                  type uint32;
                  description
                    "BGP Auto Discovery Type";
                }
    
                leaf mdt-partitioned-mdt-control-identifier {
                  type uint32;
                  description
                    "Partitioned MDT Control Identifier";
                }
    
                leaf mdt-partitioned-ir-control-identifier {
                  type uint32;
                  description
                    "Partitioned IR MDT Control Identifier";
                }
    
                leaf mldp-control-head-lsm-identifier {
                  type uint32;
                  description
                    "MLDP MVPN Identifier";
                }
    
                leaf umh {
                  type boolean;
                  description
                    "Join UMH Core-Tree";
                }
    
                leaf suppress-shared-tree-join {
                  type boolean;
                  description
                    "Suppress Shared-Tree Joins";
                }
    
                leaf rsvp-te-mdt-name {
                  type string;
                  description "RSVP-TE MDT Name";
                }
    
                leaf rsvp-te-mdt-interface {
                  type xr:Interface-name;
                  description
                    "RSVP-TEMDT handle";
                }
    
                leaf rsvp-te-mdt-mtu {
                  type uint32;
                  description "RSVP-TEMDT MTU";
                }
    
                leaf rsvp-te-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "RSVP-TE MDT max aggregation";
                }
    
                leaf rsvp-te-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "RSVP-TE Data MDT Switchover interval";
                }
    
                leaf rsvp-te-mdt-data-announce-interval {
                  type uint32;
                  description
                    "RSVP-TE Data MDT Announce interval";
                }
    
                leaf rsvp-te-mdt-rpf-identifier {
                  type uint32;
                  description "RSVP-TE RPF-ID";
                }
    
                leaf is-create-rsvp-te-mdt-interface {
                  type boolean;
                  description
                    "Create RSVP-TE MDT interface";
                }
    
                leaf is-rsvp-te-mdt-owner {
                  type boolean;
                  description
                    "RSVP-TE MDT Owner";
                }
    
                leaf rsvp-te-mdt-static-p2mp-count {
                  type uint32;
                  description
                    "Number of Static P2MP-TE MDT";
                }
    
                leaf p2mpte-li-drop {
                  type uint32;
                  description
                    "Route LI updates dropped for P2MP";
                }
    
                leaf ir-mdt-name {
                  type string;
                  description "IR MDT Name";
                }
    
                leaf ir-mdt-interface {
                  type xr:Interface-name;
                  description "IRMDT handle";
                }
    
                leaf ir-mdt-mtu {
                  type uint32;
                  description "IRMDT MTU";
                }
    
                leaf ir-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "IR MDT max aggregation";
                }
    
                leaf ir-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "IR Data MDT Switchover interval";
                }
    
                leaf ir-mdt-data-announce-interval {
                  type uint32;
                  description
                    "IR Data MDT Announce interval";
                }
    
                leaf ir-mdt-rpf-identifier {
                  type uint32;
                  description "IR RPF-ID";
                }
    
                leaf ir-mdt-tail-label {
                  type uint32;
                  description "IR Tail Label";
                }
    
                leaf is-create-ir-mdt-interface {
                  type boolean;
                  description
                    "Create IR MDT interface";
                }
    
                leaf is-ir-mdt-owner {
                  type boolean;
                  description "IR MDT Owner";
                }
    
                leaf is-sr-local {
                  type boolean;
                  description "SR Local";
                }
    
                leaf is-sr-remote {
                  type boolean;
                  description "SR Remote";
                }
    
                leaf sr-mdt-name {
                  type string;
                  description "SR MDT Name";
                }
    
                leaf sr-mdt-interface {
                  type xr:Interface-name;
                  description "SRMDT handle";
                }
    
                leaf sr-mdt-mtu {
                  type uint32;
                  description "SRMDT MTU";
                }
    
                leaf sr-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "SR MDT max aggregation";
                }
    
                leaf sr-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "SR Data MDT Switchover interval";
                }
    
                leaf sr-mdt-data-announce-interval {
                  type uint32;
                  description
                    "SR Data MDT Announce interval";
                }
    
                leaf sr-mdt-rpf-identifier {
                  type uint32;
                  description "SR RPF-ID";
                }
    
                leaf sr-mdt-tail-label {
                  type uint32;
                  description "SR Tail Label";
                }
    
                leaf is-create-sr-mdt-interface {
                  type boolean;
                  description
                    "Create SR MDT interface";
                }
    
                leaf is-sr-mdt-owner {
                  type boolean;
                  description "SR MDT Owner";
                }
    
                leaf mdt-partitioned-tree-sid-control-identifier {
                  type uint32;
                  description
                    "Partitioned Tree-SID MDT Control Identifier";
                }
    
                leaf in-b-and-mdt-name {
                  type string;
                  description "Inband MDT Name";
                }
    
                leaf in-b-and-mdt-interface {
                  type xr:Interface-name;
                  description
                    "Inband MDT handle";
                }
    
                leaf in-b-and-mdt-mtu {
                  type uint32;
                  description "Inband MDT MTU";
                }
    
                leaf in-band-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "Inband MDT max aggregation";
                }
    
                leaf in-b-and-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Inband Data MDT Switchover interval";
                }
    
                leaf in-b-and-mdt-data-announce-interval {
                  type uint32;
                  description
                    "Inband Data MDT Announce interval";
                }
    
                leaf in-b-and-mdt-rpf-identifier {
                  type uint32;
                  description "Inband RPF-ID";
                }
    
                leaf is-create-in-b-and-mdt-interface {
                  type boolean;
                  description
                    "Create Inband MDT interface";
                }
    
                leaf is-in-b-and-mdt-owner {
                  type boolean;
                  description "Inband MDT Owner";
                }
    
                leaf in-band-signaling-local-enabled {
                  type boolean;
                  description
                    "Inband signaling Local enabled";
                }
    
                leaf in-band-signaling-remote-enabled {
                  type boolean;
                  description
                    "Inband signaling Remote enabled";
                }
    
                leaf valid-rd-present {
                  type boolean;
                  description "RD is valid";
                }
    
                leaf stale-rd-present {
                  type boolean;
                  description "RD is stale";
                }
    
                leaf route-distinguisher {
                  type yang:hex-string;
                  description "RD value";
                }
    
                leaf gin-b-and-mdt-name {
                  type string;
                  description "Inband MDT Name";
                }
    
                leaf gin-b-and-mdt-interface {
                  type xr:Interface-name;
                  description
                    "Inband MDT handle";
                }
    
                leaf gin-b-and-mdt-mtu {
                  type uint32;
                  description "Inband MDT MTU";
                }
    
                leaf gin-band-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "Inband MDT max aggregation";
                }
    
                leaf gin-b-and-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Inband Data MDT Switchover interval";
                }
    
                leaf gin-b-and-mdt-data-announce-interval {
                  type uint32;
                  description
                    "Inband Data MDT Announce interval";
                }
    
                leaf gin-b-and-mdt-rpf-identifier {
                  type uint32;
                  description "Inband RPF-ID";
                }
    
                leaf is-create-gin-b-and-mdt-interface {
                  type boolean;
                  description
                    "Create Inband MDT interface";
                }
    
                leaf is-gin-b-and-mdt-owner {
                  type boolean;
                  description "Inband MDT Owner";
                }
    
                leaf is-pim-nsf-rib-converged {
                  type boolean;
                  description
                    "PIM NSF RIB converged";
                }
    
                leaf is-pim-nsf-rib-converge-received {
                  type boolean;
                  description
                    "PIM NSF RIB converge received";
                }
    
                leaf is-rib-multipath-enabled {
                  type boolean;
                  description
                    "PIM RIB multiplath enabled";
                }
    
                leaf is-rib-multipath-interface-hash {
                  type boolean;
                  description
                    "PIM RIB multipath interface hash";
                }
    
                leaf is-rib-multipath-source-hash {
                  type boolean;
                  description
                    "PIM RIB multipath source based hash";
                }
    
                leaf is-rib-multipath-source-next-hop-hash {
                  type boolean;
                  description
                    "PIM RIB multipath source-nexthop hash";
                }
    
                leaf rump-enabled {
                  type boolean;
                  description
                    "PIM is using MuRIB";
                }
    
                leaf is-create-mdt-interface {
                  type boolean;
                  description
                    "Create MDT interface";
                }
    
                leaf is-auto-rp-listen-enabled {
                  type boolean;
                  description
                    "Auto RP Listen Enabled";
                }
    
                leaf is-all-interface-disable-operation {
                  type boolean;
                  description
                    "PIM all interface disable operation";
                }
    
                leaf is-default-granges {
                  type boolean;
                  description "Default granges";
                }
    
                leaf is-auto-rp-listen-sock-add {
                  type boolean;
                  description
                    "Auto RP listen sock add";
                }
    
                leaf is-redistribution-reset {
                  type boolean;
                  description
                    "Pending redist reset";
                }
    
                leaf redistribution-reset-count {
                  type uint32;
                  description
                    "Redist reset count";
                }
    
                leaf rpf-policy-name {
                  type string;
                  description
                    "RPF topology selection route-policy name";
                }
    
                leaf table-count {
                  type uint32;
                  description
                    "Number of configured Tables";
                }
    
                leaf active-table-count {
                  type uint32;
                  description
                    "Number of active Tables";
                }
    
                leaf anycast-rp-policy-name {
                  type string;
                  description
                    "Anycast-RP Policy Name";
                }
    
                leaf anycast-rp-configured {
                  type boolean;
                  description
                    "Anycast-RP config";
                }
    
                leaf bgp-remote-on {
                  type boolean;
                  description
                    "BGP remote interface status";
                }
    
                leaf bgp-remote-interface-name {
                  type string;
                  description
                    "BGP remote interface name";
                }
    
                leaf bgp-remote-interface {
                  type xr:Interface-name;
                  description
                    "BGP remote interface handle";
                }
    
                leaf bgp-remote-address {
                  type inet:ipv4-address;
                  description
                    "BGP remote interface address";
                }
    
                leaf bgp-remote-state {
                  type uint32;
                  description
                    "BGP remote interface state";
                }
    
                leaf physical-interface-count {
                  type uint64;
                  description
                    "Enabled Physical Interface Count";
                }
    
                leaf virtual-interface-count {
                  type uint64;
                  description
                    "Enabled Virtual Interface Count";
                }
    
                leaf virtual-mlc-interface-name {
                  type string;
                  description
                    "Virtual master line card Interface";
                }
    
                leaf mdt-immediate-switch {
                  type boolean;
                  description
                    "MDT Immediate Switch";
                }
    
                leaf remote-mdt-idb-name {
                  type string;
                  description
                    "Remote MDT Interface Handle Name";
                }
    
                leaf remote-mdt-address {
                  type inet:ipv4-address;
                  description
                    "Remote MDT interface address";
                }
    
                leaf-list mldp-root-address {
                  type uint32;
                  description
                    "MLDP Root addresses";
                }
    
                list export-route-target {
                  description
                    "Export Route Targets";
                  leaf route-target {
                    type yang:hex-string;
                    description
                      "Route Target Extended community value";
                  }
    
                  leaf configured {
                    type boolean;
                    description
                      "Configured Route Target";
                  }
    
                  leaf anycast-rp {
                    type boolean;
                    description
                      "Anycast-RP Group";
                  }
    
                  leaf anycast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Group marked";
                  }
    
                  leaf update-pending {
                    type boolean;
                    description
                      "Update Pending to BGP";
                  }
    
                  leaf bgp-auto-discovery {
                    type boolean;
                    description
                      "BGP Auto Discovery";
                  }
    
                  leaf segment-border {
                    type boolean;
                    description "Segment Border";
                  }
                }  // list export-route-target
    
                list import-route-target {
                  description
                    "Import Route Targets";
                  leaf route-target {
                    type yang:hex-string;
                    description
                      "Route Target Extended community value";
                  }
    
                  leaf configured {
                    type boolean;
                    description
                      "Configured Route Target";
                  }
    
                  leaf anycast-rp {
                    type boolean;
                    description
                      "Anycast-RP Group";
                  }
    
                  leaf anycast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Group marked";
                  }
    
                  leaf update-pending {
                    type boolean;
                    description
                      "Update Pending to BGP";
                  }
    
                  leaf bgp-auto-discovery {
                    type boolean;
                    description
                      "BGP Auto Discovery";
                  }
    
                  leaf segment-border {
                    type boolean;
                    description "Segment Border";
                  }
                }  // list import-route-target
    
                list anycast-rp-range {
                  description
                    "Anycast-RP Ranges";
                  container prefix {
                    description
                      "Anycast-RP Range Prefix";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container prefix
    
                  leaf prefix-length {
                    type uint8;
                    description
                      "Anycast-RP Range Prefix Length";
                  }
    
                  leaf ancast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Range marked";
                  }
                }  // list anycast-rp-range
              }  // container context
    
              container topology-entry-flag-route-counts {
                description
                  "Route count for topology with entry flag set";
                list topology-entry-flag-route-count {
                  key "entry-flag";
                  description
                    "Route count for topology with entry flag set";
                  leaf entry-flag {
                    type Pim-topology-entry-flag;
                    description "entry flag";
                  }
    
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // list topology-entry-flag-route-count
              }  // container topology-entry-flag-route-counts
    
              container rpf-redirect {
                description
                  "PIM ECMP RPF-redirect bundle";
                container redirect-route-databases {
                  description
                    "PIM ECMP RPF-redirect route database";
                  list redirect-route-database {
                    key "source-address group-address";
                    description
                      "PIM ECMP RPF-redirect route information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    container group-address-xr {
                      description "Group ddress";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container source-address-xr {
                      description
                        "Source address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    leaf bandwidth {
                      type uint32;
                      units "kbit/s";
                      description
                        "Bandwidth in Kbps";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    list interface {
                      description
                        "Outgoing interface list";
                      container rpf-address {
                        description
                          "RPF Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rpf-address
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface name";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiry {
                        type uint64;
                        units "second";
                        description
                          "Expiry in seconds";
                      }
    
                      leaf is-rpf-interface {
                        type boolean;
                        description
                          "Is RPF Interface";
                      }
    
                      leaf is-outgoing-interface {
                        type boolean;
                        description
                          "Is outgoing Interface";
                      }
    
                      leaf is-snoop-interface {
                        type boolean;
                        description
                          "Is snooping Interface";
                      }
                    }  // list interface
                  }  // list redirect-route-database
                }  // container redirect-route-databases
    
                container bundle-interfaces {
                  description
                    "PIM ECMP RPF-redirect bundle information";
                  list bundle-interface {
                    key "bundle-name interface-name";
                    description
                      "PIM ECMP RPF-redirect bundle interface
    information";
                    leaf bundle-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description "Bundle name";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Bundle interface name";
                    }
    
                    leaf rpf-redirect-bundle-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "RPF redirect bundle name";
                    }
    
                    leaf rpf-redirect-interface-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "RPF redirect interface name";
                    }
    
                    leaf available-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth available in Kbps";
                    }
    
                    leaf allocated-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth allocated in Kbps";
                    }
    
                    leaf total-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Total bandwidth used in Kbps";
                    }
    
                    leaf topology-bandwidth-used {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth used by topology in Kbps";
                    }
    
                    leaf snooping-bandwidth-used {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth used by snooped entries in Kbps";
                    }
    
                    leaf allocated-threshold-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Configured threshold in Kbps";
                    }
    
                    leaf available-threshold-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Available threshold in Kbps";
                    }
                  }  // list bundle-interface
                }  // container bundle-interfaces
              }  // container rpf-redirect
    
              container tunnels {
                description
                  "Tunnels information that PIM has";
                list tunnel {
                  key "tunnel-name";
                  description
                    "PIM tunnel information";
                  leaf tunnel-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..64";
                    }
                    description "Tunnel name";
                  }
    
                  container source-address {
                    description
                      "Source addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  container rp-address {
                    description
                      "RP addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address-netio {
                    description
                      "Source addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-netio
    
                  container group-address-netio {
                    description
                      "Group addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-netio
    
                  leaf vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "VRF Name";
                  }
                }  // list tunnel
              }  // container tunnels
    
              container multicast-static-routes {
                description
                  "PIM multicast static route table";
                list multicast-static-route {
                  key "address prefix-length";
                  description
                    "PIM multicast static route information";
                  leaf address {
                    type inet:ip-address-no-zone;
                    description
                      "Network address";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  container prefix {
                    description "Prefix";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container prefix
    
                  container nexthop {
                    description "Next Hop";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container nexthop
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "Interface Handle";
                  }
    
                  leaf distance {
                    type uint32;
                    description "Distance";
                  }
    
                  leaf prefix-length-xr {
                    type uint8;
                    description "Prefix Length";
                  }
    
                  leaf is-via-lsm {
                    type boolean;
                    description "LSM flag";
                  }
                }  // list multicast-static-route
              }  // container multicast-static-routes
    
              container neighbors {
                description "PIM neighbor table";
                list neighbor {
                  key "interface-name neighbor-address";
                  description
                    "PIM neighbor information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf neighbor-address {
                    type inet:ip-address-no-zone;
                    description
                      "Neighbor address";
                  }
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
    
                  leaf expires {
                    type uint64;
                    units "second";
                    description
                      "Neighbor expiry in seconds";
                  }
    
                  leaf expiry-timer {
                    type uint64;
                    units "second";
                    description
                      "Expiry timer in seconds";
                  }
    
                  leaf is-this-neighbor-us {
                    type boolean;
                    description
                      "Is this neighbor us ?";
                  }
    
                  leaf is-this-neighbor-dr {
                    type boolean;
                    description
                      "Is this neighbor the DR";
                  }
    
                  leaf is-dr-priority-capable {
                    type boolean;
                    description
                      "Is this neighbor DR priority capable ?";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR priority";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description
                      "Is this neighbor bidir capable ?";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description
                      "Is this neighbor proxy capable?";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Is this neighbor capable of batching asserts?";
                  }
    
                  leaf is-ecmp-redirect-capable {
                    type boolean;
                    description
                      "Is this neighbor capable of Ecmp Redirect?";
                  }
    
                  leaf is-bfd-state {
                    type boolean;
                    description
                      "Is the neighbor bfd session created";
                  }
    
                  leaf sticky-dr-neighbor {
                    type boolean;
                    description
                      "Is Sticky DR advertised on interface by neighbor";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  list neighbor-address-xr {
                    description
                      "List of Neighbor Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list neighbor-address-xr
                }  // list neighbor
              }  // container neighbors
            }  // container default-context
    
            container process {
              description "Process";
              container nsr {
                description "NSR Information";
                leaf state {
                  type uint8;
                  description "NSR state";
                }
    
                leaf partner-connected {
                  type boolean;
                  description
                    "Partner process connected";
                }
    
                leaf rmf-notification-done {
                  type boolean;
                  description
                    "RMF Notification done";
                }
    
                leaf rmf-timer-valid {
                  type boolean;
                  description
                    "Is RMF timer running ?";
                }
    
                leaf rmf-timer-expiry {
                  type uint64;
                  description
                    "Time for RMF timer to expire";
                }
    
                leaf last-connection-up {
                  type uint64;
                  description
                    "Time when connection went up";
                }
    
                leaf last-connection-dn {
                  type uint64;
                  description
                    "Time when connection went down";
                }
    
                leaf last-rmf-ready {
                  type uint64;
                  description
                    "Time when RMF Rdy notif was sent";
                }
    
                leaf last-rmf-not-ready {
                  type uint64;
                  description
                    "Time when RMF Not-Rdy notif was sent";
                }
    
                leaf count-connection-up {
                  type uint32;
                  description
                    "No. of times connection went up";
                }
    
                leaf count-connection-dn {
                  type uint32;
                  description
                    "No. of times connection went down";
                }
    
                leaf count-rmf-ready {
                  type uint32;
                  description
                    "No. of times RMF Ready notif was sent";
                }
    
                leaf count-rmf-not-ready {
                  type uint32;
                  description
                    "No. of times RMF Not Ready notif was sent";
                }
              }  // container nsr
    
              container summary {
                description "PIM Global Summary";
                leaf route-limit {
                  type uint32;
                  description "Maximum routes";
                }
    
                leaf route-count {
                  type uint32;
                  description "Current routes";
                }
    
                leaf route-low-water-mark {
                  type uint32;
                  description
                    "The number of routes below which the throttle on
    route creation will be lifted";
                }
    
                leaf is-route-limit-reached {
                  type boolean;
                  description
                    "Is route creation throttled";
                }
    
                leaf topology-interface-state-limit {
                  type uint32;
                  description
                    "Maximum Topology Interface State count";
                }
    
                leaf topology-interface-state-count {
                  type uint32;
                  description
                    "Current Topology Interface State count";
                }
    
                leaf rxi-low-water-mark {
                  type uint32;
                  description
                    "The rxi below which the throttle on interface
    creation will be lifted";
                }
    
                leaf rxi-limit-reached {
                  type boolean;
                  description
                    "Is interface creation throttled";
                }
    
                leaf register-limit {
                  type uint32;
                  description
                    "Maximum registers";
                }
    
                leaf register-count {
                  type uint32;
                  description
                    "Current registers";
                }
    
                leaf register-limit-reached {
                  type boolean;
                  description
                    "Is PIM SM register handling throttled";
                }
    
                leaf ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from Autorp";
                }
    
                leaf ranges-count {
                  type uint32;
                  description
                    "Current group ranges from Autorp";
                }
    
                leaf ranges-threshold {
                  type uint32;
                  description
                    "OOR theshold of grange ranges from AutoRP";
                }
    
                leaf is-ranges-limit-reached {
                  type boolean;
                  description
                    "Is Auto-RP group-to-RP mapping range creation
    throttled";
                }
    
                leaf bsr-ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from BSR";
                }
    
                leaf bsr-ranges-count {
                  type uint32;
                  description
                    "Current group ranges from BSR";
                }
    
                leaf bsr-range-threshold {
                  type uint32;
                  description
                    "Threshold group range from BSR";
                }
    
                leaf is-bsr-ranges-threshold-reached {
                  type boolean;
                  description
                    "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                }
    
                leaf bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Maximum crp-set from BSR";
                }
    
                leaf bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Current crp-set count from BSR";
                }
    
                leaf bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Threshold crp-set from BSR";
                }
    
                leaf is-maximum-enforcement-disabled {
                  type boolean;
                  description
                    "Is maximum enforcement disabled";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
    
                leaf route-threshold {
                  type uint32;
                  description "Threshold routes";
                }
    
                leaf global-auto-rp-ranges-limit {
                  type uint32;
                  description
                    "Global Auto-RP maximum group ranges";
                }
    
                leaf is-global-auto-rp-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global AutoRP group-to-RP mapping range
    creation throttled";
                }
    
                leaf global-bsr-ranges-limit {
                  type uint32;
                  description
                    "Global BSR maximum group ranges";
                }
    
                leaf global-bsr-ranges-count {
                  type uint32;
                  description
                    "Global BSR current group ranges";
                }
    
                leaf global-bsr-ranges-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold group ranges";
                }
    
                leaf is-global-bsr-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global BSR group-to-RP mapping range creation
    throttled";
                }
    
                leaf global-bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Global BSR maximum crp-set";
                }
    
                leaf global-bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Global BSR current crp-set count";
                }
    
                leaf global-bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold crp-set";
                }
    
                leaf is-global-route-limit-reached {
                  type boolean;
                  description
                    "Is global route creation throttled";
                }
    
                leaf topology-interface-state-threshold {
                  type uint32;
                  description
                    "Topology Interface State threshold";
                }
    
                leaf is-global-rxi-limit-reached {
                  type boolean;
                  description
                    "Is global interface creation throttled";
                }
    
                leaf register-threshold {
                  type uint32;
                  description
                    "Threshold registers";
                }
    
                leaf global-register-limit {
                  type uint32;
                  description
                    "Maximum global registers";
                }
    
                leaf is-global-register-limit-reached {
                  type boolean;
                  description
                    "Is global PIM SM register handling throttled";
                }
              }  // container summary
    
              container nsf {
                description
                  "PIM NSF information";
                leaf configured-state {
                  type boolean;
                  description
                    "Is Multicast NSF Configured";
                }
    
                leaf nsf-state {
                  type boolean;
                  description
                    "Are we currently in NSF";
                }
    
                leaf nsf-timeout {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF timeout in seconds";
                }
    
                leaf nsf-time-left {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF time left in seconds";
                }
    
                leaf waiting-timer {
                  type boolean;
                  description
                    "Waiting for NSF timer expiry";
                }
    
                leaf waiting-membership {
                  type boolean;
                  description
                    "Waiting for IGMP/MLD";
                }
    
                leaf respawn-count {
                  type uint32;
                  description "Respawn Count";
                }
    
                leaf last-nsf-on {
                  type int64;
                  description "Last NSF time ON";
                }
    
                leaf last-nsf-off {
                  type int64;
                  description
                    "Last NSF time off";
                }
    
                leaf last-nsf-on-sec {
                  type int32;
                  units "second";
                  description
                    "Last NSF time ON in Seconds";
                }
    
                leaf last-nsf-off-sec {
                  type int32;
                  units "second";
                  description
                    "Last NSF time OFF in Seconds";
                }
    
                leaf last-icd-notif-recv {
                  type int64;
                  description
                    "Last ICD Notif Recv";
                }
    
                leaf last-icd-notif-recv-sec {
                  type int32;
                  units "second";
                  description
                    "Last ICD Notif Recv in Seconds";
                }
              }  // container nsf
    
              container issu {
                description "ISSU Information";
                leaf informationvalid {
                  type boolean;
                  description
                    "Is Information valid ?";
                }
    
                leaf role-ha {
                  type int32;
                  description "HA role";
                }
    
                leaf role-issu {
                  type int32;
                  description "ISSU role";
                }
    
                leaf phase-issu {
                  type int32;
                  description "ISSU Phase";
                }
    
                leaf last-ha-role-notification-received {
                  type uint64;
                  description
                    "Time when last HA role nfn was received";
                }
    
                leaf last-issu-role-notification-received {
                  type uint64;
                  description
                    "Time when last ISSU role nfn was received";
                }
    
                leaf last-issu-phase-notification-received {
                  type uint64;
                  description
                    "Time when last ISSU Phase nfn was received";
                }
    
                leaf is-eoc-received {
                  type boolean;
                  description
                    "Was EOC received ?";
                }
    
                leaf eoc-received-timestamp {
                  type uint64;
                  description
                    "Time when EOC was received";
                }
    
                leaf is-ihms-done-received {
                  type boolean;
                  description
                    "Was IHMS done received ?";
                }
    
                leaf ihms-received-timestamp {
                  type uint64;
                  description
                    "Time when IHMS done was received";
                }
    
                leaf is-rib-sync-received {
                  type boolean;
                  description
                    "Was RIB Sync received ?";
                }
    
                leaf rib-sync-received-timestamp {
                  type uint64;
                  description
                    "Time when RIB Sync was received";
                }
    
                leaf is-nbr-sync-received {
                  type boolean;
                  description
                    "Was NBR Sync achieved ?";
                }
    
                leaf nbr-sync-received-timestamp {
                  type uint64;
                  description
                    "Time when NBR Sync was achieved";
                }
    
                leaf is-checkpoint-idt-done {
                  type boolean;
                  description
                    "Was Checkpoint IDT done ?";
                }
    
                leaf checkpoint-idt-timestamp {
                  type uint64;
                  description
                    "Time when Checkpoint IDT done";
                }
              }  // container issu
            }  // container process
    
            container vrfs {
              description "VRF Table";
              list vrf {
                key "vrf-name";
                description "VRF name";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description "VRF name ";
                }
    
                container ifrs-interfaces {
                  description
                    "PIM interfaces in forward reference store table";
                  list ifrs-interface {
                    key "interface-name";
                    description
                      "PIM IFRS interface information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container dr-address {
                      description
                        "PIM Designated Router";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container dr-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identfier";
                    }
    
                    leaf interface-address-mask {
                      type uint8;
                      description
                        "Interface IP Address Mask";
                    }
    
                    leaf is-enabled {
                      type boolean;
                      description
                        "Is PIM enabled on this IF ?";
                    }
    
                    leaf neighbor-count {
                      type uint16;
                      description
                        "No. of neighbors on this IF";
                    }
    
                    leaf external-neighbor-count {
                      type uint16;
                      description
                        "No. of external neighbors on this IF";
                    }
    
                    leaf hello-interval {
                      type uint16;
                      description
                        "Hello Interval";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR Priority";
                    }
    
                    leaf hello-expiry {
                      type uint64;
                      description
                        "Hello Timer Expiry";
                    }
    
                    leaf are-we-dr {
                      type boolean;
                      description
                        "Are we the DR on this IF ?";
                    }
    
                    leaf bfd-enabled {
                      type boolean;
                      description "BFD state";
                    }
    
                    leaf bfd-interval {
                      type uint32;
                      description "BFD Interval";
                    }
    
                    leaf bfd-multiplier {
                      type uint32;
                      description
                        "BFD Multiplier";
                    }
    
                    leaf virtual-interface {
                      type boolean;
                      description
                        " is this a Virtual Interfaces ?";
                    }
    
                    leaf passive-interface {
                      type boolean;
                      description
                        "Passive PIM interface";
                    }
    
                    leaf neighbor-filter-name {
                      type string;
                      description
                        "Neighbor Filter Name";
                    }
    
                    leaf sticky-dr-enabled {
                      type boolean;
                      description
                        "Is Sticky DR enabled on Interface";
                    }
    
                    leaf sticky-dr-active {
                      type boolean;
                      description
                        "Is Sticky DR Active on Interface";
                    }
    
                    leaf sticky-dr-active-since {
                      type uint64;
                      units "second";
                      description
                        "Sticky DR uptime in seconds";
                    }
    
                    leaf join-prune-interval {
                      type uint16;
                      description
                        "Join-Prune Interval";
                    }
    
                    leaf prune-delay-enabled {
                      type boolean;
                      description
                        "Prune Delay Enabled";
                    }
    
                    leaf configured-propagation-delay {
                      type uint16;
                      description
                        "Configured Propagation Delay";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf configured-override-interval {
                      type uint16;
                      description
                        "Configured Override Interval";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    leaf generation-id {
                      type uint32;
                      description
                        "Generation Identifier";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Bidir Capable";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Proxy Capable";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Batch Asserts Capable";
                    }
    
                    leaf idb-oor-enabled {
                      type boolean;
                      description
                        "Interface oor enabled";
                    }
    
                    leaf idb-acl-provided {
                      type boolean;
                      description
                        "ACL name provided";
                    }
    
                    leaf idb-max-count {
                      type uint32;
                      description
                        "Interface ole max count";
                    }
    
                    leaf idb-threshold-count {
                      type uint32;
                      description
                        "Interface ole threshold count";
                    }
    
                    leaf idb-current-count {
                      type uint32;
                      description
                        "Interface ole current count";
                    }
    
                    leaf idb-acl-name {
                      type string {
                        length "0..64";
                      }
                      description
                        "Interface ole ACL Name";
                    }
    
                    list interface-address {
                      description
                        "List of Interface IP Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list interface-address
                  }  // list ifrs-interface
                }  // container ifrs-interfaces
    
                container interface-statistics {
                  description
                    "PIM interface statistics";
                  list interface-statistic {
                    key "interface-name";
                    description
                      "PIM interface statistics";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf input-hello {
                      type uint32;
                      description
                        "Hello packets in";
                    }
    
                    leaf output-hello {
                      type uint32;
                      description
                        "Hello packets out";
                    }
    
                    leaf input-register {
                      type uint32;
                      description
                        "Register packets in";
                    }
    
                    leaf output-register {
                      type uint32;
                      description
                        "Register packets out";
                    }
    
                    leaf input-register-stop {
                      type uint32;
                      description
                        "Register Stop packets in";
                    }
    
                    leaf output-register-stop {
                      type uint32;
                      description
                        "Register Stop packets out";
                    }
    
                    leaf input-jp {
                      type uint32;
                      description
                        "Join Prune packets in";
                    }
    
                    leaf output-jp {
                      type uint32;
                      description
                        "Join Prune packets out";
                    }
    
                    leaf input-bsr-message {
                      type uint32;
                      description
                        "Input BSR Messages";
                    }
    
                    leaf output-bsr-message {
                      type uint32;
                      description
                        "Output BSR Messages";
                    }
    
                    leaf input-assert {
                      type uint32;
                      description
                        "Assert packets in";
                    }
    
                    leaf output-assert {
                      type uint32;
                      description
                        "Assert packets out";
                    }
    
                    leaf input-graft-message {
                      type uint32;
                      description
                        "Input Graft Messages";
                    }
    
                    leaf output-graft-message {
                      type uint32;
                      description
                        "Output Graft Messages";
                    }
    
                    leaf input-graft-ack-message {
                      type uint32;
                      description
                        "Input Graft Ack Messages";
                    }
    
                    leaf output-graft-ack-message {
                      type uint32;
                      description
                        "Output Graft Ack Messages";
                    }
    
                    leaf input-candidate-rp-advertisement {
                      type uint32;
                      description
                        "Input Candidate-RP Advertisment";
                    }
    
                    leaf output-candidate-rp-advertisement {
                      type uint32;
                      description
                        "Output Candidate-RP Advertisment";
                    }
    
                    leaf input-df-election {
                      type uint32;
                      description
                        "DF Election packets in";
                    }
    
                    leaf output-df-election {
                      type uint32;
                      description
                        "DF Election packets out";
                    }
    
                    leaf input-miscellaneous {
                      type uint32;
                      description
                        "Miscellaneous packet in";
                    }
                  }  // list interface-statistic
                }  // container interface-statistics
    
                container topology-route-count {
                  description
                    "Topology route count information from PIM
    topology table";
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // container topology-route-count
    
                container jp-statistics {
                  description
                    "PIM join prune statistics table";
                  list jp-statistic {
                    key "interface-name";
                    description
                      "PIM Join Prune Statistics";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf mtu {
                      type uint32;
                      description
                        "Interface MTU";
                    }
    
                    leaf transmitted {
                      type uint32;
                      description "Transmitted";
                    }
    
                    leaf transmitted100 {
                      type uint16;
                      description
                        "Transmitted 100 average";
                    }
    
                    leaf transmitted-1k {
                      type uint16;
                      description
                        "Transmitted 1K average";
                    }
    
                    leaf transmitted-10k {
                      type uint16;
                      description
                        "Transmitted 10K average";
                    }
    
                    leaf transmitted-50k {
                      type uint16;
                      description
                        "Deprecated by Transmitted100";
                    }
    
                    leaf received {
                      type uint32;
                      description "Received";
                    }
    
                    leaf received100 {
                      type uint16;
                      description
                        "Received 100 average";
                    }
    
                    leaf received-1k {
                      type uint16;
                      description
                        "Received 1K average";
                    }
    
                    leaf received-10k {
                      type uint16;
                      description
                        "Received 10K average";
                    }
    
                    leaf received-50k {
                      type uint16;
                      description
                        "Deprecated by Received100";
                    }
                  }  // list jp-statistic
                }  // container jp-statistics
    
                container mib-databases {
                  description
                    "PIM group database for mroute mibs table";
                  list mib-database {
                    key "source-address group-address source-netmask";
                    description
                      "PIM multicast static route information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Multicast static route source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Multicast satic route group address";
                    }
    
                    leaf source-netmask {
                      type uint32;
                      description "Source mask";
                    }
    
                    container source-address-xr {
                      description
                        "Source Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container rpf-neighbor {
                      description
                        "The RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container rpf-root {
                      description
                        "Root of this mcast tree";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-root
    
                    leaf upstream-assert-timer {
                      type int32;
                      description
                        "Upstream Assert Timer";
                    }
    
                    leaf assert-metric {
                      type uint32;
                      description
                        "Assert Metric";
                    }
    
                    leaf assert-metric-preference {
                      type uint32;
                      description
                        "Assert Metric Preference";
                    }
    
                    leaf assert-rpt-bit {
                      type boolean;
                      description
                        "Assert RPT Bit";
                    }
    
                    leaf spt-bit {
                      type boolean;
                      description
                        "Is SPT bit set ?";
                    }
    
                    leaf rpf-mask {
                      type uint32;
                      description
                        "Mask of the multicast root";
                    }
    
                    leaf rpf-safi {
                      type uint8;
                      description
                        "Unicast or mcast";
                    }
    
                    leaf rpf-table-name {
                      type string;
                      description
                        "RPF Table name";
                    }
    
                    leaf rpf-drop {
                      type boolean;
                      description
                        "RPF route-policy drop";
                    }
    
                    leaf rpf-extranet {
                      type boolean;
                      description
                        "Extranet RPF route-policy";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "RPF interface name ";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
    
                    leaf bidirectional-route {
                      type boolean;
                      description
                        "Is this Bidir ?";
                    }
    
                    leaf uptime {
                      type uint64;
                      description
                        "Uptime of route";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "The PIM protocol";
                    }
                  }  // list mib-database
                }  // container mib-databases
    
                container ifrs-summary {
                  description
                    "PIM interfaces in forward reference store
    summary";
                  leaf interface-count {
                    type uint32;
                    description
                      "Number of interfaces";
                  }
    
                  leaf configuration-count {
                    type uint32;
                    description
                      "Configuration counts";
                  }
                }  // container ifrs-summary
    
                container ranges {
                  description
                    "PIM range list information";
                  list range {
                    key "rp-address client";
                    description
                      "PIM range list information";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    container rp-address-xr {
                      description
                        "Rendezvous point address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    container source-of-information {
                      description
                        "Source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description "PIM protocol";
                    }
    
                    leaf client-xr {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt via";
                    }
    
                    leaf expires {
                      type uint64;
                      description
                        "When mapping expires";
                    }
    
                    list group-range {
                      description
                        "List of group ranges";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container source-of-information {
                        description
                          "Source of information";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container source-of-information
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expires {
                        type uint64;
                        description
                          "When mapping expires";
                      }
                    }  // list group-range
                  }  // list range
                }  // container ranges
    
                container bsr {
                  description
                    "PIM BSR information";
                  container rp-caches {
                    description
                      "PIM BSR RP cache table";
                    list rp-cache {
                      key "group-prefix prefix-length";
                      description
                        "PIM BSR RP cache";
                      leaf group-prefix {
                        type inet:ip-address-no-zone;
                        description
                          "Group prefix";
                      }
    
                      leaf prefix-length {
                        type uint32;
                        description
                          "Prefix Length";
                      }
    
                      container group-prefix-xr {
                        description
                          "Group Prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container group-prefix-xr
    
                      container candidate-rp-list {
                        description
                          "C-RP list for this prefix";
                        list pim-bsr-crp-bag {
                          description
                            "Next C-RP in the List";
                          container candidate-rp-address {
                            description
                              "C-RP address";
                            leaf af-name {
                              type Pim-afi;
                              description
                                "AFName";
                            }
    
                            leaf ipv4-address {
                              when
                                "../af-name = 'ipv4-unicast'" {
                                description
                                  "../AFName = 'IPv4Unicast'";
                              }
                              type inet:ipv4-address;
                              description
                                "IPv4 Address";
                            }
    
                            leaf ipv6-address {
                              when
                                "../af-name = 'ipv6-unicast'" {
                                description
                                  "../AFName = 'IPv6Unicast'";
                              }
                              type Ipv6-address;
                              description
                                "IPV6 Address";
                            }
                          }  // container candidate-rp-address
    
                          leaf candidate-rp-holdtime {
                            type uint16;
                            description
                              "C-RP Holdtime";
                          }
    
                          leaf candidate-rp-priority {
                            type uint8;
                            description
                              "C-RP Priority";
                          }
    
                          leaf candidate-rp-up-time {
                            type uint16;
                            description
                              "C-RP Uptime";
                          }
    
                          leaf candidate-rp-expires {
                            type uint16;
                            description
                              "C-RP Expires";
                          }
    
                          leaf protocol {
                            type Pim-show-protocol;
                            description
                              "PIM Protocol";
                          }
                        }  // list pim-bsr-crp-bag
                      }  // container candidate-rp-list
    
                      leaf group-prefix-length {
                        type uint32;
                        description
                          "Group Prefix Length";
                      }
    
                      leaf candidate-rp-group-count {
                        type uint32;
                        description
                          "C-RP count for this Prefix";
                      }
                    }  // list rp-cache
                  }  // container rp-caches
    
                  container candidate-rps {
                    description
                      "PIM candidate-RP";
                    list candidate-rp {
                      key "rp-address";
                      description
                        "PIM BSR candidate RP information";
                      leaf rp-address {
                        type inet:ip-address-no-zone;
                        description
                          "Candidate-RP address";
                      }
    
                      container candidate-rp {
                        description
                          "Cand-RP Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container candidate-rp
    
                      leaf candidate-rp-mode {
                        type Pim-show-protocol;
                        description
                          "Cand-RP Mode";
                      }
    
                      leaf candidate-rp-scope {
                        type int32;
                        description
                          "Cand-RP Scope";
                      }
    
                      leaf crp-priority {
                        type uint8;
                        description
                          "Cand-RP Priority";
                      }
    
                      leaf crp-holdtime {
                        type uint16;
                        description
                          "Cand-RP Holdtime";
                      }
    
                      leaf candidate-rp-advance-interval {
                        type uint16;
                        units "second";
                        description
                          "Cand-RP Adv Interval in seconds";
                      }
    
                      leaf candidate-rp-uptime {
                        type uint16;
                        description
                          "Cand-RP uptime";
                      }
    
                      leaf acl-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Group Access-List Name";
                      }
    
                      list crp-access {
                        max-elements 2;
                        description
                          "Group Ranges Using this Cand-RP";
                        leaf candidate-rp-mode {
                          type Pim-show-protocol;
                          description
                            "Cand-RP Mode";
                        }
    
                        leaf acl-name {
                          type string {
                            length "0..33";
                          }
                          description
                            "Group Access-List Name";
                        }
                      }  // list crp-access
                    }  // list candidate-rp
                  }  // container candidate-rps
    
                  container bsr-elections {
                    description
                      "PIM BSR election state";
                    list bsr-election {
                      key "pim-scope";
                      description
                        "PIM BSR information";
                      leaf pim-scope {
                        type uint32;
                        description
                          "BSR information";
                      }
    
                      container bsr-address {
                        description
                          "BSR address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container bsr-address
    
                      container candidate-bsr-address {
                        description
                          "C-BSR address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container candidate-bsr-address
    
                      leaf bsr-priority {
                        type uint8;
                        description
                          "BSR Priority";
                      }
    
                      leaf bsr-mask-length {
                        type uint8;
                        description
                          "Hash Function Mask Length";
                      }
    
                      leaf bsr-up-time {
                        type uint16;
                        description "BSR Uptime";
                      }
    
                      leaf bootstrap-timeout {
                        type uint16;
                        description
                          "Bootstrap Timeout";
                      }
    
                      leaf candidate-bsr-state {
                        type uint32;
                        description
                          "BSR Candidate State";
                      }
    
                      leaf bsr-election-state {
                        type uint32;
                        description
                          "BSR Election State";
                      }
    
                      leaf bsr-scope {
                        type uint16;
                        description "BSR Scope";
                      }
    
                      leaf candidate-bsr-flag {
                        type boolean;
                        description
                          "BSR Candidate Config Flag";
                      }
    
                      leaf candidate-bsr-priority {
                        type uint8;
                        description
                          "C-BSR Priority";
                      }
    
                      leaf candidate-bsr-mask-length {
                        type uint8;
                        description
                          "C-BSR Hash Func. Mask Len";
                      }
                    }  // list bsr-election
                  }  // container bsr-elections
                }  // container bsr
    
                container route-policy {
                  description "PIM route policy";
                  container route-policy-statistics {
                    description
                      "PIM route policy statistics";
                    leaf policy-name {
                      type string;
                      description
                        "RPF policy name";
                    }
    
                    leaf requests {
                      type uint32;
                      description
                        "Number of RPF lookup requests";
                    }
    
                    leaf pass {
                      type uint32;
                      description
                        "Number of RPF pass";
                    }
    
                    leaf drop {
                      type uint32;
                      description
                        "Number of RPF drops";
                    }
    
                    leaf default-table {
                      type uint32;
                      description
                        "Number of RPF lookup in default-only Table";
                    }
    
                    leaf any-table {
                      type uint32;
                      description
                        "Number of RPF lookup in any Table";
                    }
                  }  // container route-policy-statistics
                }  // container route-policy
    
                container rpf-summary {
                  description
                    "PIM RPF registration summary";
                  leaf default-safi {
                    type uint32;
                    description
                      "Default RPF Table SAFI";
                  }
    
                  leaf default-table-name {
                    type string;
                    description
                      "Default RPF Table Name";
                  }
    
                  leaf is-mbgp-configured {
                    type boolean;
                    description
                      "Is MBGP configured?";
                  }
    
                  leaf is-ospf-te-configured {
                    type boolean;
                    description
                      "Is OSPF TE configured?";
                  }
    
                  leaf is-isis-te-configured {
                    type boolean;
                    description
                      "Is ISIS TE configured?";
                  }
    
                  leaf is-isis-mtr-configured {
                    type boolean;
                    description
                      "Is ISIS MTR configured?";
                  }
    
                  leaf mo-frr-configured {
                    type boolean;
                    description
                      "Is MoFRR configured?";
                  }
    
                  leaf rib-mo-frr-configured {
                    type boolean;
                    description
                      "Is MoFRR RIB configured?";
                  }
    
                  leaf rump-enabled {
                    type boolean;
                    description
                      "Is RUMP MuRIB enabled?";
                  }
    
                  leaf rib-convergence-timeout {
                    type uint32;
                    units "second";
                    description
                      "RIB convergence timeout in seconds";
                  }
    
                  leaf rib-convergence-time-left {
                    type uint32;
                    units "second";
                    description
                      "RIB convergence time left in seconds";
                  }
    
                  leaf is-multipath-enabled {
                    type boolean;
                    description
                      "Is Multipath Enabled ?";
                  }
    
                  leaf is-multipath-interface-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Interface Hash Extension Enabled ?";
                  }
    
                  leaf is-multipath-source-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Source based Hash Enabled ?";
                  }
    
                  leaf is-multipath-source-next-hop-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Source-Nexthop Hash Enabled ?";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
                }  // container rpf-summary
    
                container interfaces {
                  description "PIM interfaces";
                  list interface {
                    key "interface-name";
                    description
                      "PIM interface name";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container dr-address {
                      description
                        "PIM Designated Router";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container dr-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identfier";
                    }
    
                    leaf interface-address-mask {
                      type uint8;
                      description
                        "Interface IP Address Mask";
                    }
    
                    leaf is-enabled {
                      type boolean;
                      description
                        "Is PIM enabled on this IF ?";
                    }
    
                    leaf neighbor-count {
                      type uint16;
                      description
                        "No. of neighbors on this IF";
                    }
    
                    leaf external-neighbor-count {
                      type uint16;
                      description
                        "No. of external neighbors on this IF";
                    }
    
                    leaf hello-interval {
                      type uint16;
                      description
                        "Hello Interval";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR Priority";
                    }
    
                    leaf hello-expiry {
                      type uint64;
                      description
                        "Hello Timer Expiry";
                    }
    
                    leaf are-we-dr {
                      type boolean;
                      description
                        "Are we the DR on this IF ?";
                    }
    
                    leaf bfd-enabled {
                      type boolean;
                      description "BFD state";
                    }
    
                    leaf bfd-interval {
                      type uint32;
                      description "BFD Interval";
                    }
    
                    leaf bfd-multiplier {
                      type uint32;
                      description
                        "BFD Multiplier";
                    }
    
                    leaf virtual-interface {
                      type boolean;
                      description
                        " is this a Virtual Interfaces ?";
                    }
    
                    leaf passive-interface {
                      type boolean;
                      description
                        "Passive PIM interface";
                    }
    
                    leaf neighbor-filter-name {
                      type string;
                      description
                        "Neighbor Filter Name";
                    }
    
                    leaf sticky-dr-enabled {
                      type boolean;
                      description
                        "Is Sticky DR enabled on Interface";
                    }
    
                    leaf sticky-dr-active {
                      type boolean;
                      description
                        "Is Sticky DR Active on Interface";
                    }
    
                    leaf sticky-dr-active-since {
                      type uint64;
                      units "second";
                      description
                        "Sticky DR uptime in seconds";
                    }
    
                    leaf join-prune-interval {
                      type uint16;
                      description
                        "Join-Prune Interval";
                    }
    
                    leaf prune-delay-enabled {
                      type boolean;
                      description
                        "Prune Delay Enabled";
                    }
    
                    leaf configured-propagation-delay {
                      type uint16;
                      description
                        "Configured Propagation Delay";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf configured-override-interval {
                      type uint16;
                      description
                        "Configured Override Interval";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    leaf generation-id {
                      type uint32;
                      description
                        "Generation Identifier";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Bidir Capable";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Proxy Capable";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Batch Asserts Capable";
                    }
    
                    leaf idb-oor-enabled {
                      type boolean;
                      description
                        "Interface oor enabled";
                    }
    
                    leaf idb-acl-provided {
                      type boolean;
                      description
                        "ACL name provided";
                    }
    
                    leaf idb-max-count {
                      type uint32;
                      description
                        "Interface ole max count";
                    }
    
                    leaf idb-threshold-count {
                      type uint32;
                      description
                        "Interface ole threshold count";
                    }
    
                    leaf idb-current-count {
                      type uint32;
                      description
                        "Interface ole current count";
                    }
    
                    leaf idb-acl-name {
                      type string {
                        length "0..64";
                      }
                      description
                        "Interface ole ACL Name";
                    }
    
                    list interface-address {
                      description
                        "List of Interface IP Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list interface-address
                  }  // list interface
                }  // container interfaces
    
                container net-io-tunnels {
                  description
                    "Tunnel information that NETIO has ";
                  list net-io-tunnel {
                    key "tunnel-name";
                    description
                      "PIM netio tunnel information";
                    leaf tunnel-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "Tunnel name";
                    }
    
                    container source-address {
                      description
                        "Source addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address
    
                    container rp-address {
                      description
                        "RP addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container source-address-netio {
                      description
                        "Source addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-netio
    
                    container group-address-netio {
                      description
                        "Group addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-netio
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "VRF Name";
                    }
                  }  // list net-io-tunnel
                }  // container net-io-tunnels
    
                container bidir-df-states {
                  description
                    "Bidirectional PIM DF election state table";
                  list bidir-df-state {
                    key "rp-address interface-name";
                    description
                      "Bidirectional PIM DF Election Table Entry";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container rp-address-xr {
                      description "RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    leaf pim-interface-name {
                      type string;
                      description
                        "Interface Name";
                    }
    
                    leaf election-state {
                      type string;
                      description
                        "DF Election State";
                    }
    
                    leaf time-seconds {
                      type uint64;
                      units "second";
                      description
                        "Timer expires (seconds)";
                    }
    
                    leaf time-nano-seconds {
                      type uint64;
                      units "nanosecond";
                      description
                        "Timer expires (nseconds)";
                    }
    
                    leaf our-metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf our-metric-preference {
                      type uint32;
                      description
                        "MetricPreference";
                    }
                  }  // list bidir-df-state
                }  // container bidir-df-states
    
                container topologies {
                  description
                    "PIM topology table";
                  list topology {
                    key "source-address group-address rpt";
                    description
                      "PIM topology information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    leaf rpt {
                      type uint32;
                      description "RPT bit";
                    }
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container source-address-xr {
                      description
                        "Source Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    container rp-address {
                      description
                        "RP Address (If rpt)";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container rpf-neighbor {
                      description "RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container secondary-rpf-neighbor {
                      description
                        "Secondary RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container secondary-rpf-neighbor
    
                    container rpf-root {
                      description
                        "Root of this mcast tree";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-root
    
                    container proxy-address {
                      description
                        "RPF Proxy address.";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container proxy-address
    
                    container orig-src-address {
                      description
                        "Orig Src Address.";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container orig-src-address
    
                    leaf limit-reached {
                      type boolean;
                      description
                        "Have we throttled the creation of routes or
    interfaces ?";
                    }
    
                    leaf low-memory {
                      type boolean;
                      description
                        "Node is running low on memory";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "The PIM protocol";
                    }
    
                    leaf wildcard {
                      type boolean;
                      description "WC -Wildcard";
                    }
    
                    leaf rpt-xr {
                      type boolean;
                      description
                        "Is this on the RPT ?";
                    }
    
                    leaf spt {
                      type boolean;
                      description
                        "Is this on the SPT ?";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiry {
                      type uint64;
                      description
                        "When this entry expires";
                    }
    
                    leaf alive {
                      type int32;
                      units "second";
                      description
                        "Alive time in seconds (-1 if never)";
                    }
    
                    leaf register-received-timer {
                      type int32;
                      units "second";
                      description
                        "Register Received Timer in seconds (-1 if never)";
                    }
    
                    leaf remote-source {
                      type boolean;
                      description "MSDP told us";
                    }
    
                    leaf crossed-threshold {
                      type boolean;
                      description
                        "Incoming traffic crossed threshold. MT flag set";
                    }
    
                    leaf data-mdt-addr-assigned {
                      type boolean;
                      description
                        "PIM has assigned a Data MDT Address";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
    
                    leaf rpf-safi {
                      type uint8;
                      description
                        "Unicast or mcast";
                    }
    
                    leaf rpf-table-name {
                      type string;
                      description
                        "RPF Table name";
                    }
    
                    leaf rpf-drop {
                      type boolean;
                      description
                        "RPF route-policy drop";
                    }
    
                    leaf rpf-extranet {
                      type boolean;
                      description
                        "Extranet RPF route-policy";
                    }
    
                    leaf is-via-lsm {
                      type boolean;
                      description "Via LSM";
                    }
    
                    leaf secondary-rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "Secondary Interface Identifier";
                    }
    
                    leaf connected {
                      type boolean;
                      description
                        "Is Connected ?";
                    }
    
                    leaf proxy {
                      type boolean;
                      description
                        "Is the RPF target a proxy?";
                    }
    
                    leaf rpf-proxy-enabled {
                      type boolean;
                      description
                        "Is rpf if proxy enabled?";
                    }
    
                    leaf mofrr-enabled {
                      type boolean;
                      description
                        "Is this SG MoFRR enabled?";
                    }
    
                    leaf rib-mo-frr-enabled {
                      type boolean;
                      description
                        "Is this SG MoFRR enabled?";
                    }
    
                    leaf jp-timer {
                      type int32;
                      description
                        "Join-Prune Timer";
                    }
    
                    leaf jp-status {
                      type int32;
                      description
                        "Join-Prune Status";
                    }
    
                    leaf suppress-registers {
                      type int32;
                      description
                        "When the Null register probe expires";
                    }
    
                    leaf assume-alive {
                      type boolean;
                      description
                        "The Assume Alive Bit";
                    }
    
                    leaf probe-alive {
                      type boolean;
                      description
                        "The Probe Alive Bit";
                    }
    
                    leaf really-alive {
                      type boolean;
                      description
                        "The Really Alive Bit";
                    }
    
                    leaf inherit-alive {
                      type boolean;
                      description
                        "The Inherit Alive Bit";
                    }
    
                    leaf inherit-spt {
                      type boolean;
                      description
                        "The Inherit SPT Bit";
                    }
    
                    leaf signal-sources {
                      type boolean;
                      description
                        "Signal Sources on route?";
                    }
    
                    leaf dont-check-connected {
                      type boolean;
                      description
                        "Do we need to make the connected check on this
    route ?";
                    }
    
                    leaf register-received {
                      type boolean;
                      description
                        "Have registers been received for this source ?";
                    }
    
                    leaf last-hop {
                      type boolean;
                      description
                        "Are we last hop ?";
                    }
    
                    leaf sending-registers {
                      type boolean;
                      description
                        "Are we sending registers for this route ?";
                    }
    
                    leaf sending-null-registers {
                      type boolean;
                      description
                        "Are we sending null registers for this route ?";
                    }
    
                    leaf sa-sent {
                      type boolean;
                      description "BGP SA sent";
                    }
    
                    leaf sa-received {
                      type boolean;
                      description
                        "BGP SA received";
                    }
    
                    leaf sa-joined {
                      type boolean;
                      description "BGP SA join";
                    }
    
                    leaf anycast-rp-match {
                      type boolean;
                      description
                        "Group matches Anycast-RP policy";
                    }
    
                    leaf anycast-rp-route-target {
                      type inet:ipv4-address;
                      description
                        "Anycast-RP RT";
                    }
    
                    leaf bgp-join {
                      type boolean;
                      description "BGP C JOIN";
                    }
    
                    leaf bgp-jp-time {
                      type uint64;
                      description
                        "BGP C JP Time";
                    }
    
                    leaf customer-routing-type {
                      type int32;
                      description
                        "Type of Customer Routing in the MVPN";
                    }
    
                    leaf extranet-route {
                      type boolean;
                      description
                        "Is a Extranet route ?";
                    }
    
                    leaf mofrr-active {
                      type boolean;
                      description
                        "Is MoFRR Active?";
                    }
    
                    leaf mofrr-primary {
                      type boolean;
                      description
                        "Is this Mofrr Primary?";
                    }
    
                    leaf mofrr-backup {
                      type boolean;
                      description
                        "Is this Mofrr Backup?";
                    }
    
                    leaf vxlan {
                      type boolean;
                      description
                        "Is this VXLAN?";
                    }
    
                    leaf kat-state {
                      type boolean;
                      description
                        "Keep Alive Timer State";
                    }
    
                    list outgoing-interface {
                      description
                        "Outgoing interface list";
                      container assert-winner {
                        description
                          "Assert Winner";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container assert-winner
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface Identifier";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiry {
                        type uint64;
                        units "second";
                        description
                          "Expiry in seconds";
                      }
    
                      leaf bgp-c-mcast-prune-delay-timer {
                        type uint64;
                        units "second";
                        description
                          "BGP C-MCAST Prune Suppression in seconds";
                      }
    
                      leaf jp-timer {
                        type int32;
                        units "second";
                        description
                          "Join-Prune Timer (secs)";
                      }
    
                      leaf jp-state {
                        type int32;
                        description
                          "Join-Prune State";
                      }
    
                      leaf assert-timer {
                        type int32;
                        units "second";
                        description
                          "Assert Timer in seconds";
                      }
    
                      leaf local-members {
                        type int32;
                        description
                          "Local Information. Deprecated - use
    'local-members-information' instead";
                      }
    
                      leaf internal-interest-info {
                        type int32;
                        description
                          "Internal Interest. Deprecated - use
    'internal-interest-information' instead";
                      }
    
                      leaf forwarding-state {
                        type int32;
                        description
                          "Forward or Prune";
                      }
    
                      leaf immediate-state {
                        type int32;
                        description
                          "Immediate fwding state";
                      }
    
                      leaf last-hop {
                        type boolean;
                        description
                          "Are we last hop ?";
                      }
    
                      leaf mldp-inband-mdt {
                        type boolean;
                        description
                          "MLDP Inband MDT interface";
                      }
    
                      leaf mldp-stale {
                        type boolean;
                        description
                          "OLE is stale";
                      }
    
                      leaf sa-prune {
                        type boolean;
                        description
                          "BGP SA Prune state";
                      }
    
                      leaf admin-boundary {
                        type boolean;
                        description
                          "Is this an administrative boundary ?";
                      }
    
                      leaf igmp-membership {
                        type boolean;
                        description
                          "IGMP membership";
                      }
    
                      leaf mdt-safi-join {
                        type boolean;
                        description
                          "MDT Safi join";
                      }
    
                      leaf mvpn-safi-join {
                        type boolean;
                        description
                          "MVPN Safi join";
                      }
    
                      leaf local-mdt-join {
                        type boolean;
                        description
                          "Default MDT Join";
                      }
    
                      leaf data-mdt-join {
                        type boolean;
                        description
                          "Data MDT join";
                      }
    
                      leaf mvpnv6-safi-join {
                        type boolean;
                        description
                          "MVPN IPv6 Safi join";
                      }
    
                      leaf bgp-c-mcast-join {
                        type boolean;
                        description
                          "BGP C-Mcast join";
                      }
    
                      leaf vrf-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "VRF which physically owns";
                      }
    
                      leaf extranet-interface {
                        type boolean;
                        description
                          "Is this an Extranet Interface ?";
                      }
    
                      leaf internal-interest-information {
                        type Pim-internal-interest-info;
                        description
                          "Internal Interest. Replaces
    internal-interest-info";
                      }
    
                      leaf local-members-information {
                        type Pim-show-local-interest;
                        description
                          "Local Information. Replaces local-members";
                      }
    
                      leaf assert-state {
                        type boolean;
                        description
                          "Assert State";
                      }
                    }  // list outgoing-interface
                  }  // list topology
                }  // container topologies
    
                container topology-interface-flag-route-counts {
                  description
                    "Route count for topology with interface flag set";
                  list topology-interface-flag-route-count {
                    key "interface-flag";
                    description
                      "Route count for topology with interface flag
    set";
                    leaf interface-flag {
                      type Pim-topology-interface-flag;
                      description
                        "Interface flag";
                    }
    
                    leaf group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes";
                    }
    
                    leaf active-group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes active in mrib";
                    }
    
                    leaf groute-count {
                      type uint32;
                      description
                        "No. of (*,G) routes";
                    }
    
                    leaf sg-route-count {
                      type uint32;
                      description
                        "No. of (S,G) routes";
                    }
    
                    leaf sgr-route-count {
                      type uint32;
                      description
                        "No. of (S,G)RPT routes";
                    }
    
                    leaf is-node-low-memory {
                      type boolean;
                      description
                        "Is node in low memory condition";
                    }
                  }  // list topology-interface-flag-route-count
                }  // container topology-interface-flag-route-counts
    
                container group-map-sources {
                  description
                    "PIM group-mapping with source information";
                  list group-map-source {
                    key "prefix prefix-length client protocol rp-address priority";
                    description
                      "PIM Group Mapping Entry with source information";
                    leaf prefix {
                      type inet:ip-address-no-zone;
                      description "Prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    leaf protocol {
                      type Pim-protocol;
                      description "Protocol";
                    }
    
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf priority {
                      type uint32;
                      description "RP Priority";
                    }
    
                    container source-of-information {
                      description
                        "The source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    container group-map-information {
                      description
                        "Group Mapping information";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container rp-address {
                        description
                          "Rendezvous Point Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rp-address
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf client {
                        type Pim-show-range-client;
                        description
                          "Client mapping learnt from";
                      }
    
                      leaf protocol {
                        type Pim-show-protocol;
                        description
                          "Protocol mode of the range";
                      }
    
                      leaf group-count {
                        type uint32;
                        description
                          "No. of groups in this range";
                      }
    
                      leaf is-used {
                        type boolean;
                        description
                          "Is this mapping being used?";
                      }
    
                      leaf mrib-active {
                        type boolean;
                        description
                          "Is this mapping active in MRIB?";
                      }
    
                      leaf is-override {
                        type boolean;
                        description
                          "Is this the override range?";
                      }
    
                      leaf priority {
                        type uint32;
                        description
                          "Bootstrap priority";
                      }
                    }  // container group-map-information
    
                    leaf holdtime {
                      type int32;
                      units "second";
                      description
                        "Holdtime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      units "second";
                      description
                        "Mapping expiry time in seconds";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Mapping uptime in seconds";
                    }
                  }  // list group-map-source
                }  // container group-map-sources
    
                container traffic-counters {
                  description
                    "PIM message traffic counters";
                  leaf elapsed-time {
                    type uint32;
                    units "second";
                    description
                      "Running time for counters in seconds";
                  }
    
                  leaf inputs {
                    type uint32;
                    description "Packets in";
                  }
    
                  leaf outputs {
                    type uint32;
                    description "Packets out";
                  }
    
                  leaf format-error {
                    type uint32;
                    description
                      "Malformed packets in";
                  }
    
                  leaf pakman-error {
                    type uint32;
                    description
                      "Pakman packets dropped";
                  }
    
                  leaf standby-packets-error {
                    type uint32;
                    description
                      "Packets received in standby state";
                  }
    
                  leaf checksum-error {
                    type uint32;
                    description
                      "Checksum errors";
                  }
    
                  leaf socket-error {
                    type uint32;
                    description "Socket errors";
                  }
    
                  leaf send-queue-full {
                    type uint32;
                    description
                      "Packets dropped since send queue was full";
                  }
    
                  leaf boundary-acl-rx-drop {
                    type uint32;
                    description
                      "Inc. JP dropped since boundary ACL confg";
                  }
    
                  leaf boundary-acl-tx-drop {
                    type uint32;
                    description
                      "Out JP dropped since boundary ACL confg";
                  }
    
                  leaf no-socket-connection {
                    type uint32;
                    description
                      "Packets dropped since no socket connection";
                  }
    
                  leaf no-source-address {
                    type uint32;
                    description
                      "Packets dropped since no source address";
                  }
    
                  leaf input-hello {
                    type uint32;
                    description
                      "Hello packets in";
                  }
    
                  leaf output-hello {
                    type uint32;
                    description
                      "Hello packets out";
                  }
    
                  leaf input-jp {
                    type uint32;
                    description
                      "Join Prune packets in";
                  }
    
                  leaf output-jp {
                    type uint32;
                    description
                      "Join Prune packets out";
                  }
    
                  leaf input-data-register {
                    type uint32;
                    description
                      "Data Register packets in";
                  }
    
                  leaf input-null-register {
                    type uint32;
                    description
                      "Null Register packets in";
                  }
    
                  leaf output-null-register {
                    type uint32;
                    description
                      "Null Register packets out";
                  }
    
                  leaf input-register-stop {
                    type uint32;
                    description
                      "Register Stop packets in";
                  }
    
                  leaf output-register-stop {
                    type uint32;
                    description
                      "Register Stop packets out";
                  }
    
                  leaf input-assert {
                    type uint32;
                    description
                      "Assert packets in";
                  }
    
                  leaf input-assert-batched {
                    type uint32;
                    description
                      "Batched Assert packets in";
                  }
    
                  leaf output-assert {
                    type uint32;
                    description
                      "Assert packets out";
                  }
    
                  leaf output-assert-batched {
                    type uint32;
                    description
                      "Batched Assert packets out";
                  }
    
                  leaf input-df-election {
                    type uint32;
                    description
                      "DF Election packets in";
                  }
    
                  leaf output-df-election {
                    type uint32;
                    description
                      "DF Election packets out";
                  }
    
                  leaf input-bsr-message {
                    type uint32;
                    description
                      "Input BSR Messages";
                  }
    
                  leaf output-bsr-message {
                    type uint32;
                    description
                      "Output BSR Messages";
                  }
    
                  leaf input-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Input Candidate-RP Advertisment";
                  }
    
                  leaf output-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Output Candidate-RP Advertisment";
                  }
    
                  leaf input-ecmp-redirect {
                    type uint32;
                    description
                      "Input Ecmp Redirect";
                  }
    
                  leaf output-ecmp-redirect {
                    type uint32;
                    description
                      "Output Ecmp Redirect";
                  }
    
                  leaf output-loop-error {
                    type uint32;
                    description
                      "Output on loopback error";
                  }
    
                  leaf mldp-mdt-invalid-lsm-identifier {
                    type uint32;
                    description
                      " Invalid LSM ID";
                  }
    
                  leaf input-no-idb-error {
                    type uint32;
                    description
                      "No IDB for intf error";
                  }
    
                  leaf input-no-vrf-error {
                    type uint32;
                    description
                      "No VRF for idb error";
                  }
    
                  leaf input-no-pim-error {
                    type uint32;
                    description
                      "PIM Disabled on intf error";
                  }
    
                  leaf input-pim-version-error {
                    type uint32;
                    description
                      "Invalid PIM version error";
                  }
    
                  leaf output-join-group {
                    type uint32;
                    description
                      "Output Join Groups";
                  }
    
                  leaf output-prune-group {
                    type uint32;
                    description
                      "Output Prune Groups";
                  }
    
                  leaf output-join-prune-bytes {
                    type uint32;
                    units "byte";
                    description
                      "Output JP Bytes";
                  }
    
                  leaf output-hello-bytes {
                    type uint32;
                    units "byte";
                    description
                      "Output Hello Bytes";
                  }
    
                  leaf non-supported-packets {
                    type uint32;
                    description
                      "PIM non supported pckets";
                  }
    
                  leaf invalid-registers {
                    type uint32;
                    description
                      "PIM invalid registers received";
                  }
    
                  leaf invalid-join-prunes {
                    type uint32;
                    description
                      "PIM invalid Join/Prunes received";
                  }
    
                  leaf packet-packman-error {
                    type uint32;
                    description
                      "Packets Dropped due to Pakman Error";
                  }
    
                  leaf packet-read-socket-error {
                    type uint32;
                    description
                      "Packet Read Socket Error";
                  }
    
                  leaf packet-queue-last-clear {
                    type uint32;
                    units "second";
                    description
                      "Time in seconds since the last clear of all
    packet queues stats";
                  }
    
                  leaf packets-standby {
                    type uint32;
                    description
                      "Packets Dropped due to Standby Error";
                  }
    
                  leaf no-mdt-socket-connection {
                    type uint32;
                    description
                      "Packets dropped since no mdt socket connection";
                  }
    
                  leaf mdt-send-queue-full {
                    type uint32;
                    description
                      "Packets dropped since mdt send queue was full";
                  }
    
                  leaf mdt-socket-error {
                    type uint32;
                    description
                      "MDT Socket errors";
                  }
    
                  leaf mdt-join-tlv-sent {
                    type uint32;
                    description
                      "Data MDT Join Msgs sent";
                  }
    
                  leaf mdt-join-tlv-received {
                    type uint32;
                    description
                      "Data MDT Join Msgs received";
                  }
    
                  leaf mdt-join-bad-type {
                    type uint32;
                    description
                      "Data MDT TLV bad type";
                  }
    
                  leaf mdt-drop-local-source-address {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to local source
    addr";
                  }
    
                  leaf mdt-drop-null-local-address {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to null local
    addr";
                  }
    
                  leaf mdt-drop-no-idb {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to idb missing";
                  }
    
                  leaf mdt-drop-no-vrf {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to vrf missing";
                  }
    
                  leaf invalid-destination-packets {
                    type uint32;
                    description
                      "Control Packets with Invalid Destination";
                  }
    
                  leaf mdt-joins-drop-multiple-encapsulation {
                    type uint32;
                    description
                      "MDT Join msgs dropped due to multiple Encap
    limitation";
                  }
    
                  leaf truncated-pim-packets {
                    type uint32;
                    description
                      "Packets dropped due to truncated Joins or Prunes";
                  }
    
                  leaf invalid-source-encodings {
                    type uint32;
                    description
                      "Number of invalid source encodings received";
                  }
    
                  leaf invalid-hello-options {
                    type uint32;
                    description
                      "Number of invalid hello options received";
                  }
    
                  list packet-queue {
                    max-elements 2;
                    description
                      "Packet queue state and statistics";
                    container packet-queue-state {
                      description
                        "State of the queue";
                      leaf max-queue-size {
                        type uint32;
                        units "byte";
                        description
                          "Maximum size of queue in bytes";
                      }
    
                      leaf queue-size-bytes {
                        type uint32;
                        units "byte";
                        description
                          "Size of queue in bytes";
                      }
    
                      leaf queue-size-packets {
                        type uint32;
                        description
                          "Size of queue in number of packets";
                      }
                    }  // container packet-queue-state
    
                    container packet-queue-stats {
                      description
                        "Statistics about the queue";
                      leaf enqueued-packets {
                        type uint32;
                        description
                          "Total number of packets enqueued to this queue";
                      }
    
                      leaf dequeued-packets {
                        type uint32;
                        description
                          "Total number of packets dequeued from this queue";
                      }
    
                      leaf high-water-mark-packets {
                        type uint32;
                        description
                          "Highest number of packets enqueued in this queue";
                      }
    
                      leaf high-water-mark-bytes {
                        type uint32;
                        units "byte";
                        description
                          "Highest number of bytes enqueued in this queue";
                      }
    
                      leaf tail-drops {
                        type uint32;
                        description
                          "Number packets dropped from this queue due to
    max size";
                      }
                    }  // container packet-queue-stats
    
                    leaf packet-queue-priority {
                      type uint32;
                      description
                        "Priority of this packet queue";
                    }
                  }  // list packet-queue
                }  // container traffic-counters
    
                container group-map-rpfs {
                  description
                    "PIM group mapping information";
                  list group-map-rpf {
                    key "prefix prefix-length client protocol rp-address rp-priority";
                    description
                      "PIM group mapping entry";
                    leaf prefix {
                      type inet:ip-address-no-zone;
                      description "Prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    leaf protocol {
                      type Pim-protocol;
                      description "Protocol";
                    }
    
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf rp-priority {
                      type uint32;
                      description "RP priority";
                    }
    
                    container rpf-neighbor {
                      description
                        "RPF neighbor to the RP";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container group-map-information {
                      description
                        "Group Mapping information";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container rp-address {
                        description
                          "Rendezvous Point Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rp-address
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf client {
                        type Pim-show-range-client;
                        description
                          "Client mapping learnt from";
                      }
    
                      leaf protocol {
                        type Pim-show-protocol;
                        description
                          "Protocol mode of the range";
                      }
    
                      leaf group-count {
                        type uint32;
                        description
                          "No. of groups in this range";
                      }
    
                      leaf is-used {
                        type boolean;
                        description
                          "Is this mapping being used?";
                      }
    
                      leaf mrib-active {
                        type boolean;
                        description
                          "Is this mapping active in MRIB?";
                      }
    
                      leaf is-override {
                        type boolean;
                        description
                          "Is this the override range?";
                      }
    
                      leaf priority {
                        type uint32;
                        description
                          "Bootstrap priority";
                      }
                    }  // container group-map-information
    
                    leaf are-we-rp {
                      type boolean;
                      description
                        "Are we the RP?";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "RPF interface to the RP";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
                  }  // list group-map-rpf
                }  // container group-map-rpfs
    
                container summary {
                  description "PIM summary";
                  leaf route-limit {
                    type uint32;
                    description "Maximum routes";
                  }
    
                  leaf route-count {
                    type uint32;
                    description "Current routes";
                  }
    
                  leaf route-low-water-mark {
                    type uint32;
                    description
                      "The number of routes below which the throttle on
    route creation will be lifted";
                  }
    
                  leaf is-route-limit-reached {
                    type boolean;
                    description
                      "Is route creation throttled";
                  }
    
                  leaf topology-interface-state-limit {
                    type uint32;
                    description
                      "Maximum Topology Interface State count";
                  }
    
                  leaf topology-interface-state-count {
                    type uint32;
                    description
                      "Current Topology Interface State count";
                  }
    
                  leaf rxi-low-water-mark {
                    type uint32;
                    description
                      "The rxi below which the throttle on interface
    creation will be lifted";
                  }
    
                  leaf rxi-limit-reached {
                    type boolean;
                    description
                      "Is interface creation throttled";
                  }
    
                  leaf register-limit {
                    type uint32;
                    description
                      "Maximum registers";
                  }
    
                  leaf register-count {
                    type uint32;
                    description
                      "Current registers";
                  }
    
                  leaf register-limit-reached {
                    type boolean;
                    description
                      "Is PIM SM register handling throttled";
                  }
    
                  leaf ranges-limit {
                    type uint32;
                    description
                      "Maximum group ranges from Autorp";
                  }
    
                  leaf ranges-count {
                    type uint32;
                    description
                      "Current group ranges from Autorp";
                  }
    
                  leaf ranges-threshold {
                    type uint32;
                    description
                      "OOR theshold of grange ranges from AutoRP";
                  }
    
                  leaf is-ranges-limit-reached {
                    type boolean;
                    description
                      "Is Auto-RP group-to-RP mapping range creation
    throttled";
                  }
    
                  leaf bsr-ranges-limit {
                    type uint32;
                    description
                      "Maximum group ranges from BSR";
                  }
    
                  leaf bsr-ranges-count {
                    type uint32;
                    description
                      "Current group ranges from BSR";
                  }
    
                  leaf bsr-range-threshold {
                    type uint32;
                    description
                      "Threshold group range from BSR";
                  }
    
                  leaf is-bsr-ranges-threshold-reached {
                    type boolean;
                    description
                      "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                  }
    
                  leaf bsr-candidate-rp-set-limit {
                    type uint32;
                    description
                      "Maximum crp-set from BSR";
                  }
    
                  leaf bsr-candidate-rp-set-count {
                    type uint32;
                    description
                      "Current crp-set count from BSR";
                  }
    
                  leaf bsr-candidate-rp-set-threshold {
                    type uint32;
                    description
                      "Threshold crp-set from BSR";
                  }
    
                  leaf is-maximum-enforcement-disabled {
                    type boolean;
                    description
                      "Is maximum enforcement disabled";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
    
                  leaf route-threshold {
                    type uint32;
                    description
                      "Threshold routes";
                  }
    
                  leaf global-auto-rp-ranges-limit {
                    type uint32;
                    description
                      "Global Auto-RP maximum group ranges";
                  }
    
                  leaf is-global-auto-rp-ranges-limit-reached {
                    type boolean;
                    description
                      "Is global AutoRP group-to-RP mapping range
    creation throttled";
                  }
    
                  leaf global-bsr-ranges-limit {
                    type uint32;
                    description
                      "Global BSR maximum group ranges";
                  }
    
                  leaf global-bsr-ranges-count {
                    type uint32;
                    description
                      "Global BSR current group ranges";
                  }
    
                  leaf global-bsr-ranges-threshold {
                    type uint32;
                    description
                      "Global BSR Threshold group ranges";
                  }
    
                  leaf is-global-bsr-ranges-limit-reached {
                    type boolean;
                    description
                      "Is global BSR group-to-RP mapping range creation
    throttled";
                  }
    
                  leaf global-bsr-candidate-rp-set-limit {
                    type uint32;
                    description
                      "Global BSR maximum crp-set";
                  }
    
                  leaf global-bsr-candidate-rp-set-count {
                    type uint32;
                    description
                      "Global BSR current crp-set count";
                  }
    
                  leaf global-bsr-candidate-rp-set-threshold {
                    type uint32;
                    description
                      "Global BSR Threshold crp-set";
                  }
    
                  leaf is-global-route-limit-reached {
                    type boolean;
                    description
                      "Is global route creation throttled";
                  }
    
                  leaf topology-interface-state-threshold {
                    type uint32;
                    description
                      "Topology Interface State threshold";
                  }
    
                  leaf is-global-rxi-limit-reached {
                    type boolean;
                    description
                      "Is global interface creation throttled";
                  }
    
                  leaf register-threshold {
                    type uint32;
                    description
                      "Threshold registers";
                  }
    
                  leaf global-register-limit {
                    type uint32;
                    description
                      "Maximum global registers";
                  }
    
                  leaf is-global-register-limit-reached {
                    type boolean;
                    description
                      "Is global PIM SM register handling throttled";
                  }
                }  // container summary
    
                container gre {
                  description "GRE information";
                  container gre-next-hops {
                    description
                      "GRE destination neighbor table";
                    list gre-next-hop {
                      key "destination-address";
                      description
                        "PIM GRE address next-hop information";
                      leaf destination-address {
                        type inet:ip-address-no-zone;
                        description
                          "GRE destination address";
                      }
    
                      container registered-address {
                        description
                          "Address registered";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container registered-address
    
                      leaf metric {
                        type uint32;
                        description "Metric";
                      }
    
                      leaf metric-preference {
                        type uint32;
                        description
                          "Metric preference";
                      }
    
                      leaf is-connected {
                        type uint8;
                        description
                          "Are we connected ?";
                      }
    
                      list gre-path {
                        description
                          "GRE Paths list";
                        container gre-neighbor {
                          description
                            "GRE neighbor";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container gre-neighbor
    
                        container gre-next-hop {
                          description
                            "GRE nexthop";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container gre-next-hop
    
                        leaf gre-interface-name {
                          type xr:Interface-name;
                          description
                            "GRE Interface";
                        }
    
                        leaf is-gre-interface-disabled {
                          type boolean;
                          description
                            "Is the gre interface disabled ?";
                        }
    
                        leaf is-via-lsm {
                          type boolean;
                          description "Via LSM";
                        }
    
                        leaf is-connector-attribute-present {
                          type boolean;
                          description
                            "Connector attribute present";
                        }
    
                        leaf extranet-vrf-name {
                          type string {
                            length "0..33";
                          }
                          description
                            "Extranet VRF name";
                        }
                      }  // list gre-path
                    }  // list gre-next-hop
                  }  // container gre-next-hops
                }  // container gre
    
                container bidir-df-winners {
                  description
                    "Bidirectional PIM DF election winner table";
                  list bidir-df-winner {
                    key "rp-address interface-name";
                    description
                      "Bidirectional PIM DF election table entry";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container rp-address-xr {
                      description "RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    container df-winner {
                      description "DF Winner";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container df-winner
    
                    leaf pim-interface-name {
                      type string;
                      description
                        "Interface Name";
                    }
    
                    leaf are-we-df {
                      type boolean;
                      description "Are we DF";
                    }
    
                    leaf rp-lan {
                      type boolean;
                      description
                        "Is this the RP LAN";
                    }
    
                    leaf metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf metric-preference {
                      type uint32;
                      description
                        "Metric Preference";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
                  }  // list bidir-df-winner
                }  // container bidir-df-winners
    
                container table-contexts {
                  description
                    "PIM table context list";
                  list table-context {
                    key "saf-name topology-name";
                    description
                      "PIM table context information";
                    leaf saf-name {
                      type Pim-safi;
                      description "SAF name";
                    }
    
                    leaf topology-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Topology name";
                    }
    
                    leaf afi {
                      type uint32;
                      description "AFI";
                    }
    
                    leaf safi {
                      type uint32;
                      description "SAFI";
                    }
    
                    leaf table-name {
                      type string;
                      description "Table name";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF ID";
                    }
    
                    leaf table-id {
                      type uint32;
                      description "Table ID";
                    }
    
                    leaf is-active {
                      type boolean;
                      description
                        "Active status";
                    }
    
                    leaf is-ital-registration-done {
                      type boolean;
                      description
                        "ITAL reg status";
                    }
    
                    leaf is-rib-registration-done {
                      type boolean;
                      description
                        "RIB reg status";
                    }
    
                    leaf is-rib-convergence-received {
                      type boolean;
                      description
                        "RIB Convergence receive status";
                    }
    
                    leaf is-rib-convergence {
                      type boolean;
                      description
                        "RIB Convergence status";
                    }
    
                    leaf rpf-registrations {
                      type uint32;
                      description
                        "RPF Registration count";
                    }
                  }  // list table-context
                }  // container table-contexts
    
                container neighbor-summaries {
                  description
                    "PIM neighbor summary table";
                  list neighbor-summary {
                    key "interface-name";
                    description
                      "PIM neighbor summary information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf number-of-neighbors {
                      type int32;
                      description
                        "Number of neighbors";
                    }
    
                    leaf number-of-external-neighbors {
                      type int32;
                      description
                        "Number of external neighbors";
                    }
                  }  // list neighbor-summary
                }  // container neighbor-summaries
    
                container context {
                  description
                    "PIM context information";
                  container remote-default-group {
                    description
                      "Remote Default Group";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container remote-default-group
    
                  container rpf-default-table {
                    description
                      "RPF Default Table";
                    leaf afi {
                      type uint32;
                      description "AFI";
                    }
    
                    leaf safi {
                      type uint32;
                      description "SAFI";
                    }
    
                    leaf table-name {
                      type string;
                      description "Table name";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF ID";
                    }
    
                    leaf table-id {
                      type uint32;
                      description "Table ID";
                    }
    
                    leaf is-active {
                      type boolean;
                      description
                        "Active status";
                    }
    
                    leaf is-ital-registration-done {
                      type boolean;
                      description
                        "ITAL reg status";
                    }
    
                    leaf is-rib-registration-done {
                      type boolean;
                      description
                        "RIB reg status";
                    }
    
                    leaf is-rib-convergence-received {
                      type boolean;
                      description
                        "RIB Convergence receive status";
                    }
    
                    leaf is-rib-convergence {
                      type boolean;
                      description
                        "RIB Convergence status";
                    }
    
                    leaf rpf-registrations {
                      type uint32;
                      description
                        "RPF Registration count";
                    }
                  }  // container rpf-default-table
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf murib-id {
                    type uint32;
                    description "MURIB ID";
                  }
    
                  leaf rpf-id {
                    type uint32;
                    description "RPF ID";
                  }
    
                  leaf remote-table-id {
                    type uint32;
                    description
                      "Remote Table ID";
                  }
    
                  leaf mdt-default-group {
                    type inet:ipv4-address;
                    description
                      "MDT Default group";
                  }
    
                  leaf mdt-source {
                    type inet:ipv4-address;
                    description "MDT source";
                  }
    
                  leaf mdt-source-interface {
                    type string;
                    description
                      "MDT Source Interface Name";
                  }
    
                  leaf mdt-interface {
                    type xr:Interface-name;
                    description "MDT handle";
                  }
    
                  leaf mdt-gre-rpf-identifier {
                    type uint32;
                    description
                      "GRE-MDT RPF Identifier";
                  }
    
                  leaf mdt-gre-remote-rpf-identifier {
                    type uint32;
                    description
                      "GRE-MDT Remote RPF Identifier";
                  }
    
                  leaf is-unicast-rib-registration {
                    type boolean;
                    description
                      "Ucast RIB Registration";
                  }
    
                  leaf is-multicast-rib-registration {
                    type boolean;
                    description
                      "Mcast RIB Registration";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active";
                  }
    
                  leaf is-active-ital {
                    type boolean;
                    description "Active ITAL";
                  }
    
                  leaf is-mrib-register {
                    type boolean;
                    description "MRIB Register";
                  }
    
                  leaf is-mdt-owner {
                    type boolean;
                    description "MDT Owner";
                  }
    
                  leaf is-routing-enabled {
                    type boolean;
                    description
                      "Routing Enabled";
                  }
    
                  leaf is-socket-add-required {
                    type boolean;
                    description
                      "VRF required on Socket";
                  }
    
                  leaf is-socket-added {
                    type boolean;
                    description
                      "VRF added on Socket";
                  }
    
                  leaf is-lpts-socket-add-required {
                    type boolean;
                    description
                      "VRF LPTS filter required on Socket";
                  }
    
                  leaf is-lpts-socket-added {
                    type boolean;
                    description
                      "VRF LPTS filter added on Socket";
                  }
    
                  leaf is-udp-socket-add-required {
                    type boolean;
                    description
                      "VRF added on UDP Socket";
                  }
    
                  leaf is-udp-socket-added {
                    type boolean;
                    description
                      "VRF added on UDP Socket";
                  }
    
                  leaf is-udp-socket-bind-required {
                    type boolean;
                    description
                      "VRF bind required on UDP Socket";
                  }
    
                  leaf is-udp-socket-bind {
                    type boolean;
                    description
                      "VRF bound on UDP Socket";
                  }
    
                  leaf is-register-injection-socket-add-required {
                    type boolean;
                    description
                      "VRF required on Register Injection Socket";
                  }
    
                  leaf is-register-injection-socket-added {
                    type boolean;
                    description
                      "VRF added on Register Injection Socket";
                  }
    
                  leaf is-register-injection-lpts-socket-add-required {
                    type boolean;
                    description
                      "VRF LPTS filter required on Register Injection
    Socket";
                  }
    
                  leaf is-register-injection-lpts-socket-added {
                    type boolean;
                    description
                      "VRF LPTS filter added on Register Injection
    Socket";
                  }
    
                  leaf is-m-host-publish-pending {
                    type boolean;
                    description
                      "Publish pending for MHost Default interface";
                  }
    
                  leaf mhost-interface {
                    type xr:Interface-name;
                    description "MHost handle";
                  }
    
                  leaf mhost-default-interface-config {
                    type string;
                    description
                      "Configured Mhost Defint";
                  }
    
                  leaf mdt-mtu {
                    type uint32;
                    description "MDT MTU";
                  }
    
                  leaf maximum-mdt-aggregation {
                    type uint32;
                    description
                      "MDT max aggregation";
                  }
    
                  leaf mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Data MDT Switchover interval";
                  }
    
                  leaf mdt-data-announce-interval {
                    type uint32;
                    description
                      "Data MDT Announce interval";
                  }
    
                  leaf non-default-vrf-count-on-socket {
                    type uint32;
                    description
                      "Count of non-default vrfs on raw socket";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf mdt-neighbor-filter-name {
                    type string;
                    description
                      "MDT Neighbor Filter Name";
                  }
    
                  leaf allow-rp-configured {
                    type boolean;
                    description
                      "Allow RP Configured";
                  }
    
                  leaf allow-rp-group-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "Allow RP Group-List ACL Name";
                  }
    
                  leaf allow-rp-rp-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "Allow RP RP-list ACL Name";
                  }
    
                  leaf sg-expiry-timer-configured {
                    type boolean;
                    description
                      "S,G Expiry Timer Configured";
                  }
    
                  leaf sg-expiry-time {
                    type uint16;
                    units "second";
                    description
                      "S,G Expiry Time Configured, in seconds";
                  }
    
                  leaf sg-expiry-timer-sg-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "S,G expiry timer ACL name";
                  }
    
                  leaf mldp-mdt-name {
                    type string;
                    description "MLDP MDT Name";
                  }
    
                  leaf mldp-mdt-interface {
                    type xr:Interface-name;
                    description
                      "MLDP MDT handle";
                  }
    
                  leaf mldp-mdt-mtu {
                    type uint32;
                    description "MLDP MDT MTU";
                  }
    
                  leaf mldp-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "MLDP MDT max aggregation";
                  }
    
                  leaf mldp-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "MLDP Data MDT Switchover interval";
                  }
    
                  leaf mldp-mdt-data-announce-interval {
                    type uint32;
                    description
                      "MLDP Data MDT Announce interval";
                  }
    
                  leaf mldp-mdt-rpf-identifier {
                    type uint32;
                    description "MLDP RPF-ID";
                  }
    
                  leaf mldp-mdt-remote-rpf-identifier {
                    type uint32;
                    description
                      "MLDP Remote RPF-ID";
                  }
    
                  leaf is-create-mldp-mdt-interface {
                    type boolean;
                    description
                      "Create MLDP MDT interface";
                  }
    
                  leaf is-mldp-mdt-owner {
                    type boolean;
                    description "MLDP MDT Owner";
                  }
    
                  leaf mldp-root-count {
                    type uint32;
                    description
                      "MLDP Root count";
                  }
    
                  leaf mldp-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP Head LSM-ID";
                  }
    
                  leaf mldp-remote-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP Remote Head LSM-ID";
                  }
    
                  leaf organization-unique-identifier {
                    type uint32;
                    description "OUI for VPN-ID";
                  }
    
                  leaf vpn-index {
                    type uint32;
                    description "VPN Index";
                  }
    
                  leaf mldp-partitioned-mdt-configured {
                    type boolean;
                    description
                      "MLDP Partitioned MDT";
                  }
    
                  leaf mldp-remote-partitioned-mdt-configured {
                    type boolean;
                    description
                      "MLDP Remote Partitioned MDT";
                  }
    
                  leaf mldp-partioned-mp2m-ptree {
                    type boolean;
                    description
                      "MP2MP Partitioned MDT tree";
                  }
    
                  leaf mldp-partitioned-head-lsm-identifier {
                    type uint32;
                    description
                      "Partitioned MDT Head LSM-ID";
                  }
    
                  leaf mldp-head-local-label {
                    type uint32;
                    description
                      "Partitioned MDT Head local label";
                  }
    
                  leaf mldp-partitioned-mdt-identifier {
                    type uint32;
                    description
                      "MLDP Partitioned MDT Identifier";
                  }
    
                  leaf bgp-auto-discovery-configured {
                    type boolean;
                    description
                      "BGP Auto-Discovery configured";
                  }
    
                  leaf suppress-pim-data-mdt-tlv {
                    type boolean;
                    description
                      "Suppress PIM Data-MDT TLV Announcements";
                  }
    
                  leaf inter-autonomous-system-enabled {
                    type boolean;
                    description
                      "Inter-AS Enabled";
                  }
    
                  leaf bgp-source-active-announce {
                    type boolean;
                    description
                      "Send BGP Source-Active Announcements";
                  }
    
                  leaf bgp-i-pmsi-added {
                    type boolean;
                    description
                      "BGP I-PMSI Added";
                  }
    
                  leaf mldp-bsr-control-tree-added {
                    type boolean;
                    description
                      "MLDP BSR Control tree added";
                  }
    
                  leaf mldp-auto-rp-discovery-tree-added {
                    type boolean;
                    description
                      "MLDP Autorp Discovery Control tree added";
                  }
    
                  leaf mldp-auto-rp-announce-tree-added {
                    type boolean;
                    description
                      "MLDP Autorp Announce Control tree added";
                  }
    
                  leaf bgp-auto-discovery-type {
                    type uint32;
                    description
                      "BGP Auto Discovery Type";
                  }
    
                  leaf mdt-partitioned-mdt-control-identifier {
                    type uint32;
                    description
                      "Partitioned MDT Control Identifier";
                  }
    
                  leaf mdt-partitioned-ir-control-identifier {
                    type uint32;
                    description
                      "Partitioned IR MDT Control Identifier";
                  }
    
                  leaf mldp-control-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP MVPN Identifier";
                  }
    
                  leaf umh {
                    type boolean;
                    description
                      "Join UMH Core-Tree";
                  }
    
                  leaf suppress-shared-tree-join {
                    type boolean;
                    description
                      "Suppress Shared-Tree Joins";
                  }
    
                  leaf rsvp-te-mdt-name {
                    type string;
                    description
                      "RSVP-TE MDT Name";
                  }
    
                  leaf rsvp-te-mdt-interface {
                    type xr:Interface-name;
                    description
                      "RSVP-TEMDT handle";
                  }
    
                  leaf rsvp-te-mdt-mtu {
                    type uint32;
                    description "RSVP-TEMDT MTU";
                  }
    
                  leaf rsvp-te-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "RSVP-TE MDT max aggregation";
                  }
    
                  leaf rsvp-te-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "RSVP-TE Data MDT Switchover interval";
                  }
    
                  leaf rsvp-te-mdt-data-announce-interval {
                    type uint32;
                    description
                      "RSVP-TE Data MDT Announce interval";
                  }
    
                  leaf rsvp-te-mdt-rpf-identifier {
                    type uint32;
                    description "RSVP-TE RPF-ID";
                  }
    
                  leaf is-create-rsvp-te-mdt-interface {
                    type boolean;
                    description
                      "Create RSVP-TE MDT interface";
                  }
    
                  leaf is-rsvp-te-mdt-owner {
                    type boolean;
                    description
                      "RSVP-TE MDT Owner";
                  }
    
                  leaf rsvp-te-mdt-static-p2mp-count {
                    type uint32;
                    description
                      "Number of Static P2MP-TE MDT";
                  }
    
                  leaf p2mpte-li-drop {
                    type uint32;
                    description
                      "Route LI updates dropped for P2MP";
                  }
    
                  leaf ir-mdt-name {
                    type string;
                    description "IR MDT Name";
                  }
    
                  leaf ir-mdt-interface {
                    type xr:Interface-name;
                    description "IRMDT handle";
                  }
    
                  leaf ir-mdt-mtu {
                    type uint32;
                    description "IRMDT MTU";
                  }
    
                  leaf ir-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "IR MDT max aggregation";
                  }
    
                  leaf ir-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "IR Data MDT Switchover interval";
                  }
    
                  leaf ir-mdt-data-announce-interval {
                    type uint32;
                    description
                      "IR Data MDT Announce interval";
                  }
    
                  leaf ir-mdt-rpf-identifier {
                    type uint32;
                    description "IR RPF-ID";
                  }
    
                  leaf ir-mdt-tail-label {
                    type uint32;
                    description "IR Tail Label";
                  }
    
                  leaf is-create-ir-mdt-interface {
                    type boolean;
                    description
                      "Create IR MDT interface";
                  }
    
                  leaf is-ir-mdt-owner {
                    type boolean;
                    description "IR MDT Owner";
                  }
    
                  leaf is-sr-local {
                    type boolean;
                    description "SR Local";
                  }
    
                  leaf is-sr-remote {
                    type boolean;
                    description "SR Remote";
                  }
    
                  leaf sr-mdt-name {
                    type string;
                    description "SR MDT Name";
                  }
    
                  leaf sr-mdt-interface {
                    type xr:Interface-name;
                    description "SRMDT handle";
                  }
    
                  leaf sr-mdt-mtu {
                    type uint32;
                    description "SRMDT MTU";
                  }
    
                  leaf sr-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "SR MDT max aggregation";
                  }
    
                  leaf sr-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "SR Data MDT Switchover interval";
                  }
    
                  leaf sr-mdt-data-announce-interval {
                    type uint32;
                    description
                      "SR Data MDT Announce interval";
                  }
    
                  leaf sr-mdt-rpf-identifier {
                    type uint32;
                    description "SR RPF-ID";
                  }
    
                  leaf sr-mdt-tail-label {
                    type uint32;
                    description "SR Tail Label";
                  }
    
                  leaf is-create-sr-mdt-interface {
                    type boolean;
                    description
                      "Create SR MDT interface";
                  }
    
                  leaf is-sr-mdt-owner {
                    type boolean;
                    description "SR MDT Owner";
                  }
    
                  leaf mdt-partitioned-tree-sid-control-identifier {
                    type uint32;
                    description
                      "Partitioned Tree-SID MDT Control Identifier";
                  }
    
                  leaf in-b-and-mdt-name {
                    type string;
                    description
                      "Inband MDT Name";
                  }
    
                  leaf in-b-and-mdt-interface {
                    type xr:Interface-name;
                    description
                      "Inband MDT handle";
                  }
    
                  leaf in-b-and-mdt-mtu {
                    type uint32;
                    description "Inband MDT MTU";
                  }
    
                  leaf in-band-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "Inband MDT max aggregation";
                  }
    
                  leaf in-b-and-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Inband Data MDT Switchover interval";
                  }
    
                  leaf in-b-and-mdt-data-announce-interval {
                    type uint32;
                    description
                      "Inband Data MDT Announce interval";
                  }
    
                  leaf in-b-and-mdt-rpf-identifier {
                    type uint32;
                    description "Inband RPF-ID";
                  }
    
                  leaf is-create-in-b-and-mdt-interface {
                    type boolean;
                    description
                      "Create Inband MDT interface";
                  }
    
                  leaf is-in-b-and-mdt-owner {
                    type boolean;
                    description
                      "Inband MDT Owner";
                  }
    
                  leaf in-band-signaling-local-enabled {
                    type boolean;
                    description
                      "Inband signaling Local enabled";
                  }
    
                  leaf in-band-signaling-remote-enabled {
                    type boolean;
                    description
                      "Inband signaling Remote enabled";
                  }
    
                  leaf valid-rd-present {
                    type boolean;
                    description "RD is valid";
                  }
    
                  leaf stale-rd-present {
                    type boolean;
                    description "RD is stale";
                  }
    
                  leaf route-distinguisher {
                    type yang:hex-string;
                    description "RD value";
                  }
    
                  leaf gin-b-and-mdt-name {
                    type string;
                    description
                      "Inband MDT Name";
                  }
    
                  leaf gin-b-and-mdt-interface {
                    type xr:Interface-name;
                    description
                      "Inband MDT handle";
                  }
    
                  leaf gin-b-and-mdt-mtu {
                    type uint32;
                    description "Inband MDT MTU";
                  }
    
                  leaf gin-band-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "Inband MDT max aggregation";
                  }
    
                  leaf gin-b-and-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Inband Data MDT Switchover interval";
                  }
    
                  leaf gin-b-and-mdt-data-announce-interval {
                    type uint32;
                    description
                      "Inband Data MDT Announce interval";
                  }
    
                  leaf gin-b-and-mdt-rpf-identifier {
                    type uint32;
                    description "Inband RPF-ID";
                  }
    
                  leaf is-create-gin-b-and-mdt-interface {
                    type boolean;
                    description
                      "Create Inband MDT interface";
                  }
    
                  leaf is-gin-b-and-mdt-owner {
                    type boolean;
                    description
                      "Inband MDT Owner";
                  }
    
                  leaf is-pim-nsf-rib-converged {
                    type boolean;
                    description
                      "PIM NSF RIB converged";
                  }
    
                  leaf is-pim-nsf-rib-converge-received {
                    type boolean;
                    description
                      "PIM NSF RIB converge received";
                  }
    
                  leaf is-rib-multipath-enabled {
                    type boolean;
                    description
                      "PIM RIB multiplath enabled";
                  }
    
                  leaf is-rib-multipath-interface-hash {
                    type boolean;
                    description
                      "PIM RIB multipath interface hash";
                  }
    
                  leaf is-rib-multipath-source-hash {
                    type boolean;
                    description
                      "PIM RIB multipath source based hash";
                  }
    
                  leaf is-rib-multipath-source-next-hop-hash {
                    type boolean;
                    description
                      "PIM RIB multipath source-nexthop hash";
                  }
    
                  leaf rump-enabled {
                    type boolean;
                    description
                      "PIM is using MuRIB";
                  }
    
                  leaf is-create-mdt-interface {
                    type boolean;
                    description
                      "Create MDT interface";
                  }
    
                  leaf is-auto-rp-listen-enabled {
                    type boolean;
                    description
                      "Auto RP Listen Enabled";
                  }
    
                  leaf is-all-interface-disable-operation {
                    type boolean;
                    description
                      "PIM all interface disable operation";
                  }
    
                  leaf is-default-granges {
                    type boolean;
                    description
                      "Default granges";
                  }
    
                  leaf is-auto-rp-listen-sock-add {
                    type boolean;
                    description
                      "Auto RP listen sock add";
                  }
    
                  leaf is-redistribution-reset {
                    type boolean;
                    description
                      "Pending redist reset";
                  }
    
                  leaf redistribution-reset-count {
                    type uint32;
                    description
                      "Redist reset count";
                  }
    
                  leaf rpf-policy-name {
                    type string;
                    description
                      "RPF topology selection route-policy name";
                  }
    
                  leaf table-count {
                    type uint32;
                    description
                      "Number of configured Tables";
                  }
    
                  leaf active-table-count {
                    type uint32;
                    description
                      "Number of active Tables";
                  }
    
                  leaf anycast-rp-policy-name {
                    type string;
                    description
                      "Anycast-RP Policy Name";
                  }
    
                  leaf anycast-rp-configured {
                    type boolean;
                    description
                      "Anycast-RP config";
                  }
    
                  leaf bgp-remote-on {
                    type boolean;
                    description
                      "BGP remote interface status";
                  }
    
                  leaf bgp-remote-interface-name {
                    type string;
                    description
                      "BGP remote interface name";
                  }
    
                  leaf bgp-remote-interface {
                    type xr:Interface-name;
                    description
                      "BGP remote interface handle";
                  }
    
                  leaf bgp-remote-address {
                    type inet:ipv4-address;
                    description
                      "BGP remote interface address";
                  }
    
                  leaf bgp-remote-state {
                    type uint32;
                    description
                      "BGP remote interface state";
                  }
    
                  leaf physical-interface-count {
                    type uint64;
                    description
                      "Enabled Physical Interface Count";
                  }
    
                  leaf virtual-interface-count {
                    type uint64;
                    description
                      "Enabled Virtual Interface Count";
                  }
    
                  leaf virtual-mlc-interface-name {
                    type string;
                    description
                      "Virtual master line card Interface";
                  }
    
                  leaf mdt-immediate-switch {
                    type boolean;
                    description
                      "MDT Immediate Switch";
                  }
    
                  leaf remote-mdt-idb-name {
                    type string;
                    description
                      "Remote MDT Interface Handle Name";
                  }
    
                  leaf remote-mdt-address {
                    type inet:ipv4-address;
                    description
                      "Remote MDT interface address";
                  }
    
                  leaf-list mldp-root-address {
                    type uint32;
                    description
                      "MLDP Root addresses";
                  }
    
                  list export-route-target {
                    description
                      "Export Route Targets";
                    leaf route-target {
                      type yang:hex-string;
                      description
                        "Route Target Extended community value";
                    }
    
                    leaf configured {
                      type boolean;
                      description
                        "Configured Route Target";
                    }
    
                    leaf anycast-rp {
                      type boolean;
                      description
                        "Anycast-RP Group";
                    }
    
                    leaf anycast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Group marked";
                    }
    
                    leaf update-pending {
                      type boolean;
                      description
                        "Update Pending to BGP";
                    }
    
                    leaf bgp-auto-discovery {
                      type boolean;
                      description
                        "BGP Auto Discovery";
                    }
    
                    leaf segment-border {
                      type boolean;
                      description
                        "Segment Border";
                    }
                  }  // list export-route-target
    
                  list import-route-target {
                    description
                      "Import Route Targets";
                    leaf route-target {
                      type yang:hex-string;
                      description
                        "Route Target Extended community value";
                    }
    
                    leaf configured {
                      type boolean;
                      description
                        "Configured Route Target";
                    }
    
                    leaf anycast-rp {
                      type boolean;
                      description
                        "Anycast-RP Group";
                    }
    
                    leaf anycast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Group marked";
                    }
    
                    leaf update-pending {
                      type boolean;
                      description
                        "Update Pending to BGP";
                    }
    
                    leaf bgp-auto-discovery {
                      type boolean;
                      description
                        "BGP Auto Discovery";
                    }
    
                    leaf segment-border {
                      type boolean;
                      description
                        "Segment Border";
                    }
                  }  // list import-route-target
    
                  list anycast-rp-range {
                    description
                      "Anycast-RP Ranges";
                    container prefix {
                      description
                        "Anycast-RP Range Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    leaf prefix-length {
                      type uint8;
                      description
                        "Anycast-RP Range Prefix Length";
                    }
    
                    leaf ancast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Range marked";
                    }
                  }  // list anycast-rp-range
                }  // container context
    
                container topology-entry-flag-route-counts {
                  description
                    "Route count for topology with entry flag set";
                  list topology-entry-flag-route-count {
                    key "entry-flag";
                    description
                      "Route count for topology with entry flag set";
                    leaf entry-flag {
                      type Pim-topology-entry-flag;
                      description "entry flag";
                    }
    
                    leaf group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes";
                    }
    
                    leaf active-group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes active in mrib";
                    }
    
                    leaf groute-count {
                      type uint32;
                      description
                        "No. of (*,G) routes";
                    }
    
                    leaf sg-route-count {
                      type uint32;
                      description
                        "No. of (S,G) routes";
                    }
    
                    leaf sgr-route-count {
                      type uint32;
                      description
                        "No. of (S,G)RPT routes";
                    }
    
                    leaf is-node-low-memory {
                      type boolean;
                      description
                        "Is node in low memory condition";
                    }
                  }  // list topology-entry-flag-route-count
                }  // container topology-entry-flag-route-counts
    
                container rpf-redirect {
                  description
                    "PIM ECMP RPF-redirect bundle";
                  container redirect-route-databases {
                    description
                      "PIM ECMP RPF-redirect route database";
                    list redirect-route-database {
                      key "source-address group-address";
                      description
                        "PIM ECMP RPF-redirect route information";
                      leaf source-address {
                        type inet:ip-address-no-zone;
                        description
                          "Source address";
                      }
    
                      leaf group-address {
                        type inet:ip-address-no-zone;
                        description
                          "Group address";
                      }
    
                      container group-address-xr {
                        description
                          "Group ddress";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container group-address-xr
    
                      container source-address-xr {
                        description
                          "Source address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container source-address-xr
    
                      leaf bandwidth {
                        type uint32;
                        units "kbit/s";
                        description
                          "Bandwidth in Kbps";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      list interface {
                        description
                          "Outgoing interface list";
                        container rpf-address {
                          description
                            "RPF Address";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container rpf-address
    
                        leaf interface-name {
                          type xr:Interface-name;
                          description
                            "Interface name";
                        }
    
                        leaf uptime {
                          type uint64;
                          units "second";
                          description
                            "Uptime in seconds";
                        }
    
                        leaf expiry {
                          type uint64;
                          units "second";
                          description
                            "Expiry in seconds";
                        }
    
                        leaf is-rpf-interface {
                          type boolean;
                          description
                            "Is RPF Interface";
                        }
    
                        leaf is-outgoing-interface {
                          type boolean;
                          description
                            "Is outgoing Interface";
                        }
    
                        leaf is-snoop-interface {
                          type boolean;
                          description
                            "Is snooping Interface";
                        }
                      }  // list interface
                    }  // list redirect-route-database
                  }  // container redirect-route-databases
    
                  container bundle-interfaces {
                    description
                      "PIM ECMP RPF-redirect bundle information";
                    list bundle-interface {
                      key "bundle-name interface-name";
                      description
                        "PIM ECMP RPF-redirect bundle interface
    information";
                      leaf bundle-name {
                        type xr:Cisco-ios-xr-string {
                          length "1..32";
                        }
                        description
                          "Bundle name";
                      }
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Bundle interface name";
                      }
    
                      leaf rpf-redirect-bundle-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "RPF redirect bundle name";
                      }
    
                      leaf rpf-redirect-interface-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "RPF redirect interface name";
                      }
    
                      leaf available-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth available in Kbps";
                      }
    
                      leaf allocated-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth allocated in Kbps";
                      }
    
                      leaf total-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Total bandwidth used in Kbps";
                      }
    
                      leaf topology-bandwidth-used {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth used by topology in Kbps";
                      }
    
                      leaf snooping-bandwidth-used {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth used by snooped entries in Kbps";
                      }
    
                      leaf allocated-threshold-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Configured threshold in Kbps";
                      }
    
                      leaf available-threshold-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Available threshold in Kbps";
                      }
                    }  // list bundle-interface
                  }  // container bundle-interfaces
                }  // container rpf-redirect
    
                container tunnels {
                  description
                    "Tunnels information that PIM has";
                  list tunnel {
                    key "tunnel-name";
                    description
                      "PIM tunnel information";
                    leaf tunnel-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "Tunnel name";
                    }
    
                    container source-address {
                      description
                        "Source addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address
    
                    container rp-address {
                      description
                        "RP addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container source-address-netio {
                      description
                        "Source addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-netio
    
                    container group-address-netio {
                      description
                        "Group addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-netio
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "VRF Name";
                    }
                  }  // list tunnel
                }  // container tunnels
    
                container multicast-static-routes {
                  description
                    "PIM multicast static route table";
                  list multicast-static-route {
                    key "address prefix-length";
                    description
                      "PIM multicast static route information";
                    leaf address {
                      type inet:ip-address-no-zone;
                      description
                        "Network address";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    container prefix {
                      description "Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container nexthop {
                      description "Next Hop";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container nexthop
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Handle";
                    }
    
                    leaf distance {
                      type uint32;
                      description "Distance";
                    }
    
                    leaf prefix-length-xr {
                      type uint8;
                      description
                        "Prefix Length";
                    }
    
                    leaf is-via-lsm {
                      type boolean;
                      description "LSM flag";
                    }
                  }  // list multicast-static-route
                }  // container multicast-static-routes
    
                container neighbors {
                  description
                    "PIM neighbor table";
                  list neighbor {
                    key "interface-name neighbor-address";
                    description
                      "PIM neighbor information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf neighbor-address {
                      type inet:ip-address-no-zone;
                      description
                        "Neighbor address";
                    }
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      units "second";
                      description
                        "Neighbor expiry in seconds";
                    }
    
                    leaf expiry-timer {
                      type uint64;
                      units "second";
                      description
                        "Expiry timer in seconds";
                    }
    
                    leaf is-this-neighbor-us {
                      type boolean;
                      description
                        "Is this neighbor us ?";
                    }
    
                    leaf is-this-neighbor-dr {
                      type boolean;
                      description
                        "Is this neighbor the DR";
                    }
    
                    leaf is-dr-priority-capable {
                      type boolean;
                      description
                        "Is this neighbor DR priority capable ?";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR priority";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Is this neighbor bidir capable ?";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Is this neighbor proxy capable?";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Is this neighbor capable of batching asserts?";
                    }
    
                    leaf is-ecmp-redirect-capable {
                      type boolean;
                      description
                        "Is this neighbor capable of Ecmp Redirect?";
                    }
    
                    leaf is-bfd-state {
                      type boolean;
                      description
                        "Is the neighbor bfd session created";
                    }
    
                    leaf sticky-dr-neighbor {
                      type boolean;
                      description
                        "Is Sticky DR advertised on interface by neighbor";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    list neighbor-address-xr {
                      description
                        "List of Neighbor Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list neighbor-address-xr
                  }  // list neighbor
                }  // container neighbors
              }  // list vrf
            }  // container vrfs
          }  // container active
        }  // container pim
    
        container ipv6-pim {
          config false;
          description
            "IPv6 PIM operational data";
          container standby {
            description "Standby Process";
            container default-context {
              description "Default Context";
              container global-interfaces {
                description
                  "PIM global interface table";
                list global-interface {
                  key "interface-name";
                  description
                    "PIM interface name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list global-interface
              }  // container global-interfaces
    
              container ifrs-interfaces {
                description
                  "PIM interfaces in forward reference store table";
                list ifrs-interface {
                  key "interface-name";
                  description
                    "PIM IFRS interface information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list ifrs-interface
              }  // container ifrs-interfaces
    
              container interface-statistics {
                description
                  "PIM interface statistics";
                list interface-statistic {
                  key "interface-name";
                  description
                    "PIM interface statistics";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf input-hello {
                    type uint32;
                    description
                      "Hello packets in";
                  }
    
                  leaf output-hello {
                    type uint32;
                    description
                      "Hello packets out";
                  }
    
                  leaf input-register {
                    type uint32;
                    description
                      "Register packets in";
                  }
    
                  leaf output-register {
                    type uint32;
                    description
                      "Register packets out";
                  }
    
                  leaf input-register-stop {
                    type uint32;
                    description
                      "Register Stop packets in";
                  }
    
                  leaf output-register-stop {
                    type uint32;
                    description
                      "Register Stop packets out";
                  }
    
                  leaf input-jp {
                    type uint32;
                    description
                      "Join Prune packets in";
                  }
    
                  leaf output-jp {
                    type uint32;
                    description
                      "Join Prune packets out";
                  }
    
                  leaf input-bsr-message {
                    type uint32;
                    description
                      "Input BSR Messages";
                  }
    
                  leaf output-bsr-message {
                    type uint32;
                    description
                      "Output BSR Messages";
                  }
    
                  leaf input-assert {
                    type uint32;
                    description
                      "Assert packets in";
                  }
    
                  leaf output-assert {
                    type uint32;
                    description
                      "Assert packets out";
                  }
    
                  leaf input-graft-message {
                    type uint32;
                    description
                      "Input Graft Messages";
                  }
    
                  leaf output-graft-message {
                    type uint32;
                    description
                      "Output Graft Messages";
                  }
    
                  leaf input-graft-ack-message {
                    type uint32;
                    description
                      "Input Graft Ack Messages";
                  }
    
                  leaf output-graft-ack-message {
                    type uint32;
                    description
                      "Output Graft Ack Messages";
                  }
    
                  leaf input-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Input Candidate-RP Advertisment";
                  }
    
                  leaf output-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Output Candidate-RP Advertisment";
                  }
    
                  leaf input-df-election {
                    type uint32;
                    description
                      "DF Election packets in";
                  }
    
                  leaf output-df-election {
                    type uint32;
                    description
                      "DF Election packets out";
                  }
    
                  leaf input-miscellaneous {
                    type uint32;
                    description
                      "Miscellaneous packet in";
                  }
                }  // list interface-statistic
              }  // container interface-statistics
    
              container topology-route-count {
                description
                  "Topology route count information from PIM
    topology table";
                leaf group-ranges {
                  type uint32;
                  description
                    "No. of (*,G/M) routes";
                }
    
                leaf active-group-ranges {
                  type uint32;
                  description
                    "No. of (*,G/M) routes active in mrib";
                }
    
                leaf groute-count {
                  type uint32;
                  description
                    "No. of (*,G) routes";
                }
    
                leaf sg-route-count {
                  type uint32;
                  description
                    "No. of (S,G) routes";
                }
    
                leaf sgr-route-count {
                  type uint32;
                  description
                    "No. of (S,G)RPT routes";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
              }  // container topology-route-count
    
              container jp-statistics {
                description
                  "PIM join prune statistics table";
                list jp-statistic {
                  key "interface-name";
                  description
                    "PIM Join Prune Statistics";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "Interface MTU";
                  }
    
                  leaf transmitted {
                    type uint32;
                    description "Transmitted";
                  }
    
                  leaf transmitted100 {
                    type uint16;
                    description
                      "Transmitted 100 average";
                  }
    
                  leaf transmitted-1k {
                    type uint16;
                    description
                      "Transmitted 1K average";
                  }
    
                  leaf transmitted-10k {
                    type uint16;
                    description
                      "Transmitted 10K average";
                  }
    
                  leaf transmitted-50k {
                    type uint16;
                    description
                      "Deprecated by Transmitted100";
                  }
    
                  leaf received {
                    type uint32;
                    description "Received";
                  }
    
                  leaf received100 {
                    type uint16;
                    description
                      "Received 100 average";
                  }
    
                  leaf received-1k {
                    type uint16;
                    description
                      "Received 1K average";
                  }
    
                  leaf received-10k {
                    type uint16;
                    description
                      "Received 10K average";
                  }
    
                  leaf received-50k {
                    type uint16;
                    description
                      "Deprecated by Received100";
                  }
                }  // list jp-statistic
              }  // container jp-statistics
    
              container mib-databases {
                description
                  "PIM group database for mroute mibs table";
                list mib-database {
                  key "source-address group-address source-netmask";
                  description
                    "PIM multicast static route information";
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description
                      "Multicast static route source address";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description
                      "Multicast satic route group address";
                  }
    
                  leaf source-netmask {
                    type uint32;
                    description "Source mask";
                  }
    
                  container source-address-xr {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-xr
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-xr
    
                  container rpf-neighbor {
                    description
                      "The RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container rpf-root {
                    description
                      "Root of this mcast tree";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-root
    
                  leaf upstream-assert-timer {
                    type int32;
                    description
                      "Upstream Assert Timer";
                  }
    
                  leaf assert-metric {
                    type uint32;
                    description "Assert Metric";
                  }
    
                  leaf assert-metric-preference {
                    type uint32;
                    description
                      "Assert Metric Preference";
                  }
    
                  leaf assert-rpt-bit {
                    type boolean;
                    description "Assert RPT Bit";
                  }
    
                  leaf spt-bit {
                    type boolean;
                    description
                      "Is SPT bit set ?";
                  }
    
                  leaf rpf-mask {
                    type uint32;
                    description
                      "Mask of the multicast root";
                  }
    
                  leaf rpf-safi {
                    type uint8;
                    description
                      "Unicast or mcast";
                  }
    
                  leaf rpf-table-name {
                    type string;
                    description "RPF Table name";
                  }
    
                  leaf rpf-drop {
                    type boolean;
                    description
                      "RPF route-policy drop";
                  }
    
                  leaf rpf-extranet {
                    type boolean;
                    description
                      "Extranet RPF route-policy";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "RPF interface name ";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
    
                  leaf bidirectional-route {
                    type boolean;
                    description
                      "Is this Bidir ?";
                  }
    
                  leaf uptime {
                    type uint64;
                    description
                      "Uptime of route";
                  }
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description
                      "The PIM protocol";
                  }
                }  // list mib-database
              }  // container mib-databases
    
              container ifrs-summary {
                description
                  "PIM interfaces in forward reference store
    summary";
                leaf interface-count {
                  type uint32;
                  description
                    "Number of interfaces";
                }
    
                leaf configuration-count {
                  type uint32;
                  description
                    "Configuration counts";
                }
              }  // container ifrs-summary
    
              container ranges {
                description
                  "PIM range list information";
                list range {
                  key "rp-address client";
                  description
                    "PIM range list information";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  container rp-address-xr {
                    description
                      "Rendezvous point address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  container source-of-information {
                    description
                      "Source of information";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-of-information
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description "PIM protocol";
                  }
    
                  leaf client-xr {
                    type Pim-show-range-client;
                    description
                      "Client mapping learnt via";
                  }
    
                  leaf expires {
                    type uint64;
                    description
                      "When mapping expires";
                  }
    
                  list group-range {
                    description
                      "List of group ranges";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container source-of-information {
                      description
                        "Source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      description
                        "When mapping expires";
                    }
                  }  // list group-range
                }  // list range
              }  // container ranges
    
              container bsr {
                description
                  "PIM BSR information";
                container rp-caches {
                  description
                    "PIM BSR RP cache table";
                  list rp-cache {
                    key "group-prefix prefix-length";
                    description
                      "PIM BSR RP cache";
                    leaf group-prefix {
                      type inet:ip-address-no-zone;
                      description "Group prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix Length";
                    }
    
                    container group-prefix-xr {
                      description "Group Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-prefix-xr
    
                    container candidate-rp-list {
                      description
                        "C-RP list for this prefix";
                      list pim-bsr-crp-bag {
                        description
                          "Next C-RP in the List";
                        container candidate-rp-address {
                          description
                            "C-RP address";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container candidate-rp-address
    
                        leaf candidate-rp-holdtime {
                          type uint16;
                          description
                            "C-RP Holdtime";
                        }
    
                        leaf candidate-rp-priority {
                          type uint8;
                          description
                            "C-RP Priority";
                        }
    
                        leaf candidate-rp-up-time {
                          type uint16;
                          description
                            "C-RP Uptime";
                        }
    
                        leaf candidate-rp-expires {
                          type uint16;
                          description
                            "C-RP Expires";
                        }
    
                        leaf protocol {
                          type Pim-show-protocol;
                          description
                            "PIM Protocol";
                        }
                      }  // list pim-bsr-crp-bag
                    }  // container candidate-rp-list
    
                    leaf group-prefix-length {
                      type uint32;
                      description
                        "Group Prefix Length";
                    }
    
                    leaf candidate-rp-group-count {
                      type uint32;
                      description
                        "C-RP count for this Prefix";
                    }
                  }  // list rp-cache
                }  // container rp-caches
    
                container candidate-rps {
                  description "PIM candidate-RP";
                  list candidate-rp {
                    key "rp-address";
                    description
                      "PIM BSR candidate RP information";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description
                        "Candidate-RP address";
                    }
    
                    container candidate-rp {
                      description
                        "Cand-RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container candidate-rp
    
                    leaf candidate-rp-mode {
                      type Pim-show-protocol;
                      description "Cand-RP Mode";
                    }
    
                    leaf candidate-rp-scope {
                      type int32;
                      description
                        "Cand-RP Scope";
                    }
    
                    leaf crp-priority {
                      type uint8;
                      description
                        "Cand-RP Priority";
                    }
    
                    leaf crp-holdtime {
                      type uint16;
                      description
                        "Cand-RP Holdtime";
                    }
    
                    leaf candidate-rp-advance-interval {
                      type uint16;
                      units "second";
                      description
                        "Cand-RP Adv Interval in seconds";
                    }
    
                    leaf candidate-rp-uptime {
                      type uint16;
                      description
                        "Cand-RP uptime";
                    }
    
                    leaf acl-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "Group Access-List Name";
                    }
    
                    list crp-access {
                      max-elements 2;
                      description
                        "Group Ranges Using this Cand-RP";
                      leaf candidate-rp-mode {
                        type Pim-show-protocol;
                        description
                          "Cand-RP Mode";
                      }
    
                      leaf acl-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Group Access-List Name";
                      }
                    }  // list crp-access
                  }  // list candidate-rp
                }  // container candidate-rps
    
                container bsr-elections {
                  description
                    "PIM BSR election state";
                  list bsr-election {
                    key "pim-scope";
                    description
                      "PIM BSR information";
                    leaf pim-scope {
                      type uint32;
                      description
                        "BSR information";
                    }
    
                    container bsr-address {
                      description "BSR address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container bsr-address
    
                    container candidate-bsr-address {
                      description
                        "C-BSR address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container candidate-bsr-address
    
                    leaf bsr-priority {
                      type uint8;
                      description "BSR Priority";
                    }
    
                    leaf bsr-mask-length {
                      type uint8;
                      description
                        "Hash Function Mask Length";
                    }
    
                    leaf bsr-up-time {
                      type uint16;
                      description "BSR Uptime";
                    }
    
                    leaf bootstrap-timeout {
                      type uint16;
                      description
                        "Bootstrap Timeout";
                    }
    
                    leaf candidate-bsr-state {
                      type uint32;
                      description
                        "BSR Candidate State";
                    }
    
                    leaf bsr-election-state {
                      type uint32;
                      description
                        "BSR Election State";
                    }
    
                    leaf bsr-scope {
                      type uint16;
                      description "BSR Scope";
                    }
    
                    leaf candidate-bsr-flag {
                      type boolean;
                      description
                        "BSR Candidate Config Flag";
                    }
    
                    leaf candidate-bsr-priority {
                      type uint8;
                      description
                        "C-BSR Priority";
                    }
    
                    leaf candidate-bsr-mask-length {
                      type uint8;
                      description
                        "C-BSR Hash Func. Mask Len";
                    }
                  }  // list bsr-election
                }  // container bsr-elections
              }  // container bsr
    
              container route-policy {
                description "PIM route policy";
                container route-policy-statistics {
                  description
                    "PIM route policy statistics";
                  leaf policy-name {
                    type string;
                    description
                      "RPF policy name";
                  }
    
                  leaf requests {
                    type uint32;
                    description
                      "Number of RPF lookup requests";
                  }
    
                  leaf pass {
                    type uint32;
                    description
                      "Number of RPF pass";
                  }
    
                  leaf drop {
                    type uint32;
                    description
                      "Number of RPF drops";
                  }
    
                  leaf default-table {
                    type uint32;
                    description
                      "Number of RPF lookup in default-only Table";
                  }
    
                  leaf any-table {
                    type uint32;
                    description
                      "Number of RPF lookup in any Table";
                  }
                }  // container route-policy-statistics
              }  // container route-policy
    
              container rpf-summary {
                description
                  "PIM RPF registration summary";
                leaf default-safi {
                  type uint32;
                  description
                    "Default RPF Table SAFI";
                }
    
                leaf default-table-name {
                  type string;
                  description
                    "Default RPF Table Name";
                }
    
                leaf is-mbgp-configured {
                  type boolean;
                  description
                    "Is MBGP configured?";
                }
    
                leaf is-ospf-te-configured {
                  type boolean;
                  description
                    "Is OSPF TE configured?";
                }
    
                leaf is-isis-te-configured {
                  type boolean;
                  description
                    "Is ISIS TE configured?";
                }
    
                leaf is-isis-mtr-configured {
                  type boolean;
                  description
                    "Is ISIS MTR configured?";
                }
    
                leaf mo-frr-configured {
                  type boolean;
                  description
                    "Is MoFRR configured?";
                }
    
                leaf rib-mo-frr-configured {
                  type boolean;
                  description
                    "Is MoFRR RIB configured?";
                }
    
                leaf rump-enabled {
                  type boolean;
                  description
                    "Is RUMP MuRIB enabled?";
                }
    
                leaf rib-convergence-timeout {
                  type uint32;
                  units "second";
                  description
                    "RIB convergence timeout in seconds";
                }
    
                leaf rib-convergence-time-left {
                  type uint32;
                  units "second";
                  description
                    "RIB convergence time left in seconds";
                }
    
                leaf is-multipath-enabled {
                  type boolean;
                  description
                    "Is Multipath Enabled ?";
                }
    
                leaf is-multipath-interface-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Interface Hash Extension Enabled ?";
                }
    
                leaf is-multipath-source-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Source based Hash Enabled ?";
                }
    
                leaf is-multipath-source-next-hop-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Source-Nexthop Hash Enabled ?";
                }
    
                leaf rpf-registrations {
                  type uint32;
                  description
                    "RPF Registration count";
                }
    
                leaf is-rib-convergence {
                  type boolean;
                  description
                    "RIB Convergence status";
                }
              }  // container rpf-summary
    
              container interfaces {
                description "PIM interfaces";
                list interface {
                  key "interface-name";
                  description
                    "PIM interface name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list interface
              }  // container interfaces
    
              container net-io-tunnels {
                description
                  "Tunnel information that NETIO has ";
                list net-io-tunnel {
                  key "tunnel-name";
                  description
                    "PIM netio tunnel information";
                  leaf tunnel-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..64";
                    }
                    description "Tunnel name";
                  }
    
                  container source-address {
                    description
                      "Source addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  container rp-address {
                    description
                      "RP addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address-netio {
                    description
                      "Source addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-netio
    
                  container group-address-netio {
                    description
                      "Group addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-netio
    
                  leaf vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "VRF Name";
                  }
                }  // list net-io-tunnel
              }  // container net-io-tunnels
    
              container bidir-df-states {
                description
                  "Bidirectional PIM DF election state table";
                list bidir-df-state {
                  key "rp-address interface-name";
                  description
                    "Bidirectional PIM DF Election Table Entry";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address-xr {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  leaf pim-interface-name {
                    type string;
                    description "Interface Name";
                  }
    
                  leaf election-state {
                    type string;
                    description
                      "DF Election State";
                  }
    
                  leaf time-seconds {
                    type uint64;
                    units "second";
                    description
                      "Timer expires (seconds)";
                  }
    
                  leaf time-nano-seconds {
                    type uint64;
                    units "nanosecond";
                    description
                      "Timer expires (nseconds)";
                  }
    
                  leaf our-metric {
                    type uint32;
                    description "Metric";
                  }
    
                  leaf our-metric-preference {
                    type uint32;
                    description
                      "MetricPreference";
                  }
                }  // list bidir-df-state
              }  // container bidir-df-states
    
              container topologies {
                description "PIM topology table";
                list topology {
                  key "source-address group-address rpt";
                  description
                    "PIM topology information";
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description "Source address";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group address";
                  }
    
                  leaf rpt {
                    type uint32;
                    description "RPT bit";
                  }
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-xr
    
                  container source-address-xr {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-xr
    
                  container rp-address {
                    description
                      "RP Address (If rpt)";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container rpf-neighbor {
                    description "RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container secondary-rpf-neighbor {
                    description
                      "Secondary RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container secondary-rpf-neighbor
    
                  container rpf-root {
                    description
                      "Root of this mcast tree";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-root
    
                  container proxy-address {
                    description
                      "RPF Proxy address.";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container proxy-address
    
                  container orig-src-address {
                    description
                      "Orig Src Address.";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container orig-src-address
    
                  leaf limit-reached {
                    type boolean;
                    description
                      "Have we throttled the creation of routes or
    interfaces ?";
                  }
    
                  leaf low-memory {
                    type boolean;
                    description
                      "Node is running low on memory";
                  }
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description
                      "The PIM protocol";
                  }
    
                  leaf wildcard {
                    type boolean;
                    description "WC -Wildcard";
                  }
    
                  leaf rpt-xr {
                    type boolean;
                    description
                      "Is this on the RPT ?";
                  }
    
                  leaf spt {
                    type boolean;
                    description
                      "Is this on the SPT ?";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
    
                  leaf expiry {
                    type uint64;
                    description
                      "When this entry expires";
                  }
    
                  leaf alive {
                    type int32;
                    units "second";
                    description
                      "Alive time in seconds (-1 if never)";
                  }
    
                  leaf register-received-timer {
                    type int32;
                    units "second";
                    description
                      "Register Received Timer in seconds (-1 if never)";
                  }
    
                  leaf remote-source {
                    type boolean;
                    description "MSDP told us";
                  }
    
                  leaf crossed-threshold {
                    type boolean;
                    description
                      "Incoming traffic crossed threshold. MT flag set";
                  }
    
                  leaf data-mdt-addr-assigned {
                    type boolean;
                    description
                      "PIM has assigned a Data MDT Address";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
    
                  leaf rpf-safi {
                    type uint8;
                    description
                      "Unicast or mcast";
                  }
    
                  leaf rpf-table-name {
                    type string;
                    description "RPF Table name";
                  }
    
                  leaf rpf-drop {
                    type boolean;
                    description
                      "RPF route-policy drop";
                  }
    
                  leaf rpf-extranet {
                    type boolean;
                    description
                      "Extranet RPF route-policy";
                  }
    
                  leaf is-via-lsm {
                    type boolean;
                    description "Via LSM";
                  }
    
                  leaf secondary-rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "Secondary Interface Identifier";
                  }
    
                  leaf connected {
                    type boolean;
                    description "Is Connected ?";
                  }
    
                  leaf proxy {
                    type boolean;
                    description
                      "Is the RPF target a proxy?";
                  }
    
                  leaf rpf-proxy-enabled {
                    type boolean;
                    description
                      "Is rpf if proxy enabled?";
                  }
    
                  leaf mofrr-enabled {
                    type boolean;
                    description
                      "Is this SG MoFRR enabled?";
                  }
    
                  leaf rib-mo-frr-enabled {
                    type boolean;
                    description
                      "Is this SG MoFRR enabled?";
                  }
    
                  leaf jp-timer {
                    type int32;
                    description
                      "Join-Prune Timer";
                  }
    
                  leaf jp-status {
                    type int32;
                    description
                      "Join-Prune Status";
                  }
    
                  leaf suppress-registers {
                    type int32;
                    description
                      "When the Null register probe expires";
                  }
    
                  leaf assume-alive {
                    type boolean;
                    description
                      "The Assume Alive Bit";
                  }
    
                  leaf probe-alive {
                    type boolean;
                    description
                      "The Probe Alive Bit";
                  }
    
                  leaf really-alive {
                    type boolean;
                    description
                      "The Really Alive Bit";
                  }
    
                  leaf inherit-alive {
                    type boolean;
                    description
                      "The Inherit Alive Bit";
                  }
    
                  leaf inherit-spt {
                    type boolean;
                    description
                      "The Inherit SPT Bit";
                  }
    
                  leaf signal-sources {
                    type boolean;
                    description
                      "Signal Sources on route?";
                  }
    
                  leaf dont-check-connected {
                    type boolean;
                    description
                      "Do we need to make the connected check on this
    route ?";
                  }
    
                  leaf register-received {
                    type boolean;
                    description
                      "Have registers been received for this source ?";
                  }
    
                  leaf last-hop {
                    type boolean;
                    description
                      "Are we last hop ?";
                  }
    
                  leaf sending-registers {
                    type boolean;
                    description
                      "Are we sending registers for this route ?";
                  }
    
                  leaf sending-null-registers {
                    type boolean;
                    description
                      "Are we sending null registers for this route ?";
                  }
    
                  leaf sa-sent {
                    type boolean;
                    description "BGP SA sent";
                  }
    
                  leaf sa-received {
                    type boolean;
                    description
                      "BGP SA received";
                  }
    
                  leaf sa-joined {
                    type boolean;
                    description "BGP SA join";
                  }
    
                  leaf anycast-rp-match {
                    type boolean;
                    description
                      "Group matches Anycast-RP policy";
                  }
    
                  leaf anycast-rp-route-target {
                    type inet:ipv4-address;
                    description "Anycast-RP RT";
                  }
    
                  leaf bgp-join {
                    type boolean;
                    description "BGP C JOIN";
                  }
    
                  leaf bgp-jp-time {
                    type uint64;
                    description "BGP C JP Time";
                  }
    
                  leaf customer-routing-type {
                    type int32;
                    description
                      "Type of Customer Routing in the MVPN";
                  }
    
                  leaf extranet-route {
                    type boolean;
                    description
                      "Is a Extranet route ?";
                  }
    
                  leaf mofrr-active {
                    type boolean;
                    description
                      "Is MoFRR Active?";
                  }
    
                  leaf mofrr-primary {
                    type boolean;
                    description
                      "Is this Mofrr Primary?";
                  }
    
                  leaf mofrr-backup {
                    type boolean;
                    description
                      "Is this Mofrr Backup?";
                  }
    
                  leaf vxlan {
                    type boolean;
                    description "Is this VXLAN?";
                  }
    
                  leaf kat-state {
                    type boolean;
                    description
                      "Keep Alive Timer State";
                  }
    
                  list outgoing-interface {
                    description
                      "Outgoing interface list";
                    container assert-winner {
                      description
                        "Assert Winner";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container assert-winner
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiry {
                      type uint64;
                      units "second";
                      description
                        "Expiry in seconds";
                    }
    
                    leaf bgp-c-mcast-prune-delay-timer {
                      type uint64;
                      units "second";
                      description
                        "BGP C-MCAST Prune Suppression in seconds";
                    }
    
                    leaf jp-timer {
                      type int32;
                      units "second";
                      description
                        "Join-Prune Timer (secs)";
                    }
    
                    leaf jp-state {
                      type int32;
                      description
                        "Join-Prune State";
                    }
    
                    leaf assert-timer {
                      type int32;
                      units "second";
                      description
                        "Assert Timer in seconds";
                    }
    
                    leaf local-members {
                      type int32;
                      description
                        "Local Information. Deprecated - use
    'local-members-information' instead";
                    }
    
                    leaf internal-interest-info {
                      type int32;
                      description
                        "Internal Interest. Deprecated - use
    'internal-interest-information' instead";
                    }
    
                    leaf forwarding-state {
                      type int32;
                      description
                        "Forward or Prune";
                    }
    
                    leaf immediate-state {
                      type int32;
                      description
                        "Immediate fwding state";
                    }
    
                    leaf last-hop {
                      type boolean;
                      description
                        "Are we last hop ?";
                    }
    
                    leaf mldp-inband-mdt {
                      type boolean;
                      description
                        "MLDP Inband MDT interface";
                    }
    
                    leaf mldp-stale {
                      type boolean;
                      description "OLE is stale";
                    }
    
                    leaf sa-prune {
                      type boolean;
                      description
                        "BGP SA Prune state";
                    }
    
                    leaf admin-boundary {
                      type boolean;
                      description
                        "Is this an administrative boundary ?";
                    }
    
                    leaf igmp-membership {
                      type boolean;
                      description
                        "IGMP membership";
                    }
    
                    leaf mdt-safi-join {
                      type boolean;
                      description
                        "MDT Safi join";
                    }
    
                    leaf mvpn-safi-join {
                      type boolean;
                      description
                        "MVPN Safi join";
                    }
    
                    leaf local-mdt-join {
                      type boolean;
                      description
                        "Default MDT Join";
                    }
    
                    leaf data-mdt-join {
                      type boolean;
                      description
                        "Data MDT join";
                    }
    
                    leaf mvpnv6-safi-join {
                      type boolean;
                      description
                        "MVPN IPv6 Safi join";
                    }
    
                    leaf bgp-c-mcast-join {
                      type boolean;
                      description
                        "BGP C-Mcast join";
                    }
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "VRF which physically owns";
                    }
    
                    leaf extranet-interface {
                      type boolean;
                      description
                        "Is this an Extranet Interface ?";
                    }
    
                    leaf internal-interest-information {
                      type Pim-internal-interest-info;
                      description
                        "Internal Interest. Replaces
    internal-interest-info";
                    }
    
                    leaf local-members-information {
                      type Pim-show-local-interest;
                      description
                        "Local Information. Replaces local-members";
                    }
    
                    leaf assert-state {
                      type boolean;
                      description "Assert State";
                    }
                  }  // list outgoing-interface
                }  // list topology
              }  // container topologies
    
              container topology-interface-flag-route-counts {
                description
                  "Route count for topology with interface flag set";
                list topology-interface-flag-route-count {
                  key "interface-flag";
                  description
                    "Route count for topology with interface flag
    set";
                  leaf interface-flag {
                    type Pim-topology-interface-flag;
                    description "Interface flag";
                  }
    
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // list topology-interface-flag-route-count
              }  // container topology-interface-flag-route-counts
    
              container group-map-sources {
                description
                  "PIM group-mapping with source information";
                list group-map-source {
                  key "prefix prefix-length client protocol rp-address priority";
                  description
                    "PIM Group Mapping Entry with source information";
                  leaf prefix {
                    type inet:ip-address-no-zone;
                    description "Prefix";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  leaf protocol {
                    type Pim-protocol;
                    description "Protocol";
                  }
    
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf priority {
                    type uint32;
                    description "RP Priority";
                  }
    
                  container source-of-information {
                    description
                      "The source of information";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-of-information
    
                  container group-map-information {
                    description
                      "Group Mapping information";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container rp-address {
                      description
                        "Rendezvous Point Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf client {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt from";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "Protocol mode of the range";
                    }
    
                    leaf group-count {
                      type uint32;
                      description
                        "No. of groups in this range";
                    }
    
                    leaf is-used {
                      type boolean;
                      description
                        "Is this mapping being used?";
                    }
    
                    leaf mrib-active {
                      type boolean;
                      description
                        "Is this mapping active in MRIB?";
                    }
    
                    leaf is-override {
                      type boolean;
                      description
                        "Is this the override range?";
                    }
    
                    leaf priority {
                      type uint32;
                      description
                        "Bootstrap priority";
                    }
                  }  // container group-map-information
    
                  leaf holdtime {
                    type int32;
                    units "second";
                    description
                      "Holdtime in seconds";
                  }
    
                  leaf expires {
                    type uint64;
                    units "second";
                    description
                      "Mapping expiry time in seconds";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Mapping uptime in seconds";
                  }
                }  // list group-map-source
              }  // container group-map-sources
    
              container traffic-counters {
                description
                  "PIM message traffic counters";
                leaf elapsed-time {
                  type uint32;
                  units "second";
                  description
                    "Running time for counters in seconds";
                }
    
                leaf inputs {
                  type uint32;
                  description "Packets in";
                }
    
                leaf outputs {
                  type uint32;
                  description "Packets out";
                }
    
                leaf format-error {
                  type uint32;
                  description
                    "Malformed packets in";
                }
    
                leaf pakman-error {
                  type uint32;
                  description
                    "Pakman packets dropped";
                }
    
                leaf standby-packets-error {
                  type uint32;
                  description
                    "Packets received in standby state";
                }
    
                leaf checksum-error {
                  type uint32;
                  description "Checksum errors";
                }
    
                leaf socket-error {
                  type uint32;
                  description "Socket errors";
                }
    
                leaf send-queue-full {
                  type uint32;
                  description
                    "Packets dropped since send queue was full";
                }
    
                leaf boundary-acl-rx-drop {
                  type uint32;
                  description
                    "Inc. JP dropped since boundary ACL confg";
                }
    
                leaf boundary-acl-tx-drop {
                  type uint32;
                  description
                    "Out JP dropped since boundary ACL confg";
                }
    
                leaf no-socket-connection {
                  type uint32;
                  description
                    "Packets dropped since no socket connection";
                }
    
                leaf no-source-address {
                  type uint32;
                  description
                    "Packets dropped since no source address";
                }
    
                leaf input-hello {
                  type uint32;
                  description "Hello packets in";
                }
    
                leaf output-hello {
                  type uint32;
                  description
                    "Hello packets out";
                }
    
                leaf input-jp {
                  type uint32;
                  description
                    "Join Prune packets in";
                }
    
                leaf output-jp {
                  type uint32;
                  description
                    "Join Prune packets out";
                }
    
                leaf input-data-register {
                  type uint32;
                  description
                    "Data Register packets in";
                }
    
                leaf input-null-register {
                  type uint32;
                  description
                    "Null Register packets in";
                }
    
                leaf output-null-register {
                  type uint32;
                  description
                    "Null Register packets out";
                }
    
                leaf input-register-stop {
                  type uint32;
                  description
                    "Register Stop packets in";
                }
    
                leaf output-register-stop {
                  type uint32;
                  description
                    "Register Stop packets out";
                }
    
                leaf input-assert {
                  type uint32;
                  description
                    "Assert packets in";
                }
    
                leaf input-assert-batched {
                  type uint32;
                  description
                    "Batched Assert packets in";
                }
    
                leaf output-assert {
                  type uint32;
                  description
                    "Assert packets out";
                }
    
                leaf output-assert-batched {
                  type uint32;
                  description
                    "Batched Assert packets out";
                }
    
                leaf input-df-election {
                  type uint32;
                  description
                    "DF Election packets in";
                }
    
                leaf output-df-election {
                  type uint32;
                  description
                    "DF Election packets out";
                }
    
                leaf input-bsr-message {
                  type uint32;
                  description
                    "Input BSR Messages";
                }
    
                leaf output-bsr-message {
                  type uint32;
                  description
                    "Output BSR Messages";
                }
    
                leaf input-candidate-rp-advertisement {
                  type uint32;
                  description
                    "Input Candidate-RP Advertisment";
                }
    
                leaf output-candidate-rp-advertisement {
                  type uint32;
                  description
                    "Output Candidate-RP Advertisment";
                }
    
                leaf input-ecmp-redirect {
                  type uint32;
                  description
                    "Input Ecmp Redirect";
                }
    
                leaf output-ecmp-redirect {
                  type uint32;
                  description
                    "Output Ecmp Redirect";
                }
    
                leaf output-loop-error {
                  type uint32;
                  description
                    "Output on loopback error";
                }
    
                leaf mldp-mdt-invalid-lsm-identifier {
                  type uint32;
                  description " Invalid LSM ID";
                }
    
                leaf input-no-idb-error {
                  type uint32;
                  description
                    "No IDB for intf error";
                }
    
                leaf input-no-vrf-error {
                  type uint32;
                  description
                    "No VRF for idb error";
                }
    
                leaf input-no-pim-error {
                  type uint32;
                  description
                    "PIM Disabled on intf error";
                }
    
                leaf input-pim-version-error {
                  type uint32;
                  description
                    "Invalid PIM version error";
                }
    
                leaf output-join-group {
                  type uint32;
                  description
                    "Output Join Groups";
                }
    
                leaf output-prune-group {
                  type uint32;
                  description
                    "Output Prune Groups";
                }
    
                leaf output-join-prune-bytes {
                  type uint32;
                  units "byte";
                  description "Output JP Bytes";
                }
    
                leaf output-hello-bytes {
                  type uint32;
                  units "byte";
                  description
                    "Output Hello Bytes";
                }
    
                leaf non-supported-packets {
                  type uint32;
                  description
                    "PIM non supported pckets";
                }
    
                leaf invalid-registers {
                  type uint32;
                  description
                    "PIM invalid registers received";
                }
    
                leaf invalid-join-prunes {
                  type uint32;
                  description
                    "PIM invalid Join/Prunes received";
                }
    
                leaf packet-packman-error {
                  type uint32;
                  description
                    "Packets Dropped due to Pakman Error";
                }
    
                leaf packet-read-socket-error {
                  type uint32;
                  description
                    "Packet Read Socket Error";
                }
    
                leaf packet-queue-last-clear {
                  type uint32;
                  units "second";
                  description
                    "Time in seconds since the last clear of all
    packet queues stats";
                }
    
                leaf packets-standby {
                  type uint32;
                  description
                    "Packets Dropped due to Standby Error";
                }
    
                leaf no-mdt-socket-connection {
                  type uint32;
                  description
                    "Packets dropped since no mdt socket connection";
                }
    
                leaf mdt-send-queue-full {
                  type uint32;
                  description
                    "Packets dropped since mdt send queue was full";
                }
    
                leaf mdt-socket-error {
                  type uint32;
                  description
                    "MDT Socket errors";
                }
    
                leaf mdt-join-tlv-sent {
                  type uint32;
                  description
                    "Data MDT Join Msgs sent";
                }
    
                leaf mdt-join-tlv-received {
                  type uint32;
                  description
                    "Data MDT Join Msgs received";
                }
    
                leaf mdt-join-bad-type {
                  type uint32;
                  description
                    "Data MDT TLV bad type";
                }
    
                leaf mdt-drop-local-source-address {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to local source
    addr";
                }
    
                leaf mdt-drop-null-local-address {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to null local
    addr";
                }
    
                leaf mdt-drop-no-idb {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to idb missing";
                }
    
                leaf mdt-drop-no-vrf {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to vrf missing";
                }
    
                leaf invalid-destination-packets {
                  type uint32;
                  description
                    "Control Packets with Invalid Destination";
                }
    
                leaf mdt-joins-drop-multiple-encapsulation {
                  type uint32;
                  description
                    "MDT Join msgs dropped due to multiple Encap
    limitation";
                }
    
                leaf truncated-pim-packets {
                  type uint32;
                  description
                    "Packets dropped due to truncated Joins or Prunes";
                }
    
                leaf invalid-source-encodings {
                  type uint32;
                  description
                    "Number of invalid source encodings received";
                }
    
                leaf invalid-hello-options {
                  type uint32;
                  description
                    "Number of invalid hello options received";
                }
    
                list packet-queue {
                  max-elements 2;
                  description
                    "Packet queue state and statistics";
                  container packet-queue-state {
                    description
                      "State of the queue";
                    leaf max-queue-size {
                      type uint32;
                      units "byte";
                      description
                        "Maximum size of queue in bytes";
                    }
    
                    leaf queue-size-bytes {
                      type uint32;
                      units "byte";
                      description
                        "Size of queue in bytes";
                    }
    
                    leaf queue-size-packets {
                      type uint32;
                      description
                        "Size of queue in number of packets";
                    }
                  }  // container packet-queue-state
    
                  container packet-queue-stats {
                    description
                      "Statistics about the queue";
                    leaf enqueued-packets {
                      type uint32;
                      description
                        "Total number of packets enqueued to this queue";
                    }
    
                    leaf dequeued-packets {
                      type uint32;
                      description
                        "Total number of packets dequeued from this queue";
                    }
    
                    leaf high-water-mark-packets {
                      type uint32;
                      description
                        "Highest number of packets enqueued in this queue";
                    }
    
                    leaf high-water-mark-bytes {
                      type uint32;
                      units "byte";
                      description
                        "Highest number of bytes enqueued in this queue";
                    }
    
                    leaf tail-drops {
                      type uint32;
                      description
                        "Number packets dropped from this queue due to
    max size";
                    }
                  }  // container packet-queue-stats
    
                  leaf packet-queue-priority {
                    type uint32;
                    description
                      "Priority of this packet queue";
                  }
                }  // list packet-queue
              }  // container traffic-counters
    
              container group-map-rpfs {
                description
                  "PIM group mapping information";
                list group-map-rpf {
                  key "prefix prefix-length client protocol rp-address rp-priority";
                  description
                    "PIM group mapping entry";
                  leaf prefix {
                    type inet:ip-address-no-zone;
                    description "Prefix";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  leaf protocol {
                    type Pim-protocol;
                    description "Protocol";
                  }
    
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf rp-priority {
                    type uint32;
                    description "RP priority";
                  }
    
                  container rpf-neighbor {
                    description
                      "RPF neighbor to the RP";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container group-map-information {
                    description
                      "Group Mapping information";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container rp-address {
                      description
                        "Rendezvous Point Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf client {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt from";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "Protocol mode of the range";
                    }
    
                    leaf group-count {
                      type uint32;
                      description
                        "No. of groups in this range";
                    }
    
                    leaf is-used {
                      type boolean;
                      description
                        "Is this mapping being used?";
                    }
    
                    leaf mrib-active {
                      type boolean;
                      description
                        "Is this mapping active in MRIB?";
                    }
    
                    leaf is-override {
                      type boolean;
                      description
                        "Is this the override range?";
                    }
    
                    leaf priority {
                      type uint32;
                      description
                        "Bootstrap priority";
                    }
                  }  // container group-map-information
    
                  leaf are-we-rp {
                    type boolean;
                    description "Are we the RP?";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "RPF interface to the RP";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
                }  // list group-map-rpf
              }  // container group-map-rpfs
    
              container summary {
                description "PIM summary";
                leaf route-limit {
                  type uint32;
                  description "Maximum routes";
                }
    
                leaf route-count {
                  type uint32;
                  description "Current routes";
                }
    
                leaf route-low-water-mark {
                  type uint32;
                  description
                    "The number of routes below which the throttle on
    route creation will be lifted";
                }
    
                leaf is-route-limit-reached {
                  type boolean;
                  description
                    "Is route creation throttled";
                }
    
                leaf topology-interface-state-limit {
                  type uint32;
                  description
                    "Maximum Topology Interface State count";
                }
    
                leaf topology-interface-state-count {
                  type uint32;
                  description
                    "Current Topology Interface State count";
                }
    
                leaf rxi-low-water-mark {
                  type uint32;
                  description
                    "The rxi below which the throttle on interface
    creation will be lifted";
                }
    
                leaf rxi-limit-reached {
                  type boolean;
                  description
                    "Is interface creation throttled";
                }
    
                leaf register-limit {
                  type uint32;
                  description
                    "Maximum registers";
                }
    
                leaf register-count {
                  type uint32;
                  description
                    "Current registers";
                }
    
                leaf register-limit-reached {
                  type boolean;
                  description
                    "Is PIM SM register handling throttled";
                }
    
                leaf ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from Autorp";
                }
    
                leaf ranges-count {
                  type uint32;
                  description
                    "Current group ranges from Autorp";
                }
    
                leaf ranges-threshold {
                  type uint32;
                  description
                    "OOR theshold of grange ranges from AutoRP";
                }
    
                leaf is-ranges-limit-reached {
                  type boolean;
                  description
                    "Is Auto-RP group-to-RP mapping range creation
    throttled";
                }
    
                leaf bsr-ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from BSR";
                }
    
                leaf bsr-ranges-count {
                  type uint32;
                  description
                    "Current group ranges from BSR";
                }
    
                leaf bsr-range-threshold {
                  type uint32;
                  description
                    "Threshold group range from BSR";
                }
    
                leaf is-bsr-ranges-threshold-reached {
                  type boolean;
                  description
                    "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                }
    
                leaf bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Maximum crp-set from BSR";
                }
    
                leaf bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Current crp-set count from BSR";
                }
    
                leaf bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Threshold crp-set from BSR";
                }
    
                leaf is-maximum-enforcement-disabled {
                  type boolean;
                  description
                    "Is maximum enforcement disabled";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
    
                leaf route-threshold {
                  type uint32;
                  description "Threshold routes";
                }
    
                leaf global-auto-rp-ranges-limit {
                  type uint32;
                  description
                    "Global Auto-RP maximum group ranges";
                }
    
                leaf is-global-auto-rp-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global AutoRP group-to-RP mapping range
    creation throttled";
                }
    
                leaf global-bsr-ranges-limit {
                  type uint32;
                  description
                    "Global BSR maximum group ranges";
                }
    
                leaf global-bsr-ranges-count {
                  type uint32;
                  description
                    "Global BSR current group ranges";
                }
    
                leaf global-bsr-ranges-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold group ranges";
                }
    
                leaf is-global-bsr-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global BSR group-to-RP mapping range creation
    throttled";
                }
    
                leaf global-bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Global BSR maximum crp-set";
                }
    
                leaf global-bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Global BSR current crp-set count";
                }
    
                leaf global-bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold crp-set";
                }
    
                leaf is-global-route-limit-reached {
                  type boolean;
                  description
                    "Is global route creation throttled";
                }
    
                leaf topology-interface-state-threshold {
                  type uint32;
                  description
                    "Topology Interface State threshold";
                }
    
                leaf is-global-rxi-limit-reached {
                  type boolean;
                  description
                    "Is global interface creation throttled";
                }
    
                leaf register-threshold {
                  type uint32;
                  description
                    "Threshold registers";
                }
    
                leaf global-register-limit {
                  type uint32;
                  description
                    "Maximum global registers";
                }
    
                leaf is-global-register-limit-reached {
                  type boolean;
                  description
                    "Is global PIM SM register handling throttled";
                }
              }  // container summary
    
              container gre {
                description "GRE information";
                container gre-next-hops {
                  description
                    "GRE destination neighbor table";
                  list gre-next-hop {
                    key "destination-address";
                    description
                      "PIM GRE address next-hop information";
                    leaf destination-address {
                      type inet:ip-address-no-zone;
                      description
                        "GRE destination address";
                    }
    
                    container registered-address {
                      description
                        "Address registered";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container registered-address
    
                    leaf metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf metric-preference {
                      type uint32;
                      description
                        "Metric preference";
                    }
    
                    leaf is-connected {
                      type uint8;
                      description
                        "Are we connected ?";
                    }
    
                    list gre-path {
                      description
                        "GRE Paths list";
                      container gre-neighbor {
                        description
                          "GRE neighbor";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container gre-neighbor
    
                      container gre-next-hop {
                        description
                          "GRE nexthop";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container gre-next-hop
    
                      leaf gre-interface-name {
                        type xr:Interface-name;
                        description
                          "GRE Interface";
                      }
    
                      leaf is-gre-interface-disabled {
                        type boolean;
                        description
                          "Is the gre interface disabled ?";
                      }
    
                      leaf is-via-lsm {
                        type boolean;
                        description "Via LSM";
                      }
    
                      leaf is-connector-attribute-present {
                        type boolean;
                        description
                          "Connector attribute present";
                      }
    
                      leaf extranet-vrf-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Extranet VRF name";
                      }
                    }  // list gre-path
                  }  // list gre-next-hop
                }  // container gre-next-hops
              }  // container gre
    
              container bidir-df-winners {
                description
                  "Bidirectional PIM DF election winner table";
                list bidir-df-winner {
                  key "rp-address interface-name";
                  description
                    "Bidirectional PIM DF election table entry";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address-xr {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  container df-winner {
                    description "DF Winner";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container df-winner
    
                  leaf pim-interface-name {
                    type string;
                    description "Interface Name";
                  }
    
                  leaf are-we-df {
                    type boolean;
                    description "Are we DF";
                  }
    
                  leaf rp-lan {
                    type boolean;
                    description
                      "Is this the RP LAN";
                  }
    
                  leaf metric {
                    type uint32;
                    description "Metric";
                  }
    
                  leaf metric-preference {
                    type uint32;
                    description
                      "Metric Preference";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
                }  // list bidir-df-winner
              }  // container bidir-df-winners
    
              container table-contexts {
                description
                  "PIM table context list";
                list table-context {
                  key "saf-name topology-name";
                  description
                    "PIM table context information";
                  leaf saf-name {
                    type Pim-safi;
                    description "SAF name";
                  }
    
                  leaf topology-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..32";
                    }
                    description "Topology name";
                  }
    
                  leaf afi {
                    type uint32;
                    description "AFI";
                  }
    
                  leaf safi {
                    type uint32;
                    description "SAFI";
                  }
    
                  leaf table-name {
                    type string;
                    description "Table name";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active status";
                  }
    
                  leaf is-ital-registration-done {
                    type boolean;
                    description
                      "ITAL reg status";
                  }
    
                  leaf is-rib-registration-done {
                    type boolean;
                    description "RIB reg status";
                  }
    
                  leaf is-rib-convergence-received {
                    type boolean;
                    description
                      "RIB Convergence receive status";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
                }  // list table-context
              }  // container table-contexts
    
              container neighbor-summaries {
                description
                  "PIM neighbor summary table";
                list neighbor-summary {
                  key "interface-name";
                  description
                    "PIM neighbor summary information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf number-of-neighbors {
                    type int32;
                    description
                      "Number of neighbors";
                  }
    
                  leaf number-of-external-neighbors {
                    type int32;
                    description
                      "Number of external neighbors";
                  }
                }  // list neighbor-summary
              }  // container neighbor-summaries
    
              container context {
                description
                  "PIM context information";
                container remote-default-group {
                  description
                    "Remote Default Group";
                  leaf af-name {
                    type Pim-afi;
                    description "AFName";
                  }
    
                  leaf ipv4-address {
                    when
                      "../af-name = 'ipv4-unicast'" {
                      description
                        "../AFName = 'IPv4Unicast'";
                    }
                    type inet:ipv4-address;
                    description "IPv4 Address";
                  }
    
                  leaf ipv6-address {
                    when
                      "../af-name = 'ipv6-unicast'" {
                      description
                        "../AFName = 'IPv6Unicast'";
                    }
                    type Ipv6-address;
                    description "IPV6 Address";
                  }
                }  // container remote-default-group
    
                container rpf-default-table {
                  description
                    "RPF Default Table";
                  leaf afi {
                    type uint32;
                    description "AFI";
                  }
    
                  leaf safi {
                    type uint32;
                    description "SAFI";
                  }
    
                  leaf table-name {
                    type string;
                    description "Table name";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active status";
                  }
    
                  leaf is-ital-registration-done {
                    type boolean;
                    description
                      "ITAL reg status";
                  }
    
                  leaf is-rib-registration-done {
                    type boolean;
                    description "RIB reg status";
                  }
    
                  leaf is-rib-convergence-received {
                    type boolean;
                    description
                      "RIB Convergence receive status";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
                }  // container rpf-default-table
    
                leaf vrf-id {
                  type uint32;
                  description "VRF ID";
                }
    
                leaf table-id {
                  type uint32;
                  description "Table ID";
                }
    
                leaf murib-id {
                  type uint32;
                  description "MURIB ID";
                }
    
                leaf rpf-id {
                  type uint32;
                  description "RPF ID";
                }
    
                leaf remote-table-id {
                  type uint32;
                  description "Remote Table ID";
                }
    
                leaf mdt-default-group {
                  type inet:ipv4-address;
                  description
                    "MDT Default group";
                }
    
                leaf mdt-source {
                  type inet:ipv4-address;
                  description "MDT source";
                }
    
                leaf mdt-source-interface {
                  type string;
                  description
                    "MDT Source Interface Name";
                }
    
                leaf mdt-interface {
                  type xr:Interface-name;
                  description "MDT handle";
                }
    
                leaf mdt-gre-rpf-identifier {
                  type uint32;
                  description
                    "GRE-MDT RPF Identifier";
                }
    
                leaf mdt-gre-remote-rpf-identifier {
                  type uint32;
                  description
                    "GRE-MDT Remote RPF Identifier";
                }
    
                leaf is-unicast-rib-registration {
                  type boolean;
                  description
                    "Ucast RIB Registration";
                }
    
                leaf is-multicast-rib-registration {
                  type boolean;
                  description
                    "Mcast RIB Registration";
                }
    
                leaf is-active {
                  type boolean;
                  description "Active";
                }
    
                leaf is-active-ital {
                  type boolean;
                  description "Active ITAL";
                }
    
                leaf is-mrib-register {
                  type boolean;
                  description "MRIB Register";
                }
    
                leaf is-mdt-owner {
                  type boolean;
                  description "MDT Owner";
                }
    
                leaf is-routing-enabled {
                  type boolean;
                  description "Routing Enabled";
                }
    
                leaf is-socket-add-required {
                  type boolean;
                  description
                    "VRF required on Socket";
                }
    
                leaf is-socket-added {
                  type boolean;
                  description
                    "VRF added on Socket";
                }
    
                leaf is-lpts-socket-add-required {
                  type boolean;
                  description
                    "VRF LPTS filter required on Socket";
                }
    
                leaf is-lpts-socket-added {
                  type boolean;
                  description
                    "VRF LPTS filter added on Socket";
                }
    
                leaf is-udp-socket-add-required {
                  type boolean;
                  description
                    "VRF added on UDP Socket";
                }
    
                leaf is-udp-socket-added {
                  type boolean;
                  description
                    "VRF added on UDP Socket";
                }
    
                leaf is-udp-socket-bind-required {
                  type boolean;
                  description
                    "VRF bind required on UDP Socket";
                }
    
                leaf is-udp-socket-bind {
                  type boolean;
                  description
                    "VRF bound on UDP Socket";
                }
    
                leaf is-register-injection-socket-add-required {
                  type boolean;
                  description
                    "VRF required on Register Injection Socket";
                }
    
                leaf is-register-injection-socket-added {
                  type boolean;
                  description
                    "VRF added on Register Injection Socket";
                }
    
                leaf is-register-injection-lpts-socket-add-required {
                  type boolean;
                  description
                    "VRF LPTS filter required on Register Injection
    Socket";
                }
    
                leaf is-register-injection-lpts-socket-added {
                  type boolean;
                  description
                    "VRF LPTS filter added on Register Injection
    Socket";
                }
    
                leaf is-m-host-publish-pending {
                  type boolean;
                  description
                    "Publish pending for MHost Default interface";
                }
    
                leaf mhost-interface {
                  type xr:Interface-name;
                  description "MHost handle";
                }
    
                leaf mhost-default-interface-config {
                  type string;
                  description
                    "Configured Mhost Defint";
                }
    
                leaf mdt-mtu {
                  type uint32;
                  description "MDT MTU";
                }
    
                leaf maximum-mdt-aggregation {
                  type uint32;
                  description
                    "MDT max aggregation";
                }
    
                leaf mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Data MDT Switchover interval";
                }
    
                leaf mdt-data-announce-interval {
                  type uint32;
                  description
                    "Data MDT Announce interval";
                }
    
                leaf non-default-vrf-count-on-socket {
                  type uint32;
                  description
                    "Count of non-default vrfs on raw socket";
                }
    
                leaf neighbor-filter-name {
                  type string;
                  description
                    "Neighbor Filter Name";
                }
    
                leaf mdt-neighbor-filter-name {
                  type string;
                  description
                    "MDT Neighbor Filter Name";
                }
    
                leaf allow-rp-configured {
                  type boolean;
                  description
                    "Allow RP Configured";
                }
    
                leaf allow-rp-group-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "Allow RP Group-List ACL Name";
                }
    
                leaf allow-rp-rp-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "Allow RP RP-list ACL Name";
                }
    
                leaf sg-expiry-timer-configured {
                  type boolean;
                  description
                    "S,G Expiry Timer Configured";
                }
    
                leaf sg-expiry-time {
                  type uint16;
                  units "second";
                  description
                    "S,G Expiry Time Configured, in seconds";
                }
    
                leaf sg-expiry-timer-sg-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "S,G expiry timer ACL name";
                }
    
                leaf mldp-mdt-name {
                  type string;
                  description "MLDP MDT Name";
                }
    
                leaf mldp-mdt-interface {
                  type xr:Interface-name;
                  description "MLDP MDT handle";
                }
    
                leaf mldp-mdt-mtu {
                  type uint32;
                  description "MLDP MDT MTU";
                }
    
                leaf mldp-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "MLDP MDT max aggregation";
                }
    
                leaf mldp-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "MLDP Data MDT Switchover interval";
                }
    
                leaf mldp-mdt-data-announce-interval {
                  type uint32;
                  description
                    "MLDP Data MDT Announce interval";
                }
    
                leaf mldp-mdt-rpf-identifier {
                  type uint32;
                  description "MLDP RPF-ID";
                }
    
                leaf mldp-mdt-remote-rpf-identifier {
                  type uint32;
                  description
                    "MLDP Remote RPF-ID";
                }
    
                leaf is-create-mldp-mdt-interface {
                  type boolean;
                  description
                    "Create MLDP MDT interface";
                }
    
                leaf is-mldp-mdt-owner {
                  type boolean;
                  description "MLDP MDT Owner";
                }
    
                leaf mldp-root-count {
                  type uint32;
                  description "MLDP Root count";
                }
    
                leaf mldp-head-lsm-identifier {
                  type uint32;
                  description "MLDP Head LSM-ID";
                }
    
                leaf mldp-remote-head-lsm-identifier {
                  type uint32;
                  description
                    "MLDP Remote Head LSM-ID";
                }
    
                leaf organization-unique-identifier {
                  type uint32;
                  description "OUI for VPN-ID";
                }
    
                leaf vpn-index {
                  type uint32;
                  description "VPN Index";
                }
    
                leaf mldp-partitioned-mdt-configured {
                  type boolean;
                  description
                    "MLDP Partitioned MDT";
                }
    
                leaf mldp-remote-partitioned-mdt-configured {
                  type boolean;
                  description
                    "MLDP Remote Partitioned MDT";
                }
    
                leaf mldp-partioned-mp2m-ptree {
                  type boolean;
                  description
                    "MP2MP Partitioned MDT tree";
                }
    
                leaf mldp-partitioned-head-lsm-identifier {
                  type uint32;
                  description
                    "Partitioned MDT Head LSM-ID";
                }
    
                leaf mldp-head-local-label {
                  type uint32;
                  description
                    "Partitioned MDT Head local label";
                }
    
                leaf mldp-partitioned-mdt-identifier {
                  type uint32;
                  description
                    "MLDP Partitioned MDT Identifier";
                }
    
                leaf bgp-auto-discovery-configured {
                  type boolean;
                  description
                    "BGP Auto-Discovery configured";
                }
    
                leaf suppress-pim-data-mdt-tlv {
                  type boolean;
                  description
                    "Suppress PIM Data-MDT TLV Announcements";
                }
    
                leaf inter-autonomous-system-enabled {
                  type boolean;
                  description "Inter-AS Enabled";
                }
    
                leaf bgp-source-active-announce {
                  type boolean;
                  description
                    "Send BGP Source-Active Announcements";
                }
    
                leaf bgp-i-pmsi-added {
                  type boolean;
                  description "BGP I-PMSI Added";
                }
    
                leaf mldp-bsr-control-tree-added {
                  type boolean;
                  description
                    "MLDP BSR Control tree added";
                }
    
                leaf mldp-auto-rp-discovery-tree-added {
                  type boolean;
                  description
                    "MLDP Autorp Discovery Control tree added";
                }
    
                leaf mldp-auto-rp-announce-tree-added {
                  type boolean;
                  description
                    "MLDP Autorp Announce Control tree added";
                }
    
                leaf bgp-auto-discovery-type {
                  type uint32;
                  description
                    "BGP Auto Discovery Type";
                }
    
                leaf mdt-partitioned-mdt-control-identifier {
                  type uint32;
                  description
                    "Partitioned MDT Control Identifier";
                }
    
                leaf mdt-partitioned-ir-control-identifier {
                  type uint32;
                  description
                    "Partitioned IR MDT Control Identifier";
                }
    
                leaf mldp-control-head-lsm-identifier {
                  type uint32;
                  description
                    "MLDP MVPN Identifier";
                }
    
                leaf umh {
                  type boolean;
                  description
                    "Join UMH Core-Tree";
                }
    
                leaf suppress-shared-tree-join {
                  type boolean;
                  description
                    "Suppress Shared-Tree Joins";
                }
    
                leaf rsvp-te-mdt-name {
                  type string;
                  description "RSVP-TE MDT Name";
                }
    
                leaf rsvp-te-mdt-interface {
                  type xr:Interface-name;
                  description
                    "RSVP-TEMDT handle";
                }
    
                leaf rsvp-te-mdt-mtu {
                  type uint32;
                  description "RSVP-TEMDT MTU";
                }
    
                leaf rsvp-te-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "RSVP-TE MDT max aggregation";
                }
    
                leaf rsvp-te-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "RSVP-TE Data MDT Switchover interval";
                }
    
                leaf rsvp-te-mdt-data-announce-interval {
                  type uint32;
                  description
                    "RSVP-TE Data MDT Announce interval";
                }
    
                leaf rsvp-te-mdt-rpf-identifier {
                  type uint32;
                  description "RSVP-TE RPF-ID";
                }
    
                leaf is-create-rsvp-te-mdt-interface {
                  type boolean;
                  description
                    "Create RSVP-TE MDT interface";
                }
    
                leaf is-rsvp-te-mdt-owner {
                  type boolean;
                  description
                    "RSVP-TE MDT Owner";
                }
    
                leaf rsvp-te-mdt-static-p2mp-count {
                  type uint32;
                  description
                    "Number of Static P2MP-TE MDT";
                }
    
                leaf p2mpte-li-drop {
                  type uint32;
                  description
                    "Route LI updates dropped for P2MP";
                }
    
                leaf ir-mdt-name {
                  type string;
                  description "IR MDT Name";
                }
    
                leaf ir-mdt-interface {
                  type xr:Interface-name;
                  description "IRMDT handle";
                }
    
                leaf ir-mdt-mtu {
                  type uint32;
                  description "IRMDT MTU";
                }
    
                leaf ir-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "IR MDT max aggregation";
                }
    
                leaf ir-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "IR Data MDT Switchover interval";
                }
    
                leaf ir-mdt-data-announce-interval {
                  type uint32;
                  description
                    "IR Data MDT Announce interval";
                }
    
                leaf ir-mdt-rpf-identifier {
                  type uint32;
                  description "IR RPF-ID";
                }
    
                leaf ir-mdt-tail-label {
                  type uint32;
                  description "IR Tail Label";
                }
    
                leaf is-create-ir-mdt-interface {
                  type boolean;
                  description
                    "Create IR MDT interface";
                }
    
                leaf is-ir-mdt-owner {
                  type boolean;
                  description "IR MDT Owner";
                }
    
                leaf is-sr-local {
                  type boolean;
                  description "SR Local";
                }
    
                leaf is-sr-remote {
                  type boolean;
                  description "SR Remote";
                }
    
                leaf sr-mdt-name {
                  type string;
                  description "SR MDT Name";
                }
    
                leaf sr-mdt-interface {
                  type xr:Interface-name;
                  description "SRMDT handle";
                }
    
                leaf sr-mdt-mtu {
                  type uint32;
                  description "SRMDT MTU";
                }
    
                leaf sr-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "SR MDT max aggregation";
                }
    
                leaf sr-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "SR Data MDT Switchover interval";
                }
    
                leaf sr-mdt-data-announce-interval {
                  type uint32;
                  description
                    "SR Data MDT Announce interval";
                }
    
                leaf sr-mdt-rpf-identifier {
                  type uint32;
                  description "SR RPF-ID";
                }
    
                leaf sr-mdt-tail-label {
                  type uint32;
                  description "SR Tail Label";
                }
    
                leaf is-create-sr-mdt-interface {
                  type boolean;
                  description
                    "Create SR MDT interface";
                }
    
                leaf is-sr-mdt-owner {
                  type boolean;
                  description "SR MDT Owner";
                }
    
                leaf mdt-partitioned-tree-sid-control-identifier {
                  type uint32;
                  description
                    "Partitioned Tree-SID MDT Control Identifier";
                }
    
                leaf in-b-and-mdt-name {
                  type string;
                  description "Inband MDT Name";
                }
    
                leaf in-b-and-mdt-interface {
                  type xr:Interface-name;
                  description
                    "Inband MDT handle";
                }
    
                leaf in-b-and-mdt-mtu {
                  type uint32;
                  description "Inband MDT MTU";
                }
    
                leaf in-band-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "Inband MDT max aggregation";
                }
    
                leaf in-b-and-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Inband Data MDT Switchover interval";
                }
    
                leaf in-b-and-mdt-data-announce-interval {
                  type uint32;
                  description
                    "Inband Data MDT Announce interval";
                }
    
                leaf in-b-and-mdt-rpf-identifier {
                  type uint32;
                  description "Inband RPF-ID";
                }
    
                leaf is-create-in-b-and-mdt-interface {
                  type boolean;
                  description
                    "Create Inband MDT interface";
                }
    
                leaf is-in-b-and-mdt-owner {
                  type boolean;
                  description "Inband MDT Owner";
                }
    
                leaf in-band-signaling-local-enabled {
                  type boolean;
                  description
                    "Inband signaling Local enabled";
                }
    
                leaf in-band-signaling-remote-enabled {
                  type boolean;
                  description
                    "Inband signaling Remote enabled";
                }
    
                leaf valid-rd-present {
                  type boolean;
                  description "RD is valid";
                }
    
                leaf stale-rd-present {
                  type boolean;
                  description "RD is stale";
                }
    
                leaf route-distinguisher {
                  type yang:hex-string;
                  description "RD value";
                }
    
                leaf gin-b-and-mdt-name {
                  type string;
                  description "Inband MDT Name";
                }
    
                leaf gin-b-and-mdt-interface {
                  type xr:Interface-name;
                  description
                    "Inband MDT handle";
                }
    
                leaf gin-b-and-mdt-mtu {
                  type uint32;
                  description "Inband MDT MTU";
                }
    
                leaf gin-band-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "Inband MDT max aggregation";
                }
    
                leaf gin-b-and-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Inband Data MDT Switchover interval";
                }
    
                leaf gin-b-and-mdt-data-announce-interval {
                  type uint32;
                  description
                    "Inband Data MDT Announce interval";
                }
    
                leaf gin-b-and-mdt-rpf-identifier {
                  type uint32;
                  description "Inband RPF-ID";
                }
    
                leaf is-create-gin-b-and-mdt-interface {
                  type boolean;
                  description
                    "Create Inband MDT interface";
                }
    
                leaf is-gin-b-and-mdt-owner {
                  type boolean;
                  description "Inband MDT Owner";
                }
    
                leaf is-pim-nsf-rib-converged {
                  type boolean;
                  description
                    "PIM NSF RIB converged";
                }
    
                leaf is-pim-nsf-rib-converge-received {
                  type boolean;
                  description
                    "PIM NSF RIB converge received";
                }
    
                leaf is-rib-multipath-enabled {
                  type boolean;
                  description
                    "PIM RIB multiplath enabled";
                }
    
                leaf is-rib-multipath-interface-hash {
                  type boolean;
                  description
                    "PIM RIB multipath interface hash";
                }
    
                leaf is-rib-multipath-source-hash {
                  type boolean;
                  description
                    "PIM RIB multipath source based hash";
                }
    
                leaf is-rib-multipath-source-next-hop-hash {
                  type boolean;
                  description
                    "PIM RIB multipath source-nexthop hash";
                }
    
                leaf rump-enabled {
                  type boolean;
                  description
                    "PIM is using MuRIB";
                }
    
                leaf is-create-mdt-interface {
                  type boolean;
                  description
                    "Create MDT interface";
                }
    
                leaf is-auto-rp-listen-enabled {
                  type boolean;
                  description
                    "Auto RP Listen Enabled";
                }
    
                leaf is-all-interface-disable-operation {
                  type boolean;
                  description
                    "PIM all interface disable operation";
                }
    
                leaf is-default-granges {
                  type boolean;
                  description "Default granges";
                }
    
                leaf is-auto-rp-listen-sock-add {
                  type boolean;
                  description
                    "Auto RP listen sock add";
                }
    
                leaf is-redistribution-reset {
                  type boolean;
                  description
                    "Pending redist reset";
                }
    
                leaf redistribution-reset-count {
                  type uint32;
                  description
                    "Redist reset count";
                }
    
                leaf rpf-policy-name {
                  type string;
                  description
                    "RPF topology selection route-policy name";
                }
    
                leaf table-count {
                  type uint32;
                  description
                    "Number of configured Tables";
                }
    
                leaf active-table-count {
                  type uint32;
                  description
                    "Number of active Tables";
                }
    
                leaf anycast-rp-policy-name {
                  type string;
                  description
                    "Anycast-RP Policy Name";
                }
    
                leaf anycast-rp-configured {
                  type boolean;
                  description
                    "Anycast-RP config";
                }
    
                leaf bgp-remote-on {
                  type boolean;
                  description
                    "BGP remote interface status";
                }
    
                leaf bgp-remote-interface-name {
                  type string;
                  description
                    "BGP remote interface name";
                }
    
                leaf bgp-remote-interface {
                  type xr:Interface-name;
                  description
                    "BGP remote interface handle";
                }
    
                leaf bgp-remote-address {
                  type inet:ipv4-address;
                  description
                    "BGP remote interface address";
                }
    
                leaf bgp-remote-state {
                  type uint32;
                  description
                    "BGP remote interface state";
                }
    
                leaf physical-interface-count {
                  type uint64;
                  description
                    "Enabled Physical Interface Count";
                }
    
                leaf virtual-interface-count {
                  type uint64;
                  description
                    "Enabled Virtual Interface Count";
                }
    
                leaf virtual-mlc-interface-name {
                  type string;
                  description
                    "Virtual master line card Interface";
                }
    
                leaf mdt-immediate-switch {
                  type boolean;
                  description
                    "MDT Immediate Switch";
                }
    
                leaf remote-mdt-idb-name {
                  type string;
                  description
                    "Remote MDT Interface Handle Name";
                }
    
                leaf remote-mdt-address {
                  type inet:ipv4-address;
                  description
                    "Remote MDT interface address";
                }
    
                leaf-list mldp-root-address {
                  type uint32;
                  description
                    "MLDP Root addresses";
                }
    
                list export-route-target {
                  description
                    "Export Route Targets";
                  leaf route-target {
                    type yang:hex-string;
                    description
                      "Route Target Extended community value";
                  }
    
                  leaf configured {
                    type boolean;
                    description
                      "Configured Route Target";
                  }
    
                  leaf anycast-rp {
                    type boolean;
                    description
                      "Anycast-RP Group";
                  }
    
                  leaf anycast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Group marked";
                  }
    
                  leaf update-pending {
                    type boolean;
                    description
                      "Update Pending to BGP";
                  }
    
                  leaf bgp-auto-discovery {
                    type boolean;
                    description
                      "BGP Auto Discovery";
                  }
    
                  leaf segment-border {
                    type boolean;
                    description "Segment Border";
                  }
                }  // list export-route-target
    
                list import-route-target {
                  description
                    "Import Route Targets";
                  leaf route-target {
                    type yang:hex-string;
                    description
                      "Route Target Extended community value";
                  }
    
                  leaf configured {
                    type boolean;
                    description
                      "Configured Route Target";
                  }
    
                  leaf anycast-rp {
                    type boolean;
                    description
                      "Anycast-RP Group";
                  }
    
                  leaf anycast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Group marked";
                  }
    
                  leaf update-pending {
                    type boolean;
                    description
                      "Update Pending to BGP";
                  }
    
                  leaf bgp-auto-discovery {
                    type boolean;
                    description
                      "BGP Auto Discovery";
                  }
    
                  leaf segment-border {
                    type boolean;
                    description "Segment Border";
                  }
                }  // list import-route-target
    
                list anycast-rp-range {
                  description
                    "Anycast-RP Ranges";
                  container prefix {
                    description
                      "Anycast-RP Range Prefix";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container prefix
    
                  leaf prefix-length {
                    type uint8;
                    description
                      "Anycast-RP Range Prefix Length";
                  }
    
                  leaf ancast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Range marked";
                  }
                }  // list anycast-rp-range
              }  // container context
    
              container topology-entry-flag-route-counts {
                description
                  "Route count for topology with entry flag set";
                list topology-entry-flag-route-count {
                  key "entry-flag";
                  description
                    "Route count for topology with entry flag set";
                  leaf entry-flag {
                    type Pim-topology-entry-flag;
                    description "entry flag";
                  }
    
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // list topology-entry-flag-route-count
              }  // container topology-entry-flag-route-counts
    
              container rpf-redirect {
                description
                  "PIM ECMP RPF-redirect bundle";
                container redirect-route-databases {
                  description
                    "PIM ECMP RPF-redirect route database";
                  list redirect-route-database {
                    key "source-address group-address";
                    description
                      "PIM ECMP RPF-redirect route information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    container group-address-xr {
                      description "Group ddress";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container source-address-xr {
                      description
                        "Source address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    leaf bandwidth {
                      type uint32;
                      units "kbit/s";
                      description
                        "Bandwidth in Kbps";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    list interface {
                      description
                        "Outgoing interface list";
                      container rpf-address {
                        description
                          "RPF Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rpf-address
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface name";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiry {
                        type uint64;
                        units "second";
                        description
                          "Expiry in seconds";
                      }
    
                      leaf is-rpf-interface {
                        type boolean;
                        description
                          "Is RPF Interface";
                      }
    
                      leaf is-outgoing-interface {
                        type boolean;
                        description
                          "Is outgoing Interface";
                      }
    
                      leaf is-snoop-interface {
                        type boolean;
                        description
                          "Is snooping Interface";
                      }
                    }  // list interface
                  }  // list redirect-route-database
                }  // container redirect-route-databases
    
                container bundle-interfaces {
                  description
                    "PIM ECMP RPF-redirect bundle information";
                  list bundle-interface {
                    key "bundle-name interface-name";
                    description
                      "PIM ECMP RPF-redirect bundle interface
    information";
                    leaf bundle-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description "Bundle name";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Bundle interface name";
                    }
    
                    leaf rpf-redirect-bundle-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "RPF redirect bundle name";
                    }
    
                    leaf rpf-redirect-interface-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "RPF redirect interface name";
                    }
    
                    leaf available-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth available in Kbps";
                    }
    
                    leaf allocated-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth allocated in Kbps";
                    }
    
                    leaf total-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Total bandwidth used in Kbps";
                    }
    
                    leaf topology-bandwidth-used {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth used by topology in Kbps";
                    }
    
                    leaf snooping-bandwidth-used {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth used by snooped entries in Kbps";
                    }
    
                    leaf allocated-threshold-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Configured threshold in Kbps";
                    }
    
                    leaf available-threshold-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Available threshold in Kbps";
                    }
                  }  // list bundle-interface
                }  // container bundle-interfaces
              }  // container rpf-redirect
    
              container tunnels {
                description
                  "Tunnels information that PIM has";
                list tunnel {
                  key "tunnel-name";
                  description
                    "PIM tunnel information";
                  leaf tunnel-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..64";
                    }
                    description "Tunnel name";
                  }
    
                  container source-address {
                    description
                      "Source addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  container rp-address {
                    description
                      "RP addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address-netio {
                    description
                      "Source addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-netio
    
                  container group-address-netio {
                    description
                      "Group addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-netio
    
                  leaf vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "VRF Name";
                  }
                }  // list tunnel
              }  // container tunnels
    
              container multicast-static-routes {
                description
                  "PIM multicast static route table";
                list multicast-static-route {
                  key "address prefix-length";
                  description
                    "PIM multicast static route information";
                  leaf address {
                    type inet:ip-address-no-zone;
                    description
                      "Network address";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  container prefix {
                    description "Prefix";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container prefix
    
                  container nexthop {
                    description "Next Hop";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container nexthop
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "Interface Handle";
                  }
    
                  leaf distance {
                    type uint32;
                    description "Distance";
                  }
    
                  leaf prefix-length-xr {
                    type uint8;
                    description "Prefix Length";
                  }
    
                  leaf is-via-lsm {
                    type boolean;
                    description "LSM flag";
                  }
                }  // list multicast-static-route
              }  // container multicast-static-routes
    
              container neighbors {
                description "PIM neighbor table";
                list neighbor {
                  key "interface-name neighbor-address";
                  description
                    "PIM neighbor information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf neighbor-address {
                    type inet:ip-address-no-zone;
                    description
                      "Neighbor address";
                  }
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
    
                  leaf expires {
                    type uint64;
                    units "second";
                    description
                      "Neighbor expiry in seconds";
                  }
    
                  leaf expiry-timer {
                    type uint64;
                    units "second";
                    description
                      "Expiry timer in seconds";
                  }
    
                  leaf is-this-neighbor-us {
                    type boolean;
                    description
                      "Is this neighbor us ?";
                  }
    
                  leaf is-this-neighbor-dr {
                    type boolean;
                    description
                      "Is this neighbor the DR";
                  }
    
                  leaf is-dr-priority-capable {
                    type boolean;
                    description
                      "Is this neighbor DR priority capable ?";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR priority";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description
                      "Is this neighbor bidir capable ?";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description
                      "Is this neighbor proxy capable?";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Is this neighbor capable of batching asserts?";
                  }
    
                  leaf is-ecmp-redirect-capable {
                    type boolean;
                    description
                      "Is this neighbor capable of Ecmp Redirect?";
                  }
    
                  leaf is-bfd-state {
                    type boolean;
                    description
                      "Is the neighbor bfd session created";
                  }
    
                  leaf sticky-dr-neighbor {
                    type boolean;
                    description
                      "Is Sticky DR advertised on interface by neighbor";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  list neighbor-address-xr {
                    description
                      "List of Neighbor Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list neighbor-address-xr
                }  // list neighbor
              }  // container neighbors
            }  // container default-context
    
            container process {
              description "Process";
              container nsr {
                description "NSR Information";
                leaf state {
                  type uint8;
                  description "NSR state";
                }
    
                leaf partner-connected {
                  type boolean;
                  description
                    "Partner process connected";
                }
    
                leaf rmf-notification-done {
                  type boolean;
                  description
                    "RMF Notification done";
                }
    
                leaf rmf-timer-valid {
                  type boolean;
                  description
                    "Is RMF timer running ?";
                }
    
                leaf rmf-timer-expiry {
                  type uint64;
                  description
                    "Time for RMF timer to expire";
                }
    
                leaf last-connection-up {
                  type uint64;
                  description
                    "Time when connection went up";
                }
    
                leaf last-connection-dn {
                  type uint64;
                  description
                    "Time when connection went down";
                }
    
                leaf last-rmf-ready {
                  type uint64;
                  description
                    "Time when RMF Rdy notif was sent";
                }
    
                leaf last-rmf-not-ready {
                  type uint64;
                  description
                    "Time when RMF Not-Rdy notif was sent";
                }
    
                leaf count-connection-up {
                  type uint32;
                  description
                    "No. of times connection went up";
                }
    
                leaf count-connection-dn {
                  type uint32;
                  description
                    "No. of times connection went down";
                }
    
                leaf count-rmf-ready {
                  type uint32;
                  description
                    "No. of times RMF Ready notif was sent";
                }
    
                leaf count-rmf-not-ready {
                  type uint32;
                  description
                    "No. of times RMF Not Ready notif was sent";
                }
              }  // container nsr
    
              container summary {
                description "PIM Global Summary";
                leaf route-limit {
                  type uint32;
                  description "Maximum routes";
                }
    
                leaf route-count {
                  type uint32;
                  description "Current routes";
                }
    
                leaf route-low-water-mark {
                  type uint32;
                  description
                    "The number of routes below which the throttle on
    route creation will be lifted";
                }
    
                leaf is-route-limit-reached {
                  type boolean;
                  description
                    "Is route creation throttled";
                }
    
                leaf topology-interface-state-limit {
                  type uint32;
                  description
                    "Maximum Topology Interface State count";
                }
    
                leaf topology-interface-state-count {
                  type uint32;
                  description
                    "Current Topology Interface State count";
                }
    
                leaf rxi-low-water-mark {
                  type uint32;
                  description
                    "The rxi below which the throttle on interface
    creation will be lifted";
                }
    
                leaf rxi-limit-reached {
                  type boolean;
                  description
                    "Is interface creation throttled";
                }
    
                leaf register-limit {
                  type uint32;
                  description
                    "Maximum registers";
                }
    
                leaf register-count {
                  type uint32;
                  description
                    "Current registers";
                }
    
                leaf register-limit-reached {
                  type boolean;
                  description
                    "Is PIM SM register handling throttled";
                }
    
                leaf ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from Autorp";
                }
    
                leaf ranges-count {
                  type uint32;
                  description
                    "Current group ranges from Autorp";
                }
    
                leaf ranges-threshold {
                  type uint32;
                  description
                    "OOR theshold of grange ranges from AutoRP";
                }
    
                leaf is-ranges-limit-reached {
                  type boolean;
                  description
                    "Is Auto-RP group-to-RP mapping range creation
    throttled";
                }
    
                leaf bsr-ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from BSR";
                }
    
                leaf bsr-ranges-count {
                  type uint32;
                  description
                    "Current group ranges from BSR";
                }
    
                leaf bsr-range-threshold {
                  type uint32;
                  description
                    "Threshold group range from BSR";
                }
    
                leaf is-bsr-ranges-threshold-reached {
                  type boolean;
                  description
                    "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                }
    
                leaf bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Maximum crp-set from BSR";
                }
    
                leaf bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Current crp-set count from BSR";
                }
    
                leaf bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Threshold crp-set from BSR";
                }
    
                leaf is-maximum-enforcement-disabled {
                  type boolean;
                  description
                    "Is maximum enforcement disabled";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
    
                leaf route-threshold {
                  type uint32;
                  description "Threshold routes";
                }
    
                leaf global-auto-rp-ranges-limit {
                  type uint32;
                  description
                    "Global Auto-RP maximum group ranges";
                }
    
                leaf is-global-auto-rp-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global AutoRP group-to-RP mapping range
    creation throttled";
                }
    
                leaf global-bsr-ranges-limit {
                  type uint32;
                  description
                    "Global BSR maximum group ranges";
                }
    
                leaf global-bsr-ranges-count {
                  type uint32;
                  description
                    "Global BSR current group ranges";
                }
    
                leaf global-bsr-ranges-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold group ranges";
                }
    
                leaf is-global-bsr-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global BSR group-to-RP mapping range creation
    throttled";
                }
    
                leaf global-bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Global BSR maximum crp-set";
                }
    
                leaf global-bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Global BSR current crp-set count";
                }
    
                leaf global-bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold crp-set";
                }
    
                leaf is-global-route-limit-reached {
                  type boolean;
                  description
                    "Is global route creation throttled";
                }
    
                leaf topology-interface-state-threshold {
                  type uint32;
                  description
                    "Topology Interface State threshold";
                }
    
                leaf is-global-rxi-limit-reached {
                  type boolean;
                  description
                    "Is global interface creation throttled";
                }
    
                leaf register-threshold {
                  type uint32;
                  description
                    "Threshold registers";
                }
    
                leaf global-register-limit {
                  type uint32;
                  description
                    "Maximum global registers";
                }
    
                leaf is-global-register-limit-reached {
                  type boolean;
                  description
                    "Is global PIM SM register handling throttled";
                }
              }  // container summary
    
              container nsf {
                description
                  "PIM NSF information";
                leaf configured-state {
                  type boolean;
                  description
                    "Is Multicast NSF Configured";
                }
    
                leaf nsf-state {
                  type boolean;
                  description
                    "Are we currently in NSF";
                }
    
                leaf nsf-timeout {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF timeout in seconds";
                }
    
                leaf nsf-time-left {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF time left in seconds";
                }
    
                leaf waiting-timer {
                  type boolean;
                  description
                    "Waiting for NSF timer expiry";
                }
    
                leaf waiting-membership {
                  type boolean;
                  description
                    "Waiting for IGMP/MLD";
                }
    
                leaf respawn-count {
                  type uint32;
                  description "Respawn Count";
                }
    
                leaf last-nsf-on {
                  type int64;
                  description "Last NSF time ON";
                }
    
                leaf last-nsf-off {
                  type int64;
                  description
                    "Last NSF time off";
                }
    
                leaf last-nsf-on-sec {
                  type int32;
                  units "second";
                  description
                    "Last NSF time ON in Seconds";
                }
    
                leaf last-nsf-off-sec {
                  type int32;
                  units "second";
                  description
                    "Last NSF time OFF in Seconds";
                }
    
                leaf last-icd-notif-recv {
                  type int64;
                  description
                    "Last ICD Notif Recv";
                }
    
                leaf last-icd-notif-recv-sec {
                  type int32;
                  units "second";
                  description
                    "Last ICD Notif Recv in Seconds";
                }
              }  // container nsf
    
              container issu {
                description "ISSU Information";
                leaf informationvalid {
                  type boolean;
                  description
                    "Is Information valid ?";
                }
    
                leaf role-ha {
                  type int32;
                  description "HA role";
                }
    
                leaf role-issu {
                  type int32;
                  description "ISSU role";
                }
    
                leaf phase-issu {
                  type int32;
                  description "ISSU Phase";
                }
    
                leaf last-ha-role-notification-received {
                  type uint64;
                  description
                    "Time when last HA role nfn was received";
                }
    
                leaf last-issu-role-notification-received {
                  type uint64;
                  description
                    "Time when last ISSU role nfn was received";
                }
    
                leaf last-issu-phase-notification-received {
                  type uint64;
                  description
                    "Time when last ISSU Phase nfn was received";
                }
    
                leaf is-eoc-received {
                  type boolean;
                  description
                    "Was EOC received ?";
                }
    
                leaf eoc-received-timestamp {
                  type uint64;
                  description
                    "Time when EOC was received";
                }
    
                leaf is-ihms-done-received {
                  type boolean;
                  description
                    "Was IHMS done received ?";
                }
    
                leaf ihms-received-timestamp {
                  type uint64;
                  description
                    "Time when IHMS done was received";
                }
    
                leaf is-rib-sync-received {
                  type boolean;
                  description
                    "Was RIB Sync received ?";
                }
    
                leaf rib-sync-received-timestamp {
                  type uint64;
                  description
                    "Time when RIB Sync was received";
                }
    
                leaf is-nbr-sync-received {
                  type boolean;
                  description
                    "Was NBR Sync achieved ?";
                }
    
                leaf nbr-sync-received-timestamp {
                  type uint64;
                  description
                    "Time when NBR Sync was achieved";
                }
    
                leaf is-checkpoint-idt-done {
                  type boolean;
                  description
                    "Was Checkpoint IDT done ?";
                }
    
                leaf checkpoint-idt-timestamp {
                  type uint64;
                  description
                    "Time when Checkpoint IDT done";
                }
              }  // container issu
            }  // container process
    
            container vrfs {
              description "VRF Table";
              list vrf {
                key "vrf-name";
                description "VRF name";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description "VRF name ";
                }
    
                container ifrs-interfaces {
                  description
                    "PIM interfaces in forward reference store table";
                  list ifrs-interface {
                    key "interface-name";
                    description
                      "PIM IFRS interface information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container dr-address {
                      description
                        "PIM Designated Router";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container dr-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identfier";
                    }
    
                    leaf interface-address-mask {
                      type uint8;
                      description
                        "Interface IP Address Mask";
                    }
    
                    leaf is-enabled {
                      type boolean;
                      description
                        "Is PIM enabled on this IF ?";
                    }
    
                    leaf neighbor-count {
                      type uint16;
                      description
                        "No. of neighbors on this IF";
                    }
    
                    leaf external-neighbor-count {
                      type uint16;
                      description
                        "No. of external neighbors on this IF";
                    }
    
                    leaf hello-interval {
                      type uint16;
                      description
                        "Hello Interval";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR Priority";
                    }
    
                    leaf hello-expiry {
                      type uint64;
                      description
                        "Hello Timer Expiry";
                    }
    
                    leaf are-we-dr {
                      type boolean;
                      description
                        "Are we the DR on this IF ?";
                    }
    
                    leaf bfd-enabled {
                      type boolean;
                      description "BFD state";
                    }
    
                    leaf bfd-interval {
                      type uint32;
                      description "BFD Interval";
                    }
    
                    leaf bfd-multiplier {
                      type uint32;
                      description
                        "BFD Multiplier";
                    }
    
                    leaf virtual-interface {
                      type boolean;
                      description
                        " is this a Virtual Interfaces ?";
                    }
    
                    leaf passive-interface {
                      type boolean;
                      description
                        "Passive PIM interface";
                    }
    
                    leaf neighbor-filter-name {
                      type string;
                      description
                        "Neighbor Filter Name";
                    }
    
                    leaf sticky-dr-enabled {
                      type boolean;
                      description
                        "Is Sticky DR enabled on Interface";
                    }
    
                    leaf sticky-dr-active {
                      type boolean;
                      description
                        "Is Sticky DR Active on Interface";
                    }
    
                    leaf sticky-dr-active-since {
                      type uint64;
                      units "second";
                      description
                        "Sticky DR uptime in seconds";
                    }
    
                    leaf join-prune-interval {
                      type uint16;
                      description
                        "Join-Prune Interval";
                    }
    
                    leaf prune-delay-enabled {
                      type boolean;
                      description
                        "Prune Delay Enabled";
                    }
    
                    leaf configured-propagation-delay {
                      type uint16;
                      description
                        "Configured Propagation Delay";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf configured-override-interval {
                      type uint16;
                      description
                        "Configured Override Interval";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    leaf generation-id {
                      type uint32;
                      description
                        "Generation Identifier";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Bidir Capable";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Proxy Capable";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Batch Asserts Capable";
                    }
    
                    leaf idb-oor-enabled {
                      type boolean;
                      description
                        "Interface oor enabled";
                    }
    
                    leaf idb-acl-provided {
                      type boolean;
                      description
                        "ACL name provided";
                    }
    
                    leaf idb-max-count {
                      type uint32;
                      description
                        "Interface ole max count";
                    }
    
                    leaf idb-threshold-count {
                      type uint32;
                      description
                        "Interface ole threshold count";
                    }
    
                    leaf idb-current-count {
                      type uint32;
                      description
                        "Interface ole current count";
                    }
    
                    leaf idb-acl-name {
                      type string {
                        length "0..64";
                      }
                      description
                        "Interface ole ACL Name";
                    }
    
                    list interface-address {
                      description
                        "List of Interface IP Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list interface-address
                  }  // list ifrs-interface
                }  // container ifrs-interfaces
    
                container interface-statistics {
                  description
                    "PIM interface statistics";
                  list interface-statistic {
                    key "interface-name";
                    description
                      "PIM interface statistics";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf input-hello {
                      type uint32;
                      description
                        "Hello packets in";
                    }
    
                    leaf output-hello {
                      type uint32;
                      description
                        "Hello packets out";
                    }
    
                    leaf input-register {
                      type uint32;
                      description
                        "Register packets in";
                    }
    
                    leaf output-register {
                      type uint32;
                      description
                        "Register packets out";
                    }
    
                    leaf input-register-stop {
                      type uint32;
                      description
                        "Register Stop packets in";
                    }
    
                    leaf output-register-stop {
                      type uint32;
                      description
                        "Register Stop packets out";
                    }
    
                    leaf input-jp {
                      type uint32;
                      description
                        "Join Prune packets in";
                    }
    
                    leaf output-jp {
                      type uint32;
                      description
                        "Join Prune packets out";
                    }
    
                    leaf input-bsr-message {
                      type uint32;
                      description
                        "Input BSR Messages";
                    }
    
                    leaf output-bsr-message {
                      type uint32;
                      description
                        "Output BSR Messages";
                    }
    
                    leaf input-assert {
                      type uint32;
                      description
                        "Assert packets in";
                    }
    
                    leaf output-assert {
                      type uint32;
                      description
                        "Assert packets out";
                    }
    
                    leaf input-graft-message {
                      type uint32;
                      description
                        "Input Graft Messages";
                    }
    
                    leaf output-graft-message {
                      type uint32;
                      description
                        "Output Graft Messages";
                    }
    
                    leaf input-graft-ack-message {
                      type uint32;
                      description
                        "Input Graft Ack Messages";
                    }
    
                    leaf output-graft-ack-message {
                      type uint32;
                      description
                        "Output Graft Ack Messages";
                    }
    
                    leaf input-candidate-rp-advertisement {
                      type uint32;
                      description
                        "Input Candidate-RP Advertisment";
                    }
    
                    leaf output-candidate-rp-advertisement {
                      type uint32;
                      description
                        "Output Candidate-RP Advertisment";
                    }
    
                    leaf input-df-election {
                      type uint32;
                      description
                        "DF Election packets in";
                    }
    
                    leaf output-df-election {
                      type uint32;
                      description
                        "DF Election packets out";
                    }
    
                    leaf input-miscellaneous {
                      type uint32;
                      description
                        "Miscellaneous packet in";
                    }
                  }  // list interface-statistic
                }  // container interface-statistics
    
                container topology-route-count {
                  description
                    "Topology route count information from PIM
    topology table";
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // container topology-route-count
    
                container jp-statistics {
                  description
                    "PIM join prune statistics table";
                  list jp-statistic {
                    key "interface-name";
                    description
                      "PIM Join Prune Statistics";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf mtu {
                      type uint32;
                      description
                        "Interface MTU";
                    }
    
                    leaf transmitted {
                      type uint32;
                      description "Transmitted";
                    }
    
                    leaf transmitted100 {
                      type uint16;
                      description
                        "Transmitted 100 average";
                    }
    
                    leaf transmitted-1k {
                      type uint16;
                      description
                        "Transmitted 1K average";
                    }
    
                    leaf transmitted-10k {
                      type uint16;
                      description
                        "Transmitted 10K average";
                    }
    
                    leaf transmitted-50k {
                      type uint16;
                      description
                        "Deprecated by Transmitted100";
                    }
    
                    leaf received {
                      type uint32;
                      description "Received";
                    }
    
                    leaf received100 {
                      type uint16;
                      description
                        "Received 100 average";
                    }
    
                    leaf received-1k {
                      type uint16;
                      description
                        "Received 1K average";
                    }
    
                    leaf received-10k {
                      type uint16;
                      description
                        "Received 10K average";
                    }
    
                    leaf received-50k {
                      type uint16;
                      description
                        "Deprecated by Received100";
                    }
                  }  // list jp-statistic
                }  // container jp-statistics
    
                container mib-databases {
                  description
                    "PIM group database for mroute mibs table";
                  list mib-database {
                    key "source-address group-address source-netmask";
                    description
                      "PIM multicast static route information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Multicast static route source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Multicast satic route group address";
                    }
    
                    leaf source-netmask {
                      type uint32;
                      description "Source mask";
                    }
    
                    container source-address-xr {
                      description
                        "Source Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container rpf-neighbor {
                      description
                        "The RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container rpf-root {
                      description
                        "Root of this mcast tree";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-root
    
                    leaf upstream-assert-timer {
                      type int32;
                      description
                        "Upstream Assert Timer";
                    }
    
                    leaf assert-metric {
                      type uint32;
                      description
                        "Assert Metric";
                    }
    
                    leaf assert-metric-preference {
                      type uint32;
                      description
                        "Assert Metric Preference";
                    }
    
                    leaf assert-rpt-bit {
                      type boolean;
                      description
                        "Assert RPT Bit";
                    }
    
                    leaf spt-bit {
                      type boolean;
                      description
                        "Is SPT bit set ?";
                    }
    
                    leaf rpf-mask {
                      type uint32;
                      description
                        "Mask of the multicast root";
                    }
    
                    leaf rpf-safi {
                      type uint8;
                      description
                        "Unicast or mcast";
                    }
    
                    leaf rpf-table-name {
                      type string;
                      description
                        "RPF Table name";
                    }
    
                    leaf rpf-drop {
                      type boolean;
                      description
                        "RPF route-policy drop";
                    }
    
                    leaf rpf-extranet {
                      type boolean;
                      description
                        "Extranet RPF route-policy";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "RPF interface name ";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
    
                    leaf bidirectional-route {
                      type boolean;
                      description
                        "Is this Bidir ?";
                    }
    
                    leaf uptime {
                      type uint64;
                      description
                        "Uptime of route";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "The PIM protocol";
                    }
                  }  // list mib-database
                }  // container mib-databases
    
                container ifrs-summary {
                  description
                    "PIM interfaces in forward reference store
    summary";
                  leaf interface-count {
                    type uint32;
                    description
                      "Number of interfaces";
                  }
    
                  leaf configuration-count {
                    type uint32;
                    description
                      "Configuration counts";
                  }
                }  // container ifrs-summary
    
                container ranges {
                  description
                    "PIM range list information";
                  list range {
                    key "rp-address client";
                    description
                      "PIM range list information";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    container rp-address-xr {
                      description
                        "Rendezvous point address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    container source-of-information {
                      description
                        "Source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description "PIM protocol";
                    }
    
                    leaf client-xr {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt via";
                    }
    
                    leaf expires {
                      type uint64;
                      description
                        "When mapping expires";
                    }
    
                    list group-range {
                      description
                        "List of group ranges";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container source-of-information {
                        description
                          "Source of information";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container source-of-information
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expires {
                        type uint64;
                        description
                          "When mapping expires";
                      }
                    }  // list group-range
                  }  // list range
                }  // container ranges
    
                container bsr {
                  description
                    "PIM BSR information";
                  container rp-caches {
                    description
                      "PIM BSR RP cache table";
                    list rp-cache {
                      key "group-prefix prefix-length";
                      description
                        "PIM BSR RP cache";
                      leaf group-prefix {
                        type inet:ip-address-no-zone;
                        description
                          "Group prefix";
                      }
    
                      leaf prefix-length {
                        type uint32;
                        description
                          "Prefix Length";
                      }
    
                      container group-prefix-xr {
                        description
                          "Group Prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container group-prefix-xr
    
                      container candidate-rp-list {
                        description
                          "C-RP list for this prefix";
                        list pim-bsr-crp-bag {
                          description
                            "Next C-RP in the List";
                          container candidate-rp-address {
                            description
                              "C-RP address";
                            leaf af-name {
                              type Pim-afi;
                              description
                                "AFName";
                            }
    
                            leaf ipv4-address {
                              when
                                "../af-name = 'ipv4-unicast'" {
                                description
                                  "../AFName = 'IPv4Unicast'";
                              }
                              type inet:ipv4-address;
                              description
                                "IPv4 Address";
                            }
    
                            leaf ipv6-address {
                              when
                                "../af-name = 'ipv6-unicast'" {
                                description
                                  "../AFName = 'IPv6Unicast'";
                              }
                              type Ipv6-address;
                              description
                                "IPV6 Address";
                            }
                          }  // container candidate-rp-address
    
                          leaf candidate-rp-holdtime {
                            type uint16;
                            description
                              "C-RP Holdtime";
                          }
    
                          leaf candidate-rp-priority {
                            type uint8;
                            description
                              "C-RP Priority";
                          }
    
                          leaf candidate-rp-up-time {
                            type uint16;
                            description
                              "C-RP Uptime";
                          }
    
                          leaf candidate-rp-expires {
                            type uint16;
                            description
                              "C-RP Expires";
                          }
    
                          leaf protocol {
                            type Pim-show-protocol;
                            description
                              "PIM Protocol";
                          }
                        }  // list pim-bsr-crp-bag
                      }  // container candidate-rp-list
    
                      leaf group-prefix-length {
                        type uint32;
                        description
                          "Group Prefix Length";
                      }
    
                      leaf candidate-rp-group-count {
                        type uint32;
                        description
                          "C-RP count for this Prefix";
                      }
                    }  // list rp-cache
                  }  // container rp-caches
    
                  container candidate-rps {
                    description
                      "PIM candidate-RP";
                    list candidate-rp {
                      key "rp-address";
                      description
                        "PIM BSR candidate RP information";
                      leaf rp-address {
                        type inet:ip-address-no-zone;
                        description
                          "Candidate-RP address";
                      }
    
                      container candidate-rp {
                        description
                          "Cand-RP Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container candidate-rp
    
                      leaf candidate-rp-mode {
                        type Pim-show-protocol;
                        description
                          "Cand-RP Mode";
                      }
    
                      leaf candidate-rp-scope {
                        type int32;
                        description
                          "Cand-RP Scope";
                      }
    
                      leaf crp-priority {
                        type uint8;
                        description
                          "Cand-RP Priority";
                      }
    
                      leaf crp-holdtime {
                        type uint16;
                        description
                          "Cand-RP Holdtime";
                      }
    
                      leaf candidate-rp-advance-interval {
                        type uint16;
                        units "second";
                        description
                          "Cand-RP Adv Interval in seconds";
                      }
    
                      leaf candidate-rp-uptime {
                        type uint16;
                        description
                          "Cand-RP uptime";
                      }
    
                      leaf acl-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Group Access-List Name";
                      }
    
                      list crp-access {
                        max-elements 2;
                        description
                          "Group Ranges Using this Cand-RP";
                        leaf candidate-rp-mode {
                          type Pim-show-protocol;
                          description
                            "Cand-RP Mode";
                        }
    
                        leaf acl-name {
                          type string {
                            length "0..33";
                          }
                          description
                            "Group Access-List Name";
                        }
                      }  // list crp-access
                    }  // list candidate-rp
                  }  // container candidate-rps
    
                  container bsr-elections {
                    description
                      "PIM BSR election state";
                    list bsr-election {
                      key "pim-scope";
                      description
                        "PIM BSR information";
                      leaf pim-scope {
                        type uint32;
                        description
                          "BSR information";
                      }
    
                      container bsr-address {
                        description
                          "BSR address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container bsr-address
    
                      container candidate-bsr-address {
                        description
                          "C-BSR address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container candidate-bsr-address
    
                      leaf bsr-priority {
                        type uint8;
                        description
                          "BSR Priority";
                      }
    
                      leaf bsr-mask-length {
                        type uint8;
                        description
                          "Hash Function Mask Length";
                      }
    
                      leaf bsr-up-time {
                        type uint16;
                        description "BSR Uptime";
                      }
    
                      leaf bootstrap-timeout {
                        type uint16;
                        description
                          "Bootstrap Timeout";
                      }
    
                      leaf candidate-bsr-state {
                        type uint32;
                        description
                          "BSR Candidate State";
                      }
    
                      leaf bsr-election-state {
                        type uint32;
                        description
                          "BSR Election State";
                      }
    
                      leaf bsr-scope {
                        type uint16;
                        description "BSR Scope";
                      }
    
                      leaf candidate-bsr-flag {
                        type boolean;
                        description
                          "BSR Candidate Config Flag";
                      }
    
                      leaf candidate-bsr-priority {
                        type uint8;
                        description
                          "C-BSR Priority";
                      }
    
                      leaf candidate-bsr-mask-length {
                        type uint8;
                        description
                          "C-BSR Hash Func. Mask Len";
                      }
                    }  // list bsr-election
                  }  // container bsr-elections
                }  // container bsr
    
                container route-policy {
                  description "PIM route policy";
                  container route-policy-statistics {
                    description
                      "PIM route policy statistics";
                    leaf policy-name {
                      type string;
                      description
                        "RPF policy name";
                    }
    
                    leaf requests {
                      type uint32;
                      description
                        "Number of RPF lookup requests";
                    }
    
                    leaf pass {
                      type uint32;
                      description
                        "Number of RPF pass";
                    }
    
                    leaf drop {
                      type uint32;
                      description
                        "Number of RPF drops";
                    }
    
                    leaf default-table {
                      type uint32;
                      description
                        "Number of RPF lookup in default-only Table";
                    }
    
                    leaf any-table {
                      type uint32;
                      description
                        "Number of RPF lookup in any Table";
                    }
                  }  // container route-policy-statistics
                }  // container route-policy
    
                container rpf-summary {
                  description
                    "PIM RPF registration summary";
                  leaf default-safi {
                    type uint32;
                    description
                      "Default RPF Table SAFI";
                  }
    
                  leaf default-table-name {
                    type string;
                    description
                      "Default RPF Table Name";
                  }
    
                  leaf is-mbgp-configured {
                    type boolean;
                    description
                      "Is MBGP configured?";
                  }
    
                  leaf is-ospf-te-configured {
                    type boolean;
                    description
                      "Is OSPF TE configured?";
                  }
    
                  leaf is-isis-te-configured {
                    type boolean;
                    description
                      "Is ISIS TE configured?";
                  }
    
                  leaf is-isis-mtr-configured {
                    type boolean;
                    description
                      "Is ISIS MTR configured?";
                  }
    
                  leaf mo-frr-configured {
                    type boolean;
                    description
                      "Is MoFRR configured?";
                  }
    
                  leaf rib-mo-frr-configured {
                    type boolean;
                    description
                      "Is MoFRR RIB configured?";
                  }
    
                  leaf rump-enabled {
                    type boolean;
                    description
                      "Is RUMP MuRIB enabled?";
                  }
    
                  leaf rib-convergence-timeout {
                    type uint32;
                    units "second";
                    description
                      "RIB convergence timeout in seconds";
                  }
    
                  leaf rib-convergence-time-left {
                    type uint32;
                    units "second";
                    description
                      "RIB convergence time left in seconds";
                  }
    
                  leaf is-multipath-enabled {
                    type boolean;
                    description
                      "Is Multipath Enabled ?";
                  }
    
                  leaf is-multipath-interface-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Interface Hash Extension Enabled ?";
                  }
    
                  leaf is-multipath-source-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Source based Hash Enabled ?";
                  }
    
                  leaf is-multipath-source-next-hop-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Source-Nexthop Hash Enabled ?";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
                }  // container rpf-summary
    
                container interfaces {
                  description "PIM interfaces";
                  list interface {
                    key "interface-name";
                    description
                      "PIM interface name";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container dr-address {
                      description
                        "PIM Designated Router";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container dr-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identfier";
                    }
    
                    leaf interface-address-mask {
                      type uint8;
                      description
                        "Interface IP Address Mask";
                    }
    
                    leaf is-enabled {
                      type boolean;
                      description
                        "Is PIM enabled on this IF ?";
                    }
    
                    leaf neighbor-count {
                      type uint16;
                      description
                        "No. of neighbors on this IF";
                    }
    
                    leaf external-neighbor-count {
                      type uint16;
                      description
                        "No. of external neighbors on this IF";
                    }
    
                    leaf hello-interval {
                      type uint16;
                      description
                        "Hello Interval";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR Priority";
                    }
    
                    leaf hello-expiry {
                      type uint64;
                      description
                        "Hello Timer Expiry";
                    }
    
                    leaf are-we-dr {
                      type boolean;
                      description
                        "Are we the DR on this IF ?";
                    }
    
                    leaf bfd-enabled {
                      type boolean;
                      description "BFD state";
                    }
    
                    leaf bfd-interval {
                      type uint32;
                      description "BFD Interval";
                    }
    
                    leaf bfd-multiplier {
                      type uint32;
                      description
                        "BFD Multiplier";
                    }
    
                    leaf virtual-interface {
                      type boolean;
                      description
                        " is this a Virtual Interfaces ?";
                    }
    
                    leaf passive-interface {
                      type boolean;
                      description
                        "Passive PIM interface";
                    }
    
                    leaf neighbor-filter-name {
                      type string;
                      description
                        "Neighbor Filter Name";
                    }
    
                    leaf sticky-dr-enabled {
                      type boolean;
                      description
                        "Is Sticky DR enabled on Interface";
                    }
    
                    leaf sticky-dr-active {
                      type boolean;
                      description
                        "Is Sticky DR Active on Interface";
                    }
    
                    leaf sticky-dr-active-since {
                      type uint64;
                      units "second";
                      description
                        "Sticky DR uptime in seconds";
                    }
    
                    leaf join-prune-interval {
                      type uint16;
                      description
                        "Join-Prune Interval";
                    }
    
                    leaf prune-delay-enabled {
                      type boolean;
                      description
                        "Prune Delay Enabled";
                    }
    
                    leaf configured-propagation-delay {
                      type uint16;
                      description
                        "Configured Propagation Delay";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf configured-override-interval {
                      type uint16;
                      description
                        "Configured Override Interval";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    leaf generation-id {
                      type uint32;
                      description
                        "Generation Identifier";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Bidir Capable";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Proxy Capable";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Batch Asserts Capable";
                    }
    
                    leaf idb-oor-enabled {
                      type boolean;
                      description
                        "Interface oor enabled";
                    }
    
                    leaf idb-acl-provided {
                      type boolean;
                      description
                        "ACL name provided";
                    }
    
                    leaf idb-max-count {
                      type uint32;
                      description
                        "Interface ole max count";
                    }
    
                    leaf idb-threshold-count {
                      type uint32;
                      description
                        "Interface ole threshold count";
                    }
    
                    leaf idb-current-count {
                      type uint32;
                      description
                        "Interface ole current count";
                    }
    
                    leaf idb-acl-name {
                      type string {
                        length "0..64";
                      }
                      description
                        "Interface ole ACL Name";
                    }
    
                    list interface-address {
                      description
                        "List of Interface IP Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list interface-address
                  }  // list interface
                }  // container interfaces
    
                container net-io-tunnels {
                  description
                    "Tunnel information that NETIO has ";
                  list net-io-tunnel {
                    key "tunnel-name";
                    description
                      "PIM netio tunnel information";
                    leaf tunnel-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "Tunnel name";
                    }
    
                    container source-address {
                      description
                        "Source addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address
    
                    container rp-address {
                      description
                        "RP addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container source-address-netio {
                      description
                        "Source addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-netio
    
                    container group-address-netio {
                      description
                        "Group addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-netio
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "VRF Name";
                    }
                  }  // list net-io-tunnel
                }  // container net-io-tunnels
    
                container bidir-df-states {
                  description
                    "Bidirectional PIM DF election state table";
                  list bidir-df-state {
                    key "rp-address interface-name";
                    description
                      "Bidirectional PIM DF Election Table Entry";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container rp-address-xr {
                      description "RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    leaf pim-interface-name {
                      type string;
                      description
                        "Interface Name";
                    }
    
                    leaf election-state {
                      type string;
                      description
                        "DF Election State";
                    }
    
                    leaf time-seconds {
                      type uint64;
                      units "second";
                      description
                        "Timer expires (seconds)";
                    }
    
                    leaf time-nano-seconds {
                      type uint64;
                      units "nanosecond";
                      description
                        "Timer expires (nseconds)";
                    }
    
                    leaf our-metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf our-metric-preference {
                      type uint32;
                      description
                        "MetricPreference";
                    }
                  }  // list bidir-df-state
                }  // container bidir-df-states
    
                container topologies {
                  description
                    "PIM topology table";
                  list topology {
                    key "source-address group-address rpt";
                    description
                      "PIM topology information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    leaf rpt {
                      type uint32;
                      description "RPT bit";
                    }
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container source-address-xr {
                      description
                        "Source Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    container rp-address {
                      description
                        "RP Address (If rpt)";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container rpf-neighbor {
                      description "RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container secondary-rpf-neighbor {
                      description
                        "Secondary RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container secondary-rpf-neighbor
    
                    container rpf-root {
                      description
                        "Root of this mcast tree";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-root
    
                    container proxy-address {
                      description
                        "RPF Proxy address.";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container proxy-address
    
                    container orig-src-address {
                      description
                        "Orig Src Address.";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container orig-src-address
    
                    leaf limit-reached {
                      type boolean;
                      description
                        "Have we throttled the creation of routes or
    interfaces ?";
                    }
    
                    leaf low-memory {
                      type boolean;
                      description
                        "Node is running low on memory";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "The PIM protocol";
                    }
    
                    leaf wildcard {
                      type boolean;
                      description "WC -Wildcard";
                    }
    
                    leaf rpt-xr {
                      type boolean;
                      description
                        "Is this on the RPT ?";
                    }
    
                    leaf spt {
                      type boolean;
                      description
                        "Is this on the SPT ?";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiry {
                      type uint64;
                      description
                        "When this entry expires";
                    }
    
                    leaf alive {
                      type int32;
                      units "second";
                      description
                        "Alive time in seconds (-1 if never)";
                    }
    
                    leaf register-received-timer {
                      type int32;
                      units "second";
                      description
                        "Register Received Timer in seconds (-1 if never)";
                    }
    
                    leaf remote-source {
                      type boolean;
                      description "MSDP told us";
                    }
    
                    leaf crossed-threshold {
                      type boolean;
                      description
                        "Incoming traffic crossed threshold. MT flag set";
                    }
    
                    leaf data-mdt-addr-assigned {
                      type boolean;
                      description
                        "PIM has assigned a Data MDT Address";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
    
                    leaf rpf-safi {
                      type uint8;
                      description
                        "Unicast or mcast";
                    }
    
                    leaf rpf-table-name {
                      type string;
                      description
                        "RPF Table name";
                    }
    
                    leaf rpf-drop {
                      type boolean;
                      description
                        "RPF route-policy drop";
                    }
    
                    leaf rpf-extranet {
                      type boolean;
                      description
                        "Extranet RPF route-policy";
                    }
    
                    leaf is-via-lsm {
                      type boolean;
                      description "Via LSM";
                    }
    
                    leaf secondary-rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "Secondary Interface Identifier";
                    }
    
                    leaf connected {
                      type boolean;
                      description
                        "Is Connected ?";
                    }
    
                    leaf proxy {
                      type boolean;
                      description
                        "Is the RPF target a proxy?";
                    }
    
                    leaf rpf-proxy-enabled {
                      type boolean;
                      description
                        "Is rpf if proxy enabled?";
                    }
    
                    leaf mofrr-enabled {
                      type boolean;
                      description
                        "Is this SG MoFRR enabled?";
                    }
    
                    leaf rib-mo-frr-enabled {
                      type boolean;
                      description
                        "Is this SG MoFRR enabled?";
                    }
    
                    leaf jp-timer {
                      type int32;
                      description
                        "Join-Prune Timer";
                    }
    
                    leaf jp-status {
                      type int32;
                      description
                        "Join-Prune Status";
                    }
    
                    leaf suppress-registers {
                      type int32;
                      description
                        "When the Null register probe expires";
                    }
    
                    leaf assume-alive {
                      type boolean;
                      description
                        "The Assume Alive Bit";
                    }
    
                    leaf probe-alive {
                      type boolean;
                      description
                        "The Probe Alive Bit";
                    }
    
                    leaf really-alive {
                      type boolean;
                      description
                        "The Really Alive Bit";
                    }
    
                    leaf inherit-alive {
                      type boolean;
                      description
                        "The Inherit Alive Bit";
                    }
    
                    leaf inherit-spt {
                      type boolean;
                      description
                        "The Inherit SPT Bit";
                    }
    
                    leaf signal-sources {
                      type boolean;
                      description
                        "Signal Sources on route?";
                    }
    
                    leaf dont-check-connected {
                      type boolean;
                      description
                        "Do we need to make the connected check on this
    route ?";
                    }
    
                    leaf register-received {
                      type boolean;
                      description
                        "Have registers been received for this source ?";
                    }
    
                    leaf last-hop {
                      type boolean;
                      description
                        "Are we last hop ?";
                    }
    
                    leaf sending-registers {
                      type boolean;
                      description
                        "Are we sending registers for this route ?";
                    }
    
                    leaf sending-null-registers {
                      type boolean;
                      description
                        "Are we sending null registers for this route ?";
                    }
    
                    leaf sa-sent {
                      type boolean;
                      description "BGP SA sent";
                    }
    
                    leaf sa-received {
                      type boolean;
                      description
                        "BGP SA received";
                    }
    
                    leaf sa-joined {
                      type boolean;
                      description "BGP SA join";
                    }
    
                    leaf anycast-rp-match {
                      type boolean;
                      description
                        "Group matches Anycast-RP policy";
                    }
    
                    leaf anycast-rp-route-target {
                      type inet:ipv4-address;
                      description
                        "Anycast-RP RT";
                    }
    
                    leaf bgp-join {
                      type boolean;
                      description "BGP C JOIN";
                    }
    
                    leaf bgp-jp-time {
                      type uint64;
                      description
                        "BGP C JP Time";
                    }
    
                    leaf customer-routing-type {
                      type int32;
                      description
                        "Type of Customer Routing in the MVPN";
                    }
    
                    leaf extranet-route {
                      type boolean;
                      description
                        "Is a Extranet route ?";
                    }
    
                    leaf mofrr-active {
                      type boolean;
                      description
                        "Is MoFRR Active?";
                    }
    
                    leaf mofrr-primary {
                      type boolean;
                      description
                        "Is this Mofrr Primary?";
                    }
    
                    leaf mofrr-backup {
                      type boolean;
                      description
                        "Is this Mofrr Backup?";
                    }
    
                    leaf vxlan {
                      type boolean;
                      description
                        "Is this VXLAN?";
                    }
    
                    leaf kat-state {
                      type boolean;
                      description
                        "Keep Alive Timer State";
                    }
    
                    list outgoing-interface {
                      description
                        "Outgoing interface list";
                      container assert-winner {
                        description
                          "Assert Winner";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container assert-winner
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface Identifier";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiry {
                        type uint64;
                        units "second";
                        description
                          "Expiry in seconds";
                      }
    
                      leaf bgp-c-mcast-prune-delay-timer {
                        type uint64;
                        units "second";
                        description
                          "BGP C-MCAST Prune Suppression in seconds";
                      }
    
                      leaf jp-timer {
                        type int32;
                        units "second";
                        description
                          "Join-Prune Timer (secs)";
                      }
    
                      leaf jp-state {
                        type int32;
                        description
                          "Join-Prune State";
                      }
    
                      leaf assert-timer {
                        type int32;
                        units "second";
                        description
                          "Assert Timer in seconds";
                      }
    
                      leaf local-members {
                        type int32;
                        description
                          "Local Information. Deprecated - use
    'local-members-information' instead";
                      }
    
                      leaf internal-interest-info {
                        type int32;
                        description
                          "Internal Interest. Deprecated - use
    'internal-interest-information' instead";
                      }
    
                      leaf forwarding-state {
                        type int32;
                        description
                          "Forward or Prune";
                      }
    
                      leaf immediate-state {
                        type int32;
                        description
                          "Immediate fwding state";
                      }
    
                      leaf last-hop {
                        type boolean;
                        description
                          "Are we last hop ?";
                      }
    
                      leaf mldp-inband-mdt {
                        type boolean;
                        description
                          "MLDP Inband MDT interface";
                      }
    
                      leaf mldp-stale {
                        type boolean;
                        description
                          "OLE is stale";
                      }
    
                      leaf sa-prune {
                        type boolean;
                        description
                          "BGP SA Prune state";
                      }
    
                      leaf admin-boundary {
                        type boolean;
                        description
                          "Is this an administrative boundary ?";
                      }
    
                      leaf igmp-membership {
                        type boolean;
                        description
                          "IGMP membership";
                      }
    
                      leaf mdt-safi-join {
                        type boolean;
                        description
                          "MDT Safi join";
                      }
    
                      leaf mvpn-safi-join {
                        type boolean;
                        description
                          "MVPN Safi join";
                      }
    
                      leaf local-mdt-join {
                        type boolean;
                        description
                          "Default MDT Join";
                      }
    
                      leaf data-mdt-join {
                        type boolean;
                        description
                          "Data MDT join";
                      }
    
                      leaf mvpnv6-safi-join {
                        type boolean;
                        description
                          "MVPN IPv6 Safi join";
                      }
    
                      leaf bgp-c-mcast-join {
                        type boolean;
                        description
                          "BGP C-Mcast join";
                      }
    
                      leaf vrf-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "VRF which physically owns";
                      }
    
                      leaf extranet-interface {
                        type boolean;
                        description
                          "Is this an Extranet Interface ?";
                      }
    
                      leaf internal-interest-information {
                        type Pim-internal-interest-info;
                        description
                          "Internal Interest. Replaces
    internal-interest-info";
                      }
    
                      leaf local-members-information {
                        type Pim-show-local-interest;
                        description
                          "Local Information. Replaces local-members";
                      }
    
                      leaf assert-state {
                        type boolean;
                        description
                          "Assert State";
                      }
                    }  // list outgoing-interface
                  }  // list topology
                }  // container topologies
    
                container topology-interface-flag-route-counts {
                  description
                    "Route count for topology with interface flag set";
                  list topology-interface-flag-route-count {
                    key "interface-flag";
                    description
                      "Route count for topology with interface flag
    set";
                    leaf interface-flag {
                      type Pim-topology-interface-flag;
                      description
                        "Interface flag";
                    }
    
                    leaf group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes";
                    }
    
                    leaf active-group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes active in mrib";
                    }
    
                    leaf groute-count {
                      type uint32;
                      description
                        "No. of (*,G) routes";
                    }
    
                    leaf sg-route-count {
                      type uint32;
                      description
                        "No. of (S,G) routes";
                    }
    
                    leaf sgr-route-count {
                      type uint32;
                      description
                        "No. of (S,G)RPT routes";
                    }
    
                    leaf is-node-low-memory {
                      type boolean;
                      description
                        "Is node in low memory condition";
                    }
                  }  // list topology-interface-flag-route-count
                }  // container topology-interface-flag-route-counts
    
                container group-map-sources {
                  description
                    "PIM group-mapping with source information";
                  list group-map-source {
                    key "prefix prefix-length client protocol rp-address priority";
                    description
                      "PIM Group Mapping Entry with source information";
                    leaf prefix {
                      type inet:ip-address-no-zone;
                      description "Prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    leaf protocol {
                      type Pim-protocol;
                      description "Protocol";
                    }
    
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf priority {
                      type uint32;
                      description "RP Priority";
                    }
    
                    container source-of-information {
                      description
                        "The source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    container group-map-information {
                      description
                        "Group Mapping information";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container rp-address {
                        description
                          "Rendezvous Point Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rp-address
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf client {
                        type Pim-show-range-client;
                        description
                          "Client mapping learnt from";
                      }
    
                      leaf protocol {
                        type Pim-show-protocol;
                        description
                          "Protocol mode of the range";
                      }
    
                      leaf group-count {
                        type uint32;
                        description
                          "No. of groups in this range";
                      }
    
                      leaf is-used {
                        type boolean;
                        description
                          "Is this mapping being used?";
                      }
    
                      leaf mrib-active {
                        type boolean;
                        description
                          "Is this mapping active in MRIB?";
                      }
    
                      leaf is-override {
                        type boolean;
                        description
                          "Is this the override range?";
                      }
    
                      leaf priority {
                        type uint32;
                        description
                          "Bootstrap priority";
                      }
                    }  // container group-map-information
    
                    leaf holdtime {
                      type int32;
                      units "second";
                      description
                        "Holdtime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      units "second";
                      description
                        "Mapping expiry time in seconds";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Mapping uptime in seconds";
                    }
                  }  // list group-map-source
                }  // container group-map-sources
    
                container traffic-counters {
                  description
                    "PIM message traffic counters";
                  leaf elapsed-time {
                    type uint32;
                    units "second";
                    description
                      "Running time for counters in seconds";
                  }
    
                  leaf inputs {
                    type uint32;
                    description "Packets in";
                  }
    
                  leaf outputs {
                    type uint32;
                    description "Packets out";
                  }
    
                  leaf format-error {
                    type uint32;
                    description
                      "Malformed packets in";
                  }
    
                  leaf pakman-error {
                    type uint32;
                    description
                      "Pakman packets dropped";
                  }
    
                  leaf standby-packets-error {
                    type uint32;
                    description
                      "Packets received in standby state";
                  }
    
                  leaf checksum-error {
                    type uint32;
                    description
                      "Checksum errors";
                  }
    
                  leaf socket-error {
                    type uint32;
                    description "Socket errors";
                  }
    
                  leaf send-queue-full {
                    type uint32;
                    description
                      "Packets dropped since send queue was full";
                  }
    
                  leaf boundary-acl-rx-drop {
                    type uint32;
                    description
                      "Inc. JP dropped since boundary ACL confg";
                  }
    
                  leaf boundary-acl-tx-drop {
                    type uint32;
                    description
                      "Out JP dropped since boundary ACL confg";
                  }
    
                  leaf no-socket-connection {
                    type uint32;
                    description
                      "Packets dropped since no socket connection";
                  }
    
                  leaf no-source-address {
                    type uint32;
                    description
                      "Packets dropped since no source address";
                  }
    
                  leaf input-hello {
                    type uint32;
                    description
                      "Hello packets in";
                  }
    
                  leaf output-hello {
                    type uint32;
                    description
                      "Hello packets out";
                  }
    
                  leaf input-jp {
                    type uint32;
                    description
                      "Join Prune packets in";
                  }
    
                  leaf output-jp {
                    type uint32;
                    description
                      "Join Prune packets out";
                  }
    
                  leaf input-data-register {
                    type uint32;
                    description
                      "Data Register packets in";
                  }
    
                  leaf input-null-register {
                    type uint32;
                    description
                      "Null Register packets in";
                  }
    
                  leaf output-null-register {
                    type uint32;
                    description
                      "Null Register packets out";
                  }
    
                  leaf input-register-stop {
                    type uint32;
                    description
                      "Register Stop packets in";
                  }
    
                  leaf output-register-stop {
                    type uint32;
                    description
                      "Register Stop packets out";
                  }
    
                  leaf input-assert {
                    type uint32;
                    description
                      "Assert packets in";
                  }
    
                  leaf input-assert-batched {
                    type uint32;
                    description
                      "Batched Assert packets in";
                  }
    
                  leaf output-assert {
                    type uint32;
                    description
                      "Assert packets out";
                  }
    
                  leaf output-assert-batched {
                    type uint32;
                    description
                      "Batched Assert packets out";
                  }
    
                  leaf input-df-election {
                    type uint32;
                    description
                      "DF Election packets in";
                  }
    
                  leaf output-df-election {
                    type uint32;
                    description
                      "DF Election packets out";
                  }
    
                  leaf input-bsr-message {
                    type uint32;
                    description
                      "Input BSR Messages";
                  }
    
                  leaf output-bsr-message {
                    type uint32;
                    description
                      "Output BSR Messages";
                  }
    
                  leaf input-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Input Candidate-RP Advertisment";
                  }
    
                  leaf output-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Output Candidate-RP Advertisment";
                  }
    
                  leaf input-ecmp-redirect {
                    type uint32;
                    description
                      "Input Ecmp Redirect";
                  }
    
                  leaf output-ecmp-redirect {
                    type uint32;
                    description
                      "Output Ecmp Redirect";
                  }
    
                  leaf output-loop-error {
                    type uint32;
                    description
                      "Output on loopback error";
                  }
    
                  leaf mldp-mdt-invalid-lsm-identifier {
                    type uint32;
                    description
                      " Invalid LSM ID";
                  }
    
                  leaf input-no-idb-error {
                    type uint32;
                    description
                      "No IDB for intf error";
                  }
    
                  leaf input-no-vrf-error {
                    type uint32;
                    description
                      "No VRF for idb error";
                  }
    
                  leaf input-no-pim-error {
                    type uint32;
                    description
                      "PIM Disabled on intf error";
                  }
    
                  leaf input-pim-version-error {
                    type uint32;
                    description
                      "Invalid PIM version error";
                  }
    
                  leaf output-join-group {
                    type uint32;
                    description
                      "Output Join Groups";
                  }
    
                  leaf output-prune-group {
                    type uint32;
                    description
                      "Output Prune Groups";
                  }
    
                  leaf output-join-prune-bytes {
                    type uint32;
                    units "byte";
                    description
                      "Output JP Bytes";
                  }
    
                  leaf output-hello-bytes {
                    type uint32;
                    units "byte";
                    description
                      "Output Hello Bytes";
                  }
    
                  leaf non-supported-packets {
                    type uint32;
                    description
                      "PIM non supported pckets";
                  }
    
                  leaf invalid-registers {
                    type uint32;
                    description
                      "PIM invalid registers received";
                  }
    
                  leaf invalid-join-prunes {
                    type uint32;
                    description
                      "PIM invalid Join/Prunes received";
                  }
    
                  leaf packet-packman-error {
                    type uint32;
                    description
                      "Packets Dropped due to Pakman Error";
                  }
    
                  leaf packet-read-socket-error {
                    type uint32;
                    description
                      "Packet Read Socket Error";
                  }
    
                  leaf packet-queue-last-clear {
                    type uint32;
                    units "second";
                    description
                      "Time in seconds since the last clear of all
    packet queues stats";
                  }
    
                  leaf packets-standby {
                    type uint32;
                    description
                      "Packets Dropped due to Standby Error";
                  }
    
                  leaf no-mdt-socket-connection {
                    type uint32;
                    description
                      "Packets dropped since no mdt socket connection";
                  }
    
                  leaf mdt-send-queue-full {
                    type uint32;
                    description
                      "Packets dropped since mdt send queue was full";
                  }
    
                  leaf mdt-socket-error {
                    type uint32;
                    description
                      "MDT Socket errors";
                  }
    
                  leaf mdt-join-tlv-sent {
                    type uint32;
                    description
                      "Data MDT Join Msgs sent";
                  }
    
                  leaf mdt-join-tlv-received {
                    type uint32;
                    description
                      "Data MDT Join Msgs received";
                  }
    
                  leaf mdt-join-bad-type {
                    type uint32;
                    description
                      "Data MDT TLV bad type";
                  }
    
                  leaf mdt-drop-local-source-address {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to local source
    addr";
                  }
    
                  leaf mdt-drop-null-local-address {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to null local
    addr";
                  }
    
                  leaf mdt-drop-no-idb {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to idb missing";
                  }
    
                  leaf mdt-drop-no-vrf {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to vrf missing";
                  }
    
                  leaf invalid-destination-packets {
                    type uint32;
                    description
                      "Control Packets with Invalid Destination";
                  }
    
                  leaf mdt-joins-drop-multiple-encapsulation {
                    type uint32;
                    description
                      "MDT Join msgs dropped due to multiple Encap
    limitation";
                  }
    
                  leaf truncated-pim-packets {
                    type uint32;
                    description
                      "Packets dropped due to truncated Joins or Prunes";
                  }
    
                  leaf invalid-source-encodings {
                    type uint32;
                    description
                      "Number of invalid source encodings received";
                  }
    
                  leaf invalid-hello-options {
                    type uint32;
                    description
                      "Number of invalid hello options received";
                  }
    
                  list packet-queue {
                    max-elements 2;
                    description
                      "Packet queue state and statistics";
                    container packet-queue-state {
                      description
                        "State of the queue";
                      leaf max-queue-size {
                        type uint32;
                        units "byte";
                        description
                          "Maximum size of queue in bytes";
                      }
    
                      leaf queue-size-bytes {
                        type uint32;
                        units "byte";
                        description
                          "Size of queue in bytes";
                      }
    
                      leaf queue-size-packets {
                        type uint32;
                        description
                          "Size of queue in number of packets";
                      }
                    }  // container packet-queue-state
    
                    container packet-queue-stats {
                      description
                        "Statistics about the queue";
                      leaf enqueued-packets {
                        type uint32;
                        description
                          "Total number of packets enqueued to this queue";
                      }
    
                      leaf dequeued-packets {
                        type uint32;
                        description
                          "Total number of packets dequeued from this queue";
                      }
    
                      leaf high-water-mark-packets {
                        type uint32;
                        description
                          "Highest number of packets enqueued in this queue";
                      }
    
                      leaf high-water-mark-bytes {
                        type uint32;
                        units "byte";
                        description
                          "Highest number of bytes enqueued in this queue";
                      }
    
                      leaf tail-drops {
                        type uint32;
                        description
                          "Number packets dropped from this queue due to
    max size";
                      }
                    }  // container packet-queue-stats
    
                    leaf packet-queue-priority {
                      type uint32;
                      description
                        "Priority of this packet queue";
                    }
                  }  // list packet-queue
                }  // container traffic-counters
    
                container group-map-rpfs {
                  description
                    "PIM group mapping information";
                  list group-map-rpf {
                    key "prefix prefix-length client protocol rp-address rp-priority";
                    description
                      "PIM group mapping entry";
                    leaf prefix {
                      type inet:ip-address-no-zone;
                      description "Prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    leaf protocol {
                      type Pim-protocol;
                      description "Protocol";
                    }
    
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf rp-priority {
                      type uint32;
                      description "RP priority";
                    }
    
                    container rpf-neighbor {
                      description
                        "RPF neighbor to the RP";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container group-map-information {
                      description
                        "Group Mapping information";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container rp-address {
                        description
                          "Rendezvous Point Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rp-address
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf client {
                        type Pim-show-range-client;
                        description
                          "Client mapping learnt from";
                      }
    
                      leaf protocol {
                        type Pim-show-protocol;
                        description
                          "Protocol mode of the range";
                      }
    
                      leaf group-count {
                        type uint32;
                        description
                          "No. of groups in this range";
                      }
    
                      leaf is-used {
                        type boolean;
                        description
                          "Is this mapping being used?";
                      }
    
                      leaf mrib-active {
                        type boolean;
                        description
                          "Is this mapping active in MRIB?";
                      }
    
                      leaf is-override {
                        type boolean;
                        description
                          "Is this the override range?";
                      }
    
                      leaf priority {
                        type uint32;
                        description
                          "Bootstrap priority";
                      }
                    }  // container group-map-information
    
                    leaf are-we-rp {
                      type boolean;
                      description
                        "Are we the RP?";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "RPF interface to the RP";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
                  }  // list group-map-rpf
                }  // container group-map-rpfs
    
                container summary {
                  description "PIM summary";
                  leaf route-limit {
                    type uint32;
                    description "Maximum routes";
                  }
    
                  leaf route-count {
                    type uint32;
                    description "Current routes";
                  }
    
                  leaf route-low-water-mark {
                    type uint32;
                    description
                      "The number of routes below which the throttle on
    route creation will be lifted";
                  }
    
                  leaf is-route-limit-reached {
                    type boolean;
                    description
                      "Is route creation throttled";
                  }
    
                  leaf topology-interface-state-limit {
                    type uint32;
                    description
                      "Maximum Topology Interface State count";
                  }
    
                  leaf topology-interface-state-count {
                    type uint32;
                    description
                      "Current Topology Interface State count";
                  }
    
                  leaf rxi-low-water-mark {
                    type uint32;
                    description
                      "The rxi below which the throttle on interface
    creation will be lifted";
                  }
    
                  leaf rxi-limit-reached {
                    type boolean;
                    description
                      "Is interface creation throttled";
                  }
    
                  leaf register-limit {
                    type uint32;
                    description
                      "Maximum registers";
                  }
    
                  leaf register-count {
                    type uint32;
                    description
                      "Current registers";
                  }
    
                  leaf register-limit-reached {
                    type boolean;
                    description
                      "Is PIM SM register handling throttled";
                  }
    
                  leaf ranges-limit {
                    type uint32;
                    description
                      "Maximum group ranges from Autorp";
                  }
    
                  leaf ranges-count {
                    type uint32;
                    description
                      "Current group ranges from Autorp";
                  }
    
                  leaf ranges-threshold {
                    type uint32;
                    description
                      "OOR theshold of grange ranges from AutoRP";
                  }
    
                  leaf is-ranges-limit-reached {
                    type boolean;
                    description
                      "Is Auto-RP group-to-RP mapping range creation
    throttled";
                  }
    
                  leaf bsr-ranges-limit {
                    type uint32;
                    description
                      "Maximum group ranges from BSR";
                  }
    
                  leaf bsr-ranges-count {
                    type uint32;
                    description
                      "Current group ranges from BSR";
                  }
    
                  leaf bsr-range-threshold {
                    type uint32;
                    description
                      "Threshold group range from BSR";
                  }
    
                  leaf is-bsr-ranges-threshold-reached {
                    type boolean;
                    description
                      "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                  }
    
                  leaf bsr-candidate-rp-set-limit {
                    type uint32;
                    description
                      "Maximum crp-set from BSR";
                  }
    
                  leaf bsr-candidate-rp-set-count {
                    type uint32;
                    description
                      "Current crp-set count from BSR";
                  }
    
                  leaf bsr-candidate-rp-set-threshold {
                    type uint32;
                    description
                      "Threshold crp-set from BSR";
                  }
    
                  leaf is-maximum-enforcement-disabled {
                    type boolean;
                    description
                      "Is maximum enforcement disabled";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
    
                  leaf route-threshold {
                    type uint32;
                    description
                      "Threshold routes";
                  }
    
                  leaf global-auto-rp-ranges-limit {
                    type uint32;
                    description
                      "Global Auto-RP maximum group ranges";
                  }
    
                  leaf is-global-auto-rp-ranges-limit-reached {
                    type boolean;
                    description
                      "Is global AutoRP group-to-RP mapping range
    creation throttled";
                  }
    
                  leaf global-bsr-ranges-limit {
                    type uint32;
                    description
                      "Global BSR maximum group ranges";
                  }
    
                  leaf global-bsr-ranges-count {
                    type uint32;
                    description
                      "Global BSR current group ranges";
                  }
    
                  leaf global-bsr-ranges-threshold {
                    type uint32;
                    description
                      "Global BSR Threshold group ranges";
                  }
    
                  leaf is-global-bsr-ranges-limit-reached {
                    type boolean;
                    description
                      "Is global BSR group-to-RP mapping range creation
    throttled";
                  }
    
                  leaf global-bsr-candidate-rp-set-limit {
                    type uint32;
                    description
                      "Global BSR maximum crp-set";
                  }
    
                  leaf global-bsr-candidate-rp-set-count {
                    type uint32;
                    description
                      "Global BSR current crp-set count";
                  }
    
                  leaf global-bsr-candidate-rp-set-threshold {
                    type uint32;
                    description
                      "Global BSR Threshold crp-set";
                  }
    
                  leaf is-global-route-limit-reached {
                    type boolean;
                    description
                      "Is global route creation throttled";
                  }
    
                  leaf topology-interface-state-threshold {
                    type uint32;
                    description
                      "Topology Interface State threshold";
                  }
    
                  leaf is-global-rxi-limit-reached {
                    type boolean;
                    description
                      "Is global interface creation throttled";
                  }
    
                  leaf register-threshold {
                    type uint32;
                    description
                      "Threshold registers";
                  }
    
                  leaf global-register-limit {
                    type uint32;
                    description
                      "Maximum global registers";
                  }
    
                  leaf is-global-register-limit-reached {
                    type boolean;
                    description
                      "Is global PIM SM register handling throttled";
                  }
                }  // container summary
    
                container gre {
                  description "GRE information";
                  container gre-next-hops {
                    description
                      "GRE destination neighbor table";
                    list gre-next-hop {
                      key "destination-address";
                      description
                        "PIM GRE address next-hop information";
                      leaf destination-address {
                        type inet:ip-address-no-zone;
                        description
                          "GRE destination address";
                      }
    
                      container registered-address {
                        description
                          "Address registered";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container registered-address
    
                      leaf metric {
                        type uint32;
                        description "Metric";
                      }
    
                      leaf metric-preference {
                        type uint32;
                        description
                          "Metric preference";
                      }
    
                      leaf is-connected {
                        type uint8;
                        description
                          "Are we connected ?";
                      }
    
                      list gre-path {
                        description
                          "GRE Paths list";
                        container gre-neighbor {
                          description
                            "GRE neighbor";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container gre-neighbor
    
                        container gre-next-hop {
                          description
                            "GRE nexthop";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container gre-next-hop
    
                        leaf gre-interface-name {
                          type xr:Interface-name;
                          description
                            "GRE Interface";
                        }
    
                        leaf is-gre-interface-disabled {
                          type boolean;
                          description
                            "Is the gre interface disabled ?";
                        }
    
                        leaf is-via-lsm {
                          type boolean;
                          description "Via LSM";
                        }
    
                        leaf is-connector-attribute-present {
                          type boolean;
                          description
                            "Connector attribute present";
                        }
    
                        leaf extranet-vrf-name {
                          type string {
                            length "0..33";
                          }
                          description
                            "Extranet VRF name";
                        }
                      }  // list gre-path
                    }  // list gre-next-hop
                  }  // container gre-next-hops
                }  // container gre
    
                container bidir-df-winners {
                  description
                    "Bidirectional PIM DF election winner table";
                  list bidir-df-winner {
                    key "rp-address interface-name";
                    description
                      "Bidirectional PIM DF election table entry";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container rp-address-xr {
                      description "RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    container df-winner {
                      description "DF Winner";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container df-winner
    
                    leaf pim-interface-name {
                      type string;
                      description
                        "Interface Name";
                    }
    
                    leaf are-we-df {
                      type boolean;
                      description "Are we DF";
                    }
    
                    leaf rp-lan {
                      type boolean;
                      description
                        "Is this the RP LAN";
                    }
    
                    leaf metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf metric-preference {
                      type uint32;
                      description
                        "Metric Preference";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
                  }  // list bidir-df-winner
                }  // container bidir-df-winners
    
                container table-contexts {
                  description
                    "PIM table context list";
                  list table-context {
                    key "saf-name topology-name";
                    description
                      "PIM table context information";
                    leaf saf-name {
                      type Pim-safi;
                      description "SAF name";
                    }
    
                    leaf topology-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Topology name";
                    }
    
                    leaf afi {
                      type uint32;
                      description "AFI";
                    }
    
                    leaf safi {
                      type uint32;
                      description "SAFI";
                    }
    
                    leaf table-name {
                      type string;
                      description "Table name";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF ID";
                    }
    
                    leaf table-id {
                      type uint32;
                      description "Table ID";
                    }
    
                    leaf is-active {
                      type boolean;
                      description
                        "Active status";
                    }
    
                    leaf is-ital-registration-done {
                      type boolean;
                      description
                        "ITAL reg status";
                    }
    
                    leaf is-rib-registration-done {
                      type boolean;
                      description
                        "RIB reg status";
                    }
    
                    leaf is-rib-convergence-received {
                      type boolean;
                      description
                        "RIB Convergence receive status";
                    }
    
                    leaf is-rib-convergence {
                      type boolean;
                      description
                        "RIB Convergence status";
                    }
    
                    leaf rpf-registrations {
                      type uint32;
                      description
                        "RPF Registration count";
                    }
                  }  // list table-context
                }  // container table-contexts
    
                container neighbor-summaries {
                  description
                    "PIM neighbor summary table";
                  list neighbor-summary {
                    key "interface-name";
                    description
                      "PIM neighbor summary information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf number-of-neighbors {
                      type int32;
                      description
                        "Number of neighbors";
                    }
    
                    leaf number-of-external-neighbors {
                      type int32;
                      description
                        "Number of external neighbors";
                    }
                  }  // list neighbor-summary
                }  // container neighbor-summaries
    
                container context {
                  description
                    "PIM context information";
                  container remote-default-group {
                    description
                      "Remote Default Group";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container remote-default-group
    
                  container rpf-default-table {
                    description
                      "RPF Default Table";
                    leaf afi {
                      type uint32;
                      description "AFI";
                    }
    
                    leaf safi {
                      type uint32;
                      description "SAFI";
                    }
    
                    leaf table-name {
                      type string;
                      description "Table name";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF ID";
                    }
    
                    leaf table-id {
                      type uint32;
                      description "Table ID";
                    }
    
                    leaf is-active {
                      type boolean;
                      description
                        "Active status";
                    }
    
                    leaf is-ital-registration-done {
                      type boolean;
                      description
                        "ITAL reg status";
                    }
    
                    leaf is-rib-registration-done {
                      type boolean;
                      description
                        "RIB reg status";
                    }
    
                    leaf is-rib-convergence-received {
                      type boolean;
                      description
                        "RIB Convergence receive status";
                    }
    
                    leaf is-rib-convergence {
                      type boolean;
                      description
                        "RIB Convergence status";
                    }
    
                    leaf rpf-registrations {
                      type uint32;
                      description
                        "RPF Registration count";
                    }
                  }  // container rpf-default-table
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf murib-id {
                    type uint32;
                    description "MURIB ID";
                  }
    
                  leaf rpf-id {
                    type uint32;
                    description "RPF ID";
                  }
    
                  leaf remote-table-id {
                    type uint32;
                    description
                      "Remote Table ID";
                  }
    
                  leaf mdt-default-group {
                    type inet:ipv4-address;
                    description
                      "MDT Default group";
                  }
    
                  leaf mdt-source {
                    type inet:ipv4-address;
                    description "MDT source";
                  }
    
                  leaf mdt-source-interface {
                    type string;
                    description
                      "MDT Source Interface Name";
                  }
    
                  leaf mdt-interface {
                    type xr:Interface-name;
                    description "MDT handle";
                  }
    
                  leaf mdt-gre-rpf-identifier {
                    type uint32;
                    description
                      "GRE-MDT RPF Identifier";
                  }
    
                  leaf mdt-gre-remote-rpf-identifier {
                    type uint32;
                    description
                      "GRE-MDT Remote RPF Identifier";
                  }
    
                  leaf is-unicast-rib-registration {
                    type boolean;
                    description
                      "Ucast RIB Registration";
                  }
    
                  leaf is-multicast-rib-registration {
                    type boolean;
                    description
                      "Mcast RIB Registration";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active";
                  }
    
                  leaf is-active-ital {
                    type boolean;
                    description "Active ITAL";
                  }
    
                  leaf is-mrib-register {
                    type boolean;
                    description "MRIB Register";
                  }
    
                  leaf is-mdt-owner {
                    type boolean;
                    description "MDT Owner";
                  }
    
                  leaf is-routing-enabled {
                    type boolean;
                    description
                      "Routing Enabled";
                  }
    
                  leaf is-socket-add-required {
                    type boolean;
                    description
                      "VRF required on Socket";
                  }
    
                  leaf is-socket-added {
                    type boolean;
                    description
                      "VRF added on Socket";
                  }
    
                  leaf is-lpts-socket-add-required {
                    type boolean;
                    description
                      "VRF LPTS filter required on Socket";
                  }
    
                  leaf is-lpts-socket-added {
                    type boolean;
                    description
                      "VRF LPTS filter added on Socket";
                  }
    
                  leaf is-udp-socket-add-required {
                    type boolean;
                    description
                      "VRF added on UDP Socket";
                  }
    
                  leaf is-udp-socket-added {
                    type boolean;
                    description
                      "VRF added on UDP Socket";
                  }
    
                  leaf is-udp-socket-bind-required {
                    type boolean;
                    description
                      "VRF bind required on UDP Socket";
                  }
    
                  leaf is-udp-socket-bind {
                    type boolean;
                    description
                      "VRF bound on UDP Socket";
                  }
    
                  leaf is-register-injection-socket-add-required {
                    type boolean;
                    description
                      "VRF required on Register Injection Socket";
                  }
    
                  leaf is-register-injection-socket-added {
                    type boolean;
                    description
                      "VRF added on Register Injection Socket";
                  }
    
                  leaf is-register-injection-lpts-socket-add-required {
                    type boolean;
                    description
                      "VRF LPTS filter required on Register Injection
    Socket";
                  }
    
                  leaf is-register-injection-lpts-socket-added {
                    type boolean;
                    description
                      "VRF LPTS filter added on Register Injection
    Socket";
                  }
    
                  leaf is-m-host-publish-pending {
                    type boolean;
                    description
                      "Publish pending for MHost Default interface";
                  }
    
                  leaf mhost-interface {
                    type xr:Interface-name;
                    description "MHost handle";
                  }
    
                  leaf mhost-default-interface-config {
                    type string;
                    description
                      "Configured Mhost Defint";
                  }
    
                  leaf mdt-mtu {
                    type uint32;
                    description "MDT MTU";
                  }
    
                  leaf maximum-mdt-aggregation {
                    type uint32;
                    description
                      "MDT max aggregation";
                  }
    
                  leaf mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Data MDT Switchover interval";
                  }
    
                  leaf mdt-data-announce-interval {
                    type uint32;
                    description
                      "Data MDT Announce interval";
                  }
    
                  leaf non-default-vrf-count-on-socket {
                    type uint32;
                    description
                      "Count of non-default vrfs on raw socket";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf mdt-neighbor-filter-name {
                    type string;
                    description
                      "MDT Neighbor Filter Name";
                  }
    
                  leaf allow-rp-configured {
                    type boolean;
                    description
                      "Allow RP Configured";
                  }
    
                  leaf allow-rp-group-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "Allow RP Group-List ACL Name";
                  }
    
                  leaf allow-rp-rp-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "Allow RP RP-list ACL Name";
                  }
    
                  leaf sg-expiry-timer-configured {
                    type boolean;
                    description
                      "S,G Expiry Timer Configured";
                  }
    
                  leaf sg-expiry-time {
                    type uint16;
                    units "second";
                    description
                      "S,G Expiry Time Configured, in seconds";
                  }
    
                  leaf sg-expiry-timer-sg-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "S,G expiry timer ACL name";
                  }
    
                  leaf mldp-mdt-name {
                    type string;
                    description "MLDP MDT Name";
                  }
    
                  leaf mldp-mdt-interface {
                    type xr:Interface-name;
                    description
                      "MLDP MDT handle";
                  }
    
                  leaf mldp-mdt-mtu {
                    type uint32;
                    description "MLDP MDT MTU";
                  }
    
                  leaf mldp-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "MLDP MDT max aggregation";
                  }
    
                  leaf mldp-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "MLDP Data MDT Switchover interval";
                  }
    
                  leaf mldp-mdt-data-announce-interval {
                    type uint32;
                    description
                      "MLDP Data MDT Announce interval";
                  }
    
                  leaf mldp-mdt-rpf-identifier {
                    type uint32;
                    description "MLDP RPF-ID";
                  }
    
                  leaf mldp-mdt-remote-rpf-identifier {
                    type uint32;
                    description
                      "MLDP Remote RPF-ID";
                  }
    
                  leaf is-create-mldp-mdt-interface {
                    type boolean;
                    description
                      "Create MLDP MDT interface";
                  }
    
                  leaf is-mldp-mdt-owner {
                    type boolean;
                    description "MLDP MDT Owner";
                  }
    
                  leaf mldp-root-count {
                    type uint32;
                    description
                      "MLDP Root count";
                  }
    
                  leaf mldp-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP Head LSM-ID";
                  }
    
                  leaf mldp-remote-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP Remote Head LSM-ID";
                  }
    
                  leaf organization-unique-identifier {
                    type uint32;
                    description "OUI for VPN-ID";
                  }
    
                  leaf vpn-index {
                    type uint32;
                    description "VPN Index";
                  }
    
                  leaf mldp-partitioned-mdt-configured {
                    type boolean;
                    description
                      "MLDP Partitioned MDT";
                  }
    
                  leaf mldp-remote-partitioned-mdt-configured {
                    type boolean;
                    description
                      "MLDP Remote Partitioned MDT";
                  }
    
                  leaf mldp-partioned-mp2m-ptree {
                    type boolean;
                    description
                      "MP2MP Partitioned MDT tree";
                  }
    
                  leaf mldp-partitioned-head-lsm-identifier {
                    type uint32;
                    description
                      "Partitioned MDT Head LSM-ID";
                  }
    
                  leaf mldp-head-local-label {
                    type uint32;
                    description
                      "Partitioned MDT Head local label";
                  }
    
                  leaf mldp-partitioned-mdt-identifier {
                    type uint32;
                    description
                      "MLDP Partitioned MDT Identifier";
                  }
    
                  leaf bgp-auto-discovery-configured {
                    type boolean;
                    description
                      "BGP Auto-Discovery configured";
                  }
    
                  leaf suppress-pim-data-mdt-tlv {
                    type boolean;
                    description
                      "Suppress PIM Data-MDT TLV Announcements";
                  }
    
                  leaf inter-autonomous-system-enabled {
                    type boolean;
                    description
                      "Inter-AS Enabled";
                  }
    
                  leaf bgp-source-active-announce {
                    type boolean;
                    description
                      "Send BGP Source-Active Announcements";
                  }
    
                  leaf bgp-i-pmsi-added {
                    type boolean;
                    description
                      "BGP I-PMSI Added";
                  }
    
                  leaf mldp-bsr-control-tree-added {
                    type boolean;
                    description
                      "MLDP BSR Control tree added";
                  }
    
                  leaf mldp-auto-rp-discovery-tree-added {
                    type boolean;
                    description
                      "MLDP Autorp Discovery Control tree added";
                  }
    
                  leaf mldp-auto-rp-announce-tree-added {
                    type boolean;
                    description
                      "MLDP Autorp Announce Control tree added";
                  }
    
                  leaf bgp-auto-discovery-type {
                    type uint32;
                    description
                      "BGP Auto Discovery Type";
                  }
    
                  leaf mdt-partitioned-mdt-control-identifier {
                    type uint32;
                    description
                      "Partitioned MDT Control Identifier";
                  }
    
                  leaf mdt-partitioned-ir-control-identifier {
                    type uint32;
                    description
                      "Partitioned IR MDT Control Identifier";
                  }
    
                  leaf mldp-control-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP MVPN Identifier";
                  }
    
                  leaf umh {
                    type boolean;
                    description
                      "Join UMH Core-Tree";
                  }
    
                  leaf suppress-shared-tree-join {
                    type boolean;
                    description
                      "Suppress Shared-Tree Joins";
                  }
    
                  leaf rsvp-te-mdt-name {
                    type string;
                    description
                      "RSVP-TE MDT Name";
                  }
    
                  leaf rsvp-te-mdt-interface {
                    type xr:Interface-name;
                    description
                      "RSVP-TEMDT handle";
                  }
    
                  leaf rsvp-te-mdt-mtu {
                    type uint32;
                    description "RSVP-TEMDT MTU";
                  }
    
                  leaf rsvp-te-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "RSVP-TE MDT max aggregation";
                  }
    
                  leaf rsvp-te-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "RSVP-TE Data MDT Switchover interval";
                  }
    
                  leaf rsvp-te-mdt-data-announce-interval {
                    type uint32;
                    description
                      "RSVP-TE Data MDT Announce interval";
                  }
    
                  leaf rsvp-te-mdt-rpf-identifier {
                    type uint32;
                    description "RSVP-TE RPF-ID";
                  }
    
                  leaf is-create-rsvp-te-mdt-interface {
                    type boolean;
                    description
                      "Create RSVP-TE MDT interface";
                  }
    
                  leaf is-rsvp-te-mdt-owner {
                    type boolean;
                    description
                      "RSVP-TE MDT Owner";
                  }
    
                  leaf rsvp-te-mdt-static-p2mp-count {
                    type uint32;
                    description
                      "Number of Static P2MP-TE MDT";
                  }
    
                  leaf p2mpte-li-drop {
                    type uint32;
                    description
                      "Route LI updates dropped for P2MP";
                  }
    
                  leaf ir-mdt-name {
                    type string;
                    description "IR MDT Name";
                  }
    
                  leaf ir-mdt-interface {
                    type xr:Interface-name;
                    description "IRMDT handle";
                  }
    
                  leaf ir-mdt-mtu {
                    type uint32;
                    description "IRMDT MTU";
                  }
    
                  leaf ir-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "IR MDT max aggregation";
                  }
    
                  leaf ir-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "IR Data MDT Switchover interval";
                  }
    
                  leaf ir-mdt-data-announce-interval {
                    type uint32;
                    description
                      "IR Data MDT Announce interval";
                  }
    
                  leaf ir-mdt-rpf-identifier {
                    type uint32;
                    description "IR RPF-ID";
                  }
    
                  leaf ir-mdt-tail-label {
                    type uint32;
                    description "IR Tail Label";
                  }
    
                  leaf is-create-ir-mdt-interface {
                    type boolean;
                    description
                      "Create IR MDT interface";
                  }
    
                  leaf is-ir-mdt-owner {
                    type boolean;
                    description "IR MDT Owner";
                  }
    
                  leaf is-sr-local {
                    type boolean;
                    description "SR Local";
                  }
    
                  leaf is-sr-remote {
                    type boolean;
                    description "SR Remote";
                  }
    
                  leaf sr-mdt-name {
                    type string;
                    description "SR MDT Name";
                  }
    
                  leaf sr-mdt-interface {
                    type xr:Interface-name;
                    description "SRMDT handle";
                  }
    
                  leaf sr-mdt-mtu {
                    type uint32;
                    description "SRMDT MTU";
                  }
    
                  leaf sr-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "SR MDT max aggregation";
                  }
    
                  leaf sr-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "SR Data MDT Switchover interval";
                  }
    
                  leaf sr-mdt-data-announce-interval {
                    type uint32;
                    description
                      "SR Data MDT Announce interval";
                  }
    
                  leaf sr-mdt-rpf-identifier {
                    type uint32;
                    description "SR RPF-ID";
                  }
    
                  leaf sr-mdt-tail-label {
                    type uint32;
                    description "SR Tail Label";
                  }
    
                  leaf is-create-sr-mdt-interface {
                    type boolean;
                    description
                      "Create SR MDT interface";
                  }
    
                  leaf is-sr-mdt-owner {
                    type boolean;
                    description "SR MDT Owner";
                  }
    
                  leaf mdt-partitioned-tree-sid-control-identifier {
                    type uint32;
                    description
                      "Partitioned Tree-SID MDT Control Identifier";
                  }
    
                  leaf in-b-and-mdt-name {
                    type string;
                    description
                      "Inband MDT Name";
                  }
    
                  leaf in-b-and-mdt-interface {
                    type xr:Interface-name;
                    description
                      "Inband MDT handle";
                  }
    
                  leaf in-b-and-mdt-mtu {
                    type uint32;
                    description "Inband MDT MTU";
                  }
    
                  leaf in-band-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "Inband MDT max aggregation";
                  }
    
                  leaf in-b-and-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Inband Data MDT Switchover interval";
                  }
    
                  leaf in-b-and-mdt-data-announce-interval {
                    type uint32;
                    description
                      "Inband Data MDT Announce interval";
                  }
    
                  leaf in-b-and-mdt-rpf-identifier {
                    type uint32;
                    description "Inband RPF-ID";
                  }
    
                  leaf is-create-in-b-and-mdt-interface {
                    type boolean;
                    description
                      "Create Inband MDT interface";
                  }
    
                  leaf is-in-b-and-mdt-owner {
                    type boolean;
                    description
                      "Inband MDT Owner";
                  }
    
                  leaf in-band-signaling-local-enabled {
                    type boolean;
                    description
                      "Inband signaling Local enabled";
                  }
    
                  leaf in-band-signaling-remote-enabled {
                    type boolean;
                    description
                      "Inband signaling Remote enabled";
                  }
    
                  leaf valid-rd-present {
                    type boolean;
                    description "RD is valid";
                  }
    
                  leaf stale-rd-present {
                    type boolean;
                    description "RD is stale";
                  }
    
                  leaf route-distinguisher {
                    type yang:hex-string;
                    description "RD value";
                  }
    
                  leaf gin-b-and-mdt-name {
                    type string;
                    description
                      "Inband MDT Name";
                  }
    
                  leaf gin-b-and-mdt-interface {
                    type xr:Interface-name;
                    description
                      "Inband MDT handle";
                  }
    
                  leaf gin-b-and-mdt-mtu {
                    type uint32;
                    description "Inband MDT MTU";
                  }
    
                  leaf gin-band-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "Inband MDT max aggregation";
                  }
    
                  leaf gin-b-and-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Inband Data MDT Switchover interval";
                  }
    
                  leaf gin-b-and-mdt-data-announce-interval {
                    type uint32;
                    description
                      "Inband Data MDT Announce interval";
                  }
    
                  leaf gin-b-and-mdt-rpf-identifier {
                    type uint32;
                    description "Inband RPF-ID";
                  }
    
                  leaf is-create-gin-b-and-mdt-interface {
                    type boolean;
                    description
                      "Create Inband MDT interface";
                  }
    
                  leaf is-gin-b-and-mdt-owner {
                    type boolean;
                    description
                      "Inband MDT Owner";
                  }
    
                  leaf is-pim-nsf-rib-converged {
                    type boolean;
                    description
                      "PIM NSF RIB converged";
                  }
    
                  leaf is-pim-nsf-rib-converge-received {
                    type boolean;
                    description
                      "PIM NSF RIB converge received";
                  }
    
                  leaf is-rib-multipath-enabled {
                    type boolean;
                    description
                      "PIM RIB multiplath enabled";
                  }
    
                  leaf is-rib-multipath-interface-hash {
                    type boolean;
                    description
                      "PIM RIB multipath interface hash";
                  }
    
                  leaf is-rib-multipath-source-hash {
                    type boolean;
                    description
                      "PIM RIB multipath source based hash";
                  }
    
                  leaf is-rib-multipath-source-next-hop-hash {
                    type boolean;
                    description
                      "PIM RIB multipath source-nexthop hash";
                  }
    
                  leaf rump-enabled {
                    type boolean;
                    description
                      "PIM is using MuRIB";
                  }
    
                  leaf is-create-mdt-interface {
                    type boolean;
                    description
                      "Create MDT interface";
                  }
    
                  leaf is-auto-rp-listen-enabled {
                    type boolean;
                    description
                      "Auto RP Listen Enabled";
                  }
    
                  leaf is-all-interface-disable-operation {
                    type boolean;
                    description
                      "PIM all interface disable operation";
                  }
    
                  leaf is-default-granges {
                    type boolean;
                    description
                      "Default granges";
                  }
    
                  leaf is-auto-rp-listen-sock-add {
                    type boolean;
                    description
                      "Auto RP listen sock add";
                  }
    
                  leaf is-redistribution-reset {
                    type boolean;
                    description
                      "Pending redist reset";
                  }
    
                  leaf redistribution-reset-count {
                    type uint32;
                    description
                      "Redist reset count";
                  }
    
                  leaf rpf-policy-name {
                    type string;
                    description
                      "RPF topology selection route-policy name";
                  }
    
                  leaf table-count {
                    type uint32;
                    description
                      "Number of configured Tables";
                  }
    
                  leaf active-table-count {
                    type uint32;
                    description
                      "Number of active Tables";
                  }
    
                  leaf anycast-rp-policy-name {
                    type string;
                    description
                      "Anycast-RP Policy Name";
                  }
    
                  leaf anycast-rp-configured {
                    type boolean;
                    description
                      "Anycast-RP config";
                  }
    
                  leaf bgp-remote-on {
                    type boolean;
                    description
                      "BGP remote interface status";
                  }
    
                  leaf bgp-remote-interface-name {
                    type string;
                    description
                      "BGP remote interface name";
                  }
    
                  leaf bgp-remote-interface {
                    type xr:Interface-name;
                    description
                      "BGP remote interface handle";
                  }
    
                  leaf bgp-remote-address {
                    type inet:ipv4-address;
                    description
                      "BGP remote interface address";
                  }
    
                  leaf bgp-remote-state {
                    type uint32;
                    description
                      "BGP remote interface state";
                  }
    
                  leaf physical-interface-count {
                    type uint64;
                    description
                      "Enabled Physical Interface Count";
                  }
    
                  leaf virtual-interface-count {
                    type uint64;
                    description
                      "Enabled Virtual Interface Count";
                  }
    
                  leaf virtual-mlc-interface-name {
                    type string;
                    description
                      "Virtual master line card Interface";
                  }
    
                  leaf mdt-immediate-switch {
                    type boolean;
                    description
                      "MDT Immediate Switch";
                  }
    
                  leaf remote-mdt-idb-name {
                    type string;
                    description
                      "Remote MDT Interface Handle Name";
                  }
    
                  leaf remote-mdt-address {
                    type inet:ipv4-address;
                    description
                      "Remote MDT interface address";
                  }
    
                  leaf-list mldp-root-address {
                    type uint32;
                    description
                      "MLDP Root addresses";
                  }
    
                  list export-route-target {
                    description
                      "Export Route Targets";
                    leaf route-target {
                      type yang:hex-string;
                      description
                        "Route Target Extended community value";
                    }
    
                    leaf configured {
                      type boolean;
                      description
                        "Configured Route Target";
                    }
    
                    leaf anycast-rp {
                      type boolean;
                      description
                        "Anycast-RP Group";
                    }
    
                    leaf anycast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Group marked";
                    }
    
                    leaf update-pending {
                      type boolean;
                      description
                        "Update Pending to BGP";
                    }
    
                    leaf bgp-auto-discovery {
                      type boolean;
                      description
                        "BGP Auto Discovery";
                    }
    
                    leaf segment-border {
                      type boolean;
                      description
                        "Segment Border";
                    }
                  }  // list export-route-target
    
                  list import-route-target {
                    description
                      "Import Route Targets";
                    leaf route-target {
                      type yang:hex-string;
                      description
                        "Route Target Extended community value";
                    }
    
                    leaf configured {
                      type boolean;
                      description
                        "Configured Route Target";
                    }
    
                    leaf anycast-rp {
                      type boolean;
                      description
                        "Anycast-RP Group";
                    }
    
                    leaf anycast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Group marked";
                    }
    
                    leaf update-pending {
                      type boolean;
                      description
                        "Update Pending to BGP";
                    }
    
                    leaf bgp-auto-discovery {
                      type boolean;
                      description
                        "BGP Auto Discovery";
                    }
    
                    leaf segment-border {
                      type boolean;
                      description
                        "Segment Border";
                    }
                  }  // list import-route-target
    
                  list anycast-rp-range {
                    description
                      "Anycast-RP Ranges";
                    container prefix {
                      description
                        "Anycast-RP Range Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    leaf prefix-length {
                      type uint8;
                      description
                        "Anycast-RP Range Prefix Length";
                    }
    
                    leaf ancast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Range marked";
                    }
                  }  // list anycast-rp-range
                }  // container context
    
                container topology-entry-flag-route-counts {
                  description
                    "Route count for topology with entry flag set";
                  list topology-entry-flag-route-count {
                    key "entry-flag";
                    description
                      "Route count for topology with entry flag set";
                    leaf entry-flag {
                      type Pim-topology-entry-flag;
                      description "entry flag";
                    }
    
                    leaf group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes";
                    }
    
                    leaf active-group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes active in mrib";
                    }
    
                    leaf groute-count {
                      type uint32;
                      description
                        "No. of (*,G) routes";
                    }
    
                    leaf sg-route-count {
                      type uint32;
                      description
                        "No. of (S,G) routes";
                    }
    
                    leaf sgr-route-count {
                      type uint32;
                      description
                        "No. of (S,G)RPT routes";
                    }
    
                    leaf is-node-low-memory {
                      type boolean;
                      description
                        "Is node in low memory condition";
                    }
                  }  // list topology-entry-flag-route-count
                }  // container topology-entry-flag-route-counts
    
                container rpf-redirect {
                  description
                    "PIM ECMP RPF-redirect bundle";
                  container redirect-route-databases {
                    description
                      "PIM ECMP RPF-redirect route database";
                    list redirect-route-database {
                      key "source-address group-address";
                      description
                        "PIM ECMP RPF-redirect route information";
                      leaf source-address {
                        type inet:ip-address-no-zone;
                        description
                          "Source address";
                      }
    
                      leaf group-address {
                        type inet:ip-address-no-zone;
                        description
                          "Group address";
                      }
    
                      container group-address-xr {
                        description
                          "Group ddress";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container group-address-xr
    
                      container source-address-xr {
                        description
                          "Source address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container source-address-xr
    
                      leaf bandwidth {
                        type uint32;
                        units "kbit/s";
                        description
                          "Bandwidth in Kbps";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      list interface {
                        description
                          "Outgoing interface list";
                        container rpf-address {
                          description
                            "RPF Address";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container rpf-address
    
                        leaf interface-name {
                          type xr:Interface-name;
                          description
                            "Interface name";
                        }
    
                        leaf uptime {
                          type uint64;
                          units "second";
                          description
                            "Uptime in seconds";
                        }
    
                        leaf expiry {
                          type uint64;
                          units "second";
                          description
                            "Expiry in seconds";
                        }
    
                        leaf is-rpf-interface {
                          type boolean;
                          description
                            "Is RPF Interface";
                        }
    
                        leaf is-outgoing-interface {
                          type boolean;
                          description
                            "Is outgoing Interface";
                        }
    
                        leaf is-snoop-interface {
                          type boolean;
                          description
                            "Is snooping Interface";
                        }
                      }  // list interface
                    }  // list redirect-route-database
                  }  // container redirect-route-databases
    
                  container bundle-interfaces {
                    description
                      "PIM ECMP RPF-redirect bundle information";
                    list bundle-interface {
                      key "bundle-name interface-name";
                      description
                        "PIM ECMP RPF-redirect bundle interface
    information";
                      leaf bundle-name {
                        type xr:Cisco-ios-xr-string {
                          length "1..32";
                        }
                        description
                          "Bundle name";
                      }
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Bundle interface name";
                      }
    
                      leaf rpf-redirect-bundle-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "RPF redirect bundle name";
                      }
    
                      leaf rpf-redirect-interface-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "RPF redirect interface name";
                      }
    
                      leaf available-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth available in Kbps";
                      }
    
                      leaf allocated-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth allocated in Kbps";
                      }
    
                      leaf total-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Total bandwidth used in Kbps";
                      }
    
                      leaf topology-bandwidth-used {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth used by topology in Kbps";
                      }
    
                      leaf snooping-bandwidth-used {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth used by snooped entries in Kbps";
                      }
    
                      leaf allocated-threshold-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Configured threshold in Kbps";
                      }
    
                      leaf available-threshold-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Available threshold in Kbps";
                      }
                    }  // list bundle-interface
                  }  // container bundle-interfaces
                }  // container rpf-redirect
    
                container tunnels {
                  description
                    "Tunnels information that PIM has";
                  list tunnel {
                    key "tunnel-name";
                    description
                      "PIM tunnel information";
                    leaf tunnel-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "Tunnel name";
                    }
    
                    container source-address {
                      description
                        "Source addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address
    
                    container rp-address {
                      description
                        "RP addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container source-address-netio {
                      description
                        "Source addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-netio
    
                    container group-address-netio {
                      description
                        "Group addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-netio
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "VRF Name";
                    }
                  }  // list tunnel
                }  // container tunnels
    
                container multicast-static-routes {
                  description
                    "PIM multicast static route table";
                  list multicast-static-route {
                    key "address prefix-length";
                    description
                      "PIM multicast static route information";
                    leaf address {
                      type inet:ip-address-no-zone;
                      description
                        "Network address";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    container prefix {
                      description "Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container nexthop {
                      description "Next Hop";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container nexthop
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Handle";
                    }
    
                    leaf distance {
                      type uint32;
                      description "Distance";
                    }
    
                    leaf prefix-length-xr {
                      type uint8;
                      description
                        "Prefix Length";
                    }
    
                    leaf is-via-lsm {
                      type boolean;
                      description "LSM flag";
                    }
                  }  // list multicast-static-route
                }  // container multicast-static-routes
    
                container neighbors {
                  description
                    "PIM neighbor table";
                  list neighbor {
                    key "interface-name neighbor-address";
                    description
                      "PIM neighbor information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf neighbor-address {
                      type inet:ip-address-no-zone;
                      description
                        "Neighbor address";
                    }
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      units "second";
                      description
                        "Neighbor expiry in seconds";
                    }
    
                    leaf expiry-timer {
                      type uint64;
                      units "second";
                      description
                        "Expiry timer in seconds";
                    }
    
                    leaf is-this-neighbor-us {
                      type boolean;
                      description
                        "Is this neighbor us ?";
                    }
    
                    leaf is-this-neighbor-dr {
                      type boolean;
                      description
                        "Is this neighbor the DR";
                    }
    
                    leaf is-dr-priority-capable {
                      type boolean;
                      description
                        "Is this neighbor DR priority capable ?";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR priority";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Is this neighbor bidir capable ?";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Is this neighbor proxy capable?";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Is this neighbor capable of batching asserts?";
                    }
    
                    leaf is-ecmp-redirect-capable {
                      type boolean;
                      description
                        "Is this neighbor capable of Ecmp Redirect?";
                    }
    
                    leaf is-bfd-state {
                      type boolean;
                      description
                        "Is the neighbor bfd session created";
                    }
    
                    leaf sticky-dr-neighbor {
                      type boolean;
                      description
                        "Is Sticky DR advertised on interface by neighbor";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    list neighbor-address-xr {
                      description
                        "List of Neighbor Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list neighbor-address-xr
                  }  // list neighbor
                }  // container neighbors
              }  // list vrf
            }  // container vrfs
          }  // container standby
    
          container active {
            description "Active Process";
            container default-context {
              description "Default Context";
              container global-interfaces {
                description
                  "PIM global interface table";
                list global-interface {
                  key "interface-name";
                  description
                    "PIM interface name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list global-interface
              }  // container global-interfaces
    
              container ifrs-interfaces {
                description
                  "PIM interfaces in forward reference store table";
                list ifrs-interface {
                  key "interface-name";
                  description
                    "PIM IFRS interface information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list ifrs-interface
              }  // container ifrs-interfaces
    
              container interface-statistics {
                description
                  "PIM interface statistics";
                list interface-statistic {
                  key "interface-name";
                  description
                    "PIM interface statistics";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf input-hello {
                    type uint32;
                    description
                      "Hello packets in";
                  }
    
                  leaf output-hello {
                    type uint32;
                    description
                      "Hello packets out";
                  }
    
                  leaf input-register {
                    type uint32;
                    description
                      "Register packets in";
                  }
    
                  leaf output-register {
                    type uint32;
                    description
                      "Register packets out";
                  }
    
                  leaf input-register-stop {
                    type uint32;
                    description
                      "Register Stop packets in";
                  }
    
                  leaf output-register-stop {
                    type uint32;
                    description
                      "Register Stop packets out";
                  }
    
                  leaf input-jp {
                    type uint32;
                    description
                      "Join Prune packets in";
                  }
    
                  leaf output-jp {
                    type uint32;
                    description
                      "Join Prune packets out";
                  }
    
                  leaf input-bsr-message {
                    type uint32;
                    description
                      "Input BSR Messages";
                  }
    
                  leaf output-bsr-message {
                    type uint32;
                    description
                      "Output BSR Messages";
                  }
    
                  leaf input-assert {
                    type uint32;
                    description
                      "Assert packets in";
                  }
    
                  leaf output-assert {
                    type uint32;
                    description
                      "Assert packets out";
                  }
    
                  leaf input-graft-message {
                    type uint32;
                    description
                      "Input Graft Messages";
                  }
    
                  leaf output-graft-message {
                    type uint32;
                    description
                      "Output Graft Messages";
                  }
    
                  leaf input-graft-ack-message {
                    type uint32;
                    description
                      "Input Graft Ack Messages";
                  }
    
                  leaf output-graft-ack-message {
                    type uint32;
                    description
                      "Output Graft Ack Messages";
                  }
    
                  leaf input-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Input Candidate-RP Advertisment";
                  }
    
                  leaf output-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Output Candidate-RP Advertisment";
                  }
    
                  leaf input-df-election {
                    type uint32;
                    description
                      "DF Election packets in";
                  }
    
                  leaf output-df-election {
                    type uint32;
                    description
                      "DF Election packets out";
                  }
    
                  leaf input-miscellaneous {
                    type uint32;
                    description
                      "Miscellaneous packet in";
                  }
                }  // list interface-statistic
              }  // container interface-statistics
    
              container topology-route-count {
                description
                  "Topology route count information from PIM
    topology table";
                leaf group-ranges {
                  type uint32;
                  description
                    "No. of (*,G/M) routes";
                }
    
                leaf active-group-ranges {
                  type uint32;
                  description
                    "No. of (*,G/M) routes active in mrib";
                }
    
                leaf groute-count {
                  type uint32;
                  description
                    "No. of (*,G) routes";
                }
    
                leaf sg-route-count {
                  type uint32;
                  description
                    "No. of (S,G) routes";
                }
    
                leaf sgr-route-count {
                  type uint32;
                  description
                    "No. of (S,G)RPT routes";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
              }  // container topology-route-count
    
              container jp-statistics {
                description
                  "PIM join prune statistics table";
                list jp-statistic {
                  key "interface-name";
                  description
                    "PIM Join Prune Statistics";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "Interface MTU";
                  }
    
                  leaf transmitted {
                    type uint32;
                    description "Transmitted";
                  }
    
                  leaf transmitted100 {
                    type uint16;
                    description
                      "Transmitted 100 average";
                  }
    
                  leaf transmitted-1k {
                    type uint16;
                    description
                      "Transmitted 1K average";
                  }
    
                  leaf transmitted-10k {
                    type uint16;
                    description
                      "Transmitted 10K average";
                  }
    
                  leaf transmitted-50k {
                    type uint16;
                    description
                      "Deprecated by Transmitted100";
                  }
    
                  leaf received {
                    type uint32;
                    description "Received";
                  }
    
                  leaf received100 {
                    type uint16;
                    description
                      "Received 100 average";
                  }
    
                  leaf received-1k {
                    type uint16;
                    description
                      "Received 1K average";
                  }
    
                  leaf received-10k {
                    type uint16;
                    description
                      "Received 10K average";
                  }
    
                  leaf received-50k {
                    type uint16;
                    description
                      "Deprecated by Received100";
                  }
                }  // list jp-statistic
              }  // container jp-statistics
    
              container mib-databases {
                description
                  "PIM group database for mroute mibs table";
                list mib-database {
                  key "source-address group-address source-netmask";
                  description
                    "PIM multicast static route information";
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description
                      "Multicast static route source address";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description
                      "Multicast satic route group address";
                  }
    
                  leaf source-netmask {
                    type uint32;
                    description "Source mask";
                  }
    
                  container source-address-xr {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-xr
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-xr
    
                  container rpf-neighbor {
                    description
                      "The RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container rpf-root {
                    description
                      "Root of this mcast tree";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-root
    
                  leaf upstream-assert-timer {
                    type int32;
                    description
                      "Upstream Assert Timer";
                  }
    
                  leaf assert-metric {
                    type uint32;
                    description "Assert Metric";
                  }
    
                  leaf assert-metric-preference {
                    type uint32;
                    description
                      "Assert Metric Preference";
                  }
    
                  leaf assert-rpt-bit {
                    type boolean;
                    description "Assert RPT Bit";
                  }
    
                  leaf spt-bit {
                    type boolean;
                    description
                      "Is SPT bit set ?";
                  }
    
                  leaf rpf-mask {
                    type uint32;
                    description
                      "Mask of the multicast root";
                  }
    
                  leaf rpf-safi {
                    type uint8;
                    description
                      "Unicast or mcast";
                  }
    
                  leaf rpf-table-name {
                    type string;
                    description "RPF Table name";
                  }
    
                  leaf rpf-drop {
                    type boolean;
                    description
                      "RPF route-policy drop";
                  }
    
                  leaf rpf-extranet {
                    type boolean;
                    description
                      "Extranet RPF route-policy";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "RPF interface name ";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
    
                  leaf bidirectional-route {
                    type boolean;
                    description
                      "Is this Bidir ?";
                  }
    
                  leaf uptime {
                    type uint64;
                    description
                      "Uptime of route";
                  }
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description
                      "The PIM protocol";
                  }
                }  // list mib-database
              }  // container mib-databases
    
              container ifrs-summary {
                description
                  "PIM interfaces in forward reference store
    summary";
                leaf interface-count {
                  type uint32;
                  description
                    "Number of interfaces";
                }
    
                leaf configuration-count {
                  type uint32;
                  description
                    "Configuration counts";
                }
              }  // container ifrs-summary
    
              container ranges {
                description
                  "PIM range list information";
                list range {
                  key "rp-address client";
                  description
                    "PIM range list information";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  container rp-address-xr {
                    description
                      "Rendezvous point address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  container source-of-information {
                    description
                      "Source of information";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-of-information
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description "PIM protocol";
                  }
    
                  leaf client-xr {
                    type Pim-show-range-client;
                    description
                      "Client mapping learnt via";
                  }
    
                  leaf expires {
                    type uint64;
                    description
                      "When mapping expires";
                  }
    
                  list group-range {
                    description
                      "List of group ranges";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container source-of-information {
                      description
                        "Source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      description
                        "When mapping expires";
                    }
                  }  // list group-range
                }  // list range
              }  // container ranges
    
              container bsr {
                description
                  "PIM BSR information";
                container rp-caches {
                  description
                    "PIM BSR RP cache table";
                  list rp-cache {
                    key "group-prefix prefix-length";
                    description
                      "PIM BSR RP cache";
                    leaf group-prefix {
                      type inet:ip-address-no-zone;
                      description "Group prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix Length";
                    }
    
                    container group-prefix-xr {
                      description "Group Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-prefix-xr
    
                    container candidate-rp-list {
                      description
                        "C-RP list for this prefix";
                      list pim-bsr-crp-bag {
                        description
                          "Next C-RP in the List";
                        container candidate-rp-address {
                          description
                            "C-RP address";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container candidate-rp-address
    
                        leaf candidate-rp-holdtime {
                          type uint16;
                          description
                            "C-RP Holdtime";
                        }
    
                        leaf candidate-rp-priority {
                          type uint8;
                          description
                            "C-RP Priority";
                        }
    
                        leaf candidate-rp-up-time {
                          type uint16;
                          description
                            "C-RP Uptime";
                        }
    
                        leaf candidate-rp-expires {
                          type uint16;
                          description
                            "C-RP Expires";
                        }
    
                        leaf protocol {
                          type Pim-show-protocol;
                          description
                            "PIM Protocol";
                        }
                      }  // list pim-bsr-crp-bag
                    }  // container candidate-rp-list
    
                    leaf group-prefix-length {
                      type uint32;
                      description
                        "Group Prefix Length";
                    }
    
                    leaf candidate-rp-group-count {
                      type uint32;
                      description
                        "C-RP count for this Prefix";
                    }
                  }  // list rp-cache
                }  // container rp-caches
    
                container candidate-rps {
                  description "PIM candidate-RP";
                  list candidate-rp {
                    key "rp-address";
                    description
                      "PIM BSR candidate RP information";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description
                        "Candidate-RP address";
                    }
    
                    container candidate-rp {
                      description
                        "Cand-RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container candidate-rp
    
                    leaf candidate-rp-mode {
                      type Pim-show-protocol;
                      description "Cand-RP Mode";
                    }
    
                    leaf candidate-rp-scope {
                      type int32;
                      description
                        "Cand-RP Scope";
                    }
    
                    leaf crp-priority {
                      type uint8;
                      description
                        "Cand-RP Priority";
                    }
    
                    leaf crp-holdtime {
                      type uint16;
                      description
                        "Cand-RP Holdtime";
                    }
    
                    leaf candidate-rp-advance-interval {
                      type uint16;
                      units "second";
                      description
                        "Cand-RP Adv Interval in seconds";
                    }
    
                    leaf candidate-rp-uptime {
                      type uint16;
                      description
                        "Cand-RP uptime";
                    }
    
                    leaf acl-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "Group Access-List Name";
                    }
    
                    list crp-access {
                      max-elements 2;
                      description
                        "Group Ranges Using this Cand-RP";
                      leaf candidate-rp-mode {
                        type Pim-show-protocol;
                        description
                          "Cand-RP Mode";
                      }
    
                      leaf acl-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Group Access-List Name";
                      }
                    }  // list crp-access
                  }  // list candidate-rp
                }  // container candidate-rps
    
                container bsr-elections {
                  description
                    "PIM BSR election state";
                  list bsr-election {
                    key "pim-scope";
                    description
                      "PIM BSR information";
                    leaf pim-scope {
                      type uint32;
                      description
                        "BSR information";
                    }
    
                    container bsr-address {
                      description "BSR address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container bsr-address
    
                    container candidate-bsr-address {
                      description
                        "C-BSR address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container candidate-bsr-address
    
                    leaf bsr-priority {
                      type uint8;
                      description "BSR Priority";
                    }
    
                    leaf bsr-mask-length {
                      type uint8;
                      description
                        "Hash Function Mask Length";
                    }
    
                    leaf bsr-up-time {
                      type uint16;
                      description "BSR Uptime";
                    }
    
                    leaf bootstrap-timeout {
                      type uint16;
                      description
                        "Bootstrap Timeout";
                    }
    
                    leaf candidate-bsr-state {
                      type uint32;
                      description
                        "BSR Candidate State";
                    }
    
                    leaf bsr-election-state {
                      type uint32;
                      description
                        "BSR Election State";
                    }
    
                    leaf bsr-scope {
                      type uint16;
                      description "BSR Scope";
                    }
    
                    leaf candidate-bsr-flag {
                      type boolean;
                      description
                        "BSR Candidate Config Flag";
                    }
    
                    leaf candidate-bsr-priority {
                      type uint8;
                      description
                        "C-BSR Priority";
                    }
    
                    leaf candidate-bsr-mask-length {
                      type uint8;
                      description
                        "C-BSR Hash Func. Mask Len";
                    }
                  }  // list bsr-election
                }  // container bsr-elections
              }  // container bsr
    
              container route-policy {
                description "PIM route policy";
                container route-policy-statistics {
                  description
                    "PIM route policy statistics";
                  leaf policy-name {
                    type string;
                    description
                      "RPF policy name";
                  }
    
                  leaf requests {
                    type uint32;
                    description
                      "Number of RPF lookup requests";
                  }
    
                  leaf pass {
                    type uint32;
                    description
                      "Number of RPF pass";
                  }
    
                  leaf drop {
                    type uint32;
                    description
                      "Number of RPF drops";
                  }
    
                  leaf default-table {
                    type uint32;
                    description
                      "Number of RPF lookup in default-only Table";
                  }
    
                  leaf any-table {
                    type uint32;
                    description
                      "Number of RPF lookup in any Table";
                  }
                }  // container route-policy-statistics
              }  // container route-policy
    
              container rpf-summary {
                description
                  "PIM RPF registration summary";
                leaf default-safi {
                  type uint32;
                  description
                    "Default RPF Table SAFI";
                }
    
                leaf default-table-name {
                  type string;
                  description
                    "Default RPF Table Name";
                }
    
                leaf is-mbgp-configured {
                  type boolean;
                  description
                    "Is MBGP configured?";
                }
    
                leaf is-ospf-te-configured {
                  type boolean;
                  description
                    "Is OSPF TE configured?";
                }
    
                leaf is-isis-te-configured {
                  type boolean;
                  description
                    "Is ISIS TE configured?";
                }
    
                leaf is-isis-mtr-configured {
                  type boolean;
                  description
                    "Is ISIS MTR configured?";
                }
    
                leaf mo-frr-configured {
                  type boolean;
                  description
                    "Is MoFRR configured?";
                }
    
                leaf rib-mo-frr-configured {
                  type boolean;
                  description
                    "Is MoFRR RIB configured?";
                }
    
                leaf rump-enabled {
                  type boolean;
                  description
                    "Is RUMP MuRIB enabled?";
                }
    
                leaf rib-convergence-timeout {
                  type uint32;
                  units "second";
                  description
                    "RIB convergence timeout in seconds";
                }
    
                leaf rib-convergence-time-left {
                  type uint32;
                  units "second";
                  description
                    "RIB convergence time left in seconds";
                }
    
                leaf is-multipath-enabled {
                  type boolean;
                  description
                    "Is Multipath Enabled ?";
                }
    
                leaf is-multipath-interface-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Interface Hash Extension Enabled ?";
                }
    
                leaf is-multipath-source-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Source based Hash Enabled ?";
                }
    
                leaf is-multipath-source-next-hop-hash-enabled {
                  type boolean;
                  description
                    "Is Multipath Source-Nexthop Hash Enabled ?";
                }
    
                leaf rpf-registrations {
                  type uint32;
                  description
                    "RPF Registration count";
                }
    
                leaf is-rib-convergence {
                  type boolean;
                  description
                    "RIB Convergence status";
                }
              }  // container rpf-summary
    
              container interfaces {
                description "PIM interfaces";
                list interface {
                  key "interface-name";
                  description
                    "PIM interface name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container dr-address {
                    description
                      "PIM Designated Router";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container dr-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identfier";
                  }
    
                  leaf interface-address-mask {
                    type uint8;
                    description
                      "Interface IP Address Mask";
                  }
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Is PIM enabled on this IF ?";
                  }
    
                  leaf neighbor-count {
                    type uint16;
                    description
                      "No. of neighbors on this IF";
                  }
    
                  leaf external-neighbor-count {
                    type uint16;
                    description
                      "No. of external neighbors on this IF";
                  }
    
                  leaf hello-interval {
                    type uint16;
                    description "Hello Interval";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR Priority";
                  }
    
                  leaf hello-expiry {
                    type uint64;
                    description
                      "Hello Timer Expiry";
                  }
    
                  leaf are-we-dr {
                    type boolean;
                    description
                      "Are we the DR on this IF ?";
                  }
    
                  leaf bfd-enabled {
                    type boolean;
                    description "BFD state";
                  }
    
                  leaf bfd-interval {
                    type uint32;
                    description "BFD Interval";
                  }
    
                  leaf bfd-multiplier {
                    type uint32;
                    description "BFD Multiplier";
                  }
    
                  leaf virtual-interface {
                    type boolean;
                    description
                      " is this a Virtual Interfaces ?";
                  }
    
                  leaf passive-interface {
                    type boolean;
                    description
                      "Passive PIM interface";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf sticky-dr-enabled {
                    type boolean;
                    description
                      "Is Sticky DR enabled on Interface";
                  }
    
                  leaf sticky-dr-active {
                    type boolean;
                    description
                      "Is Sticky DR Active on Interface";
                  }
    
                  leaf sticky-dr-active-since {
                    type uint64;
                    units "second";
                    description
                      "Sticky DR uptime in seconds";
                  }
    
                  leaf join-prune-interval {
                    type uint16;
                    description
                      "Join-Prune Interval";
                  }
    
                  leaf prune-delay-enabled {
                    type boolean;
                    description
                      "Prune Delay Enabled";
                  }
    
                  leaf configured-propagation-delay {
                    type uint16;
                    description
                      "Configured Propagation Delay";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf configured-override-interval {
                    type uint16;
                    description
                      "Configured Override Interval";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  leaf generation-id {
                    type uint32;
                    description
                      "Generation Identifier";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description "Bidir Capable";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description "Proxy Capable";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Batch Asserts Capable";
                  }
    
                  leaf idb-oor-enabled {
                    type boolean;
                    description
                      "Interface oor enabled";
                  }
    
                  leaf idb-acl-provided {
                    type boolean;
                    description
                      "ACL name provided";
                  }
    
                  leaf idb-max-count {
                    type uint32;
                    description
                      "Interface ole max count";
                  }
    
                  leaf idb-threshold-count {
                    type uint32;
                    description
                      "Interface ole threshold count";
                  }
    
                  leaf idb-current-count {
                    type uint32;
                    description
                      "Interface ole current count";
                  }
    
                  leaf idb-acl-name {
                    type string {
                      length "0..64";
                    }
                    description
                      "Interface ole ACL Name";
                  }
    
                  list interface-address {
                    description
                      "List of Interface IP Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list interface-address
                }  // list interface
              }  // container interfaces
    
              container net-io-tunnels {
                description
                  "Tunnel information that NETIO has ";
                list net-io-tunnel {
                  key "tunnel-name";
                  description
                    "PIM netio tunnel information";
                  leaf tunnel-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..64";
                    }
                    description "Tunnel name";
                  }
    
                  container source-address {
                    description
                      "Source addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  container rp-address {
                    description
                      "RP addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address-netio {
                    description
                      "Source addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-netio
    
                  container group-address-netio {
                    description
                      "Group addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-netio
    
                  leaf vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "VRF Name";
                  }
                }  // list net-io-tunnel
              }  // container net-io-tunnels
    
              container bidir-df-states {
                description
                  "Bidirectional PIM DF election state table";
                list bidir-df-state {
                  key "rp-address interface-name";
                  description
                    "Bidirectional PIM DF Election Table Entry";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address-xr {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  leaf pim-interface-name {
                    type string;
                    description "Interface Name";
                  }
    
                  leaf election-state {
                    type string;
                    description
                      "DF Election State";
                  }
    
                  leaf time-seconds {
                    type uint64;
                    units "second";
                    description
                      "Timer expires (seconds)";
                  }
    
                  leaf time-nano-seconds {
                    type uint64;
                    units "nanosecond";
                    description
                      "Timer expires (nseconds)";
                  }
    
                  leaf our-metric {
                    type uint32;
                    description "Metric";
                  }
    
                  leaf our-metric-preference {
                    type uint32;
                    description
                      "MetricPreference";
                  }
                }  // list bidir-df-state
              }  // container bidir-df-states
    
              container topologies {
                description "PIM topology table";
                list topology {
                  key "source-address group-address rpt";
                  description
                    "PIM topology information";
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description "Source address";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group address";
                  }
    
                  leaf rpt {
                    type uint32;
                    description "RPT bit";
                  }
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-xr
    
                  container source-address-xr {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-xr
    
                  container rp-address {
                    description
                      "RP Address (If rpt)";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container rpf-neighbor {
                    description "RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container secondary-rpf-neighbor {
                    description
                      "Secondary RPF Neighbor";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container secondary-rpf-neighbor
    
                  container rpf-root {
                    description
                      "Root of this mcast tree";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-root
    
                  container proxy-address {
                    description
                      "RPF Proxy address.";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container proxy-address
    
                  container orig-src-address {
                    description
                      "Orig Src Address.";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container orig-src-address
    
                  leaf limit-reached {
                    type boolean;
                    description
                      "Have we throttled the creation of routes or
    interfaces ?";
                  }
    
                  leaf low-memory {
                    type boolean;
                    description
                      "Node is running low on memory";
                  }
    
                  leaf protocol {
                    type Pim-show-protocol;
                    description
                      "The PIM protocol";
                  }
    
                  leaf wildcard {
                    type boolean;
                    description "WC -Wildcard";
                  }
    
                  leaf rpt-xr {
                    type boolean;
                    description
                      "Is this on the RPT ?";
                  }
    
                  leaf spt {
                    type boolean;
                    description
                      "Is this on the SPT ?";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
    
                  leaf expiry {
                    type uint64;
                    description
                      "When this entry expires";
                  }
    
                  leaf alive {
                    type int32;
                    units "second";
                    description
                      "Alive time in seconds (-1 if never)";
                  }
    
                  leaf register-received-timer {
                    type int32;
                    units "second";
                    description
                      "Register Received Timer in seconds (-1 if never)";
                  }
    
                  leaf remote-source {
                    type boolean;
                    description "MSDP told us";
                  }
    
                  leaf crossed-threshold {
                    type boolean;
                    description
                      "Incoming traffic crossed threshold. MT flag set";
                  }
    
                  leaf data-mdt-addr-assigned {
                    type boolean;
                    description
                      "PIM has assigned a Data MDT Address";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
    
                  leaf rpf-safi {
                    type uint8;
                    description
                      "Unicast or mcast";
                  }
    
                  leaf rpf-table-name {
                    type string;
                    description "RPF Table name";
                  }
    
                  leaf rpf-drop {
                    type boolean;
                    description
                      "RPF route-policy drop";
                  }
    
                  leaf rpf-extranet {
                    type boolean;
                    description
                      "Extranet RPF route-policy";
                  }
    
                  leaf is-via-lsm {
                    type boolean;
                    description "Via LSM";
                  }
    
                  leaf secondary-rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "Secondary Interface Identifier";
                  }
    
                  leaf connected {
                    type boolean;
                    description "Is Connected ?";
                  }
    
                  leaf proxy {
                    type boolean;
                    description
                      "Is the RPF target a proxy?";
                  }
    
                  leaf rpf-proxy-enabled {
                    type boolean;
                    description
                      "Is rpf if proxy enabled?";
                  }
    
                  leaf mofrr-enabled {
                    type boolean;
                    description
                      "Is this SG MoFRR enabled?";
                  }
    
                  leaf rib-mo-frr-enabled {
                    type boolean;
                    description
                      "Is this SG MoFRR enabled?";
                  }
    
                  leaf jp-timer {
                    type int32;
                    description
                      "Join-Prune Timer";
                  }
    
                  leaf jp-status {
                    type int32;
                    description
                      "Join-Prune Status";
                  }
    
                  leaf suppress-registers {
                    type int32;
                    description
                      "When the Null register probe expires";
                  }
    
                  leaf assume-alive {
                    type boolean;
                    description
                      "The Assume Alive Bit";
                  }
    
                  leaf probe-alive {
                    type boolean;
                    description
                      "The Probe Alive Bit";
                  }
    
                  leaf really-alive {
                    type boolean;
                    description
                      "The Really Alive Bit";
                  }
    
                  leaf inherit-alive {
                    type boolean;
                    description
                      "The Inherit Alive Bit";
                  }
    
                  leaf inherit-spt {
                    type boolean;
                    description
                      "The Inherit SPT Bit";
                  }
    
                  leaf signal-sources {
                    type boolean;
                    description
                      "Signal Sources on route?";
                  }
    
                  leaf dont-check-connected {
                    type boolean;
                    description
                      "Do we need to make the connected check on this
    route ?";
                  }
    
                  leaf register-received {
                    type boolean;
                    description
                      "Have registers been received for this source ?";
                  }
    
                  leaf last-hop {
                    type boolean;
                    description
                      "Are we last hop ?";
                  }
    
                  leaf sending-registers {
                    type boolean;
                    description
                      "Are we sending registers for this route ?";
                  }
    
                  leaf sending-null-registers {
                    type boolean;
                    description
                      "Are we sending null registers for this route ?";
                  }
    
                  leaf sa-sent {
                    type boolean;
                    description "BGP SA sent";
                  }
    
                  leaf sa-received {
                    type boolean;
                    description
                      "BGP SA received";
                  }
    
                  leaf sa-joined {
                    type boolean;
                    description "BGP SA join";
                  }
    
                  leaf anycast-rp-match {
                    type boolean;
                    description
                      "Group matches Anycast-RP policy";
                  }
    
                  leaf anycast-rp-route-target {
                    type inet:ipv4-address;
                    description "Anycast-RP RT";
                  }
    
                  leaf bgp-join {
                    type boolean;
                    description "BGP C JOIN";
                  }
    
                  leaf bgp-jp-time {
                    type uint64;
                    description "BGP C JP Time";
                  }
    
                  leaf customer-routing-type {
                    type int32;
                    description
                      "Type of Customer Routing in the MVPN";
                  }
    
                  leaf extranet-route {
                    type boolean;
                    description
                      "Is a Extranet route ?";
                  }
    
                  leaf mofrr-active {
                    type boolean;
                    description
                      "Is MoFRR Active?";
                  }
    
                  leaf mofrr-primary {
                    type boolean;
                    description
                      "Is this Mofrr Primary?";
                  }
    
                  leaf mofrr-backup {
                    type boolean;
                    description
                      "Is this Mofrr Backup?";
                  }
    
                  leaf vxlan {
                    type boolean;
                    description "Is this VXLAN?";
                  }
    
                  leaf kat-state {
                    type boolean;
                    description
                      "Keep Alive Timer State";
                  }
    
                  list outgoing-interface {
                    description
                      "Outgoing interface list";
                    container assert-winner {
                      description
                        "Assert Winner";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container assert-winner
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiry {
                      type uint64;
                      units "second";
                      description
                        "Expiry in seconds";
                    }
    
                    leaf bgp-c-mcast-prune-delay-timer {
                      type uint64;
                      units "second";
                      description
                        "BGP C-MCAST Prune Suppression in seconds";
                    }
    
                    leaf jp-timer {
                      type int32;
                      units "second";
                      description
                        "Join-Prune Timer (secs)";
                    }
    
                    leaf jp-state {
                      type int32;
                      description
                        "Join-Prune State";
                    }
    
                    leaf assert-timer {
                      type int32;
                      units "second";
                      description
                        "Assert Timer in seconds";
                    }
    
                    leaf local-members {
                      type int32;
                      description
                        "Local Information. Deprecated - use
    'local-members-information' instead";
                    }
    
                    leaf internal-interest-info {
                      type int32;
                      description
                        "Internal Interest. Deprecated - use
    'internal-interest-information' instead";
                    }
    
                    leaf forwarding-state {
                      type int32;
                      description
                        "Forward or Prune";
                    }
    
                    leaf immediate-state {
                      type int32;
                      description
                        "Immediate fwding state";
                    }
    
                    leaf last-hop {
                      type boolean;
                      description
                        "Are we last hop ?";
                    }
    
                    leaf mldp-inband-mdt {
                      type boolean;
                      description
                        "MLDP Inband MDT interface";
                    }
    
                    leaf mldp-stale {
                      type boolean;
                      description "OLE is stale";
                    }
    
                    leaf sa-prune {
                      type boolean;
                      description
                        "BGP SA Prune state";
                    }
    
                    leaf admin-boundary {
                      type boolean;
                      description
                        "Is this an administrative boundary ?";
                    }
    
                    leaf igmp-membership {
                      type boolean;
                      description
                        "IGMP membership";
                    }
    
                    leaf mdt-safi-join {
                      type boolean;
                      description
                        "MDT Safi join";
                    }
    
                    leaf mvpn-safi-join {
                      type boolean;
                      description
                        "MVPN Safi join";
                    }
    
                    leaf local-mdt-join {
                      type boolean;
                      description
                        "Default MDT Join";
                    }
    
                    leaf data-mdt-join {
                      type boolean;
                      description
                        "Data MDT join";
                    }
    
                    leaf mvpnv6-safi-join {
                      type boolean;
                      description
                        "MVPN IPv6 Safi join";
                    }
    
                    leaf bgp-c-mcast-join {
                      type boolean;
                      description
                        "BGP C-Mcast join";
                    }
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "VRF which physically owns";
                    }
    
                    leaf extranet-interface {
                      type boolean;
                      description
                        "Is this an Extranet Interface ?";
                    }
    
                    leaf internal-interest-information {
                      type Pim-internal-interest-info;
                      description
                        "Internal Interest. Replaces
    internal-interest-info";
                    }
    
                    leaf local-members-information {
                      type Pim-show-local-interest;
                      description
                        "Local Information. Replaces local-members";
                    }
    
                    leaf assert-state {
                      type boolean;
                      description "Assert State";
                    }
                  }  // list outgoing-interface
                }  // list topology
              }  // container topologies
    
              container topology-interface-flag-route-counts {
                description
                  "Route count for topology with interface flag set";
                list topology-interface-flag-route-count {
                  key "interface-flag";
                  description
                    "Route count for topology with interface flag
    set";
                  leaf interface-flag {
                    type Pim-topology-interface-flag;
                    description "Interface flag";
                  }
    
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // list topology-interface-flag-route-count
              }  // container topology-interface-flag-route-counts
    
              container group-map-sources {
                description
                  "PIM group-mapping with source information";
                list group-map-source {
                  key "prefix prefix-length client protocol rp-address priority";
                  description
                    "PIM Group Mapping Entry with source information";
                  leaf prefix {
                    type inet:ip-address-no-zone;
                    description "Prefix";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  leaf protocol {
                    type Pim-protocol;
                    description "Protocol";
                  }
    
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf priority {
                    type uint32;
                    description "RP Priority";
                  }
    
                  container source-of-information {
                    description
                      "The source of information";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-of-information
    
                  container group-map-information {
                    description
                      "Group Mapping information";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container rp-address {
                      description
                        "Rendezvous Point Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf client {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt from";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "Protocol mode of the range";
                    }
    
                    leaf group-count {
                      type uint32;
                      description
                        "No. of groups in this range";
                    }
    
                    leaf is-used {
                      type boolean;
                      description
                        "Is this mapping being used?";
                    }
    
                    leaf mrib-active {
                      type boolean;
                      description
                        "Is this mapping active in MRIB?";
                    }
    
                    leaf is-override {
                      type boolean;
                      description
                        "Is this the override range?";
                    }
    
                    leaf priority {
                      type uint32;
                      description
                        "Bootstrap priority";
                    }
                  }  // container group-map-information
    
                  leaf holdtime {
                    type int32;
                    units "second";
                    description
                      "Holdtime in seconds";
                  }
    
                  leaf expires {
                    type uint64;
                    units "second";
                    description
                      "Mapping expiry time in seconds";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Mapping uptime in seconds";
                  }
                }  // list group-map-source
              }  // container group-map-sources
    
              container traffic-counters {
                description
                  "PIM message traffic counters";
                leaf elapsed-time {
                  type uint32;
                  units "second";
                  description
                    "Running time for counters in seconds";
                }
    
                leaf inputs {
                  type uint32;
                  description "Packets in";
                }
    
                leaf outputs {
                  type uint32;
                  description "Packets out";
                }
    
                leaf format-error {
                  type uint32;
                  description
                    "Malformed packets in";
                }
    
                leaf pakman-error {
                  type uint32;
                  description
                    "Pakman packets dropped";
                }
    
                leaf standby-packets-error {
                  type uint32;
                  description
                    "Packets received in standby state";
                }
    
                leaf checksum-error {
                  type uint32;
                  description "Checksum errors";
                }
    
                leaf socket-error {
                  type uint32;
                  description "Socket errors";
                }
    
                leaf send-queue-full {
                  type uint32;
                  description
                    "Packets dropped since send queue was full";
                }
    
                leaf boundary-acl-rx-drop {
                  type uint32;
                  description
                    "Inc. JP dropped since boundary ACL confg";
                }
    
                leaf boundary-acl-tx-drop {
                  type uint32;
                  description
                    "Out JP dropped since boundary ACL confg";
                }
    
                leaf no-socket-connection {
                  type uint32;
                  description
                    "Packets dropped since no socket connection";
                }
    
                leaf no-source-address {
                  type uint32;
                  description
                    "Packets dropped since no source address";
                }
    
                leaf input-hello {
                  type uint32;
                  description "Hello packets in";
                }
    
                leaf output-hello {
                  type uint32;
                  description
                    "Hello packets out";
                }
    
                leaf input-jp {
                  type uint32;
                  description
                    "Join Prune packets in";
                }
    
                leaf output-jp {
                  type uint32;
                  description
                    "Join Prune packets out";
                }
    
                leaf input-data-register {
                  type uint32;
                  description
                    "Data Register packets in";
                }
    
                leaf input-null-register {
                  type uint32;
                  description
                    "Null Register packets in";
                }
    
                leaf output-null-register {
                  type uint32;
                  description
                    "Null Register packets out";
                }
    
                leaf input-register-stop {
                  type uint32;
                  description
                    "Register Stop packets in";
                }
    
                leaf output-register-stop {
                  type uint32;
                  description
                    "Register Stop packets out";
                }
    
                leaf input-assert {
                  type uint32;
                  description
                    "Assert packets in";
                }
    
                leaf input-assert-batched {
                  type uint32;
                  description
                    "Batched Assert packets in";
                }
    
                leaf output-assert {
                  type uint32;
                  description
                    "Assert packets out";
                }
    
                leaf output-assert-batched {
                  type uint32;
                  description
                    "Batched Assert packets out";
                }
    
                leaf input-df-election {
                  type uint32;
                  description
                    "DF Election packets in";
                }
    
                leaf output-df-election {
                  type uint32;
                  description
                    "DF Election packets out";
                }
    
                leaf input-bsr-message {
                  type uint32;
                  description
                    "Input BSR Messages";
                }
    
                leaf output-bsr-message {
                  type uint32;
                  description
                    "Output BSR Messages";
                }
    
                leaf input-candidate-rp-advertisement {
                  type uint32;
                  description
                    "Input Candidate-RP Advertisment";
                }
    
                leaf output-candidate-rp-advertisement {
                  type uint32;
                  description
                    "Output Candidate-RP Advertisment";
                }
    
                leaf input-ecmp-redirect {
                  type uint32;
                  description
                    "Input Ecmp Redirect";
                }
    
                leaf output-ecmp-redirect {
                  type uint32;
                  description
                    "Output Ecmp Redirect";
                }
    
                leaf output-loop-error {
                  type uint32;
                  description
                    "Output on loopback error";
                }
    
                leaf mldp-mdt-invalid-lsm-identifier {
                  type uint32;
                  description " Invalid LSM ID";
                }
    
                leaf input-no-idb-error {
                  type uint32;
                  description
                    "No IDB for intf error";
                }
    
                leaf input-no-vrf-error {
                  type uint32;
                  description
                    "No VRF for idb error";
                }
    
                leaf input-no-pim-error {
                  type uint32;
                  description
                    "PIM Disabled on intf error";
                }
    
                leaf input-pim-version-error {
                  type uint32;
                  description
                    "Invalid PIM version error";
                }
    
                leaf output-join-group {
                  type uint32;
                  description
                    "Output Join Groups";
                }
    
                leaf output-prune-group {
                  type uint32;
                  description
                    "Output Prune Groups";
                }
    
                leaf output-join-prune-bytes {
                  type uint32;
                  units "byte";
                  description "Output JP Bytes";
                }
    
                leaf output-hello-bytes {
                  type uint32;
                  units "byte";
                  description
                    "Output Hello Bytes";
                }
    
                leaf non-supported-packets {
                  type uint32;
                  description
                    "PIM non supported pckets";
                }
    
                leaf invalid-registers {
                  type uint32;
                  description
                    "PIM invalid registers received";
                }
    
                leaf invalid-join-prunes {
                  type uint32;
                  description
                    "PIM invalid Join/Prunes received";
                }
    
                leaf packet-packman-error {
                  type uint32;
                  description
                    "Packets Dropped due to Pakman Error";
                }
    
                leaf packet-read-socket-error {
                  type uint32;
                  description
                    "Packet Read Socket Error";
                }
    
                leaf packet-queue-last-clear {
                  type uint32;
                  units "second";
                  description
                    "Time in seconds since the last clear of all
    packet queues stats";
                }
    
                leaf packets-standby {
                  type uint32;
                  description
                    "Packets Dropped due to Standby Error";
                }
    
                leaf no-mdt-socket-connection {
                  type uint32;
                  description
                    "Packets dropped since no mdt socket connection";
                }
    
                leaf mdt-send-queue-full {
                  type uint32;
                  description
                    "Packets dropped since mdt send queue was full";
                }
    
                leaf mdt-socket-error {
                  type uint32;
                  description
                    "MDT Socket errors";
                }
    
                leaf mdt-join-tlv-sent {
                  type uint32;
                  description
                    "Data MDT Join Msgs sent";
                }
    
                leaf mdt-join-tlv-received {
                  type uint32;
                  description
                    "Data MDT Join Msgs received";
                }
    
                leaf mdt-join-bad-type {
                  type uint32;
                  description
                    "Data MDT TLV bad type";
                }
    
                leaf mdt-drop-local-source-address {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to local source
    addr";
                }
    
                leaf mdt-drop-null-local-address {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to null local
    addr";
                }
    
                leaf mdt-drop-no-idb {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to idb missing";
                }
    
                leaf mdt-drop-no-vrf {
                  type uint32;
                  description
                    "Data MDT Join msgs dropped due to vrf missing";
                }
    
                leaf invalid-destination-packets {
                  type uint32;
                  description
                    "Control Packets with Invalid Destination";
                }
    
                leaf mdt-joins-drop-multiple-encapsulation {
                  type uint32;
                  description
                    "MDT Join msgs dropped due to multiple Encap
    limitation";
                }
    
                leaf truncated-pim-packets {
                  type uint32;
                  description
                    "Packets dropped due to truncated Joins or Prunes";
                }
    
                leaf invalid-source-encodings {
                  type uint32;
                  description
                    "Number of invalid source encodings received";
                }
    
                leaf invalid-hello-options {
                  type uint32;
                  description
                    "Number of invalid hello options received";
                }
    
                list packet-queue {
                  max-elements 2;
                  description
                    "Packet queue state and statistics";
                  container packet-queue-state {
                    description
                      "State of the queue";
                    leaf max-queue-size {
                      type uint32;
                      units "byte";
                      description
                        "Maximum size of queue in bytes";
                    }
    
                    leaf queue-size-bytes {
                      type uint32;
                      units "byte";
                      description
                        "Size of queue in bytes";
                    }
    
                    leaf queue-size-packets {
                      type uint32;
                      description
                        "Size of queue in number of packets";
                    }
                  }  // container packet-queue-state
    
                  container packet-queue-stats {
                    description
                      "Statistics about the queue";
                    leaf enqueued-packets {
                      type uint32;
                      description
                        "Total number of packets enqueued to this queue";
                    }
    
                    leaf dequeued-packets {
                      type uint32;
                      description
                        "Total number of packets dequeued from this queue";
                    }
    
                    leaf high-water-mark-packets {
                      type uint32;
                      description
                        "Highest number of packets enqueued in this queue";
                    }
    
                    leaf high-water-mark-bytes {
                      type uint32;
                      units "byte";
                      description
                        "Highest number of bytes enqueued in this queue";
                    }
    
                    leaf tail-drops {
                      type uint32;
                      description
                        "Number packets dropped from this queue due to
    max size";
                    }
                  }  // container packet-queue-stats
    
                  leaf packet-queue-priority {
                    type uint32;
                    description
                      "Priority of this packet queue";
                  }
                }  // list packet-queue
              }  // container traffic-counters
    
              container group-map-rpfs {
                description
                  "PIM group mapping information";
                list group-map-rpf {
                  key "prefix prefix-length client protocol rp-address rp-priority";
                  description
                    "PIM group mapping entry";
                  leaf prefix {
                    type inet:ip-address-no-zone;
                    description "Prefix";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf client {
                    type Pim-client;
                    description "Client";
                  }
    
                  leaf protocol {
                    type Pim-protocol;
                    description "Protocol";
                  }
    
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf rp-priority {
                    type uint32;
                    description "RP priority";
                  }
    
                  container rpf-neighbor {
                    description
                      "RPF neighbor to the RP";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rpf-neighbor
    
                  container group-map-information {
                    description
                      "Group Mapping information";
                    container prefix {
                      description
                        "Group range prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container rp-address {
                      description
                        "Rendezvous Point Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    leaf prefix-length {
                      type int32;
                      description
                        "Group range prefix length";
                    }
    
                    leaf client {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt from";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "Protocol mode of the range";
                    }
    
                    leaf group-count {
                      type uint32;
                      description
                        "No. of groups in this range";
                    }
    
                    leaf is-used {
                      type boolean;
                      description
                        "Is this mapping being used?";
                    }
    
                    leaf mrib-active {
                      type boolean;
                      description
                        "Is this mapping active in MRIB?";
                    }
    
                    leaf is-override {
                      type boolean;
                      description
                        "Is this the override range?";
                    }
    
                    leaf priority {
                      type uint32;
                      description
                        "Bootstrap priority";
                    }
                  }  // container group-map-information
    
                  leaf are-we-rp {
                    type boolean;
                    description "Are we the RP?";
                  }
    
                  leaf rpf-interface-name {
                    type xr:Interface-name;
                    description
                      "RPF interface to the RP";
                  }
    
                  leaf rpf-vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "RPF VRF Name";
                  }
                }  // list group-map-rpf
              }  // container group-map-rpfs
    
              container summary {
                description "PIM summary";
                leaf route-limit {
                  type uint32;
                  description "Maximum routes";
                }
    
                leaf route-count {
                  type uint32;
                  description "Current routes";
                }
    
                leaf route-low-water-mark {
                  type uint32;
                  description
                    "The number of routes below which the throttle on
    route creation will be lifted";
                }
    
                leaf is-route-limit-reached {
                  type boolean;
                  description
                    "Is route creation throttled";
                }
    
                leaf topology-interface-state-limit {
                  type uint32;
                  description
                    "Maximum Topology Interface State count";
                }
    
                leaf topology-interface-state-count {
                  type uint32;
                  description
                    "Current Topology Interface State count";
                }
    
                leaf rxi-low-water-mark {
                  type uint32;
                  description
                    "The rxi below which the throttle on interface
    creation will be lifted";
                }
    
                leaf rxi-limit-reached {
                  type boolean;
                  description
                    "Is interface creation throttled";
                }
    
                leaf register-limit {
                  type uint32;
                  description
                    "Maximum registers";
                }
    
                leaf register-count {
                  type uint32;
                  description
                    "Current registers";
                }
    
                leaf register-limit-reached {
                  type boolean;
                  description
                    "Is PIM SM register handling throttled";
                }
    
                leaf ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from Autorp";
                }
    
                leaf ranges-count {
                  type uint32;
                  description
                    "Current group ranges from Autorp";
                }
    
                leaf ranges-threshold {
                  type uint32;
                  description
                    "OOR theshold of grange ranges from AutoRP";
                }
    
                leaf is-ranges-limit-reached {
                  type boolean;
                  description
                    "Is Auto-RP group-to-RP mapping range creation
    throttled";
                }
    
                leaf bsr-ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from BSR";
                }
    
                leaf bsr-ranges-count {
                  type uint32;
                  description
                    "Current group ranges from BSR";
                }
    
                leaf bsr-range-threshold {
                  type uint32;
                  description
                    "Threshold group range from BSR";
                }
    
                leaf is-bsr-ranges-threshold-reached {
                  type boolean;
                  description
                    "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                }
    
                leaf bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Maximum crp-set from BSR";
                }
    
                leaf bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Current crp-set count from BSR";
                }
    
                leaf bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Threshold crp-set from BSR";
                }
    
                leaf is-maximum-enforcement-disabled {
                  type boolean;
                  description
                    "Is maximum enforcement disabled";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
    
                leaf route-threshold {
                  type uint32;
                  description "Threshold routes";
                }
    
                leaf global-auto-rp-ranges-limit {
                  type uint32;
                  description
                    "Global Auto-RP maximum group ranges";
                }
    
                leaf is-global-auto-rp-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global AutoRP group-to-RP mapping range
    creation throttled";
                }
    
                leaf global-bsr-ranges-limit {
                  type uint32;
                  description
                    "Global BSR maximum group ranges";
                }
    
                leaf global-bsr-ranges-count {
                  type uint32;
                  description
                    "Global BSR current group ranges";
                }
    
                leaf global-bsr-ranges-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold group ranges";
                }
    
                leaf is-global-bsr-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global BSR group-to-RP mapping range creation
    throttled";
                }
    
                leaf global-bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Global BSR maximum crp-set";
                }
    
                leaf global-bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Global BSR current crp-set count";
                }
    
                leaf global-bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold crp-set";
                }
    
                leaf is-global-route-limit-reached {
                  type boolean;
                  description
                    "Is global route creation throttled";
                }
    
                leaf topology-interface-state-threshold {
                  type uint32;
                  description
                    "Topology Interface State threshold";
                }
    
                leaf is-global-rxi-limit-reached {
                  type boolean;
                  description
                    "Is global interface creation throttled";
                }
    
                leaf register-threshold {
                  type uint32;
                  description
                    "Threshold registers";
                }
    
                leaf global-register-limit {
                  type uint32;
                  description
                    "Maximum global registers";
                }
    
                leaf is-global-register-limit-reached {
                  type boolean;
                  description
                    "Is global PIM SM register handling throttled";
                }
              }  // container summary
    
              container gre {
                description "GRE information";
                container gre-next-hops {
                  description
                    "GRE destination neighbor table";
                  list gre-next-hop {
                    key "destination-address";
                    description
                      "PIM GRE address next-hop information";
                    leaf destination-address {
                      type inet:ip-address-no-zone;
                      description
                        "GRE destination address";
                    }
    
                    container registered-address {
                      description
                        "Address registered";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container registered-address
    
                    leaf metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf metric-preference {
                      type uint32;
                      description
                        "Metric preference";
                    }
    
                    leaf is-connected {
                      type uint8;
                      description
                        "Are we connected ?";
                    }
    
                    list gre-path {
                      description
                        "GRE Paths list";
                      container gre-neighbor {
                        description
                          "GRE neighbor";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container gre-neighbor
    
                      container gre-next-hop {
                        description
                          "GRE nexthop";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container gre-next-hop
    
                      leaf gre-interface-name {
                        type xr:Interface-name;
                        description
                          "GRE Interface";
                      }
    
                      leaf is-gre-interface-disabled {
                        type boolean;
                        description
                          "Is the gre interface disabled ?";
                      }
    
                      leaf is-via-lsm {
                        type boolean;
                        description "Via LSM";
                      }
    
                      leaf is-connector-attribute-present {
                        type boolean;
                        description
                          "Connector attribute present";
                      }
    
                      leaf extranet-vrf-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Extranet VRF name";
                      }
                    }  // list gre-path
                  }  // list gre-next-hop
                }  // container gre-next-hops
              }  // container gre
    
              container bidir-df-winners {
                description
                  "Bidirectional PIM DF election winner table";
                list bidir-df-winner {
                  key "rp-address interface-name";
                  description
                    "Bidirectional PIM DF election table entry";
                  leaf rp-address {
                    type inet:ip-address-no-zone;
                    description "RP address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address-xr {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address-xr
    
                  container df-winner {
                    description "DF Winner";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container df-winner
    
                  leaf pim-interface-name {
                    type string;
                    description "Interface Name";
                  }
    
                  leaf are-we-df {
                    type boolean;
                    description "Are we DF";
                  }
    
                  leaf rp-lan {
                    type boolean;
                    description
                      "Is this the RP LAN";
                  }
    
                  leaf metric {
                    type uint32;
                    description "Metric";
                  }
    
                  leaf metric-preference {
                    type uint32;
                    description
                      "Metric Preference";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
                }  // list bidir-df-winner
              }  // container bidir-df-winners
    
              container table-contexts {
                description
                  "PIM table context list";
                list table-context {
                  key "saf-name topology-name";
                  description
                    "PIM table context information";
                  leaf saf-name {
                    type Pim-safi;
                    description "SAF name";
                  }
    
                  leaf topology-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..32";
                    }
                    description "Topology name";
                  }
    
                  leaf afi {
                    type uint32;
                    description "AFI";
                  }
    
                  leaf safi {
                    type uint32;
                    description "SAFI";
                  }
    
                  leaf table-name {
                    type string;
                    description "Table name";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active status";
                  }
    
                  leaf is-ital-registration-done {
                    type boolean;
                    description
                      "ITAL reg status";
                  }
    
                  leaf is-rib-registration-done {
                    type boolean;
                    description "RIB reg status";
                  }
    
                  leaf is-rib-convergence-received {
                    type boolean;
                    description
                      "RIB Convergence receive status";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
                }  // list table-context
              }  // container table-contexts
    
              container neighbor-summaries {
                description
                  "PIM neighbor summary table";
                list neighbor-summary {
                  key "interface-name";
                  description
                    "PIM neighbor summary information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf number-of-neighbors {
                    type int32;
                    description
                      "Number of neighbors";
                  }
    
                  leaf number-of-external-neighbors {
                    type int32;
                    description
                      "Number of external neighbors";
                  }
                }  // list neighbor-summary
              }  // container neighbor-summaries
    
              container context {
                description
                  "PIM context information";
                container remote-default-group {
                  description
                    "Remote Default Group";
                  leaf af-name {
                    type Pim-afi;
                    description "AFName";
                  }
    
                  leaf ipv4-address {
                    when
                      "../af-name = 'ipv4-unicast'" {
                      description
                        "../AFName = 'IPv4Unicast'";
                    }
                    type inet:ipv4-address;
                    description "IPv4 Address";
                  }
    
                  leaf ipv6-address {
                    when
                      "../af-name = 'ipv6-unicast'" {
                      description
                        "../AFName = 'IPv6Unicast'";
                    }
                    type Ipv6-address;
                    description "IPV6 Address";
                  }
                }  // container remote-default-group
    
                container rpf-default-table {
                  description
                    "RPF Default Table";
                  leaf afi {
                    type uint32;
                    description "AFI";
                  }
    
                  leaf safi {
                    type uint32;
                    description "SAFI";
                  }
    
                  leaf table-name {
                    type string;
                    description "Table name";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active status";
                  }
    
                  leaf is-ital-registration-done {
                    type boolean;
                    description
                      "ITAL reg status";
                  }
    
                  leaf is-rib-registration-done {
                    type boolean;
                    description "RIB reg status";
                  }
    
                  leaf is-rib-convergence-received {
                    type boolean;
                    description
                      "RIB Convergence receive status";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
                }  // container rpf-default-table
    
                leaf vrf-id {
                  type uint32;
                  description "VRF ID";
                }
    
                leaf table-id {
                  type uint32;
                  description "Table ID";
                }
    
                leaf murib-id {
                  type uint32;
                  description "MURIB ID";
                }
    
                leaf rpf-id {
                  type uint32;
                  description "RPF ID";
                }
    
                leaf remote-table-id {
                  type uint32;
                  description "Remote Table ID";
                }
    
                leaf mdt-default-group {
                  type inet:ipv4-address;
                  description
                    "MDT Default group";
                }
    
                leaf mdt-source {
                  type inet:ipv4-address;
                  description "MDT source";
                }
    
                leaf mdt-source-interface {
                  type string;
                  description
                    "MDT Source Interface Name";
                }
    
                leaf mdt-interface {
                  type xr:Interface-name;
                  description "MDT handle";
                }
    
                leaf mdt-gre-rpf-identifier {
                  type uint32;
                  description
                    "GRE-MDT RPF Identifier";
                }
    
                leaf mdt-gre-remote-rpf-identifier {
                  type uint32;
                  description
                    "GRE-MDT Remote RPF Identifier";
                }
    
                leaf is-unicast-rib-registration {
                  type boolean;
                  description
                    "Ucast RIB Registration";
                }
    
                leaf is-multicast-rib-registration {
                  type boolean;
                  description
                    "Mcast RIB Registration";
                }
    
                leaf is-active {
                  type boolean;
                  description "Active";
                }
    
                leaf is-active-ital {
                  type boolean;
                  description "Active ITAL";
                }
    
                leaf is-mrib-register {
                  type boolean;
                  description "MRIB Register";
                }
    
                leaf is-mdt-owner {
                  type boolean;
                  description "MDT Owner";
                }
    
                leaf is-routing-enabled {
                  type boolean;
                  description "Routing Enabled";
                }
    
                leaf is-socket-add-required {
                  type boolean;
                  description
                    "VRF required on Socket";
                }
    
                leaf is-socket-added {
                  type boolean;
                  description
                    "VRF added on Socket";
                }
    
                leaf is-lpts-socket-add-required {
                  type boolean;
                  description
                    "VRF LPTS filter required on Socket";
                }
    
                leaf is-lpts-socket-added {
                  type boolean;
                  description
                    "VRF LPTS filter added on Socket";
                }
    
                leaf is-udp-socket-add-required {
                  type boolean;
                  description
                    "VRF added on UDP Socket";
                }
    
                leaf is-udp-socket-added {
                  type boolean;
                  description
                    "VRF added on UDP Socket";
                }
    
                leaf is-udp-socket-bind-required {
                  type boolean;
                  description
                    "VRF bind required on UDP Socket";
                }
    
                leaf is-udp-socket-bind {
                  type boolean;
                  description
                    "VRF bound on UDP Socket";
                }
    
                leaf is-register-injection-socket-add-required {
                  type boolean;
                  description
                    "VRF required on Register Injection Socket";
                }
    
                leaf is-register-injection-socket-added {
                  type boolean;
                  description
                    "VRF added on Register Injection Socket";
                }
    
                leaf is-register-injection-lpts-socket-add-required {
                  type boolean;
                  description
                    "VRF LPTS filter required on Register Injection
    Socket";
                }
    
                leaf is-register-injection-lpts-socket-added {
                  type boolean;
                  description
                    "VRF LPTS filter added on Register Injection
    Socket";
                }
    
                leaf is-m-host-publish-pending {
                  type boolean;
                  description
                    "Publish pending for MHost Default interface";
                }
    
                leaf mhost-interface {
                  type xr:Interface-name;
                  description "MHost handle";
                }
    
                leaf mhost-default-interface-config {
                  type string;
                  description
                    "Configured Mhost Defint";
                }
    
                leaf mdt-mtu {
                  type uint32;
                  description "MDT MTU";
                }
    
                leaf maximum-mdt-aggregation {
                  type uint32;
                  description
                    "MDT max aggregation";
                }
    
                leaf mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Data MDT Switchover interval";
                }
    
                leaf mdt-data-announce-interval {
                  type uint32;
                  description
                    "Data MDT Announce interval";
                }
    
                leaf non-default-vrf-count-on-socket {
                  type uint32;
                  description
                    "Count of non-default vrfs on raw socket";
                }
    
                leaf neighbor-filter-name {
                  type string;
                  description
                    "Neighbor Filter Name";
                }
    
                leaf mdt-neighbor-filter-name {
                  type string;
                  description
                    "MDT Neighbor Filter Name";
                }
    
                leaf allow-rp-configured {
                  type boolean;
                  description
                    "Allow RP Configured";
                }
    
                leaf allow-rp-group-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "Allow RP Group-List ACL Name";
                }
    
                leaf allow-rp-rp-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "Allow RP RP-list ACL Name";
                }
    
                leaf sg-expiry-timer-configured {
                  type boolean;
                  description
                    "S,G Expiry Timer Configured";
                }
    
                leaf sg-expiry-time {
                  type uint16;
                  units "second";
                  description
                    "S,G Expiry Time Configured, in seconds";
                }
    
                leaf sg-expiry-timer-sg-list {
                  type string {
                    length "0..64";
                  }
                  description
                    "S,G expiry timer ACL name";
                }
    
                leaf mldp-mdt-name {
                  type string;
                  description "MLDP MDT Name";
                }
    
                leaf mldp-mdt-interface {
                  type xr:Interface-name;
                  description "MLDP MDT handle";
                }
    
                leaf mldp-mdt-mtu {
                  type uint32;
                  description "MLDP MDT MTU";
                }
    
                leaf mldp-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "MLDP MDT max aggregation";
                }
    
                leaf mldp-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "MLDP Data MDT Switchover interval";
                }
    
                leaf mldp-mdt-data-announce-interval {
                  type uint32;
                  description
                    "MLDP Data MDT Announce interval";
                }
    
                leaf mldp-mdt-rpf-identifier {
                  type uint32;
                  description "MLDP RPF-ID";
                }
    
                leaf mldp-mdt-remote-rpf-identifier {
                  type uint32;
                  description
                    "MLDP Remote RPF-ID";
                }
    
                leaf is-create-mldp-mdt-interface {
                  type boolean;
                  description
                    "Create MLDP MDT interface";
                }
    
                leaf is-mldp-mdt-owner {
                  type boolean;
                  description "MLDP MDT Owner";
                }
    
                leaf mldp-root-count {
                  type uint32;
                  description "MLDP Root count";
                }
    
                leaf mldp-head-lsm-identifier {
                  type uint32;
                  description "MLDP Head LSM-ID";
                }
    
                leaf mldp-remote-head-lsm-identifier {
                  type uint32;
                  description
                    "MLDP Remote Head LSM-ID";
                }
    
                leaf organization-unique-identifier {
                  type uint32;
                  description "OUI for VPN-ID";
                }
    
                leaf vpn-index {
                  type uint32;
                  description "VPN Index";
                }
    
                leaf mldp-partitioned-mdt-configured {
                  type boolean;
                  description
                    "MLDP Partitioned MDT";
                }
    
                leaf mldp-remote-partitioned-mdt-configured {
                  type boolean;
                  description
                    "MLDP Remote Partitioned MDT";
                }
    
                leaf mldp-partioned-mp2m-ptree {
                  type boolean;
                  description
                    "MP2MP Partitioned MDT tree";
                }
    
                leaf mldp-partitioned-head-lsm-identifier {
                  type uint32;
                  description
                    "Partitioned MDT Head LSM-ID";
                }
    
                leaf mldp-head-local-label {
                  type uint32;
                  description
                    "Partitioned MDT Head local label";
                }
    
                leaf mldp-partitioned-mdt-identifier {
                  type uint32;
                  description
                    "MLDP Partitioned MDT Identifier";
                }
    
                leaf bgp-auto-discovery-configured {
                  type boolean;
                  description
                    "BGP Auto-Discovery configured";
                }
    
                leaf suppress-pim-data-mdt-tlv {
                  type boolean;
                  description
                    "Suppress PIM Data-MDT TLV Announcements";
                }
    
                leaf inter-autonomous-system-enabled {
                  type boolean;
                  description "Inter-AS Enabled";
                }
    
                leaf bgp-source-active-announce {
                  type boolean;
                  description
                    "Send BGP Source-Active Announcements";
                }
    
                leaf bgp-i-pmsi-added {
                  type boolean;
                  description "BGP I-PMSI Added";
                }
    
                leaf mldp-bsr-control-tree-added {
                  type boolean;
                  description
                    "MLDP BSR Control tree added";
                }
    
                leaf mldp-auto-rp-discovery-tree-added {
                  type boolean;
                  description
                    "MLDP Autorp Discovery Control tree added";
                }
    
                leaf mldp-auto-rp-announce-tree-added {
                  type boolean;
                  description
                    "MLDP Autorp Announce Control tree added";
                }
    
                leaf bgp-auto-discovery-type {
                  type uint32;
                  description
                    "BGP Auto Discovery Type";
                }
    
                leaf mdt-partitioned-mdt-control-identifier {
                  type uint32;
                  description
                    "Partitioned MDT Control Identifier";
                }
    
                leaf mdt-partitioned-ir-control-identifier {
                  type uint32;
                  description
                    "Partitioned IR MDT Control Identifier";
                }
    
                leaf mldp-control-head-lsm-identifier {
                  type uint32;
                  description
                    "MLDP MVPN Identifier";
                }
    
                leaf umh {
                  type boolean;
                  description
                    "Join UMH Core-Tree";
                }
    
                leaf suppress-shared-tree-join {
                  type boolean;
                  description
                    "Suppress Shared-Tree Joins";
                }
    
                leaf rsvp-te-mdt-name {
                  type string;
                  description "RSVP-TE MDT Name";
                }
    
                leaf rsvp-te-mdt-interface {
                  type xr:Interface-name;
                  description
                    "RSVP-TEMDT handle";
                }
    
                leaf rsvp-te-mdt-mtu {
                  type uint32;
                  description "RSVP-TEMDT MTU";
                }
    
                leaf rsvp-te-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "RSVP-TE MDT max aggregation";
                }
    
                leaf rsvp-te-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "RSVP-TE Data MDT Switchover interval";
                }
    
                leaf rsvp-te-mdt-data-announce-interval {
                  type uint32;
                  description
                    "RSVP-TE Data MDT Announce interval";
                }
    
                leaf rsvp-te-mdt-rpf-identifier {
                  type uint32;
                  description "RSVP-TE RPF-ID";
                }
    
                leaf is-create-rsvp-te-mdt-interface {
                  type boolean;
                  description
                    "Create RSVP-TE MDT interface";
                }
    
                leaf is-rsvp-te-mdt-owner {
                  type boolean;
                  description
                    "RSVP-TE MDT Owner";
                }
    
                leaf rsvp-te-mdt-static-p2mp-count {
                  type uint32;
                  description
                    "Number of Static P2MP-TE MDT";
                }
    
                leaf p2mpte-li-drop {
                  type uint32;
                  description
                    "Route LI updates dropped for P2MP";
                }
    
                leaf ir-mdt-name {
                  type string;
                  description "IR MDT Name";
                }
    
                leaf ir-mdt-interface {
                  type xr:Interface-name;
                  description "IRMDT handle";
                }
    
                leaf ir-mdt-mtu {
                  type uint32;
                  description "IRMDT MTU";
                }
    
                leaf ir-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "IR MDT max aggregation";
                }
    
                leaf ir-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "IR Data MDT Switchover interval";
                }
    
                leaf ir-mdt-data-announce-interval {
                  type uint32;
                  description
                    "IR Data MDT Announce interval";
                }
    
                leaf ir-mdt-rpf-identifier {
                  type uint32;
                  description "IR RPF-ID";
                }
    
                leaf ir-mdt-tail-label {
                  type uint32;
                  description "IR Tail Label";
                }
    
                leaf is-create-ir-mdt-interface {
                  type boolean;
                  description
                    "Create IR MDT interface";
                }
    
                leaf is-ir-mdt-owner {
                  type boolean;
                  description "IR MDT Owner";
                }
    
                leaf is-sr-local {
                  type boolean;
                  description "SR Local";
                }
    
                leaf is-sr-remote {
                  type boolean;
                  description "SR Remote";
                }
    
                leaf sr-mdt-name {
                  type string;
                  description "SR MDT Name";
                }
    
                leaf sr-mdt-interface {
                  type xr:Interface-name;
                  description "SRMDT handle";
                }
    
                leaf sr-mdt-mtu {
                  type uint32;
                  description "SRMDT MTU";
                }
    
                leaf sr-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "SR MDT max aggregation";
                }
    
                leaf sr-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "SR Data MDT Switchover interval";
                }
    
                leaf sr-mdt-data-announce-interval {
                  type uint32;
                  description
                    "SR Data MDT Announce interval";
                }
    
                leaf sr-mdt-rpf-identifier {
                  type uint32;
                  description "SR RPF-ID";
                }
    
                leaf sr-mdt-tail-label {
                  type uint32;
                  description "SR Tail Label";
                }
    
                leaf is-create-sr-mdt-interface {
                  type boolean;
                  description
                    "Create SR MDT interface";
                }
    
                leaf is-sr-mdt-owner {
                  type boolean;
                  description "SR MDT Owner";
                }
    
                leaf mdt-partitioned-tree-sid-control-identifier {
                  type uint32;
                  description
                    "Partitioned Tree-SID MDT Control Identifier";
                }
    
                leaf in-b-and-mdt-name {
                  type string;
                  description "Inband MDT Name";
                }
    
                leaf in-b-and-mdt-interface {
                  type xr:Interface-name;
                  description
                    "Inband MDT handle";
                }
    
                leaf in-b-and-mdt-mtu {
                  type uint32;
                  description "Inband MDT MTU";
                }
    
                leaf in-band-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "Inband MDT max aggregation";
                }
    
                leaf in-b-and-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Inband Data MDT Switchover interval";
                }
    
                leaf in-b-and-mdt-data-announce-interval {
                  type uint32;
                  description
                    "Inband Data MDT Announce interval";
                }
    
                leaf in-b-and-mdt-rpf-identifier {
                  type uint32;
                  description "Inband RPF-ID";
                }
    
                leaf is-create-in-b-and-mdt-interface {
                  type boolean;
                  description
                    "Create Inband MDT interface";
                }
    
                leaf is-in-b-and-mdt-owner {
                  type boolean;
                  description "Inband MDT Owner";
                }
    
                leaf in-band-signaling-local-enabled {
                  type boolean;
                  description
                    "Inband signaling Local enabled";
                }
    
                leaf in-band-signaling-remote-enabled {
                  type boolean;
                  description
                    "Inband signaling Remote enabled";
                }
    
                leaf valid-rd-present {
                  type boolean;
                  description "RD is valid";
                }
    
                leaf stale-rd-present {
                  type boolean;
                  description "RD is stale";
                }
    
                leaf route-distinguisher {
                  type yang:hex-string;
                  description "RD value";
                }
    
                leaf gin-b-and-mdt-name {
                  type string;
                  description "Inband MDT Name";
                }
    
                leaf gin-b-and-mdt-interface {
                  type xr:Interface-name;
                  description
                    "Inband MDT handle";
                }
    
                leaf gin-b-and-mdt-mtu {
                  type uint32;
                  description "Inband MDT MTU";
                }
    
                leaf gin-band-maximum-mdt-aggregation {
                  type uint32;
                  description
                    "Inband MDT max aggregation";
                }
    
                leaf gin-b-and-mdt-data-switchover-interval {
                  type uint32;
                  description
                    "Inband Data MDT Switchover interval";
                }
    
                leaf gin-b-and-mdt-data-announce-interval {
                  type uint32;
                  description
                    "Inband Data MDT Announce interval";
                }
    
                leaf gin-b-and-mdt-rpf-identifier {
                  type uint32;
                  description "Inband RPF-ID";
                }
    
                leaf is-create-gin-b-and-mdt-interface {
                  type boolean;
                  description
                    "Create Inband MDT interface";
                }
    
                leaf is-gin-b-and-mdt-owner {
                  type boolean;
                  description "Inband MDT Owner";
                }
    
                leaf is-pim-nsf-rib-converged {
                  type boolean;
                  description
                    "PIM NSF RIB converged";
                }
    
                leaf is-pim-nsf-rib-converge-received {
                  type boolean;
                  description
                    "PIM NSF RIB converge received";
                }
    
                leaf is-rib-multipath-enabled {
                  type boolean;
                  description
                    "PIM RIB multiplath enabled";
                }
    
                leaf is-rib-multipath-interface-hash {
                  type boolean;
                  description
                    "PIM RIB multipath interface hash";
                }
    
                leaf is-rib-multipath-source-hash {
                  type boolean;
                  description
                    "PIM RIB multipath source based hash";
                }
    
                leaf is-rib-multipath-source-next-hop-hash {
                  type boolean;
                  description
                    "PIM RIB multipath source-nexthop hash";
                }
    
                leaf rump-enabled {
                  type boolean;
                  description
                    "PIM is using MuRIB";
                }
    
                leaf is-create-mdt-interface {
                  type boolean;
                  description
                    "Create MDT interface";
                }
    
                leaf is-auto-rp-listen-enabled {
                  type boolean;
                  description
                    "Auto RP Listen Enabled";
                }
    
                leaf is-all-interface-disable-operation {
                  type boolean;
                  description
                    "PIM all interface disable operation";
                }
    
                leaf is-default-granges {
                  type boolean;
                  description "Default granges";
                }
    
                leaf is-auto-rp-listen-sock-add {
                  type boolean;
                  description
                    "Auto RP listen sock add";
                }
    
                leaf is-redistribution-reset {
                  type boolean;
                  description
                    "Pending redist reset";
                }
    
                leaf redistribution-reset-count {
                  type uint32;
                  description
                    "Redist reset count";
                }
    
                leaf rpf-policy-name {
                  type string;
                  description
                    "RPF topology selection route-policy name";
                }
    
                leaf table-count {
                  type uint32;
                  description
                    "Number of configured Tables";
                }
    
                leaf active-table-count {
                  type uint32;
                  description
                    "Number of active Tables";
                }
    
                leaf anycast-rp-policy-name {
                  type string;
                  description
                    "Anycast-RP Policy Name";
                }
    
                leaf anycast-rp-configured {
                  type boolean;
                  description
                    "Anycast-RP config";
                }
    
                leaf bgp-remote-on {
                  type boolean;
                  description
                    "BGP remote interface status";
                }
    
                leaf bgp-remote-interface-name {
                  type string;
                  description
                    "BGP remote interface name";
                }
    
                leaf bgp-remote-interface {
                  type xr:Interface-name;
                  description
                    "BGP remote interface handle";
                }
    
                leaf bgp-remote-address {
                  type inet:ipv4-address;
                  description
                    "BGP remote interface address";
                }
    
                leaf bgp-remote-state {
                  type uint32;
                  description
                    "BGP remote interface state";
                }
    
                leaf physical-interface-count {
                  type uint64;
                  description
                    "Enabled Physical Interface Count";
                }
    
                leaf virtual-interface-count {
                  type uint64;
                  description
                    "Enabled Virtual Interface Count";
                }
    
                leaf virtual-mlc-interface-name {
                  type string;
                  description
                    "Virtual master line card Interface";
                }
    
                leaf mdt-immediate-switch {
                  type boolean;
                  description
                    "MDT Immediate Switch";
                }
    
                leaf remote-mdt-idb-name {
                  type string;
                  description
                    "Remote MDT Interface Handle Name";
                }
    
                leaf remote-mdt-address {
                  type inet:ipv4-address;
                  description
                    "Remote MDT interface address";
                }
    
                leaf-list mldp-root-address {
                  type uint32;
                  description
                    "MLDP Root addresses";
                }
    
                list export-route-target {
                  description
                    "Export Route Targets";
                  leaf route-target {
                    type yang:hex-string;
                    description
                      "Route Target Extended community value";
                  }
    
                  leaf configured {
                    type boolean;
                    description
                      "Configured Route Target";
                  }
    
                  leaf anycast-rp {
                    type boolean;
                    description
                      "Anycast-RP Group";
                  }
    
                  leaf anycast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Group marked";
                  }
    
                  leaf update-pending {
                    type boolean;
                    description
                      "Update Pending to BGP";
                  }
    
                  leaf bgp-auto-discovery {
                    type boolean;
                    description
                      "BGP Auto Discovery";
                  }
    
                  leaf segment-border {
                    type boolean;
                    description "Segment Border";
                  }
                }  // list export-route-target
    
                list import-route-target {
                  description
                    "Import Route Targets";
                  leaf route-target {
                    type yang:hex-string;
                    description
                      "Route Target Extended community value";
                  }
    
                  leaf configured {
                    type boolean;
                    description
                      "Configured Route Target";
                  }
    
                  leaf anycast-rp {
                    type boolean;
                    description
                      "Anycast-RP Group";
                  }
    
                  leaf anycast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Group marked";
                  }
    
                  leaf update-pending {
                    type boolean;
                    description
                      "Update Pending to BGP";
                  }
    
                  leaf bgp-auto-discovery {
                    type boolean;
                    description
                      "BGP Auto Discovery";
                  }
    
                  leaf segment-border {
                    type boolean;
                    description "Segment Border";
                  }
                }  // list import-route-target
    
                list anycast-rp-range {
                  description
                    "Anycast-RP Ranges";
                  container prefix {
                    description
                      "Anycast-RP Range Prefix";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container prefix
    
                  leaf prefix-length {
                    type uint8;
                    description
                      "Anycast-RP Range Prefix Length";
                  }
    
                  leaf ancast-rp-marked {
                    type boolean;
                    description
                      "Anycast-RP Range marked";
                  }
                }  // list anycast-rp-range
              }  // container context
    
              container topology-entry-flag-route-counts {
                description
                  "Route count for topology with entry flag set";
                list topology-entry-flag-route-count {
                  key "entry-flag";
                  description
                    "Route count for topology with entry flag set";
                  leaf entry-flag {
                    type Pim-topology-entry-flag;
                    description "entry flag";
                  }
    
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // list topology-entry-flag-route-count
              }  // container topology-entry-flag-route-counts
    
              container rpf-redirect {
                description
                  "PIM ECMP RPF-redirect bundle";
                container redirect-route-databases {
                  description
                    "PIM ECMP RPF-redirect route database";
                  list redirect-route-database {
                    key "source-address group-address";
                    description
                      "PIM ECMP RPF-redirect route information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    container group-address-xr {
                      description "Group ddress";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container source-address-xr {
                      description
                        "Source address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    leaf bandwidth {
                      type uint32;
                      units "kbit/s";
                      description
                        "Bandwidth in Kbps";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    list interface {
                      description
                        "Outgoing interface list";
                      container rpf-address {
                        description
                          "RPF Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rpf-address
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface name";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiry {
                        type uint64;
                        units "second";
                        description
                          "Expiry in seconds";
                      }
    
                      leaf is-rpf-interface {
                        type boolean;
                        description
                          "Is RPF Interface";
                      }
    
                      leaf is-outgoing-interface {
                        type boolean;
                        description
                          "Is outgoing Interface";
                      }
    
                      leaf is-snoop-interface {
                        type boolean;
                        description
                          "Is snooping Interface";
                      }
                    }  // list interface
                  }  // list redirect-route-database
                }  // container redirect-route-databases
    
                container bundle-interfaces {
                  description
                    "PIM ECMP RPF-redirect bundle information";
                  list bundle-interface {
                    key "bundle-name interface-name";
                    description
                      "PIM ECMP RPF-redirect bundle interface
    information";
                    leaf bundle-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description "Bundle name";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Bundle interface name";
                    }
    
                    leaf rpf-redirect-bundle-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "RPF redirect bundle name";
                    }
    
                    leaf rpf-redirect-interface-name {
                      type string {
                        length "0..33";
                      }
                      description
                        "RPF redirect interface name";
                    }
    
                    leaf available-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth available in Kbps";
                    }
    
                    leaf allocated-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth allocated in Kbps";
                    }
    
                    leaf total-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Total bandwidth used in Kbps";
                    }
    
                    leaf topology-bandwidth-used {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth used by topology in Kbps";
                    }
    
                    leaf snooping-bandwidth-used {
                      type int32;
                      units "kbit/s";
                      description
                        "Bandwidth used by snooped entries in Kbps";
                    }
    
                    leaf allocated-threshold-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Configured threshold in Kbps";
                    }
    
                    leaf available-threshold-bandwidth {
                      type int32;
                      units "kbit/s";
                      description
                        "Available threshold in Kbps";
                    }
                  }  // list bundle-interface
                }  // container bundle-interfaces
              }  // container rpf-redirect
    
              container tunnels {
                description
                  "Tunnels information that PIM has";
                list tunnel {
                  key "tunnel-name";
                  description
                    "PIM tunnel information";
                  leaf tunnel-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..64";
                    }
                    description "Tunnel name";
                  }
    
                  container source-address {
                    description
                      "Source addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  container rp-address {
                    description
                      "RP addr known to PIM";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address-netio {
                    description
                      "Source addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address-netio
    
                  container group-address-netio {
                    description
                      "Group addr from netio";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container group-address-netio
    
                  leaf vrf-name {
                    type string {
                      length "0..33";
                    }
                    description "VRF Name";
                  }
                }  // list tunnel
              }  // container tunnels
    
              container multicast-static-routes {
                description
                  "PIM multicast static route table";
                list multicast-static-route {
                  key "address prefix-length";
                  description
                    "PIM multicast static route information";
                  leaf address {
                    type inet:ip-address-no-zone;
                    description
                      "Network address";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  container prefix {
                    description "Prefix";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container prefix
    
                  container nexthop {
                    description "Next Hop";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container nexthop
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "Interface Handle";
                  }
    
                  leaf distance {
                    type uint32;
                    description "Distance";
                  }
    
                  leaf prefix-length-xr {
                    type uint8;
                    description "Prefix Length";
                  }
    
                  leaf is-via-lsm {
                    type boolean;
                    description "LSM flag";
                  }
                }  // list multicast-static-route
              }  // container multicast-static-routes
    
              container neighbors {
                description "PIM neighbor table";
                list neighbor {
                  key "interface-name neighbor-address";
                  description
                    "PIM neighbor information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf neighbor-address {
                    type inet:ip-address-no-zone;
                    description
                      "Neighbor address";
                  }
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description
                      "Interface Identifier";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
    
                  leaf expires {
                    type uint64;
                    units "second";
                    description
                      "Neighbor expiry in seconds";
                  }
    
                  leaf expiry-timer {
                    type uint64;
                    units "second";
                    description
                      "Expiry timer in seconds";
                  }
    
                  leaf is-this-neighbor-us {
                    type boolean;
                    description
                      "Is this neighbor us ?";
                  }
    
                  leaf is-this-neighbor-dr {
                    type boolean;
                    description
                      "Is this neighbor the DR";
                  }
    
                  leaf is-dr-priority-capable {
                    type boolean;
                    description
                      "Is this neighbor DR priority capable ?";
                  }
    
                  leaf dr-priority {
                    type uint32;
                    description "DR priority";
                  }
    
                  leaf is-bidirectional-capable {
                    type boolean;
                    description
                      "Is this neighbor bidir capable ?";
                  }
    
                  leaf is-proxy-capable {
                    type boolean;
                    description
                      "Is this neighbor proxy capable?";
                  }
    
                  leaf is-batch-asserts-capable {
                    type boolean;
                    description
                      "Is this neighbor capable of batching asserts?";
                  }
    
                  leaf is-ecmp-redirect-capable {
                    type boolean;
                    description
                      "Is this neighbor capable of Ecmp Redirect?";
                  }
    
                  leaf is-bfd-state {
                    type boolean;
                    description
                      "Is the neighbor bfd session created";
                  }
    
                  leaf sticky-dr-neighbor {
                    type boolean;
                    description
                      "Is Sticky DR advertised on interface by neighbor";
                  }
    
                  leaf propagation-delay {
                    type uint16;
                    description
                      "Propagation Delay";
                  }
    
                  leaf override-interval {
                    type uint16;
                    description
                      "Override Interval";
                  }
    
                  list neighbor-address-xr {
                    description
                      "List of Neighbor Addresses";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // list neighbor-address-xr
                }  // list neighbor
              }  // container neighbors
            }  // container default-context
    
            container process {
              description "Process";
              container nsr {
                description "NSR Information";
                leaf state {
                  type uint8;
                  description "NSR state";
                }
    
                leaf partner-connected {
                  type boolean;
                  description
                    "Partner process connected";
                }
    
                leaf rmf-notification-done {
                  type boolean;
                  description
                    "RMF Notification done";
                }
    
                leaf rmf-timer-valid {
                  type boolean;
                  description
                    "Is RMF timer running ?";
                }
    
                leaf rmf-timer-expiry {
                  type uint64;
                  description
                    "Time for RMF timer to expire";
                }
    
                leaf last-connection-up {
                  type uint64;
                  description
                    "Time when connection went up";
                }
    
                leaf last-connection-dn {
                  type uint64;
                  description
                    "Time when connection went down";
                }
    
                leaf last-rmf-ready {
                  type uint64;
                  description
                    "Time when RMF Rdy notif was sent";
                }
    
                leaf last-rmf-not-ready {
                  type uint64;
                  description
                    "Time when RMF Not-Rdy notif was sent";
                }
    
                leaf count-connection-up {
                  type uint32;
                  description
                    "No. of times connection went up";
                }
    
                leaf count-connection-dn {
                  type uint32;
                  description
                    "No. of times connection went down";
                }
    
                leaf count-rmf-ready {
                  type uint32;
                  description
                    "No. of times RMF Ready notif was sent";
                }
    
                leaf count-rmf-not-ready {
                  type uint32;
                  description
                    "No. of times RMF Not Ready notif was sent";
                }
              }  // container nsr
    
              container summary {
                description "PIM Global Summary";
                leaf route-limit {
                  type uint32;
                  description "Maximum routes";
                }
    
                leaf route-count {
                  type uint32;
                  description "Current routes";
                }
    
                leaf route-low-water-mark {
                  type uint32;
                  description
                    "The number of routes below which the throttle on
    route creation will be lifted";
                }
    
                leaf is-route-limit-reached {
                  type boolean;
                  description
                    "Is route creation throttled";
                }
    
                leaf topology-interface-state-limit {
                  type uint32;
                  description
                    "Maximum Topology Interface State count";
                }
    
                leaf topology-interface-state-count {
                  type uint32;
                  description
                    "Current Topology Interface State count";
                }
    
                leaf rxi-low-water-mark {
                  type uint32;
                  description
                    "The rxi below which the throttle on interface
    creation will be lifted";
                }
    
                leaf rxi-limit-reached {
                  type boolean;
                  description
                    "Is interface creation throttled";
                }
    
                leaf register-limit {
                  type uint32;
                  description
                    "Maximum registers";
                }
    
                leaf register-count {
                  type uint32;
                  description
                    "Current registers";
                }
    
                leaf register-limit-reached {
                  type boolean;
                  description
                    "Is PIM SM register handling throttled";
                }
    
                leaf ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from Autorp";
                }
    
                leaf ranges-count {
                  type uint32;
                  description
                    "Current group ranges from Autorp";
                }
    
                leaf ranges-threshold {
                  type uint32;
                  description
                    "OOR theshold of grange ranges from AutoRP";
                }
    
                leaf is-ranges-limit-reached {
                  type boolean;
                  description
                    "Is Auto-RP group-to-RP mapping range creation
    throttled";
                }
    
                leaf bsr-ranges-limit {
                  type uint32;
                  description
                    "Maximum group ranges from BSR";
                }
    
                leaf bsr-ranges-count {
                  type uint32;
                  description
                    "Current group ranges from BSR";
                }
    
                leaf bsr-range-threshold {
                  type uint32;
                  description
                    "Threshold group range from BSR";
                }
    
                leaf is-bsr-ranges-threshold-reached {
                  type boolean;
                  description
                    "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                }
    
                leaf bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Maximum crp-set from BSR";
                }
    
                leaf bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Current crp-set count from BSR";
                }
    
                leaf bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Threshold crp-set from BSR";
                }
    
                leaf is-maximum-enforcement-disabled {
                  type boolean;
                  description
                    "Is maximum enforcement disabled";
                }
    
                leaf is-node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
    
                leaf route-threshold {
                  type uint32;
                  description "Threshold routes";
                }
    
                leaf global-auto-rp-ranges-limit {
                  type uint32;
                  description
                    "Global Auto-RP maximum group ranges";
                }
    
                leaf is-global-auto-rp-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global AutoRP group-to-RP mapping range
    creation throttled";
                }
    
                leaf global-bsr-ranges-limit {
                  type uint32;
                  description
                    "Global BSR maximum group ranges";
                }
    
                leaf global-bsr-ranges-count {
                  type uint32;
                  description
                    "Global BSR current group ranges";
                }
    
                leaf global-bsr-ranges-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold group ranges";
                }
    
                leaf is-global-bsr-ranges-limit-reached {
                  type boolean;
                  description
                    "Is global BSR group-to-RP mapping range creation
    throttled";
                }
    
                leaf global-bsr-candidate-rp-set-limit {
                  type uint32;
                  description
                    "Global BSR maximum crp-set";
                }
    
                leaf global-bsr-candidate-rp-set-count {
                  type uint32;
                  description
                    "Global BSR current crp-set count";
                }
    
                leaf global-bsr-candidate-rp-set-threshold {
                  type uint32;
                  description
                    "Global BSR Threshold crp-set";
                }
    
                leaf is-global-route-limit-reached {
                  type boolean;
                  description
                    "Is global route creation throttled";
                }
    
                leaf topology-interface-state-threshold {
                  type uint32;
                  description
                    "Topology Interface State threshold";
                }
    
                leaf is-global-rxi-limit-reached {
                  type boolean;
                  description
                    "Is global interface creation throttled";
                }
    
                leaf register-threshold {
                  type uint32;
                  description
                    "Threshold registers";
                }
    
                leaf global-register-limit {
                  type uint32;
                  description
                    "Maximum global registers";
                }
    
                leaf is-global-register-limit-reached {
                  type boolean;
                  description
                    "Is global PIM SM register handling throttled";
                }
              }  // container summary
    
              container nsf {
                description
                  "PIM NSF information";
                leaf configured-state {
                  type boolean;
                  description
                    "Is Multicast NSF Configured";
                }
    
                leaf nsf-state {
                  type boolean;
                  description
                    "Are we currently in NSF";
                }
    
                leaf nsf-timeout {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF timeout in seconds";
                }
    
                leaf nsf-time-left {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF time left in seconds";
                }
    
                leaf waiting-timer {
                  type boolean;
                  description
                    "Waiting for NSF timer expiry";
                }
    
                leaf waiting-membership {
                  type boolean;
                  description
                    "Waiting for IGMP/MLD";
                }
    
                leaf respawn-count {
                  type uint32;
                  description "Respawn Count";
                }
    
                leaf last-nsf-on {
                  type int64;
                  description "Last NSF time ON";
                }
    
                leaf last-nsf-off {
                  type int64;
                  description
                    "Last NSF time off";
                }
    
                leaf last-nsf-on-sec {
                  type int32;
                  units "second";
                  description
                    "Last NSF time ON in Seconds";
                }
    
                leaf last-nsf-off-sec {
                  type int32;
                  units "second";
                  description
                    "Last NSF time OFF in Seconds";
                }
    
                leaf last-icd-notif-recv {
                  type int64;
                  description
                    "Last ICD Notif Recv";
                }
    
                leaf last-icd-notif-recv-sec {
                  type int32;
                  units "second";
                  description
                    "Last ICD Notif Recv in Seconds";
                }
              }  // container nsf
    
              container issu {
                description "ISSU Information";
                leaf informationvalid {
                  type boolean;
                  description
                    "Is Information valid ?";
                }
    
                leaf role-ha {
                  type int32;
                  description "HA role";
                }
    
                leaf role-issu {
                  type int32;
                  description "ISSU role";
                }
    
                leaf phase-issu {
                  type int32;
                  description "ISSU Phase";
                }
    
                leaf last-ha-role-notification-received {
                  type uint64;
                  description
                    "Time when last HA role nfn was received";
                }
    
                leaf last-issu-role-notification-received {
                  type uint64;
                  description
                    "Time when last ISSU role nfn was received";
                }
    
                leaf last-issu-phase-notification-received {
                  type uint64;
                  description
                    "Time when last ISSU Phase nfn was received";
                }
    
                leaf is-eoc-received {
                  type boolean;
                  description
                    "Was EOC received ?";
                }
    
                leaf eoc-received-timestamp {
                  type uint64;
                  description
                    "Time when EOC was received";
                }
    
                leaf is-ihms-done-received {
                  type boolean;
                  description
                    "Was IHMS done received ?";
                }
    
                leaf ihms-received-timestamp {
                  type uint64;
                  description
                    "Time when IHMS done was received";
                }
    
                leaf is-rib-sync-received {
                  type boolean;
                  description
                    "Was RIB Sync received ?";
                }
    
                leaf rib-sync-received-timestamp {
                  type uint64;
                  description
                    "Time when RIB Sync was received";
                }
    
                leaf is-nbr-sync-received {
                  type boolean;
                  description
                    "Was NBR Sync achieved ?";
                }
    
                leaf nbr-sync-received-timestamp {
                  type uint64;
                  description
                    "Time when NBR Sync was achieved";
                }
    
                leaf is-checkpoint-idt-done {
                  type boolean;
                  description
                    "Was Checkpoint IDT done ?";
                }
    
                leaf checkpoint-idt-timestamp {
                  type uint64;
                  description
                    "Time when Checkpoint IDT done";
                }
              }  // container issu
            }  // container process
    
            container vrfs {
              description "VRF Table";
              list vrf {
                key "vrf-name";
                description "VRF name";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description "VRF name ";
                }
    
                container ifrs-interfaces {
                  description
                    "PIM interfaces in forward reference store table";
                  list ifrs-interface {
                    key "interface-name";
                    description
                      "PIM IFRS interface information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container dr-address {
                      description
                        "PIM Designated Router";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container dr-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identfier";
                    }
    
                    leaf interface-address-mask {
                      type uint8;
                      description
                        "Interface IP Address Mask";
                    }
    
                    leaf is-enabled {
                      type boolean;
                      description
                        "Is PIM enabled on this IF ?";
                    }
    
                    leaf neighbor-count {
                      type uint16;
                      description
                        "No. of neighbors on this IF";
                    }
    
                    leaf external-neighbor-count {
                      type uint16;
                      description
                        "No. of external neighbors on this IF";
                    }
    
                    leaf hello-interval {
                      type uint16;
                      description
                        "Hello Interval";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR Priority";
                    }
    
                    leaf hello-expiry {
                      type uint64;
                      description
                        "Hello Timer Expiry";
                    }
    
                    leaf are-we-dr {
                      type boolean;
                      description
                        "Are we the DR on this IF ?";
                    }
    
                    leaf bfd-enabled {
                      type boolean;
                      description "BFD state";
                    }
    
                    leaf bfd-interval {
                      type uint32;
                      description "BFD Interval";
                    }
    
                    leaf bfd-multiplier {
                      type uint32;
                      description
                        "BFD Multiplier";
                    }
    
                    leaf virtual-interface {
                      type boolean;
                      description
                        " is this a Virtual Interfaces ?";
                    }
    
                    leaf passive-interface {
                      type boolean;
                      description
                        "Passive PIM interface";
                    }
    
                    leaf neighbor-filter-name {
                      type string;
                      description
                        "Neighbor Filter Name";
                    }
    
                    leaf sticky-dr-enabled {
                      type boolean;
                      description
                        "Is Sticky DR enabled on Interface";
                    }
    
                    leaf sticky-dr-active {
                      type boolean;
                      description
                        "Is Sticky DR Active on Interface";
                    }
    
                    leaf sticky-dr-active-since {
                      type uint64;
                      units "second";
                      description
                        "Sticky DR uptime in seconds";
                    }
    
                    leaf join-prune-interval {
                      type uint16;
                      description
                        "Join-Prune Interval";
                    }
    
                    leaf prune-delay-enabled {
                      type boolean;
                      description
                        "Prune Delay Enabled";
                    }
    
                    leaf configured-propagation-delay {
                      type uint16;
                      description
                        "Configured Propagation Delay";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf configured-override-interval {
                      type uint16;
                      description
                        "Configured Override Interval";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    leaf generation-id {
                      type uint32;
                      description
                        "Generation Identifier";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Bidir Capable";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Proxy Capable";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Batch Asserts Capable";
                    }
    
                    leaf idb-oor-enabled {
                      type boolean;
                      description
                        "Interface oor enabled";
                    }
    
                    leaf idb-acl-provided {
                      type boolean;
                      description
                        "ACL name provided";
                    }
    
                    leaf idb-max-count {
                      type uint32;
                      description
                        "Interface ole max count";
                    }
    
                    leaf idb-threshold-count {
                      type uint32;
                      description
                        "Interface ole threshold count";
                    }
    
                    leaf idb-current-count {
                      type uint32;
                      description
                        "Interface ole current count";
                    }
    
                    leaf idb-acl-name {
                      type string {
                        length "0..64";
                      }
                      description
                        "Interface ole ACL Name";
                    }
    
                    list interface-address {
                      description
                        "List of Interface IP Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list interface-address
                  }  // list ifrs-interface
                }  // container ifrs-interfaces
    
                container interface-statistics {
                  description
                    "PIM interface statistics";
                  list interface-statistic {
                    key "interface-name";
                    description
                      "PIM interface statistics";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf input-hello {
                      type uint32;
                      description
                        "Hello packets in";
                    }
    
                    leaf output-hello {
                      type uint32;
                      description
                        "Hello packets out";
                    }
    
                    leaf input-register {
                      type uint32;
                      description
                        "Register packets in";
                    }
    
                    leaf output-register {
                      type uint32;
                      description
                        "Register packets out";
                    }
    
                    leaf input-register-stop {
                      type uint32;
                      description
                        "Register Stop packets in";
                    }
    
                    leaf output-register-stop {
                      type uint32;
                      description
                        "Register Stop packets out";
                    }
    
                    leaf input-jp {
                      type uint32;
                      description
                        "Join Prune packets in";
                    }
    
                    leaf output-jp {
                      type uint32;
                      description
                        "Join Prune packets out";
                    }
    
                    leaf input-bsr-message {
                      type uint32;
                      description
                        "Input BSR Messages";
                    }
    
                    leaf output-bsr-message {
                      type uint32;
                      description
                        "Output BSR Messages";
                    }
    
                    leaf input-assert {
                      type uint32;
                      description
                        "Assert packets in";
                    }
    
                    leaf output-assert {
                      type uint32;
                      description
                        "Assert packets out";
                    }
    
                    leaf input-graft-message {
                      type uint32;
                      description
                        "Input Graft Messages";
                    }
    
                    leaf output-graft-message {
                      type uint32;
                      description
                        "Output Graft Messages";
                    }
    
                    leaf input-graft-ack-message {
                      type uint32;
                      description
                        "Input Graft Ack Messages";
                    }
    
                    leaf output-graft-ack-message {
                      type uint32;
                      description
                        "Output Graft Ack Messages";
                    }
    
                    leaf input-candidate-rp-advertisement {
                      type uint32;
                      description
                        "Input Candidate-RP Advertisment";
                    }
    
                    leaf output-candidate-rp-advertisement {
                      type uint32;
                      description
                        "Output Candidate-RP Advertisment";
                    }
    
                    leaf input-df-election {
                      type uint32;
                      description
                        "DF Election packets in";
                    }
    
                    leaf output-df-election {
                      type uint32;
                      description
                        "DF Election packets out";
                    }
    
                    leaf input-miscellaneous {
                      type uint32;
                      description
                        "Miscellaneous packet in";
                    }
                  }  // list interface-statistic
                }  // container interface-statistics
    
                container topology-route-count {
                  description
                    "Topology route count information from PIM
    topology table";
                  leaf group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes";
                  }
    
                  leaf active-group-ranges {
                    type uint32;
                    description
                      "No. of (*,G/M) routes active in mrib";
                  }
    
                  leaf groute-count {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-route-count {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf sgr-route-count {
                    type uint32;
                    description
                      "No. of (S,G)RPT routes";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
                }  // container topology-route-count
    
                container jp-statistics {
                  description
                    "PIM join prune statistics table";
                  list jp-statistic {
                    key "interface-name";
                    description
                      "PIM Join Prune Statistics";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf mtu {
                      type uint32;
                      description
                        "Interface MTU";
                    }
    
                    leaf transmitted {
                      type uint32;
                      description "Transmitted";
                    }
    
                    leaf transmitted100 {
                      type uint16;
                      description
                        "Transmitted 100 average";
                    }
    
                    leaf transmitted-1k {
                      type uint16;
                      description
                        "Transmitted 1K average";
                    }
    
                    leaf transmitted-10k {
                      type uint16;
                      description
                        "Transmitted 10K average";
                    }
    
                    leaf transmitted-50k {
                      type uint16;
                      description
                        "Deprecated by Transmitted100";
                    }
    
                    leaf received {
                      type uint32;
                      description "Received";
                    }
    
                    leaf received100 {
                      type uint16;
                      description
                        "Received 100 average";
                    }
    
                    leaf received-1k {
                      type uint16;
                      description
                        "Received 1K average";
                    }
    
                    leaf received-10k {
                      type uint16;
                      description
                        "Received 10K average";
                    }
    
                    leaf received-50k {
                      type uint16;
                      description
                        "Deprecated by Received100";
                    }
                  }  // list jp-statistic
                }  // container jp-statistics
    
                container mib-databases {
                  description
                    "PIM group database for mroute mibs table";
                  list mib-database {
                    key "source-address group-address source-netmask";
                    description
                      "PIM multicast static route information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Multicast static route source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Multicast satic route group address";
                    }
    
                    leaf source-netmask {
                      type uint32;
                      description "Source mask";
                    }
    
                    container source-address-xr {
                      description
                        "Source Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container rpf-neighbor {
                      description
                        "The RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container rpf-root {
                      description
                        "Root of this mcast tree";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-root
    
                    leaf upstream-assert-timer {
                      type int32;
                      description
                        "Upstream Assert Timer";
                    }
    
                    leaf assert-metric {
                      type uint32;
                      description
                        "Assert Metric";
                    }
    
                    leaf assert-metric-preference {
                      type uint32;
                      description
                        "Assert Metric Preference";
                    }
    
                    leaf assert-rpt-bit {
                      type boolean;
                      description
                        "Assert RPT Bit";
                    }
    
                    leaf spt-bit {
                      type boolean;
                      description
                        "Is SPT bit set ?";
                    }
    
                    leaf rpf-mask {
                      type uint32;
                      description
                        "Mask of the multicast root";
                    }
    
                    leaf rpf-safi {
                      type uint8;
                      description
                        "Unicast or mcast";
                    }
    
                    leaf rpf-table-name {
                      type string;
                      description
                        "RPF Table name";
                    }
    
                    leaf rpf-drop {
                      type boolean;
                      description
                        "RPF route-policy drop";
                    }
    
                    leaf rpf-extranet {
                      type boolean;
                      description
                        "Extranet RPF route-policy";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "RPF interface name ";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
    
                    leaf bidirectional-route {
                      type boolean;
                      description
                        "Is this Bidir ?";
                    }
    
                    leaf uptime {
                      type uint64;
                      description
                        "Uptime of route";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "The PIM protocol";
                    }
                  }  // list mib-database
                }  // container mib-databases
    
                container ifrs-summary {
                  description
                    "PIM interfaces in forward reference store
    summary";
                  leaf interface-count {
                    type uint32;
                    description
                      "Number of interfaces";
                  }
    
                  leaf configuration-count {
                    type uint32;
                    description
                      "Configuration counts";
                  }
                }  // container ifrs-summary
    
                container ranges {
                  description
                    "PIM range list information";
                  list range {
                    key "rp-address client";
                    description
                      "PIM range list information";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    container rp-address-xr {
                      description
                        "Rendezvous point address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    container source-of-information {
                      description
                        "Source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description "PIM protocol";
                    }
    
                    leaf client-xr {
                      type Pim-show-range-client;
                      description
                        "Client mapping learnt via";
                    }
    
                    leaf expires {
                      type uint64;
                      description
                        "When mapping expires";
                    }
    
                    list group-range {
                      description
                        "List of group ranges";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container source-of-information {
                        description
                          "Source of information";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container source-of-information
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expires {
                        type uint64;
                        description
                          "When mapping expires";
                      }
                    }  // list group-range
                  }  // list range
                }  // container ranges
    
                container bsr {
                  description
                    "PIM BSR information";
                  container rp-caches {
                    description
                      "PIM BSR RP cache table";
                    list rp-cache {
                      key "group-prefix prefix-length";
                      description
                        "PIM BSR RP cache";
                      leaf group-prefix {
                        type inet:ip-address-no-zone;
                        description
                          "Group prefix";
                      }
    
                      leaf prefix-length {
                        type uint32;
                        description
                          "Prefix Length";
                      }
    
                      container group-prefix-xr {
                        description
                          "Group Prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container group-prefix-xr
    
                      container candidate-rp-list {
                        description
                          "C-RP list for this prefix";
                        list pim-bsr-crp-bag {
                          description
                            "Next C-RP in the List";
                          container candidate-rp-address {
                            description
                              "C-RP address";
                            leaf af-name {
                              type Pim-afi;
                              description
                                "AFName";
                            }
    
                            leaf ipv4-address {
                              when
                                "../af-name = 'ipv4-unicast'" {
                                description
                                  "../AFName = 'IPv4Unicast'";
                              }
                              type inet:ipv4-address;
                              description
                                "IPv4 Address";
                            }
    
                            leaf ipv6-address {
                              when
                                "../af-name = 'ipv6-unicast'" {
                                description
                                  "../AFName = 'IPv6Unicast'";
                              }
                              type Ipv6-address;
                              description
                                "IPV6 Address";
                            }
                          }  // container candidate-rp-address
    
                          leaf candidate-rp-holdtime {
                            type uint16;
                            description
                              "C-RP Holdtime";
                          }
    
                          leaf candidate-rp-priority {
                            type uint8;
                            description
                              "C-RP Priority";
                          }
    
                          leaf candidate-rp-up-time {
                            type uint16;
                            description
                              "C-RP Uptime";
                          }
    
                          leaf candidate-rp-expires {
                            type uint16;
                            description
                              "C-RP Expires";
                          }
    
                          leaf protocol {
                            type Pim-show-protocol;
                            description
                              "PIM Protocol";
                          }
                        }  // list pim-bsr-crp-bag
                      }  // container candidate-rp-list
    
                      leaf group-prefix-length {
                        type uint32;
                        description
                          "Group Prefix Length";
                      }
    
                      leaf candidate-rp-group-count {
                        type uint32;
                        description
                          "C-RP count for this Prefix";
                      }
                    }  // list rp-cache
                  }  // container rp-caches
    
                  container candidate-rps {
                    description
                      "PIM candidate-RP";
                    list candidate-rp {
                      key "rp-address";
                      description
                        "PIM BSR candidate RP information";
                      leaf rp-address {
                        type inet:ip-address-no-zone;
                        description
                          "Candidate-RP address";
                      }
    
                      container candidate-rp {
                        description
                          "Cand-RP Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container candidate-rp
    
                      leaf candidate-rp-mode {
                        type Pim-show-protocol;
                        description
                          "Cand-RP Mode";
                      }
    
                      leaf candidate-rp-scope {
                        type int32;
                        description
                          "Cand-RP Scope";
                      }
    
                      leaf crp-priority {
                        type uint8;
                        description
                          "Cand-RP Priority";
                      }
    
                      leaf crp-holdtime {
                        type uint16;
                        description
                          "Cand-RP Holdtime";
                      }
    
                      leaf candidate-rp-advance-interval {
                        type uint16;
                        units "second";
                        description
                          "Cand-RP Adv Interval in seconds";
                      }
    
                      leaf candidate-rp-uptime {
                        type uint16;
                        description
                          "Cand-RP uptime";
                      }
    
                      leaf acl-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "Group Access-List Name";
                      }
    
                      list crp-access {
                        max-elements 2;
                        description
                          "Group Ranges Using this Cand-RP";
                        leaf candidate-rp-mode {
                          type Pim-show-protocol;
                          description
                            "Cand-RP Mode";
                        }
    
                        leaf acl-name {
                          type string {
                            length "0..33";
                          }
                          description
                            "Group Access-List Name";
                        }
                      }  // list crp-access
                    }  // list candidate-rp
                  }  // container candidate-rps
    
                  container bsr-elections {
                    description
                      "PIM BSR election state";
                    list bsr-election {
                      key "pim-scope";
                      description
                        "PIM BSR information";
                      leaf pim-scope {
                        type uint32;
                        description
                          "BSR information";
                      }
    
                      container bsr-address {
                        description
                          "BSR address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container bsr-address
    
                      container candidate-bsr-address {
                        description
                          "C-BSR address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container candidate-bsr-address
    
                      leaf bsr-priority {
                        type uint8;
                        description
                          "BSR Priority";
                      }
    
                      leaf bsr-mask-length {
                        type uint8;
                        description
                          "Hash Function Mask Length";
                      }
    
                      leaf bsr-up-time {
                        type uint16;
                        description "BSR Uptime";
                      }
    
                      leaf bootstrap-timeout {
                        type uint16;
                        description
                          "Bootstrap Timeout";
                      }
    
                      leaf candidate-bsr-state {
                        type uint32;
                        description
                          "BSR Candidate State";
                      }
    
                      leaf bsr-election-state {
                        type uint32;
                        description
                          "BSR Election State";
                      }
    
                      leaf bsr-scope {
                        type uint16;
                        description "BSR Scope";
                      }
    
                      leaf candidate-bsr-flag {
                        type boolean;
                        description
                          "BSR Candidate Config Flag";
                      }
    
                      leaf candidate-bsr-priority {
                        type uint8;
                        description
                          "C-BSR Priority";
                      }
    
                      leaf candidate-bsr-mask-length {
                        type uint8;
                        description
                          "C-BSR Hash Func. Mask Len";
                      }
                    }  // list bsr-election
                  }  // container bsr-elections
                }  // container bsr
    
                container route-policy {
                  description "PIM route policy";
                  container route-policy-statistics {
                    description
                      "PIM route policy statistics";
                    leaf policy-name {
                      type string;
                      description
                        "RPF policy name";
                    }
    
                    leaf requests {
                      type uint32;
                      description
                        "Number of RPF lookup requests";
                    }
    
                    leaf pass {
                      type uint32;
                      description
                        "Number of RPF pass";
                    }
    
                    leaf drop {
                      type uint32;
                      description
                        "Number of RPF drops";
                    }
    
                    leaf default-table {
                      type uint32;
                      description
                        "Number of RPF lookup in default-only Table";
                    }
    
                    leaf any-table {
                      type uint32;
                      description
                        "Number of RPF lookup in any Table";
                    }
                  }  // container route-policy-statistics
                }  // container route-policy
    
                container rpf-summary {
                  description
                    "PIM RPF registration summary";
                  leaf default-safi {
                    type uint32;
                    description
                      "Default RPF Table SAFI";
                  }
    
                  leaf default-table-name {
                    type string;
                    description
                      "Default RPF Table Name";
                  }
    
                  leaf is-mbgp-configured {
                    type boolean;
                    description
                      "Is MBGP configured?";
                  }
    
                  leaf is-ospf-te-configured {
                    type boolean;
                    description
                      "Is OSPF TE configured?";
                  }
    
                  leaf is-isis-te-configured {
                    type boolean;
                    description
                      "Is ISIS TE configured?";
                  }
    
                  leaf is-isis-mtr-configured {
                    type boolean;
                    description
                      "Is ISIS MTR configured?";
                  }
    
                  leaf mo-frr-configured {
                    type boolean;
                    description
                      "Is MoFRR configured?";
                  }
    
                  leaf rib-mo-frr-configured {
                    type boolean;
                    description
                      "Is MoFRR RIB configured?";
                  }
    
                  leaf rump-enabled {
                    type boolean;
                    description
                      "Is RUMP MuRIB enabled?";
                  }
    
                  leaf rib-convergence-timeout {
                    type uint32;
                    units "second";
                    description
                      "RIB convergence timeout in seconds";
                  }
    
                  leaf rib-convergence-time-left {
                    type uint32;
                    units "second";
                    description
                      "RIB convergence time left in seconds";
                  }
    
                  leaf is-multipath-enabled {
                    type boolean;
                    description
                      "Is Multipath Enabled ?";
                  }
    
                  leaf is-multipath-interface-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Interface Hash Extension Enabled ?";
                  }
    
                  leaf is-multipath-source-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Source based Hash Enabled ?";
                  }
    
                  leaf is-multipath-source-next-hop-hash-enabled {
                    type boolean;
                    description
                      "Is Multipath Source-Nexthop Hash Enabled ?";
                  }
    
                  leaf rpf-registrations {
                    type uint32;
                    description
                      "RPF Registration count";
                  }
    
                  leaf is-rib-convergence {
                    type boolean;
                    description
                      "RIB Convergence status";
                  }
                }  // container rpf-summary
    
                container interfaces {
                  description "PIM interfaces";
                  list interface {
                    key "interface-name";
                    description
                      "PIM interface name";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container dr-address {
                      description
                        "PIM Designated Router";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container dr-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identfier";
                    }
    
                    leaf interface-address-mask {
                      type uint8;
                      description
                        "Interface IP Address Mask";
                    }
    
                    leaf is-enabled {
                      type boolean;
                      description
                        "Is PIM enabled on this IF ?";
                    }
    
                    leaf neighbor-count {
                      type uint16;
                      description
                        "No. of neighbors on this IF";
                    }
    
                    leaf external-neighbor-count {
                      type uint16;
                      description
                        "No. of external neighbors on this IF";
                    }
    
                    leaf hello-interval {
                      type uint16;
                      description
                        "Hello Interval";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR Priority";
                    }
    
                    leaf hello-expiry {
                      type uint64;
                      description
                        "Hello Timer Expiry";
                    }
    
                    leaf are-we-dr {
                      type boolean;
                      description
                        "Are we the DR on this IF ?";
                    }
    
                    leaf bfd-enabled {
                      type boolean;
                      description "BFD state";
                    }
    
                    leaf bfd-interval {
                      type uint32;
                      description "BFD Interval";
                    }
    
                    leaf bfd-multiplier {
                      type uint32;
                      description
                        "BFD Multiplier";
                    }
    
                    leaf virtual-interface {
                      type boolean;
                      description
                        " is this a Virtual Interfaces ?";
                    }
    
                    leaf passive-interface {
                      type boolean;
                      description
                        "Passive PIM interface";
                    }
    
                    leaf neighbor-filter-name {
                      type string;
                      description
                        "Neighbor Filter Name";
                    }
    
                    leaf sticky-dr-enabled {
                      type boolean;
                      description
                        "Is Sticky DR enabled on Interface";
                    }
    
                    leaf sticky-dr-active {
                      type boolean;
                      description
                        "Is Sticky DR Active on Interface";
                    }
    
                    leaf sticky-dr-active-since {
                      type uint64;
                      units "second";
                      description
                        "Sticky DR uptime in seconds";
                    }
    
                    leaf join-prune-interval {
                      type uint16;
                      description
                        "Join-Prune Interval";
                    }
    
                    leaf prune-delay-enabled {
                      type boolean;
                      description
                        "Prune Delay Enabled";
                    }
    
                    leaf configured-propagation-delay {
                      type uint16;
                      description
                        "Configured Propagation Delay";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf configured-override-interval {
                      type uint16;
                      description
                        "Configured Override Interval";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    leaf generation-id {
                      type uint32;
                      description
                        "Generation Identifier";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Bidir Capable";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Proxy Capable";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Batch Asserts Capable";
                    }
    
                    leaf idb-oor-enabled {
                      type boolean;
                      description
                        "Interface oor enabled";
                    }
    
                    leaf idb-acl-provided {
                      type boolean;
                      description
                        "ACL name provided";
                    }
    
                    leaf idb-max-count {
                      type uint32;
                      description
                        "Interface ole max count";
                    }
    
                    leaf idb-threshold-count {
                      type uint32;
                      description
                        "Interface ole threshold count";
                    }
    
                    leaf idb-current-count {
                      type uint32;
                      description
                        "Interface ole current count";
                    }
    
                    leaf idb-acl-name {
                      type string {
                        length "0..64";
                      }
                      description
                        "Interface ole ACL Name";
                    }
    
                    list interface-address {
                      description
                        "List of Interface IP Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list interface-address
                  }  // list interface
                }  // container interfaces
    
                container net-io-tunnels {
                  description
                    "Tunnel information that NETIO has ";
                  list net-io-tunnel {
                    key "tunnel-name";
                    description
                      "PIM netio tunnel information";
                    leaf tunnel-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "Tunnel name";
                    }
    
                    container source-address {
                      description
                        "Source addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address
    
                    container rp-address {
                      description
                        "RP addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container source-address-netio {
                      description
                        "Source addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-netio
    
                    container group-address-netio {
                      description
                        "Group addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-netio
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "VRF Name";
                    }
                  }  // list net-io-tunnel
                }  // container net-io-tunnels
    
                container bidir-df-states {
                  description
                    "Bidirectional PIM DF election state table";
                  list bidir-df-state {
                    key "rp-address interface-name";
                    description
                      "Bidirectional PIM DF Election Table Entry";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container rp-address-xr {
                      description "RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    leaf pim-interface-name {
                      type string;
                      description
                        "Interface Name";
                    }
    
                    leaf election-state {
                      type string;
                      description
                        "DF Election State";
                    }
    
                    leaf time-seconds {
                      type uint64;
                      units "second";
                      description
                        "Timer expires (seconds)";
                    }
    
                    leaf time-nano-seconds {
                      type uint64;
                      units "nanosecond";
                      description
                        "Timer expires (nseconds)";
                    }
    
                    leaf our-metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf our-metric-preference {
                      type uint32;
                      description
                        "MetricPreference";
                    }
                  }  // list bidir-df-state
                }  // container bidir-df-states
    
                container topologies {
                  description
                    "PIM topology table";
                  list topology {
                    key "source-address group-address rpt";
                    description
                      "PIM topology information";
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source address";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    leaf rpt {
                      type uint32;
                      description "RPT bit";
                    }
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-xr
    
                    container source-address-xr {
                      description
                        "Source Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-xr
    
                    container rp-address {
                      description
                        "RP Address (If rpt)";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container rpf-neighbor {
                      description "RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container secondary-rpf-neighbor {
                      description
                        "Secondary RPF Neighbor";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container secondary-rpf-neighbor
    
                    container rpf-root {
                      description
                        "Root of this mcast tree";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-root
    
                    container proxy-address {
                      description
                        "RPF Proxy address.";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container proxy-address
    
                    container orig-src-address {
                      description
                        "Orig Src Address.";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container orig-src-address
    
                    leaf limit-reached {
                      type boolean;
                      description
                        "Have we throttled the creation of routes or
    interfaces ?";
                    }
    
                    leaf low-memory {
                      type boolean;
                      description
                        "Node is running low on memory";
                    }
    
                    leaf protocol {
                      type Pim-show-protocol;
                      description
                        "The PIM protocol";
                    }
    
                    leaf wildcard {
                      type boolean;
                      description "WC -Wildcard";
                    }
    
                    leaf rpt-xr {
                      type boolean;
                      description
                        "Is this on the RPT ?";
                    }
    
                    leaf spt {
                      type boolean;
                      description
                        "Is this on the SPT ?";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiry {
                      type uint64;
                      description
                        "When this entry expires";
                    }
    
                    leaf alive {
                      type int32;
                      units "second";
                      description
                        "Alive time in seconds (-1 if never)";
                    }
    
                    leaf register-received-timer {
                      type int32;
                      units "second";
                      description
                        "Register Received Timer in seconds (-1 if never)";
                    }
    
                    leaf remote-source {
                      type boolean;
                      description "MSDP told us";
                    }
    
                    leaf crossed-threshold {
                      type boolean;
                      description
                        "Incoming traffic crossed threshold. MT flag set";
                    }
    
                    leaf data-mdt-addr-assigned {
                      type boolean;
                      description
                        "PIM has assigned a Data MDT Address";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
    
                    leaf rpf-safi {
                      type uint8;
                      description
                        "Unicast or mcast";
                    }
    
                    leaf rpf-table-name {
                      type string;
                      description
                        "RPF Table name";
                    }
    
                    leaf rpf-drop {
                      type boolean;
                      description
                        "RPF route-policy drop";
                    }
    
                    leaf rpf-extranet {
                      type boolean;
                      description
                        "Extranet RPF route-policy";
                    }
    
                    leaf is-via-lsm {
                      type boolean;
                      description "Via LSM";
                    }
    
                    leaf secondary-rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "Secondary Interface Identifier";
                    }
    
                    leaf connected {
                      type boolean;
                      description
                        "Is Connected ?";
                    }
    
                    leaf proxy {
                      type boolean;
                      description
                        "Is the RPF target a proxy?";
                    }
    
                    leaf rpf-proxy-enabled {
                      type boolean;
                      description
                        "Is rpf if proxy enabled?";
                    }
    
                    leaf mofrr-enabled {
                      type boolean;
                      description
                        "Is this SG MoFRR enabled?";
                    }
    
                    leaf rib-mo-frr-enabled {
                      type boolean;
                      description
                        "Is this SG MoFRR enabled?";
                    }
    
                    leaf jp-timer {
                      type int32;
                      description
                        "Join-Prune Timer";
                    }
    
                    leaf jp-status {
                      type int32;
                      description
                        "Join-Prune Status";
                    }
    
                    leaf suppress-registers {
                      type int32;
                      description
                        "When the Null register probe expires";
                    }
    
                    leaf assume-alive {
                      type boolean;
                      description
                        "The Assume Alive Bit";
                    }
    
                    leaf probe-alive {
                      type boolean;
                      description
                        "The Probe Alive Bit";
                    }
    
                    leaf really-alive {
                      type boolean;
                      description
                        "The Really Alive Bit";
                    }
    
                    leaf inherit-alive {
                      type boolean;
                      description
                        "The Inherit Alive Bit";
                    }
    
                    leaf inherit-spt {
                      type boolean;
                      description
                        "The Inherit SPT Bit";
                    }
    
                    leaf signal-sources {
                      type boolean;
                      description
                        "Signal Sources on route?";
                    }
    
                    leaf dont-check-connected {
                      type boolean;
                      description
                        "Do we need to make the connected check on this
    route ?";
                    }
    
                    leaf register-received {
                      type boolean;
                      description
                        "Have registers been received for this source ?";
                    }
    
                    leaf last-hop {
                      type boolean;
                      description
                        "Are we last hop ?";
                    }
    
                    leaf sending-registers {
                      type boolean;
                      description
                        "Are we sending registers for this route ?";
                    }
    
                    leaf sending-null-registers {
                      type boolean;
                      description
                        "Are we sending null registers for this route ?";
                    }
    
                    leaf sa-sent {
                      type boolean;
                      description "BGP SA sent";
                    }
    
                    leaf sa-received {
                      type boolean;
                      description
                        "BGP SA received";
                    }
    
                    leaf sa-joined {
                      type boolean;
                      description "BGP SA join";
                    }
    
                    leaf anycast-rp-match {
                      type boolean;
                      description
                        "Group matches Anycast-RP policy";
                    }
    
                    leaf anycast-rp-route-target {
                      type inet:ipv4-address;
                      description
                        "Anycast-RP RT";
                    }
    
                    leaf bgp-join {
                      type boolean;
                      description "BGP C JOIN";
                    }
    
                    leaf bgp-jp-time {
                      type uint64;
                      description
                        "BGP C JP Time";
                    }
    
                    leaf customer-routing-type {
                      type int32;
                      description
                        "Type of Customer Routing in the MVPN";
                    }
    
                    leaf extranet-route {
                      type boolean;
                      description
                        "Is a Extranet route ?";
                    }
    
                    leaf mofrr-active {
                      type boolean;
                      description
                        "Is MoFRR Active?";
                    }
    
                    leaf mofrr-primary {
                      type boolean;
                      description
                        "Is this Mofrr Primary?";
                    }
    
                    leaf mofrr-backup {
                      type boolean;
                      description
                        "Is this Mofrr Backup?";
                    }
    
                    leaf vxlan {
                      type boolean;
                      description
                        "Is this VXLAN?";
                    }
    
                    leaf kat-state {
                      type boolean;
                      description
                        "Keep Alive Timer State";
                    }
    
                    list outgoing-interface {
                      description
                        "Outgoing interface list";
                      container assert-winner {
                        description
                          "Assert Winner";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container assert-winner
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface Identifier";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiry {
                        type uint64;
                        units "second";
                        description
                          "Expiry in seconds";
                      }
    
                      leaf bgp-c-mcast-prune-delay-timer {
                        type uint64;
                        units "second";
                        description
                          "BGP C-MCAST Prune Suppression in seconds";
                      }
    
                      leaf jp-timer {
                        type int32;
                        units "second";
                        description
                          "Join-Prune Timer (secs)";
                      }
    
                      leaf jp-state {
                        type int32;
                        description
                          "Join-Prune State";
                      }
    
                      leaf assert-timer {
                        type int32;
                        units "second";
                        description
                          "Assert Timer in seconds";
                      }
    
                      leaf local-members {
                        type int32;
                        description
                          "Local Information. Deprecated - use
    'local-members-information' instead";
                      }
    
                      leaf internal-interest-info {
                        type int32;
                        description
                          "Internal Interest. Deprecated - use
    'internal-interest-information' instead";
                      }
    
                      leaf forwarding-state {
                        type int32;
                        description
                          "Forward or Prune";
                      }
    
                      leaf immediate-state {
                        type int32;
                        description
                          "Immediate fwding state";
                      }
    
                      leaf last-hop {
                        type boolean;
                        description
                          "Are we last hop ?";
                      }
    
                      leaf mldp-inband-mdt {
                        type boolean;
                        description
                          "MLDP Inband MDT interface";
                      }
    
                      leaf mldp-stale {
                        type boolean;
                        description
                          "OLE is stale";
                      }
    
                      leaf sa-prune {
                        type boolean;
                        description
                          "BGP SA Prune state";
                      }
    
                      leaf admin-boundary {
                        type boolean;
                        description
                          "Is this an administrative boundary ?";
                      }
    
                      leaf igmp-membership {
                        type boolean;
                        description
                          "IGMP membership";
                      }
    
                      leaf mdt-safi-join {
                        type boolean;
                        description
                          "MDT Safi join";
                      }
    
                      leaf mvpn-safi-join {
                        type boolean;
                        description
                          "MVPN Safi join";
                      }
    
                      leaf local-mdt-join {
                        type boolean;
                        description
                          "Default MDT Join";
                      }
    
                      leaf data-mdt-join {
                        type boolean;
                        description
                          "Data MDT join";
                      }
    
                      leaf mvpnv6-safi-join {
                        type boolean;
                        description
                          "MVPN IPv6 Safi join";
                      }
    
                      leaf bgp-c-mcast-join {
                        type boolean;
                        description
                          "BGP C-Mcast join";
                      }
    
                      leaf vrf-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "VRF which physically owns";
                      }
    
                      leaf extranet-interface {
                        type boolean;
                        description
                          "Is this an Extranet Interface ?";
                      }
    
                      leaf internal-interest-information {
                        type Pim-internal-interest-info;
                        description
                          "Internal Interest. Replaces
    internal-interest-info";
                      }
    
                      leaf local-members-information {
                        type Pim-show-local-interest;
                        description
                          "Local Information. Replaces local-members";
                      }
    
                      leaf assert-state {
                        type boolean;
                        description
                          "Assert State";
                      }
                    }  // list outgoing-interface
                  }  // list topology
                }  // container topologies
    
                container topology-interface-flag-route-counts {
                  description
                    "Route count for topology with interface flag set";
                  list topology-interface-flag-route-count {
                    key "interface-flag";
                    description
                      "Route count for topology with interface flag
    set";
                    leaf interface-flag {
                      type Pim-topology-interface-flag;
                      description
                        "Interface flag";
                    }
    
                    leaf group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes";
                    }
    
                    leaf active-group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes active in mrib";
                    }
    
                    leaf groute-count {
                      type uint32;
                      description
                        "No. of (*,G) routes";
                    }
    
                    leaf sg-route-count {
                      type uint32;
                      description
                        "No. of (S,G) routes";
                    }
    
                    leaf sgr-route-count {
                      type uint32;
                      description
                        "No. of (S,G)RPT routes";
                    }
    
                    leaf is-node-low-memory {
                      type boolean;
                      description
                        "Is node in low memory condition";
                    }
                  }  // list topology-interface-flag-route-count
                }  // container topology-interface-flag-route-counts
    
                container group-map-sources {
                  description
                    "PIM group-mapping with source information";
                  list group-map-source {
                    key "prefix prefix-length client protocol rp-address priority";
                    description
                      "PIM Group Mapping Entry with source information";
                    leaf prefix {
                      type inet:ip-address-no-zone;
                      description "Prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    leaf protocol {
                      type Pim-protocol;
                      description "Protocol";
                    }
    
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf priority {
                      type uint32;
                      description "RP Priority";
                    }
    
                    container source-of-information {
                      description
                        "The source of information";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-of-information
    
                    container group-map-information {
                      description
                        "Group Mapping information";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container rp-address {
                        description
                          "Rendezvous Point Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rp-address
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf client {
                        type Pim-show-range-client;
                        description
                          "Client mapping learnt from";
                      }
    
                      leaf protocol {
                        type Pim-show-protocol;
                        description
                          "Protocol mode of the range";
                      }
    
                      leaf group-count {
                        type uint32;
                        description
                          "No. of groups in this range";
                      }
    
                      leaf is-used {
                        type boolean;
                        description
                          "Is this mapping being used?";
                      }
    
                      leaf mrib-active {
                        type boolean;
                        description
                          "Is this mapping active in MRIB?";
                      }
    
                      leaf is-override {
                        type boolean;
                        description
                          "Is this the override range?";
                      }
    
                      leaf priority {
                        type uint32;
                        description
                          "Bootstrap priority";
                      }
                    }  // container group-map-information
    
                    leaf holdtime {
                      type int32;
                      units "second";
                      description
                        "Holdtime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      units "second";
                      description
                        "Mapping expiry time in seconds";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Mapping uptime in seconds";
                    }
                  }  // list group-map-source
                }  // container group-map-sources
    
                container traffic-counters {
                  description
                    "PIM message traffic counters";
                  leaf elapsed-time {
                    type uint32;
                    units "second";
                    description
                      "Running time for counters in seconds";
                  }
    
                  leaf inputs {
                    type uint32;
                    description "Packets in";
                  }
    
                  leaf outputs {
                    type uint32;
                    description "Packets out";
                  }
    
                  leaf format-error {
                    type uint32;
                    description
                      "Malformed packets in";
                  }
    
                  leaf pakman-error {
                    type uint32;
                    description
                      "Pakman packets dropped";
                  }
    
                  leaf standby-packets-error {
                    type uint32;
                    description
                      "Packets received in standby state";
                  }
    
                  leaf checksum-error {
                    type uint32;
                    description
                      "Checksum errors";
                  }
    
                  leaf socket-error {
                    type uint32;
                    description "Socket errors";
                  }
    
                  leaf send-queue-full {
                    type uint32;
                    description
                      "Packets dropped since send queue was full";
                  }
    
                  leaf boundary-acl-rx-drop {
                    type uint32;
                    description
                      "Inc. JP dropped since boundary ACL confg";
                  }
    
                  leaf boundary-acl-tx-drop {
                    type uint32;
                    description
                      "Out JP dropped since boundary ACL confg";
                  }
    
                  leaf no-socket-connection {
                    type uint32;
                    description
                      "Packets dropped since no socket connection";
                  }
    
                  leaf no-source-address {
                    type uint32;
                    description
                      "Packets dropped since no source address";
                  }
    
                  leaf input-hello {
                    type uint32;
                    description
                      "Hello packets in";
                  }
    
                  leaf output-hello {
                    type uint32;
                    description
                      "Hello packets out";
                  }
    
                  leaf input-jp {
                    type uint32;
                    description
                      "Join Prune packets in";
                  }
    
                  leaf output-jp {
                    type uint32;
                    description
                      "Join Prune packets out";
                  }
    
                  leaf input-data-register {
                    type uint32;
                    description
                      "Data Register packets in";
                  }
    
                  leaf input-null-register {
                    type uint32;
                    description
                      "Null Register packets in";
                  }
    
                  leaf output-null-register {
                    type uint32;
                    description
                      "Null Register packets out";
                  }
    
                  leaf input-register-stop {
                    type uint32;
                    description
                      "Register Stop packets in";
                  }
    
                  leaf output-register-stop {
                    type uint32;
                    description
                      "Register Stop packets out";
                  }
    
                  leaf input-assert {
                    type uint32;
                    description
                      "Assert packets in";
                  }
    
                  leaf input-assert-batched {
                    type uint32;
                    description
                      "Batched Assert packets in";
                  }
    
                  leaf output-assert {
                    type uint32;
                    description
                      "Assert packets out";
                  }
    
                  leaf output-assert-batched {
                    type uint32;
                    description
                      "Batched Assert packets out";
                  }
    
                  leaf input-df-election {
                    type uint32;
                    description
                      "DF Election packets in";
                  }
    
                  leaf output-df-election {
                    type uint32;
                    description
                      "DF Election packets out";
                  }
    
                  leaf input-bsr-message {
                    type uint32;
                    description
                      "Input BSR Messages";
                  }
    
                  leaf output-bsr-message {
                    type uint32;
                    description
                      "Output BSR Messages";
                  }
    
                  leaf input-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Input Candidate-RP Advertisment";
                  }
    
                  leaf output-candidate-rp-advertisement {
                    type uint32;
                    description
                      "Output Candidate-RP Advertisment";
                  }
    
                  leaf input-ecmp-redirect {
                    type uint32;
                    description
                      "Input Ecmp Redirect";
                  }
    
                  leaf output-ecmp-redirect {
                    type uint32;
                    description
                      "Output Ecmp Redirect";
                  }
    
                  leaf output-loop-error {
                    type uint32;
                    description
                      "Output on loopback error";
                  }
    
                  leaf mldp-mdt-invalid-lsm-identifier {
                    type uint32;
                    description
                      " Invalid LSM ID";
                  }
    
                  leaf input-no-idb-error {
                    type uint32;
                    description
                      "No IDB for intf error";
                  }
    
                  leaf input-no-vrf-error {
                    type uint32;
                    description
                      "No VRF for idb error";
                  }
    
                  leaf input-no-pim-error {
                    type uint32;
                    description
                      "PIM Disabled on intf error";
                  }
    
                  leaf input-pim-version-error {
                    type uint32;
                    description
                      "Invalid PIM version error";
                  }
    
                  leaf output-join-group {
                    type uint32;
                    description
                      "Output Join Groups";
                  }
    
                  leaf output-prune-group {
                    type uint32;
                    description
                      "Output Prune Groups";
                  }
    
                  leaf output-join-prune-bytes {
                    type uint32;
                    units "byte";
                    description
                      "Output JP Bytes";
                  }
    
                  leaf output-hello-bytes {
                    type uint32;
                    units "byte";
                    description
                      "Output Hello Bytes";
                  }
    
                  leaf non-supported-packets {
                    type uint32;
                    description
                      "PIM non supported pckets";
                  }
    
                  leaf invalid-registers {
                    type uint32;
                    description
                      "PIM invalid registers received";
                  }
    
                  leaf invalid-join-prunes {
                    type uint32;
                    description
                      "PIM invalid Join/Prunes received";
                  }
    
                  leaf packet-packman-error {
                    type uint32;
                    description
                      "Packets Dropped due to Pakman Error";
                  }
    
                  leaf packet-read-socket-error {
                    type uint32;
                    description
                      "Packet Read Socket Error";
                  }
    
                  leaf packet-queue-last-clear {
                    type uint32;
                    units "second";
                    description
                      "Time in seconds since the last clear of all
    packet queues stats";
                  }
    
                  leaf packets-standby {
                    type uint32;
                    description
                      "Packets Dropped due to Standby Error";
                  }
    
                  leaf no-mdt-socket-connection {
                    type uint32;
                    description
                      "Packets dropped since no mdt socket connection";
                  }
    
                  leaf mdt-send-queue-full {
                    type uint32;
                    description
                      "Packets dropped since mdt send queue was full";
                  }
    
                  leaf mdt-socket-error {
                    type uint32;
                    description
                      "MDT Socket errors";
                  }
    
                  leaf mdt-join-tlv-sent {
                    type uint32;
                    description
                      "Data MDT Join Msgs sent";
                  }
    
                  leaf mdt-join-tlv-received {
                    type uint32;
                    description
                      "Data MDT Join Msgs received";
                  }
    
                  leaf mdt-join-bad-type {
                    type uint32;
                    description
                      "Data MDT TLV bad type";
                  }
    
                  leaf mdt-drop-local-source-address {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to local source
    addr";
                  }
    
                  leaf mdt-drop-null-local-address {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to null local
    addr";
                  }
    
                  leaf mdt-drop-no-idb {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to idb missing";
                  }
    
                  leaf mdt-drop-no-vrf {
                    type uint32;
                    description
                      "Data MDT Join msgs dropped due to vrf missing";
                  }
    
                  leaf invalid-destination-packets {
                    type uint32;
                    description
                      "Control Packets with Invalid Destination";
                  }
    
                  leaf mdt-joins-drop-multiple-encapsulation {
                    type uint32;
                    description
                      "MDT Join msgs dropped due to multiple Encap
    limitation";
                  }
    
                  leaf truncated-pim-packets {
                    type uint32;
                    description
                      "Packets dropped due to truncated Joins or Prunes";
                  }
    
                  leaf invalid-source-encodings {
                    type uint32;
                    description
                      "Number of invalid source encodings received";
                  }
    
                  leaf invalid-hello-options {
                    type uint32;
                    description
                      "Number of invalid hello options received";
                  }
    
                  list packet-queue {
                    max-elements 2;
                    description
                      "Packet queue state and statistics";
                    container packet-queue-state {
                      description
                        "State of the queue";
                      leaf max-queue-size {
                        type uint32;
                        units "byte";
                        description
                          "Maximum size of queue in bytes";
                      }
    
                      leaf queue-size-bytes {
                        type uint32;
                        units "byte";
                        description
                          "Size of queue in bytes";
                      }
    
                      leaf queue-size-packets {
                        type uint32;
                        description
                          "Size of queue in number of packets";
                      }
                    }  // container packet-queue-state
    
                    container packet-queue-stats {
                      description
                        "Statistics about the queue";
                      leaf enqueued-packets {
                        type uint32;
                        description
                          "Total number of packets enqueued to this queue";
                      }
    
                      leaf dequeued-packets {
                        type uint32;
                        description
                          "Total number of packets dequeued from this queue";
                      }
    
                      leaf high-water-mark-packets {
                        type uint32;
                        description
                          "Highest number of packets enqueued in this queue";
                      }
    
                      leaf high-water-mark-bytes {
                        type uint32;
                        units "byte";
                        description
                          "Highest number of bytes enqueued in this queue";
                      }
    
                      leaf tail-drops {
                        type uint32;
                        description
                          "Number packets dropped from this queue due to
    max size";
                      }
                    }  // container packet-queue-stats
    
                    leaf packet-queue-priority {
                      type uint32;
                      description
                        "Priority of this packet queue";
                    }
                  }  // list packet-queue
                }  // container traffic-counters
    
                container group-map-rpfs {
                  description
                    "PIM group mapping information";
                  list group-map-rpf {
                    key "prefix prefix-length client protocol rp-address rp-priority";
                    description
                      "PIM group mapping entry";
                    leaf prefix {
                      type inet:ip-address-no-zone;
                      description "Prefix";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf client {
                      type Pim-client;
                      description "Client";
                    }
    
                    leaf protocol {
                      type Pim-protocol;
                      description "Protocol";
                    }
    
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf rp-priority {
                      type uint32;
                      description "RP priority";
                    }
    
                    container rpf-neighbor {
                      description
                        "RPF neighbor to the RP";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rpf-neighbor
    
                    container group-map-information {
                      description
                        "Group Mapping information";
                      container prefix {
                        description
                          "Group range prefix";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container prefix
    
                      container rp-address {
                        description
                          "Rendezvous Point Address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container rp-address
    
                      leaf prefix-length {
                        type int32;
                        description
                          "Group range prefix length";
                      }
    
                      leaf client {
                        type Pim-show-range-client;
                        description
                          "Client mapping learnt from";
                      }
    
                      leaf protocol {
                        type Pim-show-protocol;
                        description
                          "Protocol mode of the range";
                      }
    
                      leaf group-count {
                        type uint32;
                        description
                          "No. of groups in this range";
                      }
    
                      leaf is-used {
                        type boolean;
                        description
                          "Is this mapping being used?";
                      }
    
                      leaf mrib-active {
                        type boolean;
                        description
                          "Is this mapping active in MRIB?";
                      }
    
                      leaf is-override {
                        type boolean;
                        description
                          "Is this the override range?";
                      }
    
                      leaf priority {
                        type uint32;
                        description
                          "Bootstrap priority";
                      }
                    }  // container group-map-information
    
                    leaf are-we-rp {
                      type boolean;
                      description
                        "Are we the RP?";
                    }
    
                    leaf rpf-interface-name {
                      type xr:Interface-name;
                      description
                        "RPF interface to the RP";
                    }
    
                    leaf rpf-vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "RPF VRF Name";
                    }
                  }  // list group-map-rpf
                }  // container group-map-rpfs
    
                container summary {
                  description "PIM summary";
                  leaf route-limit {
                    type uint32;
                    description "Maximum routes";
                  }
    
                  leaf route-count {
                    type uint32;
                    description "Current routes";
                  }
    
                  leaf route-low-water-mark {
                    type uint32;
                    description
                      "The number of routes below which the throttle on
    route creation will be lifted";
                  }
    
                  leaf is-route-limit-reached {
                    type boolean;
                    description
                      "Is route creation throttled";
                  }
    
                  leaf topology-interface-state-limit {
                    type uint32;
                    description
                      "Maximum Topology Interface State count";
                  }
    
                  leaf topology-interface-state-count {
                    type uint32;
                    description
                      "Current Topology Interface State count";
                  }
    
                  leaf rxi-low-water-mark {
                    type uint32;
                    description
                      "The rxi below which the throttle on interface
    creation will be lifted";
                  }
    
                  leaf rxi-limit-reached {
                    type boolean;
                    description
                      "Is interface creation throttled";
                  }
    
                  leaf register-limit {
                    type uint32;
                    description
                      "Maximum registers";
                  }
    
                  leaf register-count {
                    type uint32;
                    description
                      "Current registers";
                  }
    
                  leaf register-limit-reached {
                    type boolean;
                    description
                      "Is PIM SM register handling throttled";
                  }
    
                  leaf ranges-limit {
                    type uint32;
                    description
                      "Maximum group ranges from Autorp";
                  }
    
                  leaf ranges-count {
                    type uint32;
                    description
                      "Current group ranges from Autorp";
                  }
    
                  leaf ranges-threshold {
                    type uint32;
                    description
                      "OOR theshold of grange ranges from AutoRP";
                  }
    
                  leaf is-ranges-limit-reached {
                    type boolean;
                    description
                      "Is Auto-RP group-to-RP mapping range creation
    throttled";
                  }
    
                  leaf bsr-ranges-limit {
                    type uint32;
                    description
                      "Maximum group ranges from BSR";
                  }
    
                  leaf bsr-ranges-count {
                    type uint32;
                    description
                      "Current group ranges from BSR";
                  }
    
                  leaf bsr-range-threshold {
                    type uint32;
                    description
                      "Threshold group range from BSR";
                  }
    
                  leaf is-bsr-ranges-threshold-reached {
                    type boolean;
                    description
                      "Is VRF-specific BSR group-to-RP mapping range
    creation throttled";
                  }
    
                  leaf bsr-candidate-rp-set-limit {
                    type uint32;
                    description
                      "Maximum crp-set from BSR";
                  }
    
                  leaf bsr-candidate-rp-set-count {
                    type uint32;
                    description
                      "Current crp-set count from BSR";
                  }
    
                  leaf bsr-candidate-rp-set-threshold {
                    type uint32;
                    description
                      "Threshold crp-set from BSR";
                  }
    
                  leaf is-maximum-enforcement-disabled {
                    type boolean;
                    description
                      "Is maximum enforcement disabled";
                  }
    
                  leaf is-node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
    
                  leaf route-threshold {
                    type uint32;
                    description
                      "Threshold routes";
                  }
    
                  leaf global-auto-rp-ranges-limit {
                    type uint32;
                    description
                      "Global Auto-RP maximum group ranges";
                  }
    
                  leaf is-global-auto-rp-ranges-limit-reached {
                    type boolean;
                    description
                      "Is global AutoRP group-to-RP mapping range
    creation throttled";
                  }
    
                  leaf global-bsr-ranges-limit {
                    type uint32;
                    description
                      "Global BSR maximum group ranges";
                  }
    
                  leaf global-bsr-ranges-count {
                    type uint32;
                    description
                      "Global BSR current group ranges";
                  }
    
                  leaf global-bsr-ranges-threshold {
                    type uint32;
                    description
                      "Global BSR Threshold group ranges";
                  }
    
                  leaf is-global-bsr-ranges-limit-reached {
                    type boolean;
                    description
                      "Is global BSR group-to-RP mapping range creation
    throttled";
                  }
    
                  leaf global-bsr-candidate-rp-set-limit {
                    type uint32;
                    description
                      "Global BSR maximum crp-set";
                  }
    
                  leaf global-bsr-candidate-rp-set-count {
                    type uint32;
                    description
                      "Global BSR current crp-set count";
                  }
    
                  leaf global-bsr-candidate-rp-set-threshold {
                    type uint32;
                    description
                      "Global BSR Threshold crp-set";
                  }
    
                  leaf is-global-route-limit-reached {
                    type boolean;
                    description
                      "Is global route creation throttled";
                  }
    
                  leaf topology-interface-state-threshold {
                    type uint32;
                    description
                      "Topology Interface State threshold";
                  }
    
                  leaf is-global-rxi-limit-reached {
                    type boolean;
                    description
                      "Is global interface creation throttled";
                  }
    
                  leaf register-threshold {
                    type uint32;
                    description
                      "Threshold registers";
                  }
    
                  leaf global-register-limit {
                    type uint32;
                    description
                      "Maximum global registers";
                  }
    
                  leaf is-global-register-limit-reached {
                    type boolean;
                    description
                      "Is global PIM SM register handling throttled";
                  }
                }  // container summary
    
                container gre {
                  description "GRE information";
                  container gre-next-hops {
                    description
                      "GRE destination neighbor table";
                    list gre-next-hop {
                      key "destination-address";
                      description
                        "PIM GRE address next-hop information";
                      leaf destination-address {
                        type inet:ip-address-no-zone;
                        description
                          "GRE destination address";
                      }
    
                      container registered-address {
                        description
                          "Address registered";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container registered-address
    
                      leaf metric {
                        type uint32;
                        description "Metric";
                      }
    
                      leaf metric-preference {
                        type uint32;
                        description
                          "Metric preference";
                      }
    
                      leaf is-connected {
                        type uint8;
                        description
                          "Are we connected ?";
                      }
    
                      list gre-path {
                        description
                          "GRE Paths list";
                        container gre-neighbor {
                          description
                            "GRE neighbor";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container gre-neighbor
    
                        container gre-next-hop {
                          description
                            "GRE nexthop";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container gre-next-hop
    
                        leaf gre-interface-name {
                          type xr:Interface-name;
                          description
                            "GRE Interface";
                        }
    
                        leaf is-gre-interface-disabled {
                          type boolean;
                          description
                            "Is the gre interface disabled ?";
                        }
    
                        leaf is-via-lsm {
                          type boolean;
                          description "Via LSM";
                        }
    
                        leaf is-connector-attribute-present {
                          type boolean;
                          description
                            "Connector attribute present";
                        }
    
                        leaf extranet-vrf-name {
                          type string {
                            length "0..33";
                          }
                          description
                            "Extranet VRF name";
                        }
                      }  // list gre-path
                    }  // list gre-next-hop
                  }  // container gre-next-hops
                }  // container gre
    
                container bidir-df-winners {
                  description
                    "Bidirectional PIM DF election winner table";
                  list bidir-df-winner {
                    key "rp-address interface-name";
                    description
                      "Bidirectional PIM DF election table entry";
                    leaf rp-address {
                      type inet:ip-address-no-zone;
                      description "RP address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container rp-address-xr {
                      description "RP Address";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address-xr
    
                    container df-winner {
                      description "DF Winner";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container df-winner
    
                    leaf pim-interface-name {
                      type string;
                      description
                        "Interface Name";
                    }
    
                    leaf are-we-df {
                      type boolean;
                      description "Are we DF";
                    }
    
                    leaf rp-lan {
                      type boolean;
                      description
                        "Is this the RP LAN";
                    }
    
                    leaf metric {
                      type uint32;
                      description "Metric";
                    }
    
                    leaf metric-preference {
                      type uint32;
                      description
                        "Metric Preference";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
                  }  // list bidir-df-winner
                }  // container bidir-df-winners
    
                container table-contexts {
                  description
                    "PIM table context list";
                  list table-context {
                    key "saf-name topology-name";
                    description
                      "PIM table context information";
                    leaf saf-name {
                      type Pim-safi;
                      description "SAF name";
                    }
    
                    leaf topology-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Topology name";
                    }
    
                    leaf afi {
                      type uint32;
                      description "AFI";
                    }
    
                    leaf safi {
                      type uint32;
                      description "SAFI";
                    }
    
                    leaf table-name {
                      type string;
                      description "Table name";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF ID";
                    }
    
                    leaf table-id {
                      type uint32;
                      description "Table ID";
                    }
    
                    leaf is-active {
                      type boolean;
                      description
                        "Active status";
                    }
    
                    leaf is-ital-registration-done {
                      type boolean;
                      description
                        "ITAL reg status";
                    }
    
                    leaf is-rib-registration-done {
                      type boolean;
                      description
                        "RIB reg status";
                    }
    
                    leaf is-rib-convergence-received {
                      type boolean;
                      description
                        "RIB Convergence receive status";
                    }
    
                    leaf is-rib-convergence {
                      type boolean;
                      description
                        "RIB Convergence status";
                    }
    
                    leaf rpf-registrations {
                      type uint32;
                      description
                        "RPF Registration count";
                    }
                  }  // list table-context
                }  // container table-contexts
    
                container neighbor-summaries {
                  description
                    "PIM neighbor summary table";
                  list neighbor-summary {
                    key "interface-name";
                    description
                      "PIM neighbor summary information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf number-of-neighbors {
                      type int32;
                      description
                        "Number of neighbors";
                    }
    
                    leaf number-of-external-neighbors {
                      type int32;
                      description
                        "Number of external neighbors";
                    }
                  }  // list neighbor-summary
                }  // container neighbor-summaries
    
                container context {
                  description
                    "PIM context information";
                  container remote-default-group {
                    description
                      "Remote Default Group";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container remote-default-group
    
                  container rpf-default-table {
                    description
                      "RPF Default Table";
                    leaf afi {
                      type uint32;
                      description "AFI";
                    }
    
                    leaf safi {
                      type uint32;
                      description "SAFI";
                    }
    
                    leaf table-name {
                      type string;
                      description "Table name";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF ID";
                    }
    
                    leaf table-id {
                      type uint32;
                      description "Table ID";
                    }
    
                    leaf is-active {
                      type boolean;
                      description
                        "Active status";
                    }
    
                    leaf is-ital-registration-done {
                      type boolean;
                      description
                        "ITAL reg status";
                    }
    
                    leaf is-rib-registration-done {
                      type boolean;
                      description
                        "RIB reg status";
                    }
    
                    leaf is-rib-convergence-received {
                      type boolean;
                      description
                        "RIB Convergence receive status";
                    }
    
                    leaf is-rib-convergence {
                      type boolean;
                      description
                        "RIB Convergence status";
                    }
    
                    leaf rpf-registrations {
                      type uint32;
                      description
                        "RPF Registration count";
                    }
                  }  // container rpf-default-table
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF ID";
                  }
    
                  leaf table-id {
                    type uint32;
                    description "Table ID";
                  }
    
                  leaf murib-id {
                    type uint32;
                    description "MURIB ID";
                  }
    
                  leaf rpf-id {
                    type uint32;
                    description "RPF ID";
                  }
    
                  leaf remote-table-id {
                    type uint32;
                    description
                      "Remote Table ID";
                  }
    
                  leaf mdt-default-group {
                    type inet:ipv4-address;
                    description
                      "MDT Default group";
                  }
    
                  leaf mdt-source {
                    type inet:ipv4-address;
                    description "MDT source";
                  }
    
                  leaf mdt-source-interface {
                    type string;
                    description
                      "MDT Source Interface Name";
                  }
    
                  leaf mdt-interface {
                    type xr:Interface-name;
                    description "MDT handle";
                  }
    
                  leaf mdt-gre-rpf-identifier {
                    type uint32;
                    description
                      "GRE-MDT RPF Identifier";
                  }
    
                  leaf mdt-gre-remote-rpf-identifier {
                    type uint32;
                    description
                      "GRE-MDT Remote RPF Identifier";
                  }
    
                  leaf is-unicast-rib-registration {
                    type boolean;
                    description
                      "Ucast RIB Registration";
                  }
    
                  leaf is-multicast-rib-registration {
                    type boolean;
                    description
                      "Mcast RIB Registration";
                  }
    
                  leaf is-active {
                    type boolean;
                    description "Active";
                  }
    
                  leaf is-active-ital {
                    type boolean;
                    description "Active ITAL";
                  }
    
                  leaf is-mrib-register {
                    type boolean;
                    description "MRIB Register";
                  }
    
                  leaf is-mdt-owner {
                    type boolean;
                    description "MDT Owner";
                  }
    
                  leaf is-routing-enabled {
                    type boolean;
                    description
                      "Routing Enabled";
                  }
    
                  leaf is-socket-add-required {
                    type boolean;
                    description
                      "VRF required on Socket";
                  }
    
                  leaf is-socket-added {
                    type boolean;
                    description
                      "VRF added on Socket";
                  }
    
                  leaf is-lpts-socket-add-required {
                    type boolean;
                    description
                      "VRF LPTS filter required on Socket";
                  }
    
                  leaf is-lpts-socket-added {
                    type boolean;
                    description
                      "VRF LPTS filter added on Socket";
                  }
    
                  leaf is-udp-socket-add-required {
                    type boolean;
                    description
                      "VRF added on UDP Socket";
                  }
    
                  leaf is-udp-socket-added {
                    type boolean;
                    description
                      "VRF added on UDP Socket";
                  }
    
                  leaf is-udp-socket-bind-required {
                    type boolean;
                    description
                      "VRF bind required on UDP Socket";
                  }
    
                  leaf is-udp-socket-bind {
                    type boolean;
                    description
                      "VRF bound on UDP Socket";
                  }
    
                  leaf is-register-injection-socket-add-required {
                    type boolean;
                    description
                      "VRF required on Register Injection Socket";
                  }
    
                  leaf is-register-injection-socket-added {
                    type boolean;
                    description
                      "VRF added on Register Injection Socket";
                  }
    
                  leaf is-register-injection-lpts-socket-add-required {
                    type boolean;
                    description
                      "VRF LPTS filter required on Register Injection
    Socket";
                  }
    
                  leaf is-register-injection-lpts-socket-added {
                    type boolean;
                    description
                      "VRF LPTS filter added on Register Injection
    Socket";
                  }
    
                  leaf is-m-host-publish-pending {
                    type boolean;
                    description
                      "Publish pending for MHost Default interface";
                  }
    
                  leaf mhost-interface {
                    type xr:Interface-name;
                    description "MHost handle";
                  }
    
                  leaf mhost-default-interface-config {
                    type string;
                    description
                      "Configured Mhost Defint";
                  }
    
                  leaf mdt-mtu {
                    type uint32;
                    description "MDT MTU";
                  }
    
                  leaf maximum-mdt-aggregation {
                    type uint32;
                    description
                      "MDT max aggregation";
                  }
    
                  leaf mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Data MDT Switchover interval";
                  }
    
                  leaf mdt-data-announce-interval {
                    type uint32;
                    description
                      "Data MDT Announce interval";
                  }
    
                  leaf non-default-vrf-count-on-socket {
                    type uint32;
                    description
                      "Count of non-default vrfs on raw socket";
                  }
    
                  leaf neighbor-filter-name {
                    type string;
                    description
                      "Neighbor Filter Name";
                  }
    
                  leaf mdt-neighbor-filter-name {
                    type string;
                    description
                      "MDT Neighbor Filter Name";
                  }
    
                  leaf allow-rp-configured {
                    type boolean;
                    description
                      "Allow RP Configured";
                  }
    
                  leaf allow-rp-group-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "Allow RP Group-List ACL Name";
                  }
    
                  leaf allow-rp-rp-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "Allow RP RP-list ACL Name";
                  }
    
                  leaf sg-expiry-timer-configured {
                    type boolean;
                    description
                      "S,G Expiry Timer Configured";
                  }
    
                  leaf sg-expiry-time {
                    type uint16;
                    units "second";
                    description
                      "S,G Expiry Time Configured, in seconds";
                  }
    
                  leaf sg-expiry-timer-sg-list {
                    type string {
                      length "0..64";
                    }
                    description
                      "S,G expiry timer ACL name";
                  }
    
                  leaf mldp-mdt-name {
                    type string;
                    description "MLDP MDT Name";
                  }
    
                  leaf mldp-mdt-interface {
                    type xr:Interface-name;
                    description
                      "MLDP MDT handle";
                  }
    
                  leaf mldp-mdt-mtu {
                    type uint32;
                    description "MLDP MDT MTU";
                  }
    
                  leaf mldp-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "MLDP MDT max aggregation";
                  }
    
                  leaf mldp-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "MLDP Data MDT Switchover interval";
                  }
    
                  leaf mldp-mdt-data-announce-interval {
                    type uint32;
                    description
                      "MLDP Data MDT Announce interval";
                  }
    
                  leaf mldp-mdt-rpf-identifier {
                    type uint32;
                    description "MLDP RPF-ID";
                  }
    
                  leaf mldp-mdt-remote-rpf-identifier {
                    type uint32;
                    description
                      "MLDP Remote RPF-ID";
                  }
    
                  leaf is-create-mldp-mdt-interface {
                    type boolean;
                    description
                      "Create MLDP MDT interface";
                  }
    
                  leaf is-mldp-mdt-owner {
                    type boolean;
                    description "MLDP MDT Owner";
                  }
    
                  leaf mldp-root-count {
                    type uint32;
                    description
                      "MLDP Root count";
                  }
    
                  leaf mldp-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP Head LSM-ID";
                  }
    
                  leaf mldp-remote-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP Remote Head LSM-ID";
                  }
    
                  leaf organization-unique-identifier {
                    type uint32;
                    description "OUI for VPN-ID";
                  }
    
                  leaf vpn-index {
                    type uint32;
                    description "VPN Index";
                  }
    
                  leaf mldp-partitioned-mdt-configured {
                    type boolean;
                    description
                      "MLDP Partitioned MDT";
                  }
    
                  leaf mldp-remote-partitioned-mdt-configured {
                    type boolean;
                    description
                      "MLDP Remote Partitioned MDT";
                  }
    
                  leaf mldp-partioned-mp2m-ptree {
                    type boolean;
                    description
                      "MP2MP Partitioned MDT tree";
                  }
    
                  leaf mldp-partitioned-head-lsm-identifier {
                    type uint32;
                    description
                      "Partitioned MDT Head LSM-ID";
                  }
    
                  leaf mldp-head-local-label {
                    type uint32;
                    description
                      "Partitioned MDT Head local label";
                  }
    
                  leaf mldp-partitioned-mdt-identifier {
                    type uint32;
                    description
                      "MLDP Partitioned MDT Identifier";
                  }
    
                  leaf bgp-auto-discovery-configured {
                    type boolean;
                    description
                      "BGP Auto-Discovery configured";
                  }
    
                  leaf suppress-pim-data-mdt-tlv {
                    type boolean;
                    description
                      "Suppress PIM Data-MDT TLV Announcements";
                  }
    
                  leaf inter-autonomous-system-enabled {
                    type boolean;
                    description
                      "Inter-AS Enabled";
                  }
    
                  leaf bgp-source-active-announce {
                    type boolean;
                    description
                      "Send BGP Source-Active Announcements";
                  }
    
                  leaf bgp-i-pmsi-added {
                    type boolean;
                    description
                      "BGP I-PMSI Added";
                  }
    
                  leaf mldp-bsr-control-tree-added {
                    type boolean;
                    description
                      "MLDP BSR Control tree added";
                  }
    
                  leaf mldp-auto-rp-discovery-tree-added {
                    type boolean;
                    description
                      "MLDP Autorp Discovery Control tree added";
                  }
    
                  leaf mldp-auto-rp-announce-tree-added {
                    type boolean;
                    description
                      "MLDP Autorp Announce Control tree added";
                  }
    
                  leaf bgp-auto-discovery-type {
                    type uint32;
                    description
                      "BGP Auto Discovery Type";
                  }
    
                  leaf mdt-partitioned-mdt-control-identifier {
                    type uint32;
                    description
                      "Partitioned MDT Control Identifier";
                  }
    
                  leaf mdt-partitioned-ir-control-identifier {
                    type uint32;
                    description
                      "Partitioned IR MDT Control Identifier";
                  }
    
                  leaf mldp-control-head-lsm-identifier {
                    type uint32;
                    description
                      "MLDP MVPN Identifier";
                  }
    
                  leaf umh {
                    type boolean;
                    description
                      "Join UMH Core-Tree";
                  }
    
                  leaf suppress-shared-tree-join {
                    type boolean;
                    description
                      "Suppress Shared-Tree Joins";
                  }
    
                  leaf rsvp-te-mdt-name {
                    type string;
                    description
                      "RSVP-TE MDT Name";
                  }
    
                  leaf rsvp-te-mdt-interface {
                    type xr:Interface-name;
                    description
                      "RSVP-TEMDT handle";
                  }
    
                  leaf rsvp-te-mdt-mtu {
                    type uint32;
                    description "RSVP-TEMDT MTU";
                  }
    
                  leaf rsvp-te-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "RSVP-TE MDT max aggregation";
                  }
    
                  leaf rsvp-te-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "RSVP-TE Data MDT Switchover interval";
                  }
    
                  leaf rsvp-te-mdt-data-announce-interval {
                    type uint32;
                    description
                      "RSVP-TE Data MDT Announce interval";
                  }
    
                  leaf rsvp-te-mdt-rpf-identifier {
                    type uint32;
                    description "RSVP-TE RPF-ID";
                  }
    
                  leaf is-create-rsvp-te-mdt-interface {
                    type boolean;
                    description
                      "Create RSVP-TE MDT interface";
                  }
    
                  leaf is-rsvp-te-mdt-owner {
                    type boolean;
                    description
                      "RSVP-TE MDT Owner";
                  }
    
                  leaf rsvp-te-mdt-static-p2mp-count {
                    type uint32;
                    description
                      "Number of Static P2MP-TE MDT";
                  }
    
                  leaf p2mpte-li-drop {
                    type uint32;
                    description
                      "Route LI updates dropped for P2MP";
                  }
    
                  leaf ir-mdt-name {
                    type string;
                    description "IR MDT Name";
                  }
    
                  leaf ir-mdt-interface {
                    type xr:Interface-name;
                    description "IRMDT handle";
                  }
    
                  leaf ir-mdt-mtu {
                    type uint32;
                    description "IRMDT MTU";
                  }
    
                  leaf ir-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "IR MDT max aggregation";
                  }
    
                  leaf ir-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "IR Data MDT Switchover interval";
                  }
    
                  leaf ir-mdt-data-announce-interval {
                    type uint32;
                    description
                      "IR Data MDT Announce interval";
                  }
    
                  leaf ir-mdt-rpf-identifier {
                    type uint32;
                    description "IR RPF-ID";
                  }
    
                  leaf ir-mdt-tail-label {
                    type uint32;
                    description "IR Tail Label";
                  }
    
                  leaf is-create-ir-mdt-interface {
                    type boolean;
                    description
                      "Create IR MDT interface";
                  }
    
                  leaf is-ir-mdt-owner {
                    type boolean;
                    description "IR MDT Owner";
                  }
    
                  leaf is-sr-local {
                    type boolean;
                    description "SR Local";
                  }
    
                  leaf is-sr-remote {
                    type boolean;
                    description "SR Remote";
                  }
    
                  leaf sr-mdt-name {
                    type string;
                    description "SR MDT Name";
                  }
    
                  leaf sr-mdt-interface {
                    type xr:Interface-name;
                    description "SRMDT handle";
                  }
    
                  leaf sr-mdt-mtu {
                    type uint32;
                    description "SRMDT MTU";
                  }
    
                  leaf sr-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "SR MDT max aggregation";
                  }
    
                  leaf sr-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "SR Data MDT Switchover interval";
                  }
    
                  leaf sr-mdt-data-announce-interval {
                    type uint32;
                    description
                      "SR Data MDT Announce interval";
                  }
    
                  leaf sr-mdt-rpf-identifier {
                    type uint32;
                    description "SR RPF-ID";
                  }
    
                  leaf sr-mdt-tail-label {
                    type uint32;
                    description "SR Tail Label";
                  }
    
                  leaf is-create-sr-mdt-interface {
                    type boolean;
                    description
                      "Create SR MDT interface";
                  }
    
                  leaf is-sr-mdt-owner {
                    type boolean;
                    description "SR MDT Owner";
                  }
    
                  leaf mdt-partitioned-tree-sid-control-identifier {
                    type uint32;
                    description
                      "Partitioned Tree-SID MDT Control Identifier";
                  }
    
                  leaf in-b-and-mdt-name {
                    type string;
                    description
                      "Inband MDT Name";
                  }
    
                  leaf in-b-and-mdt-interface {
                    type xr:Interface-name;
                    description
                      "Inband MDT handle";
                  }
    
                  leaf in-b-and-mdt-mtu {
                    type uint32;
                    description "Inband MDT MTU";
                  }
    
                  leaf in-band-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "Inband MDT max aggregation";
                  }
    
                  leaf in-b-and-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Inband Data MDT Switchover interval";
                  }
    
                  leaf in-b-and-mdt-data-announce-interval {
                    type uint32;
                    description
                      "Inband Data MDT Announce interval";
                  }
    
                  leaf in-b-and-mdt-rpf-identifier {
                    type uint32;
                    description "Inband RPF-ID";
                  }
    
                  leaf is-create-in-b-and-mdt-interface {
                    type boolean;
                    description
                      "Create Inband MDT interface";
                  }
    
                  leaf is-in-b-and-mdt-owner {
                    type boolean;
                    description
                      "Inband MDT Owner";
                  }
    
                  leaf in-band-signaling-local-enabled {
                    type boolean;
                    description
                      "Inband signaling Local enabled";
                  }
    
                  leaf in-band-signaling-remote-enabled {
                    type boolean;
                    description
                      "Inband signaling Remote enabled";
                  }
    
                  leaf valid-rd-present {
                    type boolean;
                    description "RD is valid";
                  }
    
                  leaf stale-rd-present {
                    type boolean;
                    description "RD is stale";
                  }
    
                  leaf route-distinguisher {
                    type yang:hex-string;
                    description "RD value";
                  }
    
                  leaf gin-b-and-mdt-name {
                    type string;
                    description
                      "Inband MDT Name";
                  }
    
                  leaf gin-b-and-mdt-interface {
                    type xr:Interface-name;
                    description
                      "Inband MDT handle";
                  }
    
                  leaf gin-b-and-mdt-mtu {
                    type uint32;
                    description "Inband MDT MTU";
                  }
    
                  leaf gin-band-maximum-mdt-aggregation {
                    type uint32;
                    description
                      "Inband MDT max aggregation";
                  }
    
                  leaf gin-b-and-mdt-data-switchover-interval {
                    type uint32;
                    description
                      "Inband Data MDT Switchover interval";
                  }
    
                  leaf gin-b-and-mdt-data-announce-interval {
                    type uint32;
                    description
                      "Inband Data MDT Announce interval";
                  }
    
                  leaf gin-b-and-mdt-rpf-identifier {
                    type uint32;
                    description "Inband RPF-ID";
                  }
    
                  leaf is-create-gin-b-and-mdt-interface {
                    type boolean;
                    description
                      "Create Inband MDT interface";
                  }
    
                  leaf is-gin-b-and-mdt-owner {
                    type boolean;
                    description
                      "Inband MDT Owner";
                  }
    
                  leaf is-pim-nsf-rib-converged {
                    type boolean;
                    description
                      "PIM NSF RIB converged";
                  }
    
                  leaf is-pim-nsf-rib-converge-received {
                    type boolean;
                    description
                      "PIM NSF RIB converge received";
                  }
    
                  leaf is-rib-multipath-enabled {
                    type boolean;
                    description
                      "PIM RIB multiplath enabled";
                  }
    
                  leaf is-rib-multipath-interface-hash {
                    type boolean;
                    description
                      "PIM RIB multipath interface hash";
                  }
    
                  leaf is-rib-multipath-source-hash {
                    type boolean;
                    description
                      "PIM RIB multipath source based hash";
                  }
    
                  leaf is-rib-multipath-source-next-hop-hash {
                    type boolean;
                    description
                      "PIM RIB multipath source-nexthop hash";
                  }
    
                  leaf rump-enabled {
                    type boolean;
                    description
                      "PIM is using MuRIB";
                  }
    
                  leaf is-create-mdt-interface {
                    type boolean;
                    description
                      "Create MDT interface";
                  }
    
                  leaf is-auto-rp-listen-enabled {
                    type boolean;
                    description
                      "Auto RP Listen Enabled";
                  }
    
                  leaf is-all-interface-disable-operation {
                    type boolean;
                    description
                      "PIM all interface disable operation";
                  }
    
                  leaf is-default-granges {
                    type boolean;
                    description
                      "Default granges";
                  }
    
                  leaf is-auto-rp-listen-sock-add {
                    type boolean;
                    description
                      "Auto RP listen sock add";
                  }
    
                  leaf is-redistribution-reset {
                    type boolean;
                    description
                      "Pending redist reset";
                  }
    
                  leaf redistribution-reset-count {
                    type uint32;
                    description
                      "Redist reset count";
                  }
    
                  leaf rpf-policy-name {
                    type string;
                    description
                      "RPF topology selection route-policy name";
                  }
    
                  leaf table-count {
                    type uint32;
                    description
                      "Number of configured Tables";
                  }
    
                  leaf active-table-count {
                    type uint32;
                    description
                      "Number of active Tables";
                  }
    
                  leaf anycast-rp-policy-name {
                    type string;
                    description
                      "Anycast-RP Policy Name";
                  }
    
                  leaf anycast-rp-configured {
                    type boolean;
                    description
                      "Anycast-RP config";
                  }
    
                  leaf bgp-remote-on {
                    type boolean;
                    description
                      "BGP remote interface status";
                  }
    
                  leaf bgp-remote-interface-name {
                    type string;
                    description
                      "BGP remote interface name";
                  }
    
                  leaf bgp-remote-interface {
                    type xr:Interface-name;
                    description
                      "BGP remote interface handle";
                  }
    
                  leaf bgp-remote-address {
                    type inet:ipv4-address;
                    description
                      "BGP remote interface address";
                  }
    
                  leaf bgp-remote-state {
                    type uint32;
                    description
                      "BGP remote interface state";
                  }
    
                  leaf physical-interface-count {
                    type uint64;
                    description
                      "Enabled Physical Interface Count";
                  }
    
                  leaf virtual-interface-count {
                    type uint64;
                    description
                      "Enabled Virtual Interface Count";
                  }
    
                  leaf virtual-mlc-interface-name {
                    type string;
                    description
                      "Virtual master line card Interface";
                  }
    
                  leaf mdt-immediate-switch {
                    type boolean;
                    description
                      "MDT Immediate Switch";
                  }
    
                  leaf remote-mdt-idb-name {
                    type string;
                    description
                      "Remote MDT Interface Handle Name";
                  }
    
                  leaf remote-mdt-address {
                    type inet:ipv4-address;
                    description
                      "Remote MDT interface address";
                  }
    
                  leaf-list mldp-root-address {
                    type uint32;
                    description
                      "MLDP Root addresses";
                  }
    
                  list export-route-target {
                    description
                      "Export Route Targets";
                    leaf route-target {
                      type yang:hex-string;
                      description
                        "Route Target Extended community value";
                    }
    
                    leaf configured {
                      type boolean;
                      description
                        "Configured Route Target";
                    }
    
                    leaf anycast-rp {
                      type boolean;
                      description
                        "Anycast-RP Group";
                    }
    
                    leaf anycast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Group marked";
                    }
    
                    leaf update-pending {
                      type boolean;
                      description
                        "Update Pending to BGP";
                    }
    
                    leaf bgp-auto-discovery {
                      type boolean;
                      description
                        "BGP Auto Discovery";
                    }
    
                    leaf segment-border {
                      type boolean;
                      description
                        "Segment Border";
                    }
                  }  // list export-route-target
    
                  list import-route-target {
                    description
                      "Import Route Targets";
                    leaf route-target {
                      type yang:hex-string;
                      description
                        "Route Target Extended community value";
                    }
    
                    leaf configured {
                      type boolean;
                      description
                        "Configured Route Target";
                    }
    
                    leaf anycast-rp {
                      type boolean;
                      description
                        "Anycast-RP Group";
                    }
    
                    leaf anycast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Group marked";
                    }
    
                    leaf update-pending {
                      type boolean;
                      description
                        "Update Pending to BGP";
                    }
    
                    leaf bgp-auto-discovery {
                      type boolean;
                      description
                        "BGP Auto Discovery";
                    }
    
                    leaf segment-border {
                      type boolean;
                      description
                        "Segment Border";
                    }
                  }  // list import-route-target
    
                  list anycast-rp-range {
                    description
                      "Anycast-RP Ranges";
                    container prefix {
                      description
                        "Anycast-RP Range Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    leaf prefix-length {
                      type uint8;
                      description
                        "Anycast-RP Range Prefix Length";
                    }
    
                    leaf ancast-rp-marked {
                      type boolean;
                      description
                        "Anycast-RP Range marked";
                    }
                  }  // list anycast-rp-range
                }  // container context
    
                container topology-entry-flag-route-counts {
                  description
                    "Route count for topology with entry flag set";
                  list topology-entry-flag-route-count {
                    key "entry-flag";
                    description
                      "Route count for topology with entry flag set";
                    leaf entry-flag {
                      type Pim-topology-entry-flag;
                      description "entry flag";
                    }
    
                    leaf group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes";
                    }
    
                    leaf active-group-ranges {
                      type uint32;
                      description
                        "No. of (*,G/M) routes active in mrib";
                    }
    
                    leaf groute-count {
                      type uint32;
                      description
                        "No. of (*,G) routes";
                    }
    
                    leaf sg-route-count {
                      type uint32;
                      description
                        "No. of (S,G) routes";
                    }
    
                    leaf sgr-route-count {
                      type uint32;
                      description
                        "No. of (S,G)RPT routes";
                    }
    
                    leaf is-node-low-memory {
                      type boolean;
                      description
                        "Is node in low memory condition";
                    }
                  }  // list topology-entry-flag-route-count
                }  // container topology-entry-flag-route-counts
    
                container rpf-redirect {
                  description
                    "PIM ECMP RPF-redirect bundle";
                  container redirect-route-databases {
                    description
                      "PIM ECMP RPF-redirect route database";
                    list redirect-route-database {
                      key "source-address group-address";
                      description
                        "PIM ECMP RPF-redirect route information";
                      leaf source-address {
                        type inet:ip-address-no-zone;
                        description
                          "Source address";
                      }
    
                      leaf group-address {
                        type inet:ip-address-no-zone;
                        description
                          "Group address";
                      }
    
                      container group-address-xr {
                        description
                          "Group ddress";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container group-address-xr
    
                      container source-address-xr {
                        description
                          "Source address";
                        leaf af-name {
                          type Pim-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Address";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Address";
                        }
                      }  // container source-address-xr
    
                      leaf bandwidth {
                        type uint32;
                        units "kbit/s";
                        description
                          "Bandwidth in Kbps";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      list interface {
                        description
                          "Outgoing interface list";
                        container rpf-address {
                          description
                            "RPF Address";
                          leaf af-name {
                            type Pim-afi;
                            description "AFName";
                          }
    
                          leaf ipv4-address {
                            when
                              "../af-name = 'ipv4-unicast'" {
                              description
                                "../AFName = 'IPv4Unicast'";
                            }
                            type inet:ipv4-address;
                            description
                              "IPv4 Address";
                          }
    
                          leaf ipv6-address {
                            when
                              "../af-name = 'ipv6-unicast'" {
                              description
                                "../AFName = 'IPv6Unicast'";
                            }
                            type Ipv6-address;
                            description
                              "IPV6 Address";
                          }
                        }  // container rpf-address
    
                        leaf interface-name {
                          type xr:Interface-name;
                          description
                            "Interface name";
                        }
    
                        leaf uptime {
                          type uint64;
                          units "second";
                          description
                            "Uptime in seconds";
                        }
    
                        leaf expiry {
                          type uint64;
                          units "second";
                          description
                            "Expiry in seconds";
                        }
    
                        leaf is-rpf-interface {
                          type boolean;
                          description
                            "Is RPF Interface";
                        }
    
                        leaf is-outgoing-interface {
                          type boolean;
                          description
                            "Is outgoing Interface";
                        }
    
                        leaf is-snoop-interface {
                          type boolean;
                          description
                            "Is snooping Interface";
                        }
                      }  // list interface
                    }  // list redirect-route-database
                  }  // container redirect-route-databases
    
                  container bundle-interfaces {
                    description
                      "PIM ECMP RPF-redirect bundle information";
                    list bundle-interface {
                      key "bundle-name interface-name";
                      description
                        "PIM ECMP RPF-redirect bundle interface
    information";
                      leaf bundle-name {
                        type xr:Cisco-ios-xr-string {
                          length "1..32";
                        }
                        description
                          "Bundle name";
                      }
    
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Bundle interface name";
                      }
    
                      leaf rpf-redirect-bundle-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "RPF redirect bundle name";
                      }
    
                      leaf rpf-redirect-interface-name {
                        type string {
                          length "0..33";
                        }
                        description
                          "RPF redirect interface name";
                      }
    
                      leaf available-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth available in Kbps";
                      }
    
                      leaf allocated-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth allocated in Kbps";
                      }
    
                      leaf total-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Total bandwidth used in Kbps";
                      }
    
                      leaf topology-bandwidth-used {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth used by topology in Kbps";
                      }
    
                      leaf snooping-bandwidth-used {
                        type int32;
                        units "kbit/s";
                        description
                          "Bandwidth used by snooped entries in Kbps";
                      }
    
                      leaf allocated-threshold-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Configured threshold in Kbps";
                      }
    
                      leaf available-threshold-bandwidth {
                        type int32;
                        units "kbit/s";
                        description
                          "Available threshold in Kbps";
                      }
                    }  // list bundle-interface
                  }  // container bundle-interfaces
                }  // container rpf-redirect
    
                container tunnels {
                  description
                    "Tunnels information that PIM has";
                  list tunnel {
                    key "tunnel-name";
                    description
                      "PIM tunnel information";
                    leaf tunnel-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "Tunnel name";
                    }
    
                    container source-address {
                      description
                        "Source addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address
    
                    container rp-address {
                      description
                        "RP addr known to PIM";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container rp-address
    
                    container source-address-netio {
                      description
                        "Source addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container source-address-netio
    
                    container group-address-netio {
                      description
                        "Group addr from netio";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container group-address-netio
    
                    leaf vrf-name {
                      type string {
                        length "0..33";
                      }
                      description "VRF Name";
                    }
                  }  // list tunnel
                }  // container tunnels
    
                container multicast-static-routes {
                  description
                    "PIM multicast static route table";
                  list multicast-static-route {
                    key "address prefix-length";
                    description
                      "PIM multicast static route information";
                    leaf address {
                      type inet:ip-address-no-zone;
                      description
                        "Network address";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    container prefix {
                      description "Prefix";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container prefix
    
                    container nexthop {
                      description "Next Hop";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // container nexthop
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Handle";
                    }
    
                    leaf distance {
                      type uint32;
                      description "Distance";
                    }
    
                    leaf prefix-length-xr {
                      type uint8;
                      description
                        "Prefix Length";
                    }
    
                    leaf is-via-lsm {
                      type boolean;
                      description "LSM flag";
                    }
                  }  // list multicast-static-route
                }  // container multicast-static-routes
    
                container neighbors {
                  description
                    "PIM neighbor table";
                  list neighbor {
                    key "interface-name neighbor-address";
                    description
                      "PIM neighbor information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf neighbor-address {
                      type inet:ip-address-no-zone;
                      description
                        "Neighbor address";
                    }
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description
                        "Interface Identifier";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expires {
                      type uint64;
                      units "second";
                      description
                        "Neighbor expiry in seconds";
                    }
    
                    leaf expiry-timer {
                      type uint64;
                      units "second";
                      description
                        "Expiry timer in seconds";
                    }
    
                    leaf is-this-neighbor-us {
                      type boolean;
                      description
                        "Is this neighbor us ?";
                    }
    
                    leaf is-this-neighbor-dr {
                      type boolean;
                      description
                        "Is this neighbor the DR";
                    }
    
                    leaf is-dr-priority-capable {
                      type boolean;
                      description
                        "Is this neighbor DR priority capable ?";
                    }
    
                    leaf dr-priority {
                      type uint32;
                      description "DR priority";
                    }
    
                    leaf is-bidirectional-capable {
                      type boolean;
                      description
                        "Is this neighbor bidir capable ?";
                    }
    
                    leaf is-proxy-capable {
                      type boolean;
                      description
                        "Is this neighbor proxy capable?";
                    }
    
                    leaf is-batch-asserts-capable {
                      type boolean;
                      description
                        "Is this neighbor capable of batching asserts?";
                    }
    
                    leaf is-ecmp-redirect-capable {
                      type boolean;
                      description
                        "Is this neighbor capable of Ecmp Redirect?";
                    }
    
                    leaf is-bfd-state {
                      type boolean;
                      description
                        "Is the neighbor bfd session created";
                    }
    
                    leaf sticky-dr-neighbor {
                      type boolean;
                      description
                        "Is Sticky DR advertised on interface by neighbor";
                    }
    
                    leaf propagation-delay {
                      type uint16;
                      description
                        "Propagation Delay";
                    }
    
                    leaf override-interval {
                      type uint16;
                      description
                        "Override Interval";
                    }
    
                    list neighbor-address-xr {
                      description
                        "List of Neighbor Addresses";
                      leaf af-name {
                        type Pim-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 Address";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description
                          "IPV6 Address";
                      }
                    }  // list neighbor-address-xr
                  }  // list neighbor
                }  // container neighbors
              }  // list vrf
            }  // container vrfs
          }  // container active
        }  // container ipv6-pim
    
        container pim6-ma {
          config false;
          description "PIM6 MA operational data";
          container active {
            description "Active Process";
            container interface-table {
              description "Interface Table";
              container interface-by-handles {
                description
                  "Table of PIM MA interfaces indexed by handle";
                list interface-by-handle {
                  key "interface-handle";
                  description
                    "PIM MA interface referenced by handle";
                  leaf interface-handle {
                    type uint32;
                    description
                      "Interface handle";
                  }
    
                  container rp-address {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf vrf-name {
                    type string;
                    description "VRF Name";
                  }
    
                  leaf interface-type {
                    type Pim-interface;
                    description "Interface Type";
                  }
                }  // list interface-by-handle
              }  // container interface-by-handles
    
              container interface-by-names {
                description
                  "Table of PIM MA interfaces indexed by name";
                list interface-by-name {
                  key "interface-name";
                  description
                    "PIM MA interface referenced by name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf vrf-name {
                    type string;
                    description "VRF Name";
                  }
    
                  leaf interface-type {
                    type Pim-interface;
                    description "Interface Type";
                  }
                }  // list interface-by-name
              }  // container interface-by-names
            }  // container interface-table
    
            container pim-ma-summary {
              description "PIM MA summary";
              leaf is-im-connection-open {
                type boolean;
                description "IM Connection Open";
              }
    
              leaf is-netio-connection-open {
                type boolean;
                description
                  "Netio Connection Open";
              }
    
              leaf is-edm-connection-open {
                type boolean;
                description
                  "EDM Connection Open";
              }
    
              leaf is-standby-edm-connection-open {
                type boolean;
                description
                  "Standby EDM Connection Open";
              }
    
              leaf encap-interface-count {
                type uint32;
                description
                  "Encap Interface Count";
              }
    
              leaf decap-interface-count {
                type uint32;
                description
                  "Decap Interface Count";
              }
    
              leaf mdt-interface-count {
                type uint32;
                description
                  "MDT Interface Count";
              }
            }  // container pim-ma-summary
          }  // container active
    
          container standby {
            description "Standby Process";
            container interface-table {
              description "Interface Table";
              container interface-by-handles {
                description
                  "Table of PIM MA interfaces indexed by handle";
                list interface-by-handle {
                  key "interface-handle";
                  description
                    "PIM MA interface referenced by handle";
                  leaf interface-handle {
                    type uint32;
                    description
                      "Interface handle";
                  }
    
                  container rp-address {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf vrf-name {
                    type string;
                    description "VRF Name";
                  }
    
                  leaf interface-type {
                    type Pim-interface;
                    description "Interface Type";
                  }
                }  // list interface-by-handle
              }  // container interface-by-handles
    
              container interface-by-names {
                description
                  "Table of PIM MA interfaces indexed by name";
                list interface-by-name {
                  key "interface-name";
                  description
                    "PIM MA interface referenced by name";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container rp-address {
                    description "RP Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container rp-address
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Pim-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Address";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Address";
                    }
                  }  // container source-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf vrf-name {
                    type string;
                    description "VRF Name";
                  }
    
                  leaf interface-type {
                    type Pim-interface;
                    description "Interface Type";
                  }
                }  // list interface-by-name
              }  // container interface-by-names
            }  // container interface-table
    
            container pim-ma-summary {
              description "PIM MA summary";
              leaf is-im-connection-open {
                type boolean;
                description "IM Connection Open";
              }
    
              leaf is-netio-connection-open {
                type boolean;
                description
                  "Netio Connection Open";
              }
    
              leaf is-edm-connection-open {
                type boolean;
                description
                  "EDM Connection Open";
              }
    
              leaf is-standby-edm-connection-open {
                type boolean;
                description
                  "Standby EDM Connection Open";
              }
    
              leaf encap-interface-count {
                type uint32;
                description
                  "Encap Interface Count";
              }
    
              leaf decap-interface-count {
                type uint32;
                description
                  "Decap Interface Count";
              }
    
              leaf mdt-interface-count {
                type uint32;
                description
                  "MDT Interface Count";
              }
            }  // container pim-ma-summary
          }  // container standby
        }  // container pim6-ma
      }  // module Cisco-IOS-XR-pim-oper
    

© 2023 YumaWorks, Inc. All rights reserved.