Cisco-IOS-XR-igmp-oper

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

  • Version: 2021-02-03

    Cisco-IOS-XR-igmp-oper@2021-02-03


    
      module Cisco-IOS-XR-igmp-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-igmp-oper";
    
        prefix igmp-oper;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        include Cisco-IOS-XR-igmp-oper-sub1 {
          revision-date "2021-02-03";
        }
    
        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 igmp package operational data.
    
    This module contains definitions
    for the following management objects:
      igmp: IGMP operational data
    
    Copyright (c) 2013-2021 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2021-02-03" {
          description
            "Added DVMRP packet counter tracking for malloc and free.
    2020-10-13
      Depreciated to Cisco-IOS-XR-igmp-oper";
        }
    
        revision "2019-08-27" {
          description
            "Initial IOS-XR IGMP native model";
        }
    
        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 Igmpssm-map {
          type enumeration {
            enum "static" {
              value 0;
              description "Static";
            }
            enum "dns" {
              value 1;
              description "Dns";
            }
            enum "all" {
              value 2;
              description "All";
            }
          }
          description "Igmpssm map";
        }
    
        container igmp {
          config false;
          description "IGMP operational data";
          container standby {
            description "Standby Process";
            container vrf-table {
              description "VRF Table";
              list vrf {
                key "vrf-name";
                description "VRF table Names";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description "VRF name";
                }
    
                container summary {
                  description
                    "IGMP Summary Information";
                  leaf robustness {
                    type uint32;
                    description
                      "Robustness variable";
                  }
    
                  leaf group-limit {
                    type uint32;
                    description
                      "Maximum groups accepted";
                  }
    
                  leaf group-count {
                    type uint32;
                    description
                      "Current groups accepted";
                  }
    
                  leaf is-disabled {
                    type boolean;
                    description
                      "Is maximum enforcement disabled";
                  }
    
                  leaf is-evpn-connection-up {
                    type boolean;
                    description
                      "Is EVPN connection up";
                  }
    
                  leaf supported-interfaces {
                    type uint32;
                    description
                      "No. of supported interfaces";
                  }
    
                  leaf unsupported-interfaces {
                    type uint32;
                    description
                      "No. of unsupported interfaces";
                  }
    
                  leaf enabled-interface-count {
                    type uint32;
                    description
                      "No. of enabled interfaces";
                  }
    
                  leaf disabled-interface-count {
                    type uint32;
                    description
                      "No. of disabled interfaces";
                  }
    
                  leaf multi-homing-enabled-interfaces {
                    type uint32;
                    description
                      "No. of EVPN MH enabled interfaces";
                  }
    
                  leaf tunnel-mte-config-count {
                    type uint32;
                    description
                      "No. of static group commands";
                  }
    
                  leaf node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
    
                  leaf querier-number {
                    type uint32;
                    description
                      "Number of querier interfaces";
                  }
    
                  list interface {
                    description
                      "Maximum and current groups accepted for each
    interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf group-limit {
                      type uint32;
                      description
                        "Maximum groups accepted per interface";
                    }
    
                    leaf group-count {
                      type uint32;
                      description
                        "Current groups accepted per interface";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent if handle";
                    }
    
                    leaf on-off {
                      type boolean;
                      description
                        "Enabled/Disabled";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since router enabled event";
                    }
                  }  // list interface
                }  // container summary
    
                container interface-state-ons {
                  description
                    "IGMP Interface state on";
                  list interface-state-on {
                    key "interface-name";
                    description "IGMP Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    container address {
                      description "IP address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    container querier-address {
                      description
                        "Address of the Querier";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container querier-address
    
                    container subscriber-address {
                      description
                        "Address of subscriber";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container subscriber-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf state {
                      type Im-state;
                      description
                        "Interface state";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf is-interface-up {
                      type boolean;
                      description
                        "Is interface up";
                    }
    
                    leaf is-ip-enabled {
                      type boolean;
                      description
                        "Is IP enabled";
                    }
    
                    leaf is-router-enabled {
                      type boolean;
                      description
                        "Is Router functionality enabled";
                    }
    
                    leaf is-multi-homing-enabled {
                      type boolean;
                      description
                        "Is Multihoming enabled";
                    }
    
                    leaf is-multi-homing-stale {
                      type boolean;
                      description
                        "Is Multihoming Update stale";
                    }
    
                    leaf igmp-version {
                      type uint8;
                      description
                        "IGMP Router version";
                    }
    
                    leaf host-version {
                      type uint8;
                      description
                        "IGMP Host version";
                    }
    
                    leaf query-interval {
                      type uint16;
                      units "second";
                      description
                        "Query Interval value in seconds";
                    }
    
                    leaf query-timeout {
                      type uint16;
                      description
                        "Query Timeout value";
                    }
    
                    leaf query-maximum-response-time {
                      type uint16;
                      description
                        "Max Response Timeout value";
                    }
    
                    leaf last-member-query-interval {
                      type uint16;
                      description
                        "Last Member Query Interval";
                    }
    
                    leaf group-joins {
                      type uint32;
                      description
                        "No. of group joins";
                    }
    
                    leaf group-leaves {
                      type uint32;
                      description
                        "No. of group leaves";
                    }
    
                    leaf is-querier {
                      type boolean;
                      description
                        "Are we querier";
                    }
    
                    leaf total-active-groups {
                      type uint32;
                      description
                        "Actual number of groups on interface";
                    }
    
                    leaf robustness {
                      type uint32;
                      description
                        "Robustness Variable value";
                    }
    
                    leaf proxy-interface {
                      type xr:Interface-name;
                      description
                        "Proxy interface index";
                    }
    
                    leaf querier-uptime {
                      type uint16;
                      description
                        "Time since the last querier took over";
                    }
    
                    leaf las-ll-registration-count {
                      type uint32;
                      description
                        "LAS reg count";
                    }
    
                    leaf las-get-address-count {
                      type uint32;
                      description
                        "LAS get addr count";
                    }
    
                    leaf las-update-count {
                      type uint32;
                      description
                        "LAS Update count";
                    }
    
                    leaf las-ll-remove-update-count {
                      type uint32;
                      description
                        "LAS LL remove update count";
                    }
    
                    leaf las-ll-add-update-count {
                      type uint32;
                      description
                        "LAS LL add update count";
                    }
    
                    leaf las-null-update-count {
                      type uint32;
                      description
                        "LAS Null update count";
                    }
    
                    leaf las-unregistration-count {
                      type uint32;
                      description
                        "LAS unreg count";
                    }
    
                    leaf is-las-request {
                      type boolean;
                      description "LAS req";
                    }
    
                    leaf is-las-registered {
                      type boolean;
                      description
                        "LAS registered";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF id";
                    }
    
                    leaf mte-vrf-id {
                      type uint32;
                      description "MTE VRF id";
                    }
    
                    leaf location {
                      type uint32;
                      description "Location";
                    }
    
                    leaf mtu {
                      type uint32;
                      description "MTU";
                    }
    
                    leaf vrf-state {
                      type uint32;
                      description "Vrf State";
                    }
    
                    leaf is-configurationverify {
                      type boolean;
                      description "CFG verify";
                    }
    
                    leaf configurationvrf-set {
                      type boolean;
                      description "CFG vrf set";
                    }
    
                    leaf configurationvrf-error {
                      type boolean;
                      description
                        "CFG vrf error";
                    }
    
                    leaf configuration-mcast-vrf-set {
                      type boolean;
                      description "Is mcast set";
                    }
    
                    leaf configuration-mcast-vrf-error {
                      type boolean;
                      description
                        "Is mcast error";
                    }
    
                    leaf is-im-state-registered {
                      type boolean;
                      description
                        "Im state registered";
                    }
    
                    leaf is-subscriber {
                      type boolean;
                      description
                        "Subscriber interface";
                    }
    
                    leaf subscriber-mode {
                      type uint32;
                      description
                        "Subscriber mode";
                    }
    
                    leaf is-identity-present {
                      type boolean;
                      description
                        "Subscriber ID or Address available from AAA";
                    }
    
                    leaf subscriber-id {
                      type string {
                        length "0..257";
                      }
                      description
                        "ID string of subscriber";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent If Handle";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Uptime since router enabled event";
                    }
    
                    leaf mte-tuple-count {
                      type uint32;
                      description
                        "MTE Tuple count";
                    }
                  }  // list interface-state-on
                }  // container interface-state-ons
    
                container detail-groups {
                  description
                    "IGMP Detail Group Database";
                  list detail-group {
                    key "group-address interface-name source-address";
                    description
                      "IGMP Detail Group Entry Information";
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group Address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source/Host Address";
                    }
    
                    container group-info {
                      description
                        "Basic Group information";
                      container group-address-xr {
                        description
                          "Group Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container group-address-xr
    
                      container last-reporter {
                        description
                          "Last reporter address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container last-reporter
    
                      container source-address {
                        description
                          "Source Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container source-address
    
                      leaf interface-name-xr {
                        type xr:Interface-name;
                        description "Interface";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiration-time {
                        type int32;
                        units "second";
                        description
                          "Expiration time in seconds";
                      }
    
                      leaf explicit-tracking-enabled {
                        type boolean;
                        description
                          "Is explicit tracking enabled";
                      }
    
                      leaf is-self-join {
                        type boolean;
                        description
                          "If local system is member of this group on this
    interface";
                      }
    
                      leaf row-status {
                        type string {
                          length "0..16";
                        }
                        description
                          "interface on or off for the group";
                      }
    
                      leaf is-low-memory {
                        type boolean;
                        description
                          "Node is running low on memory";
                      }
    
                      leaf router-filter-mode {
                        type uint8;
                        description
                          "Filter mode";
                      }
    
                      leaf older-host-version1-timer {
                        type uint32;
                        description
                          "IGMP Hostversion1timer";
                      }
    
                      leaf older-host-version2-timer {
                        type uint32;
                        description
                          "IGMP Hostversion2timer";
                      }
    
                      leaf is-added {
                        type boolean;
                        description "Joined";
                      }
    
                      leaf is-suppressed {
                        type boolean;
                        description "Suppressed";
                      }
    
                      leaf is-evpn-remote {
                        type boolean;
                        description
                          "EVPN remote flag";
                      }
    
                      leaf is-evpn-stale {
                        type boolean;
                        description
                          "EVPN stale flag";
                      }
                    }  // container group-info
    
                    leaf is-router-exclude-mode {
                      type boolean;
                      description
                        "Group router filter mode";
                    }
    
                    leaf is-host-exclude-mode {
                      type boolean;
                      description
                        "Group host filter mode";
                    }
    
                    list source {
                      description
                        "List of sources";
                      container source-address {
                        description
                          "Source Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container source-address
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiration-time {
                        type int32;
                        units "second";
                        description
                          "Expiration time in seconds";
                      }
    
                      leaf is-local {
                        type boolean;
                        description
                          "Is this a local source";
                      }
    
                      leaf is-remote {
                        type boolean;
                        description
                          "Is this a remote source";
                      }
    
                      leaf is-forward {
                        type boolean;
                        description
                          "Should we forward on this entry";
                      }
    
                      leaf is-we-report {
                        type boolean;
                        description
                          "Should we report the source";
                      }
    
                      leaf flags {
                        type int32;
                        description
                          "Source flags";
                      }
    
                      leaf is-added {
                        type boolean;
                        description "Joined";
                      }
    
                      leaf is-evpn-remote {
                        type boolean;
                        description
                          "Route learnt through EVPN";
                      }
                    }  // list source
                  }  // list detail-group
                }  // container detail-groups
    
                container non-active-groups {
                  description
                    "IGMP Non-Active Groups Information";
                  list non-active-groups {
                    description
                      "List of non-active groups";
                    container group-address {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address
    
                    container source-address {
                      description
                        "Source Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    leaf interface {
                      type string {
                        length "0..65";
                      }
                      description
                        "Interface Name";
                    }
    
                    leaf reason-for-non-activity {
                      type string {
                        length "0..257";
                      }
                      description
                        "Reason for group join not being processed";
                    }
                  }  // list non-active-groups
                }  // container non-active-groups
    
                container ssm-maps {
                  description "SSM Map Table";
                  list ssm-map {
                    key "ssm-map-type group-address";
                    description
                      "SSM Map information";
                    leaf ssm-map-type {
                      type Igmpssm-map;
                      description "SSM Map Type";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    leaf map-type {
                      type uint32;
                      description
                        "Map Type of group";
                    }
    
                    leaf source-counts {
                      type uint32;
                      description
                        "Count of Sources";
                    }
                  }  // list ssm-map
                }  // container ssm-maps
    
                container explicit-groups {
                  description
                    "IGMP Explicit Group Database";
                  list explicit-group {
                    key "group-address interface-name source-address";
                    description
                      "IGMP Explicit Group Entry Information";
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group Address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source/Host Address";
                    }
    
                    container group-info {
                      description
                        "Basic Group information";
                      container group-address-xr {
                        description
                          "Group Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container group-address-xr
    
                      container last-reporter {
                        description
                          "Last reporter address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container last-reporter
    
                      container source-address {
                        description
                          "Source Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container source-address
    
                      leaf interface-name-xr {
                        type xr:Interface-name;
                        description "Interface";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiration-time {
                        type int32;
                        units "second";
                        description
                          "Expiration time in seconds";
                      }
    
                      leaf explicit-tracking-enabled {
                        type boolean;
                        description
                          "Is explicit tracking enabled";
                      }
    
                      leaf is-self-join {
                        type boolean;
                        description
                          "If local system is member of this group on this
    interface";
                      }
    
                      leaf row-status {
                        type string {
                          length "0..16";
                        }
                        description
                          "interface on or off for the group";
                      }
    
                      leaf is-low-memory {
                        type boolean;
                        description
                          "Node is running low on memory";
                      }
    
                      leaf router-filter-mode {
                        type uint8;
                        description
                          "Filter mode";
                      }
    
                      leaf older-host-version1-timer {
                        type uint32;
                        description
                          "IGMP Hostversion1timer";
                      }
    
                      leaf older-host-version2-timer {
                        type uint32;
                        description
                          "IGMP Hostversion2timer";
                      }
    
                      leaf is-added {
                        type boolean;
                        description "Joined";
                      }
    
                      leaf is-suppressed {
                        type boolean;
                        description "Suppressed";
                      }
    
                      leaf is-evpn-remote {
                        type boolean;
                        description
                          "EVPN remote flag";
                      }
    
                      leaf is-evpn-stale {
                        type boolean;
                        description
                          "EVPN stale flag";
                      }
                    }  // container group-info
    
                    leaf include-hosts {
                      type uint32;
                      description
                        "No. of hosts who are included";
                    }
    
                    leaf exclude-hosts {
                      type uint32;
                      description
                        "No. of hosts who are excluded";
                    }
    
                    list host {
                      description
                        "List of hosts";
                      container address {
                        description
                          "Host Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container address
    
                      leaf uptime {
                        type uint32;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf is-exclude {
                        type boolean;
                        description
                          "Exclude flag set";
                      }
    
                      leaf expiration-time {
                        type uint32;
                        units "second";
                        description
                          "Expiration time in seconds";
                      }
    
                      leaf source-count {
                        type uint32;
                        description
                          "No. of sources in entry";
                      }
    
                      list source-address {
                        max-elements 3;
                        description
                          "First 3 source addresses";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // list source-address
                    }  // list host
                  }  // list explicit-group
                }  // container explicit-groups
    
                container interface-table {
                  description
                    "IGMP Interface specific Table";
                  list interface {
                    key "interface-name";
                    description "IGMP Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    container address {
                      description "IP address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    container querier-address {
                      description
                        "Address of the Querier";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container querier-address
    
                    container subscriber-address {
                      description
                        "Address of subscriber";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container subscriber-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf state {
                      type Im-state;
                      description
                        "Interface state";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf is-interface-up {
                      type boolean;
                      description
                        "Is interface up";
                    }
    
                    leaf is-ip-enabled {
                      type boolean;
                      description
                        "Is IP enabled";
                    }
    
                    leaf is-router-enabled {
                      type boolean;
                      description
                        "Is Router functionality enabled";
                    }
    
                    leaf is-multi-homing-enabled {
                      type boolean;
                      description
                        "Is Multihoming enabled";
                    }
    
                    leaf is-multi-homing-stale {
                      type boolean;
                      description
                        "Is Multihoming Update stale";
                    }
    
                    leaf igmp-version {
                      type uint8;
                      description
                        "IGMP Router version";
                    }
    
                    leaf host-version {
                      type uint8;
                      description
                        "IGMP Host version";
                    }
    
                    leaf query-interval {
                      type uint16;
                      units "second";
                      description
                        "Query Interval value in seconds";
                    }
    
                    leaf query-timeout {
                      type uint16;
                      description
                        "Query Timeout value";
                    }
    
                    leaf query-maximum-response-time {
                      type uint16;
                      description
                        "Max Response Timeout value";
                    }
    
                    leaf last-member-query-interval {
                      type uint16;
                      description
                        "Last Member Query Interval";
                    }
    
                    leaf group-joins {
                      type uint32;
                      description
                        "No. of group joins";
                    }
    
                    leaf group-leaves {
                      type uint32;
                      description
                        "No. of group leaves";
                    }
    
                    leaf is-querier {
                      type boolean;
                      description
                        "Are we querier";
                    }
    
                    leaf total-active-groups {
                      type uint32;
                      description
                        "Actual number of groups on interface";
                    }
    
                    leaf robustness {
                      type uint32;
                      description
                        "Robustness Variable value";
                    }
    
                    leaf proxy-interface {
                      type xr:Interface-name;
                      description
                        "Proxy interface index";
                    }
    
                    leaf querier-uptime {
                      type uint16;
                      description
                        "Time since the last querier took over";
                    }
    
                    leaf las-ll-registration-count {
                      type uint32;
                      description
                        "LAS reg count";
                    }
    
                    leaf las-get-address-count {
                      type uint32;
                      description
                        "LAS get addr count";
                    }
    
                    leaf las-update-count {
                      type uint32;
                      description
                        "LAS Update count";
                    }
    
                    leaf las-ll-remove-update-count {
                      type uint32;
                      description
                        "LAS LL remove update count";
                    }
    
                    leaf las-ll-add-update-count {
                      type uint32;
                      description
                        "LAS LL add update count";
                    }
    
                    leaf las-null-update-count {
                      type uint32;
                      description
                        "LAS Null update count";
                    }
    
                    leaf las-unregistration-count {
                      type uint32;
                      description
                        "LAS unreg count";
                    }
    
                    leaf is-las-request {
                      type boolean;
                      description "LAS req";
                    }
    
                    leaf is-las-registered {
                      type boolean;
                      description
                        "LAS registered";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF id";
                    }
    
                    leaf mte-vrf-id {
                      type uint32;
                      description "MTE VRF id";
                    }
    
                    leaf location {
                      type uint32;
                      description "Location";
                    }
    
                    leaf mtu {
                      type uint32;
                      description "MTU";
                    }
    
                    leaf vrf-state {
                      type uint32;
                      description "Vrf State";
                    }
    
                    leaf is-configurationverify {
                      type boolean;
                      description "CFG verify";
                    }
    
                    leaf configurationvrf-set {
                      type boolean;
                      description "CFG vrf set";
                    }
    
                    leaf configurationvrf-error {
                      type boolean;
                      description
                        "CFG vrf error";
                    }
    
                    leaf configuration-mcast-vrf-set {
                      type boolean;
                      description "Is mcast set";
                    }
    
                    leaf configuration-mcast-vrf-error {
                      type boolean;
                      description
                        "Is mcast error";
                    }
    
                    leaf is-im-state-registered {
                      type boolean;
                      description
                        "Im state registered";
                    }
    
                    leaf is-subscriber {
                      type boolean;
                      description
                        "Subscriber interface";
                    }
    
                    leaf subscriber-mode {
                      type uint32;
                      description
                        "Subscriber mode";
                    }
    
                    leaf is-identity-present {
                      type boolean;
                      description
                        "Subscriber ID or Address available from AAA";
                    }
    
                    leaf subscriber-id {
                      type string {
                        length "0..257";
                      }
                      description
                        "ID string of subscriber";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent If Handle";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Uptime since router enabled event";
                    }
    
                    leaf mte-tuple-count {
                      type uint32;
                      description
                        "MTE Tuple count";
                    }
                  }  // list interface
                }  // container interface-table
    
                container interface-unicast-qos-adjusts {
                  description
                    "IGMP Interface Unicast-Qos-Adjust";
                  list interface-unicast-qos-adjust {
                    key "interface-name";
                    description "IGMP Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    leaf is-virtual-access {
                      type boolean;
                      description
                        "Is VirtualAccess Interface";
                    }
    
                    leaf rate {
                      type uint32;
                      units "kbit/s";
                      description
                        "Overall rate in Kbps";
                    }
    
                    leaf rate-increments {
                      type uint32;
                      description
                        "Count of rate increments";
                    }
    
                    leaf rate-decrements {
                      type uint32;
                      description
                        "Count of rate decrements";
                    }
    
                    list update {
                      max-elements 5;
                      description
                        "List of updates";
                      container source-address {
                        description
                          "Source address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container source-address
    
                      container group-address {
                        description
                          "Group address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container group-address
    
                      leaf is-add {
                        type boolean;
                        description
                          "Is this a rate increment";
                      }
    
                      leaf weight {
                        type uint32;
                        description
                          "Weight from policy";
                      }
    
                      leaf received-time {
                        type uint64;
                        description
                          "Time this update is received";
                      }
                    }  // list update
                  }  // list interface-unicast-qos-adjust
                }  // container interface-unicast-qos-adjusts
    
                container ranges {
                  description "Range table";
                  list range {
                    key "group-address group-mask";
                    description
                      "Range information";
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    leaf group-mask {
                      type uint32;
                      description "Group Mask";
                    }
    
                    container group-address-xr {
                      description
                        "Group address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf protocol {
                      type Igmp-edm-protocol;
                      description "Protocol";
                    }
    
                    leaf is-stale {
                      type boolean;
                      description
                        "Is the entry stale";
                    }
                  }  // list range
                }  // container ranges
    
                container ifrs-interfaces {
                  description
                    "IGMP Interface specific";
                  list ifrs-interface {
                    key "interface-name";
                    description
                      "IGMP IFRS Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "IFRS Interface Name";
                    }
    
                    container igmp-interface-entry {
                      description
                        "IGMP interface entry";
                      container address {
                        description "IP address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container address
    
                      container querier-address {
                        description
                          "Address of the Querier";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container querier-address
    
                      container subscriber-address {
                        description
                          "Address of subscriber";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container subscriber-address
    
                      leaf interface-name-xr {
                        type xr:Interface-name;
                        description "Interface";
                      }
    
                      leaf state {
                        type Im-state;
                        description
                          "Interface state";
                      }
    
                      leaf prefix-length {
                        type uint32;
                        description
                          "Prefix length";
                      }
    
                      leaf is-interface-up {
                        type boolean;
                        description
                          "Is interface up";
                      }
    
                      leaf is-ip-enabled {
                        type boolean;
                        description
                          "Is IP enabled";
                      }
    
                      leaf is-router-enabled {
                        type boolean;
                        description
                          "Is Router functionality enabled";
                      }
    
                      leaf is-multi-homing-enabled {
                        type boolean;
                        description
                          "Is Multihoming enabled";
                      }
    
                      leaf is-multi-homing-stale {
                        type boolean;
                        description
                          "Is Multihoming Update stale";
                      }
    
                      leaf igmp-version {
                        type uint8;
                        description
                          "IGMP Router version";
                      }
    
                      leaf host-version {
                        type uint8;
                        description
                          "IGMP Host version";
                      }
    
                      leaf query-interval {
                        type uint16;
                        units "second";
                        description
                          "Query Interval value in seconds";
                      }
    
                      leaf query-timeout {
                        type uint16;
                        description
                          "Query Timeout value";
                      }
    
                      leaf query-maximum-response-time {
                        type uint16;
                        description
                          "Max Response Timeout value";
                      }
    
                      leaf last-member-query-interval {
                        type uint16;
                        description
                          "Last Member Query Interval";
                      }
    
                      leaf group-joins {
                        type uint32;
                        description
                          "No. of group joins";
                      }
    
                      leaf group-leaves {
                        type uint32;
                        description
                          "No. of group leaves";
                      }
    
                      leaf is-querier {
                        type boolean;
                        description
                          "Are we querier";
                      }
    
                      leaf total-active-groups {
                        type uint32;
                        description
                          "Actual number of groups on interface";
                      }
    
                      leaf robustness {
                        type uint32;
                        description
                          "Robustness Variable value";
                      }
    
                      leaf proxy-interface {
                        type xr:Interface-name;
                        description
                          "Proxy interface index";
                      }
    
                      leaf querier-uptime {
                        type uint16;
                        description
                          "Time since the last querier took over";
                      }
    
                      leaf las-ll-registration-count {
                        type uint32;
                        description
                          "LAS reg count";
                      }
    
                      leaf las-get-address-count {
                        type uint32;
                        description
                          "LAS get addr count";
                      }
    
                      leaf las-update-count {
                        type uint32;
                        description
                          "LAS Update count";
                      }
    
                      leaf las-ll-remove-update-count {
                        type uint32;
                        description
                          "LAS LL remove update count";
                      }
    
                      leaf las-ll-add-update-count {
                        type uint32;
                        description
                          "LAS LL add update count";
                      }
    
                      leaf las-null-update-count {
                        type uint32;
                        description
                          "LAS Null update count";
                      }
    
                      leaf las-unregistration-count {
                        type uint32;
                        description
                          "LAS unreg count";
                      }
    
                      leaf is-las-request {
                        type boolean;
                        description "LAS req";
                      }
    
                      leaf is-las-registered {
                        type boolean;
                        description
                          "LAS registered";
                      }
    
                      leaf vrf-id {
                        type uint32;
                        description "VRF id";
                      }
    
                      leaf mte-vrf-id {
                        type uint32;
                        description "MTE VRF id";
                      }
    
                      leaf location {
                        type uint32;
                        description "Location";
                      }
    
                      leaf mtu {
                        type uint32;
                        description "MTU";
                      }
    
                      leaf vrf-state {
                        type uint32;
                        description "Vrf State";
                      }
    
                      leaf is-configurationverify {
                        type boolean;
                        description "CFG verify";
                      }
    
                      leaf configurationvrf-set {
                        type boolean;
                        description
                          "CFG vrf set";
                      }
    
                      leaf configurationvrf-error {
                        type boolean;
                        description
                          "CFG vrf error";
                      }
    
                      leaf configuration-mcast-vrf-set {
                        type boolean;
                        description
                          "Is mcast set";
                      }
    
                      leaf configuration-mcast-vrf-error {
                        type boolean;
                        description
                          "Is mcast error";
                      }
    
                      leaf is-im-state-registered {
                        type boolean;
                        description
                          "Im state registered";
                      }
    
                      leaf is-subscriber {
                        type boolean;
                        description
                          "Subscriber interface";
                      }
    
                      leaf subscriber-mode {
                        type uint32;
                        description
                          "Subscriber mode";
                      }
    
                      leaf is-identity-present {
                        type boolean;
                        description
                          "Subscriber ID or Address available from AAA";
                      }
    
                      leaf subscriber-id {
                        type string {
                          length "0..257";
                        }
                        description
                          "ID string of subscriber";
                      }
    
                      leaf parent-ifhandle {
                        type xr:Interface-name;
                        description
                          "Parent If Handle";
                      }
    
                      leaf time-since-last-query-in-seconds {
                        type uint32;
                        description
                          "Time elapsed since last query";
                      }
    
                      leaf time-since-last-report-in-seconds {
                        type uint32;
                        description
                          "Time elapsed since last report";
                      }
    
                      leaf router-uptime-in-seconds {
                        type uint32;
                        description
                          "Uptime since router enabled event";
                      }
    
                      leaf mte-tuple-count {
                        type uint32;
                        description
                          "MTE Tuple count";
                      }
                    }  // container igmp-interface-entry
    
                    leaf join-group-count {
                      type uint32;
                      description
                        "Join group count";
                    }
                  }  // list ifrs-interface
                }  // container ifrs-interfaces
    
                container traffic-counters {
                  description
                    "IGMP Message Traffic Counters";
                  leaf elapsed-time {
                    type uint32;
                    description
                      "Running time for counters";
                  }
    
                  leaf packets-in {
                    type uint32;
                    description "Packets in";
                  }
    
                  leaf packets-out {
                    type uint32;
                    description "Packets out";
                  }
    
                  leaf format-errors {
                    type uint32;
                    description
                      "Malformed packets in";
                  }
    
                  leaf packet-manager-input-errors {
                    type uint32;
                    description
                      "Incoming Packet Manager packets dropped";
                  }
    
                  leaf packet-manager-output-errors {
                    type uint32;
                    description
                      "Outgoing Packet Manager packets dropped";
                  }
    
                  leaf checksum-errors {
                    type uint32;
                    description
                      "Checksum errors";
                  }
    
                  leaf receive-socket-errors {
                    type uint32;
                    description
                      "Socket errors on reception";
                  }
    
                  leaf socket-errors {
                    type uint32;
                    description
                      "Socket errors on send";
                  }
    
                  leaf bad-scope-errors {
                    type uint32;
                    description
                      "BadScope errors";
                  }
    
                  leaf auxillary-data-length-errors {
                    type uint32;
                    description
                      "AuxDataLen errors";
                  }
    
                  leaf invalid-source-address-errors {
                    type uint32;
                    description
                      "Invalid Source Address errors";
                  }
    
                  leaf no-socket-connection {
                    type uint32;
                    description
                      "Packets dropped since no socket connection";
                  }
    
                  leaf miscellaneous-errors {
                    type uint32;
                    description
                      "Packets dropped for other reasons";
                  }
    
                  leaf input-queries {
                    type uint32;
                    description
                      "Query packets in";
                  }
    
                  leaf input-reports {
                    type uint32;
                    description "Reports in";
                  }
    
                  leaf input-leaves {
                    type uint32;
                    description "Leaves in";
                  }
    
                  leaf input-mtrace {
                    type uint32;
                    description
                      "Mtrace packets in";
                  }
    
                  leaf input-dvmrp {
                    type uint32;
                    description
                      "DVMRP packets in";
                  }
    
                  leaf dvmrp-alloc {
                    type uint32;
                    description
                      "DVMRP buffer allocations";
                  }
    
                  leaf dvmrp-free {
                    type uint32;
                    description
                      "DVMRP freed buffers";
                  }
    
                  leaf dvmrp-drop {
                    type uint32;
                    description
                      "DVMRP packets dropped";
                  }
    
                  leaf input-pim {
                    type uint32;
                    description "PIM packets in";
                  }
    
                  leaf output-queries {
                    type uint32;
                    description
                      "Query packets out";
                  }
    
                  leaf output-reports {
                    type uint32;
                    description "Reports out";
                  }
    
                  leaf output-leaves {
                    type uint32;
                    description "Leaves out";
                  }
    
                  leaf output-mtrace {
                    type uint32;
                    description
                      "Mtrace packets out";
                  }
    
                  leaf output-dvmrp {
                    type uint32;
                    description
                      "DVMRP packets out";
                  }
    
                  leaf output-pim {
                    type uint32;
                    description
                      "PIM packets out";
                  }
    
                  leaf get-packet-failure {
                    type uint32;
                    description
                      "Packet get failed";
                  }
    
                  leaf output-no-parent-interface-handle {
                    type uint32;
                    description
                      "Failures setting 2nd ifhandle";
                  }
    
                  leaf input-no-idb {
                    type uint32;
                    description
                      "Packets received without idb";
                  }
    
                  leaf input-no-vrf-in-idb {
                    type uint32;
                    description
                      "Packets received on idb without VRF";
                  }
    
                  leaf input-disabled-idb {
                    type uint32;
                    description
                      "Packet received on disabled idb";
                  }
    
                  leaf input-martian-address {
                    type uint32;
                    description
                      "Packets received with Martian Address";
                  }
    
                  leaf input-no-assigned-vrf-id {
                    type uint32;
                    description
                      "Packets received with no assigned vrf id";
                  }
    
                  leaf input-no-vrf-mtrace {
                    type uint32;
                    description
                      "mtrace packets with no vrf associated";
                  }
    
                  leaf input-no-platform-support-mtrace {
                    type uint32;
                    description
                      "mtrace packets without platform support";
                  }
    
                  leaf packet-allocated {
                    type uint32;
                    description
                      "Number of pak allocated by IGMP";
                  }
    
                  leaf packet-freed {
                    type uint32;
                    description
                      "Number of pak freed by IGMP";
                  }
                }  // container traffic-counters
    
                container groups {
                  description
                    "IGMP Group Database Table";
                  list group {
                    key "group-address interface-name";
                    description
                      "IGMP Group Entry Information";
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group Address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    container last-reporter {
                      description
                        "Last reporter address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container last-reporter
    
                    container source-address {
                      description
                        "Source Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiration-time {
                      type int32;
                      units "second";
                      description
                        "Expiration time in seconds";
                    }
    
                    leaf explicit-tracking-enabled {
                      type boolean;
                      description
                        "Is explicit tracking enabled";
                    }
    
                    leaf is-self-join {
                      type boolean;
                      description
                        "If local system is member of this group on this
    interface";
                    }
    
                    leaf row-status {
                      type string {
                        length "0..16";
                      }
                      description
                        "interface on or off for the group";
                    }
    
                    leaf is-low-memory {
                      type boolean;
                      description
                        "Node is running low on memory";
                    }
    
                    leaf router-filter-mode {
                      type uint8;
                      description "Filter mode";
                    }
    
                    leaf older-host-version1-timer {
                      type uint32;
                      description
                        "IGMP Hostversion1timer";
                    }
    
                    leaf older-host-version2-timer {
                      type uint32;
                      description
                        "IGMP Hostversion2timer";
                    }
    
                    leaf is-added {
                      type boolean;
                      description "Joined";
                    }
    
                    leaf is-suppressed {
                      type boolean;
                      description "Suppressed";
                    }
    
                    leaf is-evpn-remote {
                      type boolean;
                      description
                        "EVPN remote flag";
                    }
    
                    leaf is-evpn-stale {
                      type boolean;
                      description
                        "EVPN stale flag";
                    }
                  }  // list group
                }  // container groups
    
                container group-summary {
                  description
                    "IGMP Groups Summary";
                  leaf groutes {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-routes {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf group-count {
                    type uint32;
                    description
                      "Current groups accepted";
                  }
    
                  leaf is-low-memory {
                    type boolean;
                    description
                      "Node is running low on memory";
                  }
                }  // container group-summary
    
                container ifrs-interface-summary {
                  description
                    "IGMP IFRS Interface summary";
                  leaf interface-count {
                    type uint32;
                    description
                      "Interface Count";
                  }
    
                  leaf configuration-count {
                    type uint32;
                    description
                      "Configuration count";
                  }
                }  // container ifrs-interface-summary
    
                container global-interface-table {
                  description
                    "IGMP Global Interface ";
                  list interface {
                    key "interface-name";
                    description "IGMP Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    container address {
                      description "IP address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    container querier-address {
                      description
                        "Address of the Querier";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container querier-address
    
                    container subscriber-address {
                      description
                        "Address of subscriber";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container subscriber-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf state {
                      type Im-state;
                      description
                        "Interface state";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf is-interface-up {
                      type boolean;
                      description
                        "Is interface up";
                    }
    
                    leaf is-ip-enabled {
                      type boolean;
                      description
                        "Is IP enabled";
                    }
    
                    leaf is-router-enabled {
                      type boolean;
                      description
                        "Is Router functionality enabled";
                    }
    
                    leaf is-multi-homing-enabled {
                      type boolean;
                      description
                        "Is Multihoming enabled";
                    }
    
                    leaf is-multi-homing-stale {
                      type boolean;
                      description
                        "Is Multihoming Update stale";
                    }
    
                    leaf igmp-version {
                      type uint8;
                      description
                        "IGMP Router version";
                    }
    
                    leaf host-version {
                      type uint8;
                      description
                        "IGMP Host version";
                    }
    
                    leaf query-interval {
                      type uint16;
                      units "second";
                      description
                        "Query Interval value in seconds";
                    }
    
                    leaf query-timeout {
                      type uint16;
                      description
                        "Query Timeout value";
                    }
    
                    leaf query-maximum-response-time {
                      type uint16;
                      description
                        "Max Response Timeout value";
                    }
    
                    leaf last-member-query-interval {
                      type uint16;
                      description
                        "Last Member Query Interval";
                    }
    
                    leaf group-joins {
                      type uint32;
                      description
                        "No. of group joins";
                    }
    
                    leaf group-leaves {
                      type uint32;
                      description
                        "No. of group leaves";
                    }
    
                    leaf is-querier {
                      type boolean;
                      description
                        "Are we querier";
                    }
    
                    leaf total-active-groups {
                      type uint32;
                      description
                        "Actual number of groups on interface";
                    }
    
                    leaf robustness {
                      type uint32;
                      description
                        "Robustness Variable value";
                    }
    
                    leaf proxy-interface {
                      type xr:Interface-name;
                      description
                        "Proxy interface index";
                    }
    
                    leaf querier-uptime {
                      type uint16;
                      description
                        "Time since the last querier took over";
                    }
    
                    leaf las-ll-registration-count {
                      type uint32;
                      description
                        "LAS reg count";
                    }
    
                    leaf las-get-address-count {
                      type uint32;
                      description
                        "LAS get addr count";
                    }
    
                    leaf las-update-count {
                      type uint32;
                      description
                        "LAS Update count";
                    }
    
                    leaf las-ll-remove-update-count {
                      type uint32;
                      description
                        "LAS LL remove update count";
                    }
    
                    leaf las-ll-add-update-count {
                      type uint32;
                      description
                        "LAS LL add update count";
                    }
    
                    leaf las-null-update-count {
                      type uint32;
                      description
                        "LAS Null update count";
                    }
    
                    leaf las-unregistration-count {
                      type uint32;
                      description
                        "LAS unreg count";
                    }
    
                    leaf is-las-request {
                      type boolean;
                      description "LAS req";
                    }
    
                    leaf is-las-registered {
                      type boolean;
                      description
                        "LAS registered";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF id";
                    }
    
                    leaf mte-vrf-id {
                      type uint32;
                      description "MTE VRF id";
                    }
    
                    leaf location {
                      type uint32;
                      description "Location";
                    }
    
                    leaf mtu {
                      type uint32;
                      description "MTU";
                    }
    
                    leaf vrf-state {
                      type uint32;
                      description "Vrf State";
                    }
    
                    leaf is-configurationverify {
                      type boolean;
                      description "CFG verify";
                    }
    
                    leaf configurationvrf-set {
                      type boolean;
                      description "CFG vrf set";
                    }
    
                    leaf configurationvrf-error {
                      type boolean;
                      description
                        "CFG vrf error";
                    }
    
                    leaf configuration-mcast-vrf-set {
                      type boolean;
                      description "Is mcast set";
                    }
    
                    leaf configuration-mcast-vrf-error {
                      type boolean;
                      description
                        "Is mcast error";
                    }
    
                    leaf is-im-state-registered {
                      type boolean;
                      description
                        "Im state registered";
                    }
    
                    leaf is-subscriber {
                      type boolean;
                      description
                        "Subscriber interface";
                    }
    
                    leaf subscriber-mode {
                      type uint32;
                      description
                        "Subscriber mode";
                    }
    
                    leaf is-identity-present {
                      type boolean;
                      description
                        "Subscriber ID or Address available from AAA";
                    }
    
                    leaf subscriber-id {
                      type string {
                        length "0..257";
                      }
                      description
                        "ID string of subscriber";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent If Handle";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Uptime since router enabled event";
                    }
    
                    leaf mte-tuple-count {
                      type uint32;
                      description
                        "MTE Tuple count";
                    }
                  }  // list interface
                }  // container global-interface-table
    
                container ssm-map-details {
                  description "SSM Map Detail";
                  list ssm-map-detail {
                    key "ssm-map-type group-address";
                    description
                      "SSM Map Detail Table information";
                    leaf ssm-map-type {
                      type Igmpssm-map;
                      description "SSM Map Type";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    container map-info {
                      description
                        "Basic Map Info";
                      container group-address-xr {
                        description
                          "Group Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container group-address-xr
    
                      leaf map-type {
                        type uint32;
                        description
                          "Map Type of group";
                      }
    
                      leaf source-counts {
                        type uint32;
                        description
                          "Count of Sources";
                      }
                    }  // container map-info
    
                    leaf expiration-time {
                      type uint32;
                      units "second";
                      description
                        "Expiration Time in Seconds";
                    }
    
                    leaf response-pending {
                      type boolean;
                      description
                        "Response Pending";
                    }
    
                    leaf query-interval {
                      type uint32;
                      description
                        "Query interval";
                    }
    
                    leaf elapsed-time {
                      type uint64;
                      description "Elapsed time";
                    }
    
                    list sources {
                      description
                        "List of sources";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // list sources
                  }  // list ssm-map-detail
                }  // container ssm-map-details
    
                container interface-state-offs {
                  description
                    "IGMP Interface state off";
                  list interface-state-off {
                    key "interface-name";
                    description "IGMP Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    container address {
                      description "IP address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    container querier-address {
                      description
                        "Address of the Querier";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container querier-address
    
                    container subscriber-address {
                      description
                        "Address of subscriber";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container subscriber-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf state {
                      type Im-state;
                      description
                        "Interface state";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf is-interface-up {
                      type boolean;
                      description
                        "Is interface up";
                    }
    
                    leaf is-ip-enabled {
                      type boolean;
                      description
                        "Is IP enabled";
                    }
    
                    leaf is-router-enabled {
                      type boolean;
                      description
                        "Is Router functionality enabled";
                    }
    
                    leaf is-multi-homing-enabled {
                      type boolean;
                      description
                        "Is Multihoming enabled";
                    }
    
                    leaf is-multi-homing-stale {
                      type boolean;
                      description
                        "Is Multihoming Update stale";
                    }
    
                    leaf igmp-version {
                      type uint8;
                      description
                        "IGMP Router version";
                    }
    
                    leaf host-version {
                      type uint8;
                      description
                        "IGMP Host version";
                    }
    
                    leaf query-interval {
                      type uint16;
                      units "second";
                      description
                        "Query Interval value in seconds";
                    }
    
                    leaf query-timeout {
                      type uint16;
                      description
                        "Query Timeout value";
                    }
    
                    leaf query-maximum-response-time {
                      type uint16;
                      description
                        "Max Response Timeout value";
                    }
    
                    leaf last-member-query-interval {
                      type uint16;
                      description
                        "Last Member Query Interval";
                    }
    
                    leaf group-joins {
                      type uint32;
                      description
                        "No. of group joins";
                    }
    
                    leaf group-leaves {
                      type uint32;
                      description
                        "No. of group leaves";
                    }
    
                    leaf is-querier {
                      type boolean;
                      description
                        "Are we querier";
                    }
    
                    leaf total-active-groups {
                      type uint32;
                      description
                        "Actual number of groups on interface";
                    }
    
                    leaf robustness {
                      type uint32;
                      description
                        "Robustness Variable value";
                    }
    
                    leaf proxy-interface {
                      type xr:Interface-name;
                      description
                        "Proxy interface index";
                    }
    
                    leaf querier-uptime {
                      type uint16;
                      description
                        "Time since the last querier took over";
                    }
    
                    leaf las-ll-registration-count {
                      type uint32;
                      description
                        "LAS reg count";
                    }
    
                    leaf las-get-address-count {
                      type uint32;
                      description
                        "LAS get addr count";
                    }
    
                    leaf las-update-count {
                      type uint32;
                      description
                        "LAS Update count";
                    }
    
                    leaf las-ll-remove-update-count {
                      type uint32;
                      description
                        "LAS LL remove update count";
                    }
    
                    leaf las-ll-add-update-count {
                      type uint32;
                      description
                        "LAS LL add update count";
                    }
    
                    leaf las-null-update-count {
                      type uint32;
                      description
                        "LAS Null update count";
                    }
    
                    leaf las-unregistration-count {
                      type uint32;
                      description
                        "LAS unreg count";
                    }
    
                    leaf is-las-request {
                      type boolean;
                      description "LAS req";
                    }
    
                    leaf is-las-registered {
                      type boolean;
                      description
                        "LAS registered";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF id";
                    }
    
                    leaf mte-vrf-id {
                      type uint32;
                      description "MTE VRF id";
                    }
    
                    leaf location {
                      type uint32;
                      description "Location";
                    }
    
                    leaf mtu {
                      type uint32;
                      description "MTU";
                    }
    
                    leaf vrf-state {
                      type uint32;
                      description "Vrf State";
                    }
    
                    leaf is-configurationverify {
                      type boolean;
                      description "CFG verify";
                    }
    
                    leaf configurationvrf-set {
                      type boolean;
                      description "CFG vrf set";
                    }
    
                    leaf configurationvrf-error {
                      type boolean;
                      description
                        "CFG vrf error";
                    }
    
                    leaf configuration-mcast-vrf-set {
                      type boolean;
                      description "Is mcast set";
                    }
    
                    leaf configuration-mcast-vrf-error {
                      type boolean;
                      description
                        "Is mcast error";
                    }
    
                    leaf is-im-state-registered {
                      type boolean;
                      description
                        "Im state registered";
                    }
    
                    leaf is-subscriber {
                      type boolean;
                      description
                        "Subscriber interface";
                    }
    
                    leaf subscriber-mode {
                      type uint32;
                      description
                        "Subscriber mode";
                    }
    
                    leaf is-identity-present {
                      type boolean;
                      description
                        "Subscriber ID or Address available from AAA";
                    }
    
                    leaf subscriber-id {
                      type string {
                        length "0..257";
                      }
                      description
                        "ID string of subscriber";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent If Handle";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Uptime since router enabled event";
                    }
    
                    leaf mte-tuple-count {
                      type uint32;
                      description
                        "MTE Tuple count";
                    }
                  }  // list interface-state-off
                }  // container interface-state-offs
              }  // list vrf
            }  // container vrf-table
    
            container process {
              description "Process";
              container nsr {
                description "NSR Information";
                leaf state {
                  type uint8;
                  description "NSR state";
                }
    
                leaf partner-proc-connected {
                  type boolean;
                  description
                    "Partner process connected";
                }
    
                leaf collab-conv-done {
                  type boolean;
                  description
                    "Collaborators convergence done";
                }
    
                leaf rmf-notification-done {
                  type boolean;
                  description
                    "RMF Notification done";
                }
    
                leaf last-proc {
                  type uint64;
                  description
                    "Time when process came up";
                }
    
                leaf last-proc-connection-up {
                  type uint64;
                  description
                    "Time when process connection went up";
                }
    
                leaf last-proc-connection-dn {
                  type uint64;
                  description
                    "Time when process 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-proc-connection-up {
                  type uint32;
                  description
                    "No. of times process connection went up";
                }
    
                leaf count-proc-connection-dn {
                  type uint32;
                  description
                    "No. of times process 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 amt-summary {
                description
                  "MRIB RouteDB Expiry Information";
                leaf anycast-prefix {
                  type inet:ipv4-address;
                  description
                    "Robustness variable";
                }
    
                leaf prefix-length {
                  type uint32;
                  description
                    "Advertize AMT prefix length";
                }
    
                leaf relay-address {
                  type inet:ipv4-address;
                  description
                    "Advertaisment for AMT Relay address";
                }
    
                leaf mtu {
                  type uint32;
                  description "AMT Tunnel MTU";
                }
    
                leaf tos {
                  type uint32;
                  description
                    "Type Of Service value in AMT header";
                }
    
                leaf ttl {
                  type uint32;
                  description
                    "Time To Live value in AMT header";
                }
    
                leaf query-interval {
                  type uint32;
                  description
                    "AMT Query interval";
                }
    
                leaf gateway-count {
                  type uint32;
                  description
                    "Number of AMT Gateway";
                }
    
                leaf max-gateway {
                  type uint32;
                  description
                    "Maximum Gateway allowed";
                }
    
                leaf tunnel-count {
                  type uint32;
                  description "AMT Tunnel Count";
                }
    
                leaf tunnel-configured-maximum {
                  type uint32;
                  description
                    "AMT Tunnel configured Maximum";
                }
    
                leaf is-acl-configured {
                  type boolean;
                  description
                    "ACL configured under AMT";
                }
    
                leaf is-gateway-simulation {
                  type boolean;
                  description
                    "AMT Gateway Simulation";
                }
    
                leaf is-ou-of-resource {
                  type boolean;
                  description
                    "AMT Out Of Resource";
                }
              }  // container amt-summary
    
              container amt-gateways {
                description
                  "Table containing AMT Gateway DataBase
    information";
                list amt-gateway {
                  key "gateway-address port";
                  description
                    "AMT Gateway DataBase information";
                  leaf gateway-address {
                    type inet:ipv4-address-no-zone;
                    description
                      "Gateway Address";
                  }
    
                  leaf port {
                    type uint32;
                    description "Port";
                  }
    
                  leaf amtgw {
                    type inet:ipv4-address;
                    description "GW";
                  }
    
                  leaf amt-port {
                    type uint32;
                    description "Port";
                  }
    
                  leaf key-len {
                    type uint32;
                    description "Len";
                  }
    
                  leaf amtnh {
                    type uint32;
                    description "AMT NH";
                  }
    
                  leaf amt-nonce {
                    type uint32;
                    description "Nonce";
                  }
    
                  leaf idb {
                    type uint64;
                    description "IDB";
                  }
    
                  leaf mem-upd-in {
                    type uint32;
                    description "UpdIn";
                  }
    
                  leaf mem-upd-out {
                    type uint32;
                    description "UpdOut";
                  }
                }  // list amt-gateway
              }  // container amt-gateways
    
              container unicast-qos-adjust-stats {
                description
                  "IGMP Unicast-Qos-Adjust Statistics";
                leaf queues {
                  type uint16;
                  description "I2Q Queue count";
                }
    
                leaf batches {
                  type uint16;
                  description
                    "I2Q Rate Batch count";
                }
    
                leaf add-to-batches {
                  type uint32;
                  description
                    "Add to batch count";
                }
    
                leaf delete-to-batches {
                  type uint32;
                  description
                    "Delete to batch count";
                }
    
                leaf send-success {
                  type uint32;
                  description
                    "Send Success count";
                }
    
                leaf send-errors {
                  type uint32;
                  description
                    "Number of Send errors in batch";
                }
    
                leaf send-comm-errors {
                  type uint32;
                  description
                    "Send Error due to comms count";
                }
    
                leaf send-partial-errors {
                  type uint32;
                  description
                    "Send Error due to partial issue count";
                }
    
                leaf received-resync-requests {
                  type uint32;
                  description
                    "Number of Resync request received";
                }
    
                leaf sent-resync-bulks {
                  type uint32;
                  description
                    "Number of bulks sent for last resync received";
                }
    
                leaf is-resync-received {
                  type boolean;
                  description
                    "Is Resync request received";
                }
    
                leaf is-resync-required {
                  type boolean;
                  description
                    "Is Resync required";
                }
    
                leaf is-resync-start-sent {
                  type boolean;
                  description
                    "Is Resync Start message sent";
                }
    
                leaf is-qos-s-sweeped {
                  type boolean;
                  description
                    "Is QOS Sweeped once ";
                }
    
                leaf last-sweep-time {
                  type uint64;
                  units "second";
                  description
                    "Time elapsed since Last mark and sweep in
    seconds";
                }
    
                leaf last-download-time {
                  type uint64;
                  units "second";
                  description
                    "Time elapsed since Last download to QOS in
    seconds";
                }
              }  // container unicast-qos-adjust-stats
    
              container bvi-statistics {
                description "IGMP BVI Stats";
                leaf receive-buffers {
                  type uint32;
                  description
                    "Number of AIPC buffers received";
                }
    
                leaf release-buffers {
                  type uint32;
                  description
                    "Number of AIPC buffers released";
                }
    
                leaf send-blocks {
                  type uint32;
                  description
                    "Number of AIPC buffers send blocked";
                }
    
                leaf release-fail-buffers {
                  type uint32;
                  description
                    "Number of AIPC buffers release failed";
                }
    
                leaf null-buffer-handles {
                  type uint32;
                  description
                    "Number of AIPC NULL buffer handles";
                }
    
                leaf rx-ipc-open-notif {
                  type uint32;
                  description
                    "Number of AIPC open notifications received";
                }
    
                leaf rx-ipc-close-notif {
                  type uint32;
                  description
                    "Number of AIPC close notifications received";
                }
    
                leaf rx-ipc-error-notif {
                  type uint32;
                  description
                    "Number of AIPC error notifications received";
                }
    
                leaf rx-ipc-lwm-notif {
                  type uint32;
                  description
                    "Number of AIPC LWM notifications received";
                }
    
                leaf rx-ipc-hwm-notif {
                  type uint32;
                  description
                    "Number of AIPC HWM notifications received";
                }
    
                leaf rx-ipc-input-wait-notif {
                  type uint32;
                  description
                    "Number of AIPC input waiting notifications
    received";
                }
    
                leaf rx-ipc-send-status-notif {
                  type uint32;
                  description
                    "Number of AIPC send status notifications
    received";
                }
    
                leaf rx-ipc-publish-notif {
                  type uint32;
                  description
                    "Number of AIPC publish notifications received";
                }
    
                leaf rx-ipc-q-full-notif {
                  type uint32;
                  description
                    "Number of AIPC queue full notifications received";
                }
    
                leaf rx-ipc-output-notif {
                  type uint32;
                  description
                    "Number of AIPC output notifications received";
                }
    
                leaf rx-ipc-connect-notif {
                  type uint32;
                  description
                    "Number of AIPC connect notifications received";
                }
    
                leaf rx-igmp-packet-success {
                  type uint32;
                  description
                    "Number of IGMP protocol messages received";
                }
    
                leaf rx-add-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Add messages received";
                }
    
                leaf rx-delete-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Delete messages received";
                }
    
                leaf rx-sweep-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Sweep messages received";
                }
    
                leaf tx-add-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Add messages transmitted";
                }
    
                leaf tx-delete-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Delete messages
    transmitted";
                }
    
                leaf tx-sweep-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Sweep messages received";
                }
    
                leaf rx-unknown-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Unknown messages received";
                }
    
                leaf tx-unknown-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Unknown messages
    transmitted";
                }
    
                leaf tx-buffer-errors {
                  type uint32;
                  description
                    "Number of AIPC transmission errors";
                }
    
                leaf tx-buffers {
                  type uint32;
                  description
                    "Number of AIPC buffers transmited";
                }
    
                leaf tx-protocol-buffers {
                  type uint32;
                  description
                    "Number of IGMP protocol buffers transmitted";
                }
    
                leaf tx-mrouter-buffers {
                  type uint32;
                  description
                    "Number of IGMP Mrouter buffers transmitted";
                }
    
                leaf tx-unknown-buffers {
                  type uint32;
                  description
                    "Number of IGMP Unknown buffers transmited";
                }
    
                leaf wtx-msg-recvd {
                  type uint32;
                  description
                    "Number of WTX messages received";
                }
    
                leaf wtx-msg-sent {
                  type uint32;
                  description
                    "Number of WTX messages sent";
                }
    
                leaf wtx-msg-proto-sent {
                  type uint32;
                  description
                    "Number of WTX messages sent to Protocol";
                }
    
                leaf wtx-msg-drop-dc {
                  type uint32;
                  description
                    "Number of WTX messages dropped due to disconnect";
                }
    
                leaf wtx-msg-drop-nomem {
                  type uint32;
                  description
                    "Number of WTX messages dropped to memory";
                }
    
                leaf wtx-msg-freed {
                  type uint32;
                  description
                    "Number of WTX messages freed";
                }
              }  // container bvi-statistics
    
              container nsf {
                description "NSF Information";
                leaf is-multicast-nsf-active {
                  type boolean;
                  description
                    "Is Multicast NSF active";
                }
    
                leaf multicast-nsf-timeout {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF timeout in secs";
                }
    
                leaf multicast-nsf-time-left {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF time remaining in secs";
                }
    
                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-min {
                  type int32;
                  units "second";
                  description
                    "Last NSF time ON in Seconds";
                }
    
                leaf last-nsf-off-min {
                  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-min {
                  type int32;
                  units "second";
                  description
                    "Last ICD Notif Recv in Seconds";
                }
              }  // container nsf
            }  // container process
    
            container default-context {
              description "Default Context";
              container summary {
                description
                  "IGMP Summary Information";
                leaf robustness {
                  type uint32;
                  description
                    "Robustness variable";
                }
    
                leaf group-limit {
                  type uint32;
                  description
                    "Maximum groups accepted";
                }
    
                leaf group-count {
                  type uint32;
                  description
                    "Current groups accepted";
                }
    
                leaf is-disabled {
                  type boolean;
                  description
                    "Is maximum enforcement disabled";
                }
    
                leaf is-evpn-connection-up {
                  type boolean;
                  description
                    "Is EVPN connection up";
                }
    
                leaf supported-interfaces {
                  type uint32;
                  description
                    "No. of supported interfaces";
                }
    
                leaf unsupported-interfaces {
                  type uint32;
                  description
                    "No. of unsupported interfaces";
                }
    
                leaf enabled-interface-count {
                  type uint32;
                  description
                    "No. of enabled interfaces";
                }
    
                leaf disabled-interface-count {
                  type uint32;
                  description
                    "No. of disabled interfaces";
                }
    
                leaf multi-homing-enabled-interfaces {
                  type uint32;
                  description
                    "No. of EVPN MH enabled interfaces";
                }
    
                leaf tunnel-mte-config-count {
                  type uint32;
                  description
                    "No. of static group commands";
                }
    
                leaf node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
    
                leaf querier-number {
                  type uint32;
                  description
                    "Number of querier interfaces";
                }
    
                list interface {
                  description
                    "Maximum and current groups accepted for each
    interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf group-limit {
                    type uint32;
                    description
                      "Maximum groups accepted per interface";
                  }
    
                  leaf group-count {
                    type uint32;
                    description
                      "Current groups accepted per interface";
                  }
    
                  leaf parent-ifhandle {
                    type xr:Interface-name;
                    description
                      "Parent if handle";
                  }
    
                  leaf on-off {
                    type boolean;
                    description
                      "Enabled/Disabled";
                  }
    
                  leaf time-since-last-query-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last query";
                  }
    
                  leaf time-since-last-report-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last report";
                  }
    
                  leaf router-uptime-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since router enabled event";
                  }
                }  // list interface
              }  // container summary
    
              container interface-state-ons {
                description
                  "IGMP Interface state on";
                list interface-state-on {
                  key "interface-name";
                  description "IGMP Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  container address {
                    description "IP address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container address
    
                  container querier-address {
                    description
                      "Address of the Querier";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container querier-address
    
                  container subscriber-address {
                    description
                      "Address of subscriber";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container subscriber-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf state {
                    type Im-state;
                    description
                      "Interface state";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf is-interface-up {
                    type boolean;
                    description
                      "Is interface up";
                  }
    
                  leaf is-ip-enabled {
                    type boolean;
                    description "Is IP enabled";
                  }
    
                  leaf is-router-enabled {
                    type boolean;
                    description
                      "Is Router functionality enabled";
                  }
    
                  leaf is-multi-homing-enabled {
                    type boolean;
                    description
                      "Is Multihoming enabled";
                  }
    
                  leaf is-multi-homing-stale {
                    type boolean;
                    description
                      "Is Multihoming Update stale";
                  }
    
                  leaf igmp-version {
                    type uint8;
                    description
                      "IGMP Router version";
                  }
    
                  leaf host-version {
                    type uint8;
                    description
                      "IGMP Host version";
                  }
    
                  leaf query-interval {
                    type uint16;
                    units "second";
                    description
                      "Query Interval value in seconds";
                  }
    
                  leaf query-timeout {
                    type uint16;
                    description
                      "Query Timeout value";
                  }
    
                  leaf query-maximum-response-time {
                    type uint16;
                    description
                      "Max Response Timeout value";
                  }
    
                  leaf last-member-query-interval {
                    type uint16;
                    description
                      "Last Member Query Interval";
                  }
    
                  leaf group-joins {
                    type uint32;
                    description
                      "No. of group joins";
                  }
    
                  leaf group-leaves {
                    type uint32;
                    description
                      "No. of group leaves";
                  }
    
                  leaf is-querier {
                    type boolean;
                    description "Are we querier";
                  }
    
                  leaf total-active-groups {
                    type uint32;
                    description
                      "Actual number of groups on interface";
                  }
    
                  leaf robustness {
                    type uint32;
                    description
                      "Robustness Variable value";
                  }
    
                  leaf proxy-interface {
                    type xr:Interface-name;
                    description
                      "Proxy interface index";
                  }
    
                  leaf querier-uptime {
                    type uint16;
                    description
                      "Time since the last querier took over";
                  }
    
                  leaf las-ll-registration-count {
                    type uint32;
                    description "LAS reg count";
                  }
    
                  leaf las-get-address-count {
                    type uint32;
                    description
                      "LAS get addr count";
                  }
    
                  leaf las-update-count {
                    type uint32;
                    description
                      "LAS Update count";
                  }
    
                  leaf las-ll-remove-update-count {
                    type uint32;
                    description
                      "LAS LL remove update count";
                  }
    
                  leaf las-ll-add-update-count {
                    type uint32;
                    description
                      "LAS LL add update count";
                  }
    
                  leaf las-null-update-count {
                    type uint32;
                    description
                      "LAS Null update count";
                  }
    
                  leaf las-unregistration-count {
                    type uint32;
                    description
                      "LAS unreg count";
                  }
    
                  leaf is-las-request {
                    type boolean;
                    description "LAS req";
                  }
    
                  leaf is-las-registered {
                    type boolean;
                    description "LAS registered";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF id";
                  }
    
                  leaf mte-vrf-id {
                    type uint32;
                    description "MTE VRF id";
                  }
    
                  leaf location {
                    type uint32;
                    description "Location";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "MTU";
                  }
    
                  leaf vrf-state {
                    type uint32;
                    description "Vrf State";
                  }
    
                  leaf is-configurationverify {
                    type boolean;
                    description "CFG verify";
                  }
    
                  leaf configurationvrf-set {
                    type boolean;
                    description "CFG vrf set";
                  }
    
                  leaf configurationvrf-error {
                    type boolean;
                    description "CFG vrf error";
                  }
    
                  leaf configuration-mcast-vrf-set {
                    type boolean;
                    description "Is mcast set";
                  }
    
                  leaf configuration-mcast-vrf-error {
                    type boolean;
                    description "Is mcast error";
                  }
    
                  leaf is-im-state-registered {
                    type boolean;
                    description
                      "Im state registered";
                  }
    
                  leaf is-subscriber {
                    type boolean;
                    description
                      "Subscriber interface";
                  }
    
                  leaf subscriber-mode {
                    type uint32;
                    description
                      "Subscriber mode";
                  }
    
                  leaf is-identity-present {
                    type boolean;
                    description
                      "Subscriber ID or Address available from AAA";
                  }
    
                  leaf subscriber-id {
                    type string {
                      length "0..257";
                    }
                    description
                      "ID string of subscriber";
                  }
    
                  leaf parent-ifhandle {
                    type xr:Interface-name;
                    description
                      "Parent If Handle";
                  }
    
                  leaf time-since-last-query-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last query";
                  }
    
                  leaf time-since-last-report-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last report";
                  }
    
                  leaf router-uptime-in-seconds {
                    type uint32;
                    description
                      "Uptime since router enabled event";
                  }
    
                  leaf mte-tuple-count {
                    type uint32;
                    description
                      "MTE Tuple count";
                  }
                }  // list interface-state-on
              }  // container interface-state-ons
    
              container detail-groups {
                description
                  "IGMP Detail Group Database";
                list detail-group {
                  key "group-address interface-name source-address";
                  description
                    "IGMP Detail Group Entry Information";
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group Address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description
                      "Source/Host Address";
                  }
    
                  container group-info {
                    description
                      "Basic Group information";
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    container last-reporter {
                      description
                        "Last reporter address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container last-reporter
    
                    container source-address {
                      description
                        "Source Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiration-time {
                      type int32;
                      units "second";
                      description
                        "Expiration time in seconds";
                    }
    
                    leaf explicit-tracking-enabled {
                      type boolean;
                      description
                        "Is explicit tracking enabled";
                    }
    
                    leaf is-self-join {
                      type boolean;
                      description
                        "If local system is member of this group on this
    interface";
                    }
    
                    leaf row-status {
                      type string {
                        length "0..16";
                      }
                      description
                        "interface on or off for the group";
                    }
    
                    leaf is-low-memory {
                      type boolean;
                      description
                        "Node is running low on memory";
                    }
    
                    leaf router-filter-mode {
                      type uint8;
                      description "Filter mode";
                    }
    
                    leaf older-host-version1-timer {
                      type uint32;
                      description
                        "IGMP Hostversion1timer";
                    }
    
                    leaf older-host-version2-timer {
                      type uint32;
                      description
                        "IGMP Hostversion2timer";
                    }
    
                    leaf is-added {
                      type boolean;
                      description "Joined";
                    }
    
                    leaf is-suppressed {
                      type boolean;
                      description "Suppressed";
                    }
    
                    leaf is-evpn-remote {
                      type boolean;
                      description
                        "EVPN remote flag";
                    }
    
                    leaf is-evpn-stale {
                      type boolean;
                      description
                        "EVPN stale flag";
                    }
                  }  // container group-info
    
                  leaf is-router-exclude-mode {
                    type boolean;
                    description
                      "Group router filter mode";
                  }
    
                  leaf is-host-exclude-mode {
                    type boolean;
                    description
                      "Group host filter mode";
                  }
    
                  list source {
                    description
                      "List of sources";
                    container source-address {
                      description
                        "Source Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiration-time {
                      type int32;
                      units "second";
                      description
                        "Expiration time in seconds";
                    }
    
                    leaf is-local {
                      type boolean;
                      description
                        "Is this a local source";
                    }
    
                    leaf is-remote {
                      type boolean;
                      description
                        "Is this a remote source";
                    }
    
                    leaf is-forward {
                      type boolean;
                      description
                        "Should we forward on this entry";
                    }
    
                    leaf is-we-report {
                      type boolean;
                      description
                        "Should we report the source";
                    }
    
                    leaf flags {
                      type int32;
                      description "Source flags";
                    }
    
                    leaf is-added {
                      type boolean;
                      description "Joined";
                    }
    
                    leaf is-evpn-remote {
                      type boolean;
                      description
                        "Route learnt through EVPN";
                    }
                  }  // list source
                }  // list detail-group
              }  // container detail-groups
    
              container non-active-groups {
                description
                  "IGMP Non-Active Groups Information";
                list non-active-groups {
                  description
                    "List of non-active groups";
                  container group-address {
                    description "Group Address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container group-address
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container source-address
    
                  leaf interface {
                    type string {
                      length "0..65";
                    }
                    description "Interface Name";
                  }
    
                  leaf reason-for-non-activity {
                    type string {
                      length "0..257";
                    }
                    description
                      "Reason for group join not being processed";
                  }
                }  // list non-active-groups
              }  // container non-active-groups
    
              container ssm-maps {
                description "SSM Map Table";
                list ssm-map {
                  key "ssm-map-type group-address";
                  description
                    "SSM Map information";
                  leaf ssm-map-type {
                    type Igmpssm-map;
                    description "SSM Map Type";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group address";
                  }
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container group-address-xr
    
                  leaf map-type {
                    type uint32;
                    description
                      "Map Type of group";
                  }
    
                  leaf source-counts {
                    type uint32;
                    description
                      "Count of Sources";
                  }
                }  // list ssm-map
              }  // container ssm-maps
    
              container explicit-groups {
                description
                  "IGMP Explicit Group Database";
                list explicit-group {
                  key "group-address interface-name source-address";
                  description
                    "IGMP Explicit Group Entry Information";
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group Address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description
                      "Source/Host Address";
                  }
    
                  container group-info {
                    description
                      "Basic Group information";
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    container last-reporter {
                      description
                        "Last reporter address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container last-reporter
    
                    container source-address {
                      description
                        "Source Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiration-time {
                      type int32;
                      units "second";
                      description
                        "Expiration time in seconds";
                    }
    
                    leaf explicit-tracking-enabled {
                      type boolean;
                      description
                        "Is explicit tracking enabled";
                    }
    
                    leaf is-self-join {
                      type boolean;
                      description
                        "If local system is member of this group on this
    interface";
                    }
    
                    leaf row-status {
                      type string {
                        length "0..16";
                      }
                      description
                        "interface on or off for the group";
                    }
    
                    leaf is-low-memory {
                      type boolean;
                      description
                        "Node is running low on memory";
                    }
    
                    leaf router-filter-mode {
                      type uint8;
                      description "Filter mode";
                    }
    
                    leaf older-host-version1-timer {
                      type uint32;
                      description
                        "IGMP Hostversion1timer";
                    }
    
                    leaf older-host-version2-timer {
                      type uint32;
                      description
                        "IGMP Hostversion2timer";
                    }
    
                    leaf is-added {
                      type boolean;
                      description "Joined";
                    }
    
                    leaf is-suppressed {
                      type boolean;
                      description "Suppressed";
                    }
    
                    leaf is-evpn-remote {
                      type boolean;
                      description
                        "EVPN remote flag";
                    }
    
                    leaf is-evpn-stale {
                      type boolean;
                      description
                        "EVPN stale flag";
                    }
                  }  // container group-info
    
                  leaf include-hosts {
                    type uint32;
                    description
                      "No. of hosts who are included";
                  }
    
                  leaf exclude-hosts {
                    type uint32;
                    description
                      "No. of hosts who are excluded";
                  }
    
                  list host {
                    description "List of hosts";
                    container address {
                      description "Host Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    leaf uptime {
                      type uint32;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf is-exclude {
                      type boolean;
                      description
                        "Exclude flag set";
                    }
    
                    leaf expiration-time {
                      type uint32;
                      units "second";
                      description
                        "Expiration time in seconds";
                    }
    
                    leaf source-count {
                      type uint32;
                      description
                        "No. of sources in entry";
                    }
    
                    list source-address {
                      max-elements 3;
                      description
                        "First 3 source addresses";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // list source-address
                  }  // list host
                }  // list explicit-group
              }  // container explicit-groups
    
              container interface-table {
                description
                  "IGMP Interface specific Table";
                list interface {
                  key "interface-name";
                  description "IGMP Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  container address {
                    description "IP address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container address
    
                  container querier-address {
                    description
                      "Address of the Querier";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container querier-address
    
                  container subscriber-address {
                    description
                      "Address of subscriber";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container subscriber-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf state {
                    type Im-state;
                    description
                      "Interface state";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf is-interface-up {
                    type boolean;
                    description
                      "Is interface up";
                  }
    
                  leaf is-ip-enabled {
                    type boolean;
                    description "Is IP enabled";
                  }
    
                  leaf is-router-enabled {
                    type boolean;
                    description
                      "Is Router functionality enabled";
                  }
    
                  leaf is-multi-homing-enabled {
                    type boolean;
                    description
                      "Is Multihoming enabled";
                  }
    
                  leaf is-multi-homing-stale {
                    type boolean;
                    description
                      "Is Multihoming Update stale";
                  }
    
                  leaf igmp-version {
                    type uint8;
                    description
                      "IGMP Router version";
                  }
    
                  leaf host-version {
                    type uint8;
                    description
                      "IGMP Host version";
                  }
    
                  leaf query-interval {
                    type uint16;
                    units "second";
                    description
                      "Query Interval value in seconds";
                  }
    
                  leaf query-timeout {
                    type uint16;
                    description
                      "Query Timeout value";
                  }
    
                  leaf query-maximum-response-time {
                    type uint16;
                    description
                      "Max Response Timeout value";
                  }
    
                  leaf last-member-query-interval {
                    type uint16;
                    description
                      "Last Member Query Interval";
                  }
    
                  leaf group-joins {
                    type uint32;
                    description
                      "No. of group joins";
                  }
    
                  leaf group-leaves {
                    type uint32;
                    description
                      "No. of group leaves";
                  }
    
                  leaf is-querier {
                    type boolean;
                    description "Are we querier";
                  }
    
                  leaf total-active-groups {
                    type uint32;
                    description
                      "Actual number of groups on interface";
                  }
    
                  leaf robustness {
                    type uint32;
                    description
                      "Robustness Variable value";
                  }
    
                  leaf proxy-interface {
                    type xr:Interface-name;
                    description
                      "Proxy interface index";
                  }
    
                  leaf querier-uptime {
                    type uint16;
                    description
                      "Time since the last querier took over";
                  }
    
                  leaf las-ll-registration-count {
                    type uint32;
                    description "LAS reg count";
                  }
    
                  leaf las-get-address-count {
                    type uint32;
                    description
                      "LAS get addr count";
                  }
    
                  leaf las-update-count {
                    type uint32;
                    description
                      "LAS Update count";
                  }
    
                  leaf las-ll-remove-update-count {
                    type uint32;
                    description
                      "LAS LL remove update count";
                  }
    
                  leaf las-ll-add-update-count {
                    type uint32;
                    description
                      "LAS LL add update count";
                  }
    
                  leaf las-null-update-count {
                    type uint32;
                    description
                      "LAS Null update count";
                  }
    
                  leaf las-unregistration-count {
                    type uint32;
                    description
                      "LAS unreg count";
                  }
    
                  leaf is-las-request {
                    type boolean;
                    description "LAS req";
                  }
    
                  leaf is-las-registered {
                    type boolean;
                    description "LAS registered";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF id";
                  }
    
                  leaf mte-vrf-id {
                    type uint32;
                    description "MTE VRF id";
                  }
    
                  leaf location {
                    type uint32;
                    description "Location";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "MTU";
                  }
    
                  leaf vrf-state {
                    type uint32;
                    description "Vrf State";
                  }
    
                  leaf is-configurationverify {
                    type boolean;
                    description "CFG verify";
                  }
    
                  leaf configurationvrf-set {
                    type boolean;
                    description "CFG vrf set";
                  }
    
                  leaf configurationvrf-error {
                    type boolean;
                    description "CFG vrf error";
                  }
    
                  leaf configuration-mcast-vrf-set {
                    type boolean;
                    description "Is mcast set";
                  }
    
                  leaf configuration-mcast-vrf-error {
                    type boolean;
                    description "Is mcast error";
                  }
    
                  leaf is-im-state-registered {
                    type boolean;
                    description
                      "Im state registered";
                  }
    
                  leaf is-subscriber {
                    type boolean;
                    description
                      "Subscriber interface";
                  }
    
                  leaf subscriber-mode {
                    type uint32;
                    description
                      "Subscriber mode";
                  }
    
                  leaf is-identity-present {
                    type boolean;
                    description
                      "Subscriber ID or Address available from AAA";
                  }
    
                  leaf subscriber-id {
                    type string {
                      length "0..257";
                    }
                    description
                      "ID string of subscriber";
                  }
    
                  leaf parent-ifhandle {
                    type xr:Interface-name;
                    description
                      "Parent If Handle";
                  }
    
                  leaf time-since-last-query-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last query";
                  }
    
                  leaf time-since-last-report-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last report";
                  }
    
                  leaf router-uptime-in-seconds {
                    type uint32;
                    description
                      "Uptime since router enabled event";
                  }
    
                  leaf mte-tuple-count {
                    type uint32;
                    description
                      "MTE Tuple count";
                  }
                }  // list interface
              }  // container interface-table
    
              container interface-unicast-qos-adjusts {
                description
                  "IGMP Interface Unicast-Qos-Adjust";
                list interface-unicast-qos-adjust {
                  key "interface-name";
                  description "IGMP Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf is-virtual-access {
                    type boolean;
                    description
                      "Is VirtualAccess Interface";
                  }
    
                  leaf rate {
                    type uint32;
                    units "kbit/s";
                    description
                      "Overall rate in Kbps";
                  }
    
                  leaf rate-increments {
                    type uint32;
                    description
                      "Count of rate increments";
                  }
    
                  leaf rate-decrements {
                    type uint32;
                    description
                      "Count of rate decrements";
                  }
    
                  list update {
                    max-elements 5;
                    description
                      "List of updates";
                    container source-address {
                      description
                        "Source address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    container group-address {
                      description
                        "Group address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address
    
                    leaf is-add {
                      type boolean;
                      description
                        "Is this a rate increment";
                    }
    
                    leaf weight {
                      type uint32;
                      description
                        "Weight from policy";
                    }
    
                    leaf received-time {
                      type uint64;
                      description
                        "Time this update is received";
                    }
                  }  // list update
                }  // list interface-unicast-qos-adjust
              }  // container interface-unicast-qos-adjusts
    
              container ranges {
                description "Range table";
                list range {
                  key "group-address group-mask";
                  description
                    "Range information";
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group address";
                  }
    
                  leaf group-mask {
                    type uint32;
                    description "Group Mask";
                  }
    
                  container group-address-xr {
                    description "Group address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container group-address-xr
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf protocol {
                    type Igmp-edm-protocol;
                    description "Protocol";
                  }
    
                  leaf is-stale {
                    type boolean;
                    description
                      "Is the entry stale";
                  }
                }  // list range
              }  // container ranges
    
              container ifrs-interfaces {
                description
                  "IGMP Interface specific";
                list ifrs-interface {
                  key "interface-name";
                  description
                    "IGMP IFRS Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "IFRS Interface Name";
                  }
    
                  container igmp-interface-entry {
                    description
                      "IGMP interface entry";
                    container address {
                      description "IP address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    container querier-address {
                      description
                        "Address of the Querier";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container querier-address
    
                    container subscriber-address {
                      description
                        "Address of subscriber";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container subscriber-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf state {
                      type Im-state;
                      description
                        "Interface state";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf is-interface-up {
                      type boolean;
                      description
                        "Is interface up";
                    }
    
                    leaf is-ip-enabled {
                      type boolean;
                      description
                        "Is IP enabled";
                    }
    
                    leaf is-router-enabled {
                      type boolean;
                      description
                        "Is Router functionality enabled";
                    }
    
                    leaf is-multi-homing-enabled {
                      type boolean;
                      description
                        "Is Multihoming enabled";
                    }
    
                    leaf is-multi-homing-stale {
                      type boolean;
                      description
                        "Is Multihoming Update stale";
                    }
    
                    leaf igmp-version {
                      type uint8;
                      description
                        "IGMP Router version";
                    }
    
                    leaf host-version {
                      type uint8;
                      description
                        "IGMP Host version";
                    }
    
                    leaf query-interval {
                      type uint16;
                      units "second";
                      description
                        "Query Interval value in seconds";
                    }
    
                    leaf query-timeout {
                      type uint16;
                      description
                        "Query Timeout value";
                    }
    
                    leaf query-maximum-response-time {
                      type uint16;
                      description
                        "Max Response Timeout value";
                    }
    
                    leaf last-member-query-interval {
                      type uint16;
                      description
                        "Last Member Query Interval";
                    }
    
                    leaf group-joins {
                      type uint32;
                      description
                        "No. of group joins";
                    }
    
                    leaf group-leaves {
                      type uint32;
                      description
                        "No. of group leaves";
                    }
    
                    leaf is-querier {
                      type boolean;
                      description
                        "Are we querier";
                    }
    
                    leaf total-active-groups {
                      type uint32;
                      description
                        "Actual number of groups on interface";
                    }
    
                    leaf robustness {
                      type uint32;
                      description
                        "Robustness Variable value";
                    }
    
                    leaf proxy-interface {
                      type xr:Interface-name;
                      description
                        "Proxy interface index";
                    }
    
                    leaf querier-uptime {
                      type uint16;
                      description
                        "Time since the last querier took over";
                    }
    
                    leaf las-ll-registration-count {
                      type uint32;
                      description
                        "LAS reg count";
                    }
    
                    leaf las-get-address-count {
                      type uint32;
                      description
                        "LAS get addr count";
                    }
    
                    leaf las-update-count {
                      type uint32;
                      description
                        "LAS Update count";
                    }
    
                    leaf las-ll-remove-update-count {
                      type uint32;
                      description
                        "LAS LL remove update count";
                    }
    
                    leaf las-ll-add-update-count {
                      type uint32;
                      description
                        "LAS LL add update count";
                    }
    
                    leaf las-null-update-count {
                      type uint32;
                      description
                        "LAS Null update count";
                    }
    
                    leaf las-unregistration-count {
                      type uint32;
                      description
                        "LAS unreg count";
                    }
    
                    leaf is-las-request {
                      type boolean;
                      description "LAS req";
                    }
    
                    leaf is-las-registered {
                      type boolean;
                      description
                        "LAS registered";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF id";
                    }
    
                    leaf mte-vrf-id {
                      type uint32;
                      description "MTE VRF id";
                    }
    
                    leaf location {
                      type uint32;
                      description "Location";
                    }
    
                    leaf mtu {
                      type uint32;
                      description "MTU";
                    }
    
                    leaf vrf-state {
                      type uint32;
                      description "Vrf State";
                    }
    
                    leaf is-configurationverify {
                      type boolean;
                      description "CFG verify";
                    }
    
                    leaf configurationvrf-set {
                      type boolean;
                      description "CFG vrf set";
                    }
    
                    leaf configurationvrf-error {
                      type boolean;
                      description
                        "CFG vrf error";
                    }
    
                    leaf configuration-mcast-vrf-set {
                      type boolean;
                      description "Is mcast set";
                    }
    
                    leaf configuration-mcast-vrf-error {
                      type boolean;
                      description
                        "Is mcast error";
                    }
    
                    leaf is-im-state-registered {
                      type boolean;
                      description
                        "Im state registered";
                    }
    
                    leaf is-subscriber {
                      type boolean;
                      description
                        "Subscriber interface";
                    }
    
                    leaf subscriber-mode {
                      type uint32;
                      description
                        "Subscriber mode";
                    }
    
                    leaf is-identity-present {
                      type boolean;
                      description
                        "Subscriber ID or Address available from AAA";
                    }
    
                    leaf subscriber-id {
                      type string {
                        length "0..257";
                      }
                      description
                        "ID string of subscriber";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent If Handle";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Uptime since router enabled event";
                    }
    
                    leaf mte-tuple-count {
                      type uint32;
                      description
                        "MTE Tuple count";
                    }
                  }  // container igmp-interface-entry
    
                  leaf join-group-count {
                    type uint32;
                    description
                      "Join group count";
                  }
                }  // list ifrs-interface
              }  // container ifrs-interfaces
    
              container traffic-counters {
                description
                  "IGMP Message Traffic Counters";
                leaf elapsed-time {
                  type uint32;
                  description
                    "Running time for counters";
                }
    
                leaf packets-in {
                  type uint32;
                  description "Packets in";
                }
    
                leaf packets-out {
                  type uint32;
                  description "Packets out";
                }
    
                leaf format-errors {
                  type uint32;
                  description
                    "Malformed packets in";
                }
    
                leaf packet-manager-input-errors {
                  type uint32;
                  description
                    "Incoming Packet Manager packets dropped";
                }
    
                leaf packet-manager-output-errors {
                  type uint32;
                  description
                    "Outgoing Packet Manager packets dropped";
                }
    
                leaf checksum-errors {
                  type uint32;
                  description "Checksum errors";
                }
    
                leaf receive-socket-errors {
                  type uint32;
                  description
                    "Socket errors on reception";
                }
    
                leaf socket-errors {
                  type uint32;
                  description
                    "Socket errors on send";
                }
    
                leaf bad-scope-errors {
                  type uint32;
                  description "BadScope errors";
                }
    
                leaf auxillary-data-length-errors {
                  type uint32;
                  description
                    "AuxDataLen errors";
                }
    
                leaf invalid-source-address-errors {
                  type uint32;
                  description
                    "Invalid Source Address errors";
                }
    
                leaf no-socket-connection {
                  type uint32;
                  description
                    "Packets dropped since no socket connection";
                }
    
                leaf miscellaneous-errors {
                  type uint32;
                  description
                    "Packets dropped for other reasons";
                }
    
                leaf input-queries {
                  type uint32;
                  description "Query packets in";
                }
    
                leaf input-reports {
                  type uint32;
                  description "Reports in";
                }
    
                leaf input-leaves {
                  type uint32;
                  description "Leaves in";
                }
    
                leaf input-mtrace {
                  type uint32;
                  description
                    "Mtrace packets in";
                }
    
                leaf input-dvmrp {
                  type uint32;
                  description "DVMRP packets in";
                }
    
                leaf dvmrp-alloc {
                  type uint32;
                  description
                    "DVMRP buffer allocations";
                }
    
                leaf dvmrp-free {
                  type uint32;
                  description
                    "DVMRP freed buffers";
                }
    
                leaf dvmrp-drop {
                  type uint32;
                  description
                    "DVMRP packets dropped";
                }
    
                leaf input-pim {
                  type uint32;
                  description "PIM packets in";
                }
    
                leaf output-queries {
                  type uint32;
                  description
                    "Query packets out";
                }
    
                leaf output-reports {
                  type uint32;
                  description "Reports out";
                }
    
                leaf output-leaves {
                  type uint32;
                  description "Leaves out";
                }
    
                leaf output-mtrace {
                  type uint32;
                  description
                    "Mtrace packets out";
                }
    
                leaf output-dvmrp {
                  type uint32;
                  description
                    "DVMRP packets out";
                }
    
                leaf output-pim {
                  type uint32;
                  description "PIM packets out";
                }
    
                leaf get-packet-failure {
                  type uint32;
                  description
                    "Packet get failed";
                }
    
                leaf output-no-parent-interface-handle {
                  type uint32;
                  description
                    "Failures setting 2nd ifhandle";
                }
    
                leaf input-no-idb {
                  type uint32;
                  description
                    "Packets received without idb";
                }
    
                leaf input-no-vrf-in-idb {
                  type uint32;
                  description
                    "Packets received on idb without VRF";
                }
    
                leaf input-disabled-idb {
                  type uint32;
                  description
                    "Packet received on disabled idb";
                }
    
                leaf input-martian-address {
                  type uint32;
                  description
                    "Packets received with Martian Address";
                }
    
                leaf input-no-assigned-vrf-id {
                  type uint32;
                  description
                    "Packets received with no assigned vrf id";
                }
    
                leaf input-no-vrf-mtrace {
                  type uint32;
                  description
                    "mtrace packets with no vrf associated";
                }
    
                leaf input-no-platform-support-mtrace {
                  type uint32;
                  description
                    "mtrace packets without platform support";
                }
    
                leaf packet-allocated {
                  type uint32;
                  description
                    "Number of pak allocated by IGMP";
                }
    
                leaf packet-freed {
                  type uint32;
                  description
                    "Number of pak freed by IGMP";
                }
              }  // container traffic-counters
    
              container groups {
                description
                  "IGMP Group Database Table";
                list group {
                  key "group-address interface-name";
                  description
                    "IGMP Group Entry Information";
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group Address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container group-address-xr
    
                  container last-reporter {
                    description
                      "Last reporter address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container last-reporter
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container source-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
    
                  leaf expiration-time {
                    type int32;
                    units "second";
                    description
                      "Expiration time in seconds";
                  }
    
                  leaf explicit-tracking-enabled {
                    type boolean;
                    description
                      "Is explicit tracking enabled";
                  }
    
                  leaf is-self-join {
                    type boolean;
                    description
                      "If local system is member of this group on this
    interface";
                  }
    
                  leaf row-status {
                    type string {
                      length "0..16";
                    }
                    description
                      "interface on or off for the group";
                  }
    
                  leaf is-low-memory {
                    type boolean;
                    description
                      "Node is running low on memory";
                  }
    
                  leaf router-filter-mode {
                    type uint8;
                    description "Filter mode";
                  }
    
                  leaf older-host-version1-timer {
                    type uint32;
                    description
                      "IGMP Hostversion1timer";
                  }
    
                  leaf older-host-version2-timer {
                    type uint32;
                    description
                      "IGMP Hostversion2timer";
                  }
    
                  leaf is-added {
                    type boolean;
                    description "Joined";
                  }
    
                  leaf is-suppressed {
                    type boolean;
                    description "Suppressed";
                  }
    
                  leaf is-evpn-remote {
                    type boolean;
                    description
                      "EVPN remote flag";
                  }
    
                  leaf is-evpn-stale {
                    type boolean;
                    description
                      "EVPN stale flag";
                  }
                }  // list group
              }  // container groups
    
              container group-summary {
                description
                  "IGMP Groups Summary";
                leaf groutes {
                  type uint32;
                  description
                    "No. of (*,G) routes";
                }
    
                leaf sg-routes {
                  type uint32;
                  description
                    "No. of (S,G) routes";
                }
    
                leaf group-count {
                  type uint32;
                  description
                    "Current groups accepted";
                }
    
                leaf is-low-memory {
                  type boolean;
                  description
                    "Node is running low on memory";
                }
              }  // container group-summary
    
              container ifrs-interface-summary {
                description
                  "IGMP IFRS Interface summary";
                leaf interface-count {
                  type uint32;
                  description "Interface Count";
                }
    
                leaf configuration-count {
                  type uint32;
                  description
                    "Configuration count";
                }
              }  // container ifrs-interface-summary
    
              container global-interface-table {
                description
                  "IGMP Global Interface ";
                list interface {
                  key "interface-name";
                  description "IGMP Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  container address {
                    description "IP address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container address
    
                  container querier-address {
                    description
                      "Address of the Querier";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container querier-address
    
                  container subscriber-address {
                    description
                      "Address of subscriber";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container subscriber-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf state {
                    type Im-state;
                    description
                      "Interface state";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf is-interface-up {
                    type boolean;
                    description
                      "Is interface up";
                  }
    
                  leaf is-ip-enabled {
                    type boolean;
                    description "Is IP enabled";
                  }
    
                  leaf is-router-enabled {
                    type boolean;
                    description
                      "Is Router functionality enabled";
                  }
    
                  leaf is-multi-homing-enabled {
                    type boolean;
                    description
                      "Is Multihoming enabled";
                  }
    
                  leaf is-multi-homing-stale {
                    type boolean;
                    description
                      "Is Multihoming Update stale";
                  }
    
                  leaf igmp-version {
                    type uint8;
                    description
                      "IGMP Router version";
                  }
    
                  leaf host-version {
                    type uint8;
                    description
                      "IGMP Host version";
                  }
    
                  leaf query-interval {
                    type uint16;
                    units "second";
                    description
                      "Query Interval value in seconds";
                  }
    
                  leaf query-timeout {
                    type uint16;
                    description
                      "Query Timeout value";
                  }
    
                  leaf query-maximum-response-time {
                    type uint16;
                    description
                      "Max Response Timeout value";
                  }
    
                  leaf last-member-query-interval {
                    type uint16;
                    description
                      "Last Member Query Interval";
                  }
    
                  leaf group-joins {
                    type uint32;
                    description
                      "No. of group joins";
                  }
    
                  leaf group-leaves {
                    type uint32;
                    description
                      "No. of group leaves";
                  }
    
                  leaf is-querier {
                    type boolean;
                    description "Are we querier";
                  }
    
                  leaf total-active-groups {
                    type uint32;
                    description
                      "Actual number of groups on interface";
                  }
    
                  leaf robustness {
                    type uint32;
                    description
                      "Robustness Variable value";
                  }
    
                  leaf proxy-interface {
                    type xr:Interface-name;
                    description
                      "Proxy interface index";
                  }
    
                  leaf querier-uptime {
                    type uint16;
                    description
                      "Time since the last querier took over";
                  }
    
                  leaf las-ll-registration-count {
                    type uint32;
                    description "LAS reg count";
                  }
    
                  leaf las-get-address-count {
                    type uint32;
                    description
                      "LAS get addr count";
                  }
    
                  leaf las-update-count {
                    type uint32;
                    description
                      "LAS Update count";
                  }
    
                  leaf las-ll-remove-update-count {
                    type uint32;
                    description
                      "LAS LL remove update count";
                  }
    
                  leaf las-ll-add-update-count {
                    type uint32;
                    description
                      "LAS LL add update count";
                  }
    
                  leaf las-null-update-count {
                    type uint32;
                    description
                      "LAS Null update count";
                  }
    
                  leaf las-unregistration-count {
                    type uint32;
                    description
                      "LAS unreg count";
                  }
    
                  leaf is-las-request {
                    type boolean;
                    description "LAS req";
                  }
    
                  leaf is-las-registered {
                    type boolean;
                    description "LAS registered";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF id";
                  }
    
                  leaf mte-vrf-id {
                    type uint32;
                    description "MTE VRF id";
                  }
    
                  leaf location {
                    type uint32;
                    description "Location";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "MTU";
                  }
    
                  leaf vrf-state {
                    type uint32;
                    description "Vrf State";
                  }
    
                  leaf is-configurationverify {
                    type boolean;
                    description "CFG verify";
                  }
    
                  leaf configurationvrf-set {
                    type boolean;
                    description "CFG vrf set";
                  }
    
                  leaf configurationvrf-error {
                    type boolean;
                    description "CFG vrf error";
                  }
    
                  leaf configuration-mcast-vrf-set {
                    type boolean;
                    description "Is mcast set";
                  }
    
                  leaf configuration-mcast-vrf-error {
                    type boolean;
                    description "Is mcast error";
                  }
    
                  leaf is-im-state-registered {
                    type boolean;
                    description
                      "Im state registered";
                  }
    
                  leaf is-subscriber {
                    type boolean;
                    description
                      "Subscriber interface";
                  }
    
                  leaf subscriber-mode {
                    type uint32;
                    description
                      "Subscriber mode";
                  }
    
                  leaf is-identity-present {
                    type boolean;
                    description
                      "Subscriber ID or Address available from AAA";
                  }
    
                  leaf subscriber-id {
                    type string {
                      length "0..257";
                    }
                    description
                      "ID string of subscriber";
                  }
    
                  leaf parent-ifhandle {
                    type xr:Interface-name;
                    description
                      "Parent If Handle";
                  }
    
                  leaf time-since-last-query-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last query";
                  }
    
                  leaf time-since-last-report-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last report";
                  }
    
                  leaf router-uptime-in-seconds {
                    type uint32;
                    description
                      "Uptime since router enabled event";
                  }
    
                  leaf mte-tuple-count {
                    type uint32;
                    description
                      "MTE Tuple count";
                  }
                }  // list interface
              }  // container global-interface-table
    
              container ssm-map-details {
                description "SSM Map Detail";
                list ssm-map-detail {
                  key "ssm-map-type group-address";
                  description
                    "SSM Map Detail Table information";
                  leaf ssm-map-type {
                    type Igmpssm-map;
                    description "SSM Map Type";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group address";
                  }
    
                  container map-info {
                    description "Basic Map Info";
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    leaf map-type {
                      type uint32;
                      description
                        "Map Type of group";
                    }
    
                    leaf source-counts {
                      type uint32;
                      description
                        "Count of Sources";
                    }
                  }  // container map-info
    
                  leaf expiration-time {
                    type uint32;
                    units "second";
                    description
                      "Expiration Time in Seconds";
                  }
    
                  leaf response-pending {
                    type boolean;
                    description
                      "Response Pending";
                  }
    
                  leaf query-interval {
                    type uint32;
                    description "Query interval";
                  }
    
                  leaf elapsed-time {
                    type uint64;
                    description "Elapsed time";
                  }
    
                  list sources {
                    description
                      "List of sources";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // list sources
                }  // list ssm-map-detail
              }  // container ssm-map-details
    
              container interface-state-offs {
                description
                  "IGMP Interface state off";
                list interface-state-off {
                  key "interface-name";
                  description "IGMP Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  container address {
                    description "IP address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container address
    
                  container querier-address {
                    description
                      "Address of the Querier";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container querier-address
    
                  container subscriber-address {
                    description
                      "Address of subscriber";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container subscriber-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf state {
                    type Im-state;
                    description
                      "Interface state";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf is-interface-up {
                    type boolean;
                    description
                      "Is interface up";
                  }
    
                  leaf is-ip-enabled {
                    type boolean;
                    description "Is IP enabled";
                  }
    
                  leaf is-router-enabled {
                    type boolean;
                    description
                      "Is Router functionality enabled";
                  }
    
                  leaf is-multi-homing-enabled {
                    type boolean;
                    description
                      "Is Multihoming enabled";
                  }
    
                  leaf is-multi-homing-stale {
                    type boolean;
                    description
                      "Is Multihoming Update stale";
                  }
    
                  leaf igmp-version {
                    type uint8;
                    description
                      "IGMP Router version";
                  }
    
                  leaf host-version {
                    type uint8;
                    description
                      "IGMP Host version";
                  }
    
                  leaf query-interval {
                    type uint16;
                    units "second";
                    description
                      "Query Interval value in seconds";
                  }
    
                  leaf query-timeout {
                    type uint16;
                    description
                      "Query Timeout value";
                  }
    
                  leaf query-maximum-response-time {
                    type uint16;
                    description
                      "Max Response Timeout value";
                  }
    
                  leaf last-member-query-interval {
                    type uint16;
                    description
                      "Last Member Query Interval";
                  }
    
                  leaf group-joins {
                    type uint32;
                    description
                      "No. of group joins";
                  }
    
                  leaf group-leaves {
                    type uint32;
                    description
                      "No. of group leaves";
                  }
    
                  leaf is-querier {
                    type boolean;
                    description "Are we querier";
                  }
    
                  leaf total-active-groups {
                    type uint32;
                    description
                      "Actual number of groups on interface";
                  }
    
                  leaf robustness {
                    type uint32;
                    description
                      "Robustness Variable value";
                  }
    
                  leaf proxy-interface {
                    type xr:Interface-name;
                    description
                      "Proxy interface index";
                  }
    
                  leaf querier-uptime {
                    type uint16;
                    description
                      "Time since the last querier took over";
                  }
    
                  leaf las-ll-registration-count {
                    type uint32;
                    description "LAS reg count";
                  }
    
                  leaf las-get-address-count {
                    type uint32;
                    description
                      "LAS get addr count";
                  }
    
                  leaf las-update-count {
                    type uint32;
                    description
                      "LAS Update count";
                  }
    
                  leaf las-ll-remove-update-count {
                    type uint32;
                    description
                      "LAS LL remove update count";
                  }
    
                  leaf las-ll-add-update-count {
                    type uint32;
                    description
                      "LAS LL add update count";
                  }
    
                  leaf las-null-update-count {
                    type uint32;
                    description
                      "LAS Null update count";
                  }
    
                  leaf las-unregistration-count {
                    type uint32;
                    description
                      "LAS unreg count";
                  }
    
                  leaf is-las-request {
                    type boolean;
                    description "LAS req";
                  }
    
                  leaf is-las-registered {
                    type boolean;
                    description "LAS registered";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF id";
                  }
    
                  leaf mte-vrf-id {
                    type uint32;
                    description "MTE VRF id";
                  }
    
                  leaf location {
                    type uint32;
                    description "Location";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "MTU";
                  }
    
                  leaf vrf-state {
                    type uint32;
                    description "Vrf State";
                  }
    
                  leaf is-configurationverify {
                    type boolean;
                    description "CFG verify";
                  }
    
                  leaf configurationvrf-set {
                    type boolean;
                    description "CFG vrf set";
                  }
    
                  leaf configurationvrf-error {
                    type boolean;
                    description "CFG vrf error";
                  }
    
                  leaf configuration-mcast-vrf-set {
                    type boolean;
                    description "Is mcast set";
                  }
    
                  leaf configuration-mcast-vrf-error {
                    type boolean;
                    description "Is mcast error";
                  }
    
                  leaf is-im-state-registered {
                    type boolean;
                    description
                      "Im state registered";
                  }
    
                  leaf is-subscriber {
                    type boolean;
                    description
                      "Subscriber interface";
                  }
    
                  leaf subscriber-mode {
                    type uint32;
                    description
                      "Subscriber mode";
                  }
    
                  leaf is-identity-present {
                    type boolean;
                    description
                      "Subscriber ID or Address available from AAA";
                  }
    
                  leaf subscriber-id {
                    type string {
                      length "0..257";
                    }
                    description
                      "ID string of subscriber";
                  }
    
                  leaf parent-ifhandle {
                    type xr:Interface-name;
                    description
                      "Parent If Handle";
                  }
    
                  leaf time-since-last-query-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last query";
                  }
    
                  leaf time-since-last-report-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last report";
                  }
    
                  leaf router-uptime-in-seconds {
                    type uint32;
                    description
                      "Uptime since router enabled event";
                  }
    
                  leaf mte-tuple-count {
                    type uint32;
                    description
                      "MTE Tuple count";
                  }
                }  // list interface-state-off
              }  // container interface-state-offs
            }  // container default-context
          }  // container standby
    
          container active {
            description "Active Process";
            container vrf-table {
              description "VRF Table";
              list vrf {
                key "vrf-name";
                description "VRF table Names";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description "VRF name";
                }
    
                container summary {
                  description
                    "IGMP Summary Information";
                  leaf robustness {
                    type uint32;
                    description
                      "Robustness variable";
                  }
    
                  leaf group-limit {
                    type uint32;
                    description
                      "Maximum groups accepted";
                  }
    
                  leaf group-count {
                    type uint32;
                    description
                      "Current groups accepted";
                  }
    
                  leaf is-disabled {
                    type boolean;
                    description
                      "Is maximum enforcement disabled";
                  }
    
                  leaf is-evpn-connection-up {
                    type boolean;
                    description
                      "Is EVPN connection up";
                  }
    
                  leaf supported-interfaces {
                    type uint32;
                    description
                      "No. of supported interfaces";
                  }
    
                  leaf unsupported-interfaces {
                    type uint32;
                    description
                      "No. of unsupported interfaces";
                  }
    
                  leaf enabled-interface-count {
                    type uint32;
                    description
                      "No. of enabled interfaces";
                  }
    
                  leaf disabled-interface-count {
                    type uint32;
                    description
                      "No. of disabled interfaces";
                  }
    
                  leaf multi-homing-enabled-interfaces {
                    type uint32;
                    description
                      "No. of EVPN MH enabled interfaces";
                  }
    
                  leaf tunnel-mte-config-count {
                    type uint32;
                    description
                      "No. of static group commands";
                  }
    
                  leaf node-low-memory {
                    type boolean;
                    description
                      "Is node in low memory condition";
                  }
    
                  leaf querier-number {
                    type uint32;
                    description
                      "Number of querier interfaces";
                  }
    
                  list interface {
                    description
                      "Maximum and current groups accepted for each
    interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf group-limit {
                      type uint32;
                      description
                        "Maximum groups accepted per interface";
                    }
    
                    leaf group-count {
                      type uint32;
                      description
                        "Current groups accepted per interface";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent if handle";
                    }
    
                    leaf on-off {
                      type boolean;
                      description
                        "Enabled/Disabled";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since router enabled event";
                    }
                  }  // list interface
                }  // container summary
    
                container interface-state-ons {
                  description
                    "IGMP Interface state on";
                  list interface-state-on {
                    key "interface-name";
                    description "IGMP Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    container address {
                      description "IP address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    container querier-address {
                      description
                        "Address of the Querier";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container querier-address
    
                    container subscriber-address {
                      description
                        "Address of subscriber";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container subscriber-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf state {
                      type Im-state;
                      description
                        "Interface state";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf is-interface-up {
                      type boolean;
                      description
                        "Is interface up";
                    }
    
                    leaf is-ip-enabled {
                      type boolean;
                      description
                        "Is IP enabled";
                    }
    
                    leaf is-router-enabled {
                      type boolean;
                      description
                        "Is Router functionality enabled";
                    }
    
                    leaf is-multi-homing-enabled {
                      type boolean;
                      description
                        "Is Multihoming enabled";
                    }
    
                    leaf is-multi-homing-stale {
                      type boolean;
                      description
                        "Is Multihoming Update stale";
                    }
    
                    leaf igmp-version {
                      type uint8;
                      description
                        "IGMP Router version";
                    }
    
                    leaf host-version {
                      type uint8;
                      description
                        "IGMP Host version";
                    }
    
                    leaf query-interval {
                      type uint16;
                      units "second";
                      description
                        "Query Interval value in seconds";
                    }
    
                    leaf query-timeout {
                      type uint16;
                      description
                        "Query Timeout value";
                    }
    
                    leaf query-maximum-response-time {
                      type uint16;
                      description
                        "Max Response Timeout value";
                    }
    
                    leaf last-member-query-interval {
                      type uint16;
                      description
                        "Last Member Query Interval";
                    }
    
                    leaf group-joins {
                      type uint32;
                      description
                        "No. of group joins";
                    }
    
                    leaf group-leaves {
                      type uint32;
                      description
                        "No. of group leaves";
                    }
    
                    leaf is-querier {
                      type boolean;
                      description
                        "Are we querier";
                    }
    
                    leaf total-active-groups {
                      type uint32;
                      description
                        "Actual number of groups on interface";
                    }
    
                    leaf robustness {
                      type uint32;
                      description
                        "Robustness Variable value";
                    }
    
                    leaf proxy-interface {
                      type xr:Interface-name;
                      description
                        "Proxy interface index";
                    }
    
                    leaf querier-uptime {
                      type uint16;
                      description
                        "Time since the last querier took over";
                    }
    
                    leaf las-ll-registration-count {
                      type uint32;
                      description
                        "LAS reg count";
                    }
    
                    leaf las-get-address-count {
                      type uint32;
                      description
                        "LAS get addr count";
                    }
    
                    leaf las-update-count {
                      type uint32;
                      description
                        "LAS Update count";
                    }
    
                    leaf las-ll-remove-update-count {
                      type uint32;
                      description
                        "LAS LL remove update count";
                    }
    
                    leaf las-ll-add-update-count {
                      type uint32;
                      description
                        "LAS LL add update count";
                    }
    
                    leaf las-null-update-count {
                      type uint32;
                      description
                        "LAS Null update count";
                    }
    
                    leaf las-unregistration-count {
                      type uint32;
                      description
                        "LAS unreg count";
                    }
    
                    leaf is-las-request {
                      type boolean;
                      description "LAS req";
                    }
    
                    leaf is-las-registered {
                      type boolean;
                      description
                        "LAS registered";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF id";
                    }
    
                    leaf mte-vrf-id {
                      type uint32;
                      description "MTE VRF id";
                    }
    
                    leaf location {
                      type uint32;
                      description "Location";
                    }
    
                    leaf mtu {
                      type uint32;
                      description "MTU";
                    }
    
                    leaf vrf-state {
                      type uint32;
                      description "Vrf State";
                    }
    
                    leaf is-configurationverify {
                      type boolean;
                      description "CFG verify";
                    }
    
                    leaf configurationvrf-set {
                      type boolean;
                      description "CFG vrf set";
                    }
    
                    leaf configurationvrf-error {
                      type boolean;
                      description
                        "CFG vrf error";
                    }
    
                    leaf configuration-mcast-vrf-set {
                      type boolean;
                      description "Is mcast set";
                    }
    
                    leaf configuration-mcast-vrf-error {
                      type boolean;
                      description
                        "Is mcast error";
                    }
    
                    leaf is-im-state-registered {
                      type boolean;
                      description
                        "Im state registered";
                    }
    
                    leaf is-subscriber {
                      type boolean;
                      description
                        "Subscriber interface";
                    }
    
                    leaf subscriber-mode {
                      type uint32;
                      description
                        "Subscriber mode";
                    }
    
                    leaf is-identity-present {
                      type boolean;
                      description
                        "Subscriber ID or Address available from AAA";
                    }
    
                    leaf subscriber-id {
                      type string {
                        length "0..257";
                      }
                      description
                        "ID string of subscriber";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent If Handle";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Uptime since router enabled event";
                    }
    
                    leaf mte-tuple-count {
                      type uint32;
                      description
                        "MTE Tuple count";
                    }
                  }  // list interface-state-on
                }  // container interface-state-ons
    
                container detail-groups {
                  description
                    "IGMP Detail Group Database";
                  list detail-group {
                    key "group-address interface-name source-address";
                    description
                      "IGMP Detail Group Entry Information";
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group Address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source/Host Address";
                    }
    
                    container group-info {
                      description
                        "Basic Group information";
                      container group-address-xr {
                        description
                          "Group Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container group-address-xr
    
                      container last-reporter {
                        description
                          "Last reporter address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container last-reporter
    
                      container source-address {
                        description
                          "Source Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container source-address
    
                      leaf interface-name-xr {
                        type xr:Interface-name;
                        description "Interface";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiration-time {
                        type int32;
                        units "second";
                        description
                          "Expiration time in seconds";
                      }
    
                      leaf explicit-tracking-enabled {
                        type boolean;
                        description
                          "Is explicit tracking enabled";
                      }
    
                      leaf is-self-join {
                        type boolean;
                        description
                          "If local system is member of this group on this
    interface";
                      }
    
                      leaf row-status {
                        type string {
                          length "0..16";
                        }
                        description
                          "interface on or off for the group";
                      }
    
                      leaf is-low-memory {
                        type boolean;
                        description
                          "Node is running low on memory";
                      }
    
                      leaf router-filter-mode {
                        type uint8;
                        description
                          "Filter mode";
                      }
    
                      leaf older-host-version1-timer {
                        type uint32;
                        description
                          "IGMP Hostversion1timer";
                      }
    
                      leaf older-host-version2-timer {
                        type uint32;
                        description
                          "IGMP Hostversion2timer";
                      }
    
                      leaf is-added {
                        type boolean;
                        description "Joined";
                      }
    
                      leaf is-suppressed {
                        type boolean;
                        description "Suppressed";
                      }
    
                      leaf is-evpn-remote {
                        type boolean;
                        description
                          "EVPN remote flag";
                      }
    
                      leaf is-evpn-stale {
                        type boolean;
                        description
                          "EVPN stale flag";
                      }
                    }  // container group-info
    
                    leaf is-router-exclude-mode {
                      type boolean;
                      description
                        "Group router filter mode";
                    }
    
                    leaf is-host-exclude-mode {
                      type boolean;
                      description
                        "Group host filter mode";
                    }
    
                    list source {
                      description
                        "List of sources";
                      container source-address {
                        description
                          "Source Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container source-address
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiration-time {
                        type int32;
                        units "second";
                        description
                          "Expiration time in seconds";
                      }
    
                      leaf is-local {
                        type boolean;
                        description
                          "Is this a local source";
                      }
    
                      leaf is-remote {
                        type boolean;
                        description
                          "Is this a remote source";
                      }
    
                      leaf is-forward {
                        type boolean;
                        description
                          "Should we forward on this entry";
                      }
    
                      leaf is-we-report {
                        type boolean;
                        description
                          "Should we report the source";
                      }
    
                      leaf flags {
                        type int32;
                        description
                          "Source flags";
                      }
    
                      leaf is-added {
                        type boolean;
                        description "Joined";
                      }
    
                      leaf is-evpn-remote {
                        type boolean;
                        description
                          "Route learnt through EVPN";
                      }
                    }  // list source
                  }  // list detail-group
                }  // container detail-groups
    
                container non-active-groups {
                  description
                    "IGMP Non-Active Groups Information";
                  list non-active-groups {
                    description
                      "List of non-active groups";
                    container group-address {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address
    
                    container source-address {
                      description
                        "Source Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    leaf interface {
                      type string {
                        length "0..65";
                      }
                      description
                        "Interface Name";
                    }
    
                    leaf reason-for-non-activity {
                      type string {
                        length "0..257";
                      }
                      description
                        "Reason for group join not being processed";
                    }
                  }  // list non-active-groups
                }  // container non-active-groups
    
                container ssm-maps {
                  description "SSM Map Table";
                  list ssm-map {
                    key "ssm-map-type group-address";
                    description
                      "SSM Map information";
                    leaf ssm-map-type {
                      type Igmpssm-map;
                      description "SSM Map Type";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    leaf map-type {
                      type uint32;
                      description
                        "Map Type of group";
                    }
    
                    leaf source-counts {
                      type uint32;
                      description
                        "Count of Sources";
                    }
                  }  // list ssm-map
                }  // container ssm-maps
    
                container explicit-groups {
                  description
                    "IGMP Explicit Group Database";
                  list explicit-group {
                    key "group-address interface-name source-address";
                    description
                      "IGMP Explicit Group Entry Information";
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group Address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    leaf source-address {
                      type inet:ip-address-no-zone;
                      description
                        "Source/Host Address";
                    }
    
                    container group-info {
                      description
                        "Basic Group information";
                      container group-address-xr {
                        description
                          "Group Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container group-address-xr
    
                      container last-reporter {
                        description
                          "Last reporter address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container last-reporter
    
                      container source-address {
                        description
                          "Source Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container source-address
    
                      leaf interface-name-xr {
                        type xr:Interface-name;
                        description "Interface";
                      }
    
                      leaf uptime {
                        type uint64;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf expiration-time {
                        type int32;
                        units "second";
                        description
                          "Expiration time in seconds";
                      }
    
                      leaf explicit-tracking-enabled {
                        type boolean;
                        description
                          "Is explicit tracking enabled";
                      }
    
                      leaf is-self-join {
                        type boolean;
                        description
                          "If local system is member of this group on this
    interface";
                      }
    
                      leaf row-status {
                        type string {
                          length "0..16";
                        }
                        description
                          "interface on or off for the group";
                      }
    
                      leaf is-low-memory {
                        type boolean;
                        description
                          "Node is running low on memory";
                      }
    
                      leaf router-filter-mode {
                        type uint8;
                        description
                          "Filter mode";
                      }
    
                      leaf older-host-version1-timer {
                        type uint32;
                        description
                          "IGMP Hostversion1timer";
                      }
    
                      leaf older-host-version2-timer {
                        type uint32;
                        description
                          "IGMP Hostversion2timer";
                      }
    
                      leaf is-added {
                        type boolean;
                        description "Joined";
                      }
    
                      leaf is-suppressed {
                        type boolean;
                        description "Suppressed";
                      }
    
                      leaf is-evpn-remote {
                        type boolean;
                        description
                          "EVPN remote flag";
                      }
    
                      leaf is-evpn-stale {
                        type boolean;
                        description
                          "EVPN stale flag";
                      }
                    }  // container group-info
    
                    leaf include-hosts {
                      type uint32;
                      description
                        "No. of hosts who are included";
                    }
    
                    leaf exclude-hosts {
                      type uint32;
                      description
                        "No. of hosts who are excluded";
                    }
    
                    list host {
                      description
                        "List of hosts";
                      container address {
                        description
                          "Host Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container address
    
                      leaf uptime {
                        type uint32;
                        units "second";
                        description
                          "Uptime in seconds";
                      }
    
                      leaf is-exclude {
                        type boolean;
                        description
                          "Exclude flag set";
                      }
    
                      leaf expiration-time {
                        type uint32;
                        units "second";
                        description
                          "Expiration time in seconds";
                      }
    
                      leaf source-count {
                        type uint32;
                        description
                          "No. of sources in entry";
                      }
    
                      list source-address {
                        max-elements 3;
                        description
                          "First 3 source addresses";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // list source-address
                    }  // list host
                  }  // list explicit-group
                }  // container explicit-groups
    
                container interface-table {
                  description
                    "IGMP Interface specific Table";
                  list interface {
                    key "interface-name";
                    description "IGMP Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    container address {
                      description "IP address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    container querier-address {
                      description
                        "Address of the Querier";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container querier-address
    
                    container subscriber-address {
                      description
                        "Address of subscriber";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container subscriber-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf state {
                      type Im-state;
                      description
                        "Interface state";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf is-interface-up {
                      type boolean;
                      description
                        "Is interface up";
                    }
    
                    leaf is-ip-enabled {
                      type boolean;
                      description
                        "Is IP enabled";
                    }
    
                    leaf is-router-enabled {
                      type boolean;
                      description
                        "Is Router functionality enabled";
                    }
    
                    leaf is-multi-homing-enabled {
                      type boolean;
                      description
                        "Is Multihoming enabled";
                    }
    
                    leaf is-multi-homing-stale {
                      type boolean;
                      description
                        "Is Multihoming Update stale";
                    }
    
                    leaf igmp-version {
                      type uint8;
                      description
                        "IGMP Router version";
                    }
    
                    leaf host-version {
                      type uint8;
                      description
                        "IGMP Host version";
                    }
    
                    leaf query-interval {
                      type uint16;
                      units "second";
                      description
                        "Query Interval value in seconds";
                    }
    
                    leaf query-timeout {
                      type uint16;
                      description
                        "Query Timeout value";
                    }
    
                    leaf query-maximum-response-time {
                      type uint16;
                      description
                        "Max Response Timeout value";
                    }
    
                    leaf last-member-query-interval {
                      type uint16;
                      description
                        "Last Member Query Interval";
                    }
    
                    leaf group-joins {
                      type uint32;
                      description
                        "No. of group joins";
                    }
    
                    leaf group-leaves {
                      type uint32;
                      description
                        "No. of group leaves";
                    }
    
                    leaf is-querier {
                      type boolean;
                      description
                        "Are we querier";
                    }
    
                    leaf total-active-groups {
                      type uint32;
                      description
                        "Actual number of groups on interface";
                    }
    
                    leaf robustness {
                      type uint32;
                      description
                        "Robustness Variable value";
                    }
    
                    leaf proxy-interface {
                      type xr:Interface-name;
                      description
                        "Proxy interface index";
                    }
    
                    leaf querier-uptime {
                      type uint16;
                      description
                        "Time since the last querier took over";
                    }
    
                    leaf las-ll-registration-count {
                      type uint32;
                      description
                        "LAS reg count";
                    }
    
                    leaf las-get-address-count {
                      type uint32;
                      description
                        "LAS get addr count";
                    }
    
                    leaf las-update-count {
                      type uint32;
                      description
                        "LAS Update count";
                    }
    
                    leaf las-ll-remove-update-count {
                      type uint32;
                      description
                        "LAS LL remove update count";
                    }
    
                    leaf las-ll-add-update-count {
                      type uint32;
                      description
                        "LAS LL add update count";
                    }
    
                    leaf las-null-update-count {
                      type uint32;
                      description
                        "LAS Null update count";
                    }
    
                    leaf las-unregistration-count {
                      type uint32;
                      description
                        "LAS unreg count";
                    }
    
                    leaf is-las-request {
                      type boolean;
                      description "LAS req";
                    }
    
                    leaf is-las-registered {
                      type boolean;
                      description
                        "LAS registered";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF id";
                    }
    
                    leaf mte-vrf-id {
                      type uint32;
                      description "MTE VRF id";
                    }
    
                    leaf location {
                      type uint32;
                      description "Location";
                    }
    
                    leaf mtu {
                      type uint32;
                      description "MTU";
                    }
    
                    leaf vrf-state {
                      type uint32;
                      description "Vrf State";
                    }
    
                    leaf is-configurationverify {
                      type boolean;
                      description "CFG verify";
                    }
    
                    leaf configurationvrf-set {
                      type boolean;
                      description "CFG vrf set";
                    }
    
                    leaf configurationvrf-error {
                      type boolean;
                      description
                        "CFG vrf error";
                    }
    
                    leaf configuration-mcast-vrf-set {
                      type boolean;
                      description "Is mcast set";
                    }
    
                    leaf configuration-mcast-vrf-error {
                      type boolean;
                      description
                        "Is mcast error";
                    }
    
                    leaf is-im-state-registered {
                      type boolean;
                      description
                        "Im state registered";
                    }
    
                    leaf is-subscriber {
                      type boolean;
                      description
                        "Subscriber interface";
                    }
    
                    leaf subscriber-mode {
                      type uint32;
                      description
                        "Subscriber mode";
                    }
    
                    leaf is-identity-present {
                      type boolean;
                      description
                        "Subscriber ID or Address available from AAA";
                    }
    
                    leaf subscriber-id {
                      type string {
                        length "0..257";
                      }
                      description
                        "ID string of subscriber";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent If Handle";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Uptime since router enabled event";
                    }
    
                    leaf mte-tuple-count {
                      type uint32;
                      description
                        "MTE Tuple count";
                    }
                  }  // list interface
                }  // container interface-table
    
                container interface-unicast-qos-adjusts {
                  description
                    "IGMP Interface Unicast-Qos-Adjust";
                  list interface-unicast-qos-adjust {
                    key "interface-name";
                    description "IGMP Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    leaf is-virtual-access {
                      type boolean;
                      description
                        "Is VirtualAccess Interface";
                    }
    
                    leaf rate {
                      type uint32;
                      units "kbit/s";
                      description
                        "Overall rate in Kbps";
                    }
    
                    leaf rate-increments {
                      type uint32;
                      description
                        "Count of rate increments";
                    }
    
                    leaf rate-decrements {
                      type uint32;
                      description
                        "Count of rate decrements";
                    }
    
                    list update {
                      max-elements 5;
                      description
                        "List of updates";
                      container source-address {
                        description
                          "Source address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container source-address
    
                      container group-address {
                        description
                          "Group address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container group-address
    
                      leaf is-add {
                        type boolean;
                        description
                          "Is this a rate increment";
                      }
    
                      leaf weight {
                        type uint32;
                        description
                          "Weight from policy";
                      }
    
                      leaf received-time {
                        type uint64;
                        description
                          "Time this update is received";
                      }
                    }  // list update
                  }  // list interface-unicast-qos-adjust
                }  // container interface-unicast-qos-adjusts
    
                container ranges {
                  description "Range table";
                  list range {
                    key "group-address group-mask";
                    description
                      "Range information";
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    leaf group-mask {
                      type uint32;
                      description "Group Mask";
                    }
    
                    container group-address-xr {
                      description
                        "Group address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf protocol {
                      type Igmp-edm-protocol;
                      description "Protocol";
                    }
    
                    leaf is-stale {
                      type boolean;
                      description
                        "Is the entry stale";
                    }
                  }  // list range
                }  // container ranges
    
                container ifrs-interfaces {
                  description
                    "IGMP Interface specific";
                  list ifrs-interface {
                    key "interface-name";
                    description
                      "IGMP IFRS Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "IFRS Interface Name";
                    }
    
                    container igmp-interface-entry {
                      description
                        "IGMP interface entry";
                      container address {
                        description "IP address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container address
    
                      container querier-address {
                        description
                          "Address of the Querier";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container querier-address
    
                      container subscriber-address {
                        description
                          "Address of subscriber";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container subscriber-address
    
                      leaf interface-name-xr {
                        type xr:Interface-name;
                        description "Interface";
                      }
    
                      leaf state {
                        type Im-state;
                        description
                          "Interface state";
                      }
    
                      leaf prefix-length {
                        type uint32;
                        description
                          "Prefix length";
                      }
    
                      leaf is-interface-up {
                        type boolean;
                        description
                          "Is interface up";
                      }
    
                      leaf is-ip-enabled {
                        type boolean;
                        description
                          "Is IP enabled";
                      }
    
                      leaf is-router-enabled {
                        type boolean;
                        description
                          "Is Router functionality enabled";
                      }
    
                      leaf is-multi-homing-enabled {
                        type boolean;
                        description
                          "Is Multihoming enabled";
                      }
    
                      leaf is-multi-homing-stale {
                        type boolean;
                        description
                          "Is Multihoming Update stale";
                      }
    
                      leaf igmp-version {
                        type uint8;
                        description
                          "IGMP Router version";
                      }
    
                      leaf host-version {
                        type uint8;
                        description
                          "IGMP Host version";
                      }
    
                      leaf query-interval {
                        type uint16;
                        units "second";
                        description
                          "Query Interval value in seconds";
                      }
    
                      leaf query-timeout {
                        type uint16;
                        description
                          "Query Timeout value";
                      }
    
                      leaf query-maximum-response-time {
                        type uint16;
                        description
                          "Max Response Timeout value";
                      }
    
                      leaf last-member-query-interval {
                        type uint16;
                        description
                          "Last Member Query Interval";
                      }
    
                      leaf group-joins {
                        type uint32;
                        description
                          "No. of group joins";
                      }
    
                      leaf group-leaves {
                        type uint32;
                        description
                          "No. of group leaves";
                      }
    
                      leaf is-querier {
                        type boolean;
                        description
                          "Are we querier";
                      }
    
                      leaf total-active-groups {
                        type uint32;
                        description
                          "Actual number of groups on interface";
                      }
    
                      leaf robustness {
                        type uint32;
                        description
                          "Robustness Variable value";
                      }
    
                      leaf proxy-interface {
                        type xr:Interface-name;
                        description
                          "Proxy interface index";
                      }
    
                      leaf querier-uptime {
                        type uint16;
                        description
                          "Time since the last querier took over";
                      }
    
                      leaf las-ll-registration-count {
                        type uint32;
                        description
                          "LAS reg count";
                      }
    
                      leaf las-get-address-count {
                        type uint32;
                        description
                          "LAS get addr count";
                      }
    
                      leaf las-update-count {
                        type uint32;
                        description
                          "LAS Update count";
                      }
    
                      leaf las-ll-remove-update-count {
                        type uint32;
                        description
                          "LAS LL remove update count";
                      }
    
                      leaf las-ll-add-update-count {
                        type uint32;
                        description
                          "LAS LL add update count";
                      }
    
                      leaf las-null-update-count {
                        type uint32;
                        description
                          "LAS Null update count";
                      }
    
                      leaf las-unregistration-count {
                        type uint32;
                        description
                          "LAS unreg count";
                      }
    
                      leaf is-las-request {
                        type boolean;
                        description "LAS req";
                      }
    
                      leaf is-las-registered {
                        type boolean;
                        description
                          "LAS registered";
                      }
    
                      leaf vrf-id {
                        type uint32;
                        description "VRF id";
                      }
    
                      leaf mte-vrf-id {
                        type uint32;
                        description "MTE VRF id";
                      }
    
                      leaf location {
                        type uint32;
                        description "Location";
                      }
    
                      leaf mtu {
                        type uint32;
                        description "MTU";
                      }
    
                      leaf vrf-state {
                        type uint32;
                        description "Vrf State";
                      }
    
                      leaf is-configurationverify {
                        type boolean;
                        description "CFG verify";
                      }
    
                      leaf configurationvrf-set {
                        type boolean;
                        description
                          "CFG vrf set";
                      }
    
                      leaf configurationvrf-error {
                        type boolean;
                        description
                          "CFG vrf error";
                      }
    
                      leaf configuration-mcast-vrf-set {
                        type boolean;
                        description
                          "Is mcast set";
                      }
    
                      leaf configuration-mcast-vrf-error {
                        type boolean;
                        description
                          "Is mcast error";
                      }
    
                      leaf is-im-state-registered {
                        type boolean;
                        description
                          "Im state registered";
                      }
    
                      leaf is-subscriber {
                        type boolean;
                        description
                          "Subscriber interface";
                      }
    
                      leaf subscriber-mode {
                        type uint32;
                        description
                          "Subscriber mode";
                      }
    
                      leaf is-identity-present {
                        type boolean;
                        description
                          "Subscriber ID or Address available from AAA";
                      }
    
                      leaf subscriber-id {
                        type string {
                          length "0..257";
                        }
                        description
                          "ID string of subscriber";
                      }
    
                      leaf parent-ifhandle {
                        type xr:Interface-name;
                        description
                          "Parent If Handle";
                      }
    
                      leaf time-since-last-query-in-seconds {
                        type uint32;
                        description
                          "Time elapsed since last query";
                      }
    
                      leaf time-since-last-report-in-seconds {
                        type uint32;
                        description
                          "Time elapsed since last report";
                      }
    
                      leaf router-uptime-in-seconds {
                        type uint32;
                        description
                          "Uptime since router enabled event";
                      }
    
                      leaf mte-tuple-count {
                        type uint32;
                        description
                          "MTE Tuple count";
                      }
                    }  // container igmp-interface-entry
    
                    leaf join-group-count {
                      type uint32;
                      description
                        "Join group count";
                    }
                  }  // list ifrs-interface
                }  // container ifrs-interfaces
    
                container traffic-counters {
                  description
                    "IGMP Message Traffic Counters";
                  leaf elapsed-time {
                    type uint32;
                    description
                      "Running time for counters";
                  }
    
                  leaf packets-in {
                    type uint32;
                    description "Packets in";
                  }
    
                  leaf packets-out {
                    type uint32;
                    description "Packets out";
                  }
    
                  leaf format-errors {
                    type uint32;
                    description
                      "Malformed packets in";
                  }
    
                  leaf packet-manager-input-errors {
                    type uint32;
                    description
                      "Incoming Packet Manager packets dropped";
                  }
    
                  leaf packet-manager-output-errors {
                    type uint32;
                    description
                      "Outgoing Packet Manager packets dropped";
                  }
    
                  leaf checksum-errors {
                    type uint32;
                    description
                      "Checksum errors";
                  }
    
                  leaf receive-socket-errors {
                    type uint32;
                    description
                      "Socket errors on reception";
                  }
    
                  leaf socket-errors {
                    type uint32;
                    description
                      "Socket errors on send";
                  }
    
                  leaf bad-scope-errors {
                    type uint32;
                    description
                      "BadScope errors";
                  }
    
                  leaf auxillary-data-length-errors {
                    type uint32;
                    description
                      "AuxDataLen errors";
                  }
    
                  leaf invalid-source-address-errors {
                    type uint32;
                    description
                      "Invalid Source Address errors";
                  }
    
                  leaf no-socket-connection {
                    type uint32;
                    description
                      "Packets dropped since no socket connection";
                  }
    
                  leaf miscellaneous-errors {
                    type uint32;
                    description
                      "Packets dropped for other reasons";
                  }
    
                  leaf input-queries {
                    type uint32;
                    description
                      "Query packets in";
                  }
    
                  leaf input-reports {
                    type uint32;
                    description "Reports in";
                  }
    
                  leaf input-leaves {
                    type uint32;
                    description "Leaves in";
                  }
    
                  leaf input-mtrace {
                    type uint32;
                    description
                      "Mtrace packets in";
                  }
    
                  leaf input-dvmrp {
                    type uint32;
                    description
                      "DVMRP packets in";
                  }
    
                  leaf dvmrp-alloc {
                    type uint32;
                    description
                      "DVMRP buffer allocations";
                  }
    
                  leaf dvmrp-free {
                    type uint32;
                    description
                      "DVMRP freed buffers";
                  }
    
                  leaf dvmrp-drop {
                    type uint32;
                    description
                      "DVMRP packets dropped";
                  }
    
                  leaf input-pim {
                    type uint32;
                    description "PIM packets in";
                  }
    
                  leaf output-queries {
                    type uint32;
                    description
                      "Query packets out";
                  }
    
                  leaf output-reports {
                    type uint32;
                    description "Reports out";
                  }
    
                  leaf output-leaves {
                    type uint32;
                    description "Leaves out";
                  }
    
                  leaf output-mtrace {
                    type uint32;
                    description
                      "Mtrace packets out";
                  }
    
                  leaf output-dvmrp {
                    type uint32;
                    description
                      "DVMRP packets out";
                  }
    
                  leaf output-pim {
                    type uint32;
                    description
                      "PIM packets out";
                  }
    
                  leaf get-packet-failure {
                    type uint32;
                    description
                      "Packet get failed";
                  }
    
                  leaf output-no-parent-interface-handle {
                    type uint32;
                    description
                      "Failures setting 2nd ifhandle";
                  }
    
                  leaf input-no-idb {
                    type uint32;
                    description
                      "Packets received without idb";
                  }
    
                  leaf input-no-vrf-in-idb {
                    type uint32;
                    description
                      "Packets received on idb without VRF";
                  }
    
                  leaf input-disabled-idb {
                    type uint32;
                    description
                      "Packet received on disabled idb";
                  }
    
                  leaf input-martian-address {
                    type uint32;
                    description
                      "Packets received with Martian Address";
                  }
    
                  leaf input-no-assigned-vrf-id {
                    type uint32;
                    description
                      "Packets received with no assigned vrf id";
                  }
    
                  leaf input-no-vrf-mtrace {
                    type uint32;
                    description
                      "mtrace packets with no vrf associated";
                  }
    
                  leaf input-no-platform-support-mtrace {
                    type uint32;
                    description
                      "mtrace packets without platform support";
                  }
    
                  leaf packet-allocated {
                    type uint32;
                    description
                      "Number of pak allocated by IGMP";
                  }
    
                  leaf packet-freed {
                    type uint32;
                    description
                      "Number of pak freed by IGMP";
                  }
                }  // container traffic-counters
    
                container groups {
                  description
                    "IGMP Group Database Table";
                  list group {
                    key "group-address interface-name";
                    description
                      "IGMP Group Entry Information";
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group Address";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    container last-reporter {
                      description
                        "Last reporter address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container last-reporter
    
                    container source-address {
                      description
                        "Source Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiration-time {
                      type int32;
                      units "second";
                      description
                        "Expiration time in seconds";
                    }
    
                    leaf explicit-tracking-enabled {
                      type boolean;
                      description
                        "Is explicit tracking enabled";
                    }
    
                    leaf is-self-join {
                      type boolean;
                      description
                        "If local system is member of this group on this
    interface";
                    }
    
                    leaf row-status {
                      type string {
                        length "0..16";
                      }
                      description
                        "interface on or off for the group";
                    }
    
                    leaf is-low-memory {
                      type boolean;
                      description
                        "Node is running low on memory";
                    }
    
                    leaf router-filter-mode {
                      type uint8;
                      description "Filter mode";
                    }
    
                    leaf older-host-version1-timer {
                      type uint32;
                      description
                        "IGMP Hostversion1timer";
                    }
    
                    leaf older-host-version2-timer {
                      type uint32;
                      description
                        "IGMP Hostversion2timer";
                    }
    
                    leaf is-added {
                      type boolean;
                      description "Joined";
                    }
    
                    leaf is-suppressed {
                      type boolean;
                      description "Suppressed";
                    }
    
                    leaf is-evpn-remote {
                      type boolean;
                      description
                        "EVPN remote flag";
                    }
    
                    leaf is-evpn-stale {
                      type boolean;
                      description
                        "EVPN stale flag";
                    }
                  }  // list group
                }  // container groups
    
                container group-summary {
                  description
                    "IGMP Groups Summary";
                  leaf groutes {
                    type uint32;
                    description
                      "No. of (*,G) routes";
                  }
    
                  leaf sg-routes {
                    type uint32;
                    description
                      "No. of (S,G) routes";
                  }
    
                  leaf group-count {
                    type uint32;
                    description
                      "Current groups accepted";
                  }
    
                  leaf is-low-memory {
                    type boolean;
                    description
                      "Node is running low on memory";
                  }
                }  // container group-summary
    
                container ifrs-interface-summary {
                  description
                    "IGMP IFRS Interface summary";
                  leaf interface-count {
                    type uint32;
                    description
                      "Interface Count";
                  }
    
                  leaf configuration-count {
                    type uint32;
                    description
                      "Configuration count";
                  }
                }  // container ifrs-interface-summary
    
                container global-interface-table {
                  description
                    "IGMP Global Interface ";
                  list interface {
                    key "interface-name";
                    description "IGMP Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    container address {
                      description "IP address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    container querier-address {
                      description
                        "Address of the Querier";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container querier-address
    
                    container subscriber-address {
                      description
                        "Address of subscriber";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container subscriber-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf state {
                      type Im-state;
                      description
                        "Interface state";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf is-interface-up {
                      type boolean;
                      description
                        "Is interface up";
                    }
    
                    leaf is-ip-enabled {
                      type boolean;
                      description
                        "Is IP enabled";
                    }
    
                    leaf is-router-enabled {
                      type boolean;
                      description
                        "Is Router functionality enabled";
                    }
    
                    leaf is-multi-homing-enabled {
                      type boolean;
                      description
                        "Is Multihoming enabled";
                    }
    
                    leaf is-multi-homing-stale {
                      type boolean;
                      description
                        "Is Multihoming Update stale";
                    }
    
                    leaf igmp-version {
                      type uint8;
                      description
                        "IGMP Router version";
                    }
    
                    leaf host-version {
                      type uint8;
                      description
                        "IGMP Host version";
                    }
    
                    leaf query-interval {
                      type uint16;
                      units "second";
                      description
                        "Query Interval value in seconds";
                    }
    
                    leaf query-timeout {
                      type uint16;
                      description
                        "Query Timeout value";
                    }
    
                    leaf query-maximum-response-time {
                      type uint16;
                      description
                        "Max Response Timeout value";
                    }
    
                    leaf last-member-query-interval {
                      type uint16;
                      description
                        "Last Member Query Interval";
                    }
    
                    leaf group-joins {
                      type uint32;
                      description
                        "No. of group joins";
                    }
    
                    leaf group-leaves {
                      type uint32;
                      description
                        "No. of group leaves";
                    }
    
                    leaf is-querier {
                      type boolean;
                      description
                        "Are we querier";
                    }
    
                    leaf total-active-groups {
                      type uint32;
                      description
                        "Actual number of groups on interface";
                    }
    
                    leaf robustness {
                      type uint32;
                      description
                        "Robustness Variable value";
                    }
    
                    leaf proxy-interface {
                      type xr:Interface-name;
                      description
                        "Proxy interface index";
                    }
    
                    leaf querier-uptime {
                      type uint16;
                      description
                        "Time since the last querier took over";
                    }
    
                    leaf las-ll-registration-count {
                      type uint32;
                      description
                        "LAS reg count";
                    }
    
                    leaf las-get-address-count {
                      type uint32;
                      description
                        "LAS get addr count";
                    }
    
                    leaf las-update-count {
                      type uint32;
                      description
                        "LAS Update count";
                    }
    
                    leaf las-ll-remove-update-count {
                      type uint32;
                      description
                        "LAS LL remove update count";
                    }
    
                    leaf las-ll-add-update-count {
                      type uint32;
                      description
                        "LAS LL add update count";
                    }
    
                    leaf las-null-update-count {
                      type uint32;
                      description
                        "LAS Null update count";
                    }
    
                    leaf las-unregistration-count {
                      type uint32;
                      description
                        "LAS unreg count";
                    }
    
                    leaf is-las-request {
                      type boolean;
                      description "LAS req";
                    }
    
                    leaf is-las-registered {
                      type boolean;
                      description
                        "LAS registered";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF id";
                    }
    
                    leaf mte-vrf-id {
                      type uint32;
                      description "MTE VRF id";
                    }
    
                    leaf location {
                      type uint32;
                      description "Location";
                    }
    
                    leaf mtu {
                      type uint32;
                      description "MTU";
                    }
    
                    leaf vrf-state {
                      type uint32;
                      description "Vrf State";
                    }
    
                    leaf is-configurationverify {
                      type boolean;
                      description "CFG verify";
                    }
    
                    leaf configurationvrf-set {
                      type boolean;
                      description "CFG vrf set";
                    }
    
                    leaf configurationvrf-error {
                      type boolean;
                      description
                        "CFG vrf error";
                    }
    
                    leaf configuration-mcast-vrf-set {
                      type boolean;
                      description "Is mcast set";
                    }
    
                    leaf configuration-mcast-vrf-error {
                      type boolean;
                      description
                        "Is mcast error";
                    }
    
                    leaf is-im-state-registered {
                      type boolean;
                      description
                        "Im state registered";
                    }
    
                    leaf is-subscriber {
                      type boolean;
                      description
                        "Subscriber interface";
                    }
    
                    leaf subscriber-mode {
                      type uint32;
                      description
                        "Subscriber mode";
                    }
    
                    leaf is-identity-present {
                      type boolean;
                      description
                        "Subscriber ID or Address available from AAA";
                    }
    
                    leaf subscriber-id {
                      type string {
                        length "0..257";
                      }
                      description
                        "ID string of subscriber";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent If Handle";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Uptime since router enabled event";
                    }
    
                    leaf mte-tuple-count {
                      type uint32;
                      description
                        "MTE Tuple count";
                    }
                  }  // list interface
                }  // container global-interface-table
    
                container ssm-map-details {
                  description "SSM Map Detail";
                  list ssm-map-detail {
                    key "ssm-map-type group-address";
                    description
                      "SSM Map Detail Table information";
                    leaf ssm-map-type {
                      type Igmpssm-map;
                      description "SSM Map Type";
                    }
    
                    leaf group-address {
                      type inet:ip-address-no-zone;
                      description
                        "Group address";
                    }
    
                    container map-info {
                      description
                        "Basic Map Info";
                      container group-address-xr {
                        description
                          "Group Address";
                        leaf af-name {
                          type Igmp-afi;
                          description "AFName";
                        }
    
                        leaf ipv4-address {
                          when
                            "../af-name = 'ipv4-unicast'" {
                            description
                              "../AFName = 'IPv4Unicast'";
                          }
                          type inet:ipv4-address;
                          description
                            "IPv4 Addr";
                        }
    
                        leaf ipv6-address {
                          when
                            "../af-name = 'ipv6-unicast'" {
                            description
                              "../AFName = 'IPv6Unicast'";
                          }
                          type Ipv6-address;
                          description
                            "IPV6 Addr";
                        }
                      }  // container group-address-xr
    
                      leaf map-type {
                        type uint32;
                        description
                          "Map Type of group";
                      }
    
                      leaf source-counts {
                        type uint32;
                        description
                          "Count of Sources";
                      }
                    }  // container map-info
    
                    leaf expiration-time {
                      type uint32;
                      units "second";
                      description
                        "Expiration Time in Seconds";
                    }
    
                    leaf response-pending {
                      type boolean;
                      description
                        "Response Pending";
                    }
    
                    leaf query-interval {
                      type uint32;
                      description
                        "Query interval";
                    }
    
                    leaf elapsed-time {
                      type uint64;
                      description "Elapsed time";
                    }
    
                    list sources {
                      description
                        "List of sources";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // list sources
                  }  // list ssm-map-detail
                }  // container ssm-map-details
    
                container interface-state-offs {
                  description
                    "IGMP Interface state off";
                  list interface-state-off {
                    key "interface-name";
                    description "IGMP Interface";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface Name";
                    }
    
                    container address {
                      description "IP address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    container querier-address {
                      description
                        "Address of the Querier";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container querier-address
    
                    container subscriber-address {
                      description
                        "Address of subscriber";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container subscriber-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf state {
                      type Im-state;
                      description
                        "Interface state";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf is-interface-up {
                      type boolean;
                      description
                        "Is interface up";
                    }
    
                    leaf is-ip-enabled {
                      type boolean;
                      description
                        "Is IP enabled";
                    }
    
                    leaf is-router-enabled {
                      type boolean;
                      description
                        "Is Router functionality enabled";
                    }
    
                    leaf is-multi-homing-enabled {
                      type boolean;
                      description
                        "Is Multihoming enabled";
                    }
    
                    leaf is-multi-homing-stale {
                      type boolean;
                      description
                        "Is Multihoming Update stale";
                    }
    
                    leaf igmp-version {
                      type uint8;
                      description
                        "IGMP Router version";
                    }
    
                    leaf host-version {
                      type uint8;
                      description
                        "IGMP Host version";
                    }
    
                    leaf query-interval {
                      type uint16;
                      units "second";
                      description
                        "Query Interval value in seconds";
                    }
    
                    leaf query-timeout {
                      type uint16;
                      description
                        "Query Timeout value";
                    }
    
                    leaf query-maximum-response-time {
                      type uint16;
                      description
                        "Max Response Timeout value";
                    }
    
                    leaf last-member-query-interval {
                      type uint16;
                      description
                        "Last Member Query Interval";
                    }
    
                    leaf group-joins {
                      type uint32;
                      description
                        "No. of group joins";
                    }
    
                    leaf group-leaves {
                      type uint32;
                      description
                        "No. of group leaves";
                    }
    
                    leaf is-querier {
                      type boolean;
                      description
                        "Are we querier";
                    }
    
                    leaf total-active-groups {
                      type uint32;
                      description
                        "Actual number of groups on interface";
                    }
    
                    leaf robustness {
                      type uint32;
                      description
                        "Robustness Variable value";
                    }
    
                    leaf proxy-interface {
                      type xr:Interface-name;
                      description
                        "Proxy interface index";
                    }
    
                    leaf querier-uptime {
                      type uint16;
                      description
                        "Time since the last querier took over";
                    }
    
                    leaf las-ll-registration-count {
                      type uint32;
                      description
                        "LAS reg count";
                    }
    
                    leaf las-get-address-count {
                      type uint32;
                      description
                        "LAS get addr count";
                    }
    
                    leaf las-update-count {
                      type uint32;
                      description
                        "LAS Update count";
                    }
    
                    leaf las-ll-remove-update-count {
                      type uint32;
                      description
                        "LAS LL remove update count";
                    }
    
                    leaf las-ll-add-update-count {
                      type uint32;
                      description
                        "LAS LL add update count";
                    }
    
                    leaf las-null-update-count {
                      type uint32;
                      description
                        "LAS Null update count";
                    }
    
                    leaf las-unregistration-count {
                      type uint32;
                      description
                        "LAS unreg count";
                    }
    
                    leaf is-las-request {
                      type boolean;
                      description "LAS req";
                    }
    
                    leaf is-las-registered {
                      type boolean;
                      description
                        "LAS registered";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF id";
                    }
    
                    leaf mte-vrf-id {
                      type uint32;
                      description "MTE VRF id";
                    }
    
                    leaf location {
                      type uint32;
                      description "Location";
                    }
    
                    leaf mtu {
                      type uint32;
                      description "MTU";
                    }
    
                    leaf vrf-state {
                      type uint32;
                      description "Vrf State";
                    }
    
                    leaf is-configurationverify {
                      type boolean;
                      description "CFG verify";
                    }
    
                    leaf configurationvrf-set {
                      type boolean;
                      description "CFG vrf set";
                    }
    
                    leaf configurationvrf-error {
                      type boolean;
                      description
                        "CFG vrf error";
                    }
    
                    leaf configuration-mcast-vrf-set {
                      type boolean;
                      description "Is mcast set";
                    }
    
                    leaf configuration-mcast-vrf-error {
                      type boolean;
                      description
                        "Is mcast error";
                    }
    
                    leaf is-im-state-registered {
                      type boolean;
                      description
                        "Im state registered";
                    }
    
                    leaf is-subscriber {
                      type boolean;
                      description
                        "Subscriber interface";
                    }
    
                    leaf subscriber-mode {
                      type uint32;
                      description
                        "Subscriber mode";
                    }
    
                    leaf is-identity-present {
                      type boolean;
                      description
                        "Subscriber ID or Address available from AAA";
                    }
    
                    leaf subscriber-id {
                      type string {
                        length "0..257";
                      }
                      description
                        "ID string of subscriber";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent If Handle";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Uptime since router enabled event";
                    }
    
                    leaf mte-tuple-count {
                      type uint32;
                      description
                        "MTE Tuple count";
                    }
                  }  // list interface-state-off
                }  // container interface-state-offs
              }  // list vrf
            }  // container vrf-table
    
            container process {
              description "Process";
              container nsr {
                description "NSR Information";
                leaf state {
                  type uint8;
                  description "NSR state";
                }
    
                leaf partner-proc-connected {
                  type boolean;
                  description
                    "Partner process connected";
                }
    
                leaf collab-conv-done {
                  type boolean;
                  description
                    "Collaborators convergence done";
                }
    
                leaf rmf-notification-done {
                  type boolean;
                  description
                    "RMF Notification done";
                }
    
                leaf last-proc {
                  type uint64;
                  description
                    "Time when process came up";
                }
    
                leaf last-proc-connection-up {
                  type uint64;
                  description
                    "Time when process connection went up";
                }
    
                leaf last-proc-connection-dn {
                  type uint64;
                  description
                    "Time when process 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-proc-connection-up {
                  type uint32;
                  description
                    "No. of times process connection went up";
                }
    
                leaf count-proc-connection-dn {
                  type uint32;
                  description
                    "No. of times process 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 amt-summary {
                description
                  "MRIB RouteDB Expiry Information";
                leaf anycast-prefix {
                  type inet:ipv4-address;
                  description
                    "Robustness variable";
                }
    
                leaf prefix-length {
                  type uint32;
                  description
                    "Advertize AMT prefix length";
                }
    
                leaf relay-address {
                  type inet:ipv4-address;
                  description
                    "Advertaisment for AMT Relay address";
                }
    
                leaf mtu {
                  type uint32;
                  description "AMT Tunnel MTU";
                }
    
                leaf tos {
                  type uint32;
                  description
                    "Type Of Service value in AMT header";
                }
    
                leaf ttl {
                  type uint32;
                  description
                    "Time To Live value in AMT header";
                }
    
                leaf query-interval {
                  type uint32;
                  description
                    "AMT Query interval";
                }
    
                leaf gateway-count {
                  type uint32;
                  description
                    "Number of AMT Gateway";
                }
    
                leaf max-gateway {
                  type uint32;
                  description
                    "Maximum Gateway allowed";
                }
    
                leaf tunnel-count {
                  type uint32;
                  description "AMT Tunnel Count";
                }
    
                leaf tunnel-configured-maximum {
                  type uint32;
                  description
                    "AMT Tunnel configured Maximum";
                }
    
                leaf is-acl-configured {
                  type boolean;
                  description
                    "ACL configured under AMT";
                }
    
                leaf is-gateway-simulation {
                  type boolean;
                  description
                    "AMT Gateway Simulation";
                }
    
                leaf is-ou-of-resource {
                  type boolean;
                  description
                    "AMT Out Of Resource";
                }
              }  // container amt-summary
    
              container amt-gateways {
                description
                  "Table containing AMT Gateway DataBase
    information";
                list amt-gateway {
                  key "gateway-address port";
                  description
                    "AMT Gateway DataBase information";
                  leaf gateway-address {
                    type inet:ipv4-address-no-zone;
                    description
                      "Gateway Address";
                  }
    
                  leaf port {
                    type uint32;
                    description "Port";
                  }
    
                  leaf amtgw {
                    type inet:ipv4-address;
                    description "GW";
                  }
    
                  leaf amt-port {
                    type uint32;
                    description "Port";
                  }
    
                  leaf key-len {
                    type uint32;
                    description "Len";
                  }
    
                  leaf amtnh {
                    type uint32;
                    description "AMT NH";
                  }
    
                  leaf amt-nonce {
                    type uint32;
                    description "Nonce";
                  }
    
                  leaf idb {
                    type uint64;
                    description "IDB";
                  }
    
                  leaf mem-upd-in {
                    type uint32;
                    description "UpdIn";
                  }
    
                  leaf mem-upd-out {
                    type uint32;
                    description "UpdOut";
                  }
                }  // list amt-gateway
              }  // container amt-gateways
    
              container unicast-qos-adjust-stats {
                description
                  "IGMP Unicast-Qos-Adjust Statistics";
                leaf queues {
                  type uint16;
                  description "I2Q Queue count";
                }
    
                leaf batches {
                  type uint16;
                  description
                    "I2Q Rate Batch count";
                }
    
                leaf add-to-batches {
                  type uint32;
                  description
                    "Add to batch count";
                }
    
                leaf delete-to-batches {
                  type uint32;
                  description
                    "Delete to batch count";
                }
    
                leaf send-success {
                  type uint32;
                  description
                    "Send Success count";
                }
    
                leaf send-errors {
                  type uint32;
                  description
                    "Number of Send errors in batch";
                }
    
                leaf send-comm-errors {
                  type uint32;
                  description
                    "Send Error due to comms count";
                }
    
                leaf send-partial-errors {
                  type uint32;
                  description
                    "Send Error due to partial issue count";
                }
    
                leaf received-resync-requests {
                  type uint32;
                  description
                    "Number of Resync request received";
                }
    
                leaf sent-resync-bulks {
                  type uint32;
                  description
                    "Number of bulks sent for last resync received";
                }
    
                leaf is-resync-received {
                  type boolean;
                  description
                    "Is Resync request received";
                }
    
                leaf is-resync-required {
                  type boolean;
                  description
                    "Is Resync required";
                }
    
                leaf is-resync-start-sent {
                  type boolean;
                  description
                    "Is Resync Start message sent";
                }
    
                leaf is-qos-s-sweeped {
                  type boolean;
                  description
                    "Is QOS Sweeped once ";
                }
    
                leaf last-sweep-time {
                  type uint64;
                  units "second";
                  description
                    "Time elapsed since Last mark and sweep in
    seconds";
                }
    
                leaf last-download-time {
                  type uint64;
                  units "second";
                  description
                    "Time elapsed since Last download to QOS in
    seconds";
                }
              }  // container unicast-qos-adjust-stats
    
              container bvi-statistics {
                description "IGMP BVI Stats";
                leaf receive-buffers {
                  type uint32;
                  description
                    "Number of AIPC buffers received";
                }
    
                leaf release-buffers {
                  type uint32;
                  description
                    "Number of AIPC buffers released";
                }
    
                leaf send-blocks {
                  type uint32;
                  description
                    "Number of AIPC buffers send blocked";
                }
    
                leaf release-fail-buffers {
                  type uint32;
                  description
                    "Number of AIPC buffers release failed";
                }
    
                leaf null-buffer-handles {
                  type uint32;
                  description
                    "Number of AIPC NULL buffer handles";
                }
    
                leaf rx-ipc-open-notif {
                  type uint32;
                  description
                    "Number of AIPC open notifications received";
                }
    
                leaf rx-ipc-close-notif {
                  type uint32;
                  description
                    "Number of AIPC close notifications received";
                }
    
                leaf rx-ipc-error-notif {
                  type uint32;
                  description
                    "Number of AIPC error notifications received";
                }
    
                leaf rx-ipc-lwm-notif {
                  type uint32;
                  description
                    "Number of AIPC LWM notifications received";
                }
    
                leaf rx-ipc-hwm-notif {
                  type uint32;
                  description
                    "Number of AIPC HWM notifications received";
                }
    
                leaf rx-ipc-input-wait-notif {
                  type uint32;
                  description
                    "Number of AIPC input waiting notifications
    received";
                }
    
                leaf rx-ipc-send-status-notif {
                  type uint32;
                  description
                    "Number of AIPC send status notifications
    received";
                }
    
                leaf rx-ipc-publish-notif {
                  type uint32;
                  description
                    "Number of AIPC publish notifications received";
                }
    
                leaf rx-ipc-q-full-notif {
                  type uint32;
                  description
                    "Number of AIPC queue full notifications received";
                }
    
                leaf rx-ipc-output-notif {
                  type uint32;
                  description
                    "Number of AIPC output notifications received";
                }
    
                leaf rx-ipc-connect-notif {
                  type uint32;
                  description
                    "Number of AIPC connect notifications received";
                }
    
                leaf rx-igmp-packet-success {
                  type uint32;
                  description
                    "Number of IGMP protocol messages received";
                }
    
                leaf rx-add-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Add messages received";
                }
    
                leaf rx-delete-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Delete messages received";
                }
    
                leaf rx-sweep-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Sweep messages received";
                }
    
                leaf tx-add-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Add messages transmitted";
                }
    
                leaf tx-delete-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Delete messages
    transmitted";
                }
    
                leaf tx-sweep-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Sweep messages received";
                }
    
                leaf rx-unknown-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Unknown messages received";
                }
    
                leaf tx-unknown-mrouter-msg {
                  type uint32;
                  description
                    "Number of IGMP Mrouter Unknown messages
    transmitted";
                }
    
                leaf tx-buffer-errors {
                  type uint32;
                  description
                    "Number of AIPC transmission errors";
                }
    
                leaf tx-buffers {
                  type uint32;
                  description
                    "Number of AIPC buffers transmited";
                }
    
                leaf tx-protocol-buffers {
                  type uint32;
                  description
                    "Number of IGMP protocol buffers transmitted";
                }
    
                leaf tx-mrouter-buffers {
                  type uint32;
                  description
                    "Number of IGMP Mrouter buffers transmitted";
                }
    
                leaf tx-unknown-buffers {
                  type uint32;
                  description
                    "Number of IGMP Unknown buffers transmited";
                }
    
                leaf wtx-msg-recvd {
                  type uint32;
                  description
                    "Number of WTX messages received";
                }
    
                leaf wtx-msg-sent {
                  type uint32;
                  description
                    "Number of WTX messages sent";
                }
    
                leaf wtx-msg-proto-sent {
                  type uint32;
                  description
                    "Number of WTX messages sent to Protocol";
                }
    
                leaf wtx-msg-drop-dc {
                  type uint32;
                  description
                    "Number of WTX messages dropped due to disconnect";
                }
    
                leaf wtx-msg-drop-nomem {
                  type uint32;
                  description
                    "Number of WTX messages dropped to memory";
                }
    
                leaf wtx-msg-freed {
                  type uint32;
                  description
                    "Number of WTX messages freed";
                }
              }  // container bvi-statistics
    
              container nsf {
                description "NSF Information";
                leaf is-multicast-nsf-active {
                  type boolean;
                  description
                    "Is Multicast NSF active";
                }
    
                leaf multicast-nsf-timeout {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF timeout in secs";
                }
    
                leaf multicast-nsf-time-left {
                  type uint32;
                  units "second";
                  description
                    "Multicast NSF time remaining in secs";
                }
    
                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-min {
                  type int32;
                  units "second";
                  description
                    "Last NSF time ON in Seconds";
                }
    
                leaf last-nsf-off-min {
                  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-min {
                  type int32;
                  units "second";
                  description
                    "Last ICD Notif Recv in Seconds";
                }
              }  // container nsf
            }  // container process
    
            container default-context {
              description "Default Context";
              container summary {
                description
                  "IGMP Summary Information";
                leaf robustness {
                  type uint32;
                  description
                    "Robustness variable";
                }
    
                leaf group-limit {
                  type uint32;
                  description
                    "Maximum groups accepted";
                }
    
                leaf group-count {
                  type uint32;
                  description
                    "Current groups accepted";
                }
    
                leaf is-disabled {
                  type boolean;
                  description
                    "Is maximum enforcement disabled";
                }
    
                leaf is-evpn-connection-up {
                  type boolean;
                  description
                    "Is EVPN connection up";
                }
    
                leaf supported-interfaces {
                  type uint32;
                  description
                    "No. of supported interfaces";
                }
    
                leaf unsupported-interfaces {
                  type uint32;
                  description
                    "No. of unsupported interfaces";
                }
    
                leaf enabled-interface-count {
                  type uint32;
                  description
                    "No. of enabled interfaces";
                }
    
                leaf disabled-interface-count {
                  type uint32;
                  description
                    "No. of disabled interfaces";
                }
    
                leaf multi-homing-enabled-interfaces {
                  type uint32;
                  description
                    "No. of EVPN MH enabled interfaces";
                }
    
                leaf tunnel-mte-config-count {
                  type uint32;
                  description
                    "No. of static group commands";
                }
    
                leaf node-low-memory {
                  type boolean;
                  description
                    "Is node in low memory condition";
                }
    
                leaf querier-number {
                  type uint32;
                  description
                    "Number of querier interfaces";
                }
    
                list interface {
                  description
                    "Maximum and current groups accepted for each
    interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf group-limit {
                    type uint32;
                    description
                      "Maximum groups accepted per interface";
                  }
    
                  leaf group-count {
                    type uint32;
                    description
                      "Current groups accepted per interface";
                  }
    
                  leaf parent-ifhandle {
                    type xr:Interface-name;
                    description
                      "Parent if handle";
                  }
    
                  leaf on-off {
                    type boolean;
                    description
                      "Enabled/Disabled";
                  }
    
                  leaf time-since-last-query-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last query";
                  }
    
                  leaf time-since-last-report-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last report";
                  }
    
                  leaf router-uptime-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since router enabled event";
                  }
                }  // list interface
              }  // container summary
    
              container interface-state-ons {
                description
                  "IGMP Interface state on";
                list interface-state-on {
                  key "interface-name";
                  description "IGMP Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  container address {
                    description "IP address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container address
    
                  container querier-address {
                    description
                      "Address of the Querier";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container querier-address
    
                  container subscriber-address {
                    description
                      "Address of subscriber";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container subscriber-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf state {
                    type Im-state;
                    description
                      "Interface state";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf is-interface-up {
                    type boolean;
                    description
                      "Is interface up";
                  }
    
                  leaf is-ip-enabled {
                    type boolean;
                    description "Is IP enabled";
                  }
    
                  leaf is-router-enabled {
                    type boolean;
                    description
                      "Is Router functionality enabled";
                  }
    
                  leaf is-multi-homing-enabled {
                    type boolean;
                    description
                      "Is Multihoming enabled";
                  }
    
                  leaf is-multi-homing-stale {
                    type boolean;
                    description
                      "Is Multihoming Update stale";
                  }
    
                  leaf igmp-version {
                    type uint8;
                    description
                      "IGMP Router version";
                  }
    
                  leaf host-version {
                    type uint8;
                    description
                      "IGMP Host version";
                  }
    
                  leaf query-interval {
                    type uint16;
                    units "second";
                    description
                      "Query Interval value in seconds";
                  }
    
                  leaf query-timeout {
                    type uint16;
                    description
                      "Query Timeout value";
                  }
    
                  leaf query-maximum-response-time {
                    type uint16;
                    description
                      "Max Response Timeout value";
                  }
    
                  leaf last-member-query-interval {
                    type uint16;
                    description
                      "Last Member Query Interval";
                  }
    
                  leaf group-joins {
                    type uint32;
                    description
                      "No. of group joins";
                  }
    
                  leaf group-leaves {
                    type uint32;
                    description
                      "No. of group leaves";
                  }
    
                  leaf is-querier {
                    type boolean;
                    description "Are we querier";
                  }
    
                  leaf total-active-groups {
                    type uint32;
                    description
                      "Actual number of groups on interface";
                  }
    
                  leaf robustness {
                    type uint32;
                    description
                      "Robustness Variable value";
                  }
    
                  leaf proxy-interface {
                    type xr:Interface-name;
                    description
                      "Proxy interface index";
                  }
    
                  leaf querier-uptime {
                    type uint16;
                    description
                      "Time since the last querier took over";
                  }
    
                  leaf las-ll-registration-count {
                    type uint32;
                    description "LAS reg count";
                  }
    
                  leaf las-get-address-count {
                    type uint32;
                    description
                      "LAS get addr count";
                  }
    
                  leaf las-update-count {
                    type uint32;
                    description
                      "LAS Update count";
                  }
    
                  leaf las-ll-remove-update-count {
                    type uint32;
                    description
                      "LAS LL remove update count";
                  }
    
                  leaf las-ll-add-update-count {
                    type uint32;
                    description
                      "LAS LL add update count";
                  }
    
                  leaf las-null-update-count {
                    type uint32;
                    description
                      "LAS Null update count";
                  }
    
                  leaf las-unregistration-count {
                    type uint32;
                    description
                      "LAS unreg count";
                  }
    
                  leaf is-las-request {
                    type boolean;
                    description "LAS req";
                  }
    
                  leaf is-las-registered {
                    type boolean;
                    description "LAS registered";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF id";
                  }
    
                  leaf mte-vrf-id {
                    type uint32;
                    description "MTE VRF id";
                  }
    
                  leaf location {
                    type uint32;
                    description "Location";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "MTU";
                  }
    
                  leaf vrf-state {
                    type uint32;
                    description "Vrf State";
                  }
    
                  leaf is-configurationverify {
                    type boolean;
                    description "CFG verify";
                  }
    
                  leaf configurationvrf-set {
                    type boolean;
                    description "CFG vrf set";
                  }
    
                  leaf configurationvrf-error {
                    type boolean;
                    description "CFG vrf error";
                  }
    
                  leaf configuration-mcast-vrf-set {
                    type boolean;
                    description "Is mcast set";
                  }
    
                  leaf configuration-mcast-vrf-error {
                    type boolean;
                    description "Is mcast error";
                  }
    
                  leaf is-im-state-registered {
                    type boolean;
                    description
                      "Im state registered";
                  }
    
                  leaf is-subscriber {
                    type boolean;
                    description
                      "Subscriber interface";
                  }
    
                  leaf subscriber-mode {
                    type uint32;
                    description
                      "Subscriber mode";
                  }
    
                  leaf is-identity-present {
                    type boolean;
                    description
                      "Subscriber ID or Address available from AAA";
                  }
    
                  leaf subscriber-id {
                    type string {
                      length "0..257";
                    }
                    description
                      "ID string of subscriber";
                  }
    
                  leaf parent-ifhandle {
                    type xr:Interface-name;
                    description
                      "Parent If Handle";
                  }
    
                  leaf time-since-last-query-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last query";
                  }
    
                  leaf time-since-last-report-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last report";
                  }
    
                  leaf router-uptime-in-seconds {
                    type uint32;
                    description
                      "Uptime since router enabled event";
                  }
    
                  leaf mte-tuple-count {
                    type uint32;
                    description
                      "MTE Tuple count";
                  }
                }  // list interface-state-on
              }  // container interface-state-ons
    
              container detail-groups {
                description
                  "IGMP Detail Group Database";
                list detail-group {
                  key "group-address interface-name source-address";
                  description
                    "IGMP Detail Group Entry Information";
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group Address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description
                      "Source/Host Address";
                  }
    
                  container group-info {
                    description
                      "Basic Group information";
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    container last-reporter {
                      description
                        "Last reporter address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container last-reporter
    
                    container source-address {
                      description
                        "Source Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiration-time {
                      type int32;
                      units "second";
                      description
                        "Expiration time in seconds";
                    }
    
                    leaf explicit-tracking-enabled {
                      type boolean;
                      description
                        "Is explicit tracking enabled";
                    }
    
                    leaf is-self-join {
                      type boolean;
                      description
                        "If local system is member of this group on this
    interface";
                    }
    
                    leaf row-status {
                      type string {
                        length "0..16";
                      }
                      description
                        "interface on or off for the group";
                    }
    
                    leaf is-low-memory {
                      type boolean;
                      description
                        "Node is running low on memory";
                    }
    
                    leaf router-filter-mode {
                      type uint8;
                      description "Filter mode";
                    }
    
                    leaf older-host-version1-timer {
                      type uint32;
                      description
                        "IGMP Hostversion1timer";
                    }
    
                    leaf older-host-version2-timer {
                      type uint32;
                      description
                        "IGMP Hostversion2timer";
                    }
    
                    leaf is-added {
                      type boolean;
                      description "Joined";
                    }
    
                    leaf is-suppressed {
                      type boolean;
                      description "Suppressed";
                    }
    
                    leaf is-evpn-remote {
                      type boolean;
                      description
                        "EVPN remote flag";
                    }
    
                    leaf is-evpn-stale {
                      type boolean;
                      description
                        "EVPN stale flag";
                    }
                  }  // container group-info
    
                  leaf is-router-exclude-mode {
                    type boolean;
                    description
                      "Group router filter mode";
                  }
    
                  leaf is-host-exclude-mode {
                    type boolean;
                    description
                      "Group host filter mode";
                  }
    
                  list source {
                    description
                      "List of sources";
                    container source-address {
                      description
                        "Source Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiration-time {
                      type int32;
                      units "second";
                      description
                        "Expiration time in seconds";
                    }
    
                    leaf is-local {
                      type boolean;
                      description
                        "Is this a local source";
                    }
    
                    leaf is-remote {
                      type boolean;
                      description
                        "Is this a remote source";
                    }
    
                    leaf is-forward {
                      type boolean;
                      description
                        "Should we forward on this entry";
                    }
    
                    leaf is-we-report {
                      type boolean;
                      description
                        "Should we report the source";
                    }
    
                    leaf flags {
                      type int32;
                      description "Source flags";
                    }
    
                    leaf is-added {
                      type boolean;
                      description "Joined";
                    }
    
                    leaf is-evpn-remote {
                      type boolean;
                      description
                        "Route learnt through EVPN";
                    }
                  }  // list source
                }  // list detail-group
              }  // container detail-groups
    
              container non-active-groups {
                description
                  "IGMP Non-Active Groups Information";
                list non-active-groups {
                  description
                    "List of non-active groups";
                  container group-address {
                    description "Group Address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container group-address
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container source-address
    
                  leaf interface {
                    type string {
                      length "0..65";
                    }
                    description "Interface Name";
                  }
    
                  leaf reason-for-non-activity {
                    type string {
                      length "0..257";
                    }
                    description
                      "Reason for group join not being processed";
                  }
                }  // list non-active-groups
              }  // container non-active-groups
    
              container ssm-maps {
                description "SSM Map Table";
                list ssm-map {
                  key "ssm-map-type group-address";
                  description
                    "SSM Map information";
                  leaf ssm-map-type {
                    type Igmpssm-map;
                    description "SSM Map Type";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group address";
                  }
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container group-address-xr
    
                  leaf map-type {
                    type uint32;
                    description
                      "Map Type of group";
                  }
    
                  leaf source-counts {
                    type uint32;
                    description
                      "Count of Sources";
                  }
                }  // list ssm-map
              }  // container ssm-maps
    
              container explicit-groups {
                description
                  "IGMP Explicit Group Database";
                list explicit-group {
                  key "group-address interface-name source-address";
                  description
                    "IGMP Explicit Group Entry Information";
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group Address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf source-address {
                    type inet:ip-address-no-zone;
                    description
                      "Source/Host Address";
                  }
    
                  container group-info {
                    description
                      "Basic Group information";
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    container last-reporter {
                      description
                        "Last reporter address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container last-reporter
    
                    container source-address {
                      description
                        "Source Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf uptime {
                      type uint64;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf expiration-time {
                      type int32;
                      units "second";
                      description
                        "Expiration time in seconds";
                    }
    
                    leaf explicit-tracking-enabled {
                      type boolean;
                      description
                        "Is explicit tracking enabled";
                    }
    
                    leaf is-self-join {
                      type boolean;
                      description
                        "If local system is member of this group on this
    interface";
                    }
    
                    leaf row-status {
                      type string {
                        length "0..16";
                      }
                      description
                        "interface on or off for the group";
                    }
    
                    leaf is-low-memory {
                      type boolean;
                      description
                        "Node is running low on memory";
                    }
    
                    leaf router-filter-mode {
                      type uint8;
                      description "Filter mode";
                    }
    
                    leaf older-host-version1-timer {
                      type uint32;
                      description
                        "IGMP Hostversion1timer";
                    }
    
                    leaf older-host-version2-timer {
                      type uint32;
                      description
                        "IGMP Hostversion2timer";
                    }
    
                    leaf is-added {
                      type boolean;
                      description "Joined";
                    }
    
                    leaf is-suppressed {
                      type boolean;
                      description "Suppressed";
                    }
    
                    leaf is-evpn-remote {
                      type boolean;
                      description
                        "EVPN remote flag";
                    }
    
                    leaf is-evpn-stale {
                      type boolean;
                      description
                        "EVPN stale flag";
                    }
                  }  // container group-info
    
                  leaf include-hosts {
                    type uint32;
                    description
                      "No. of hosts who are included";
                  }
    
                  leaf exclude-hosts {
                    type uint32;
                    description
                      "No. of hosts who are excluded";
                  }
    
                  list host {
                    description "List of hosts";
                    container address {
                      description "Host Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    leaf uptime {
                      type uint32;
                      units "second";
                      description
                        "Uptime in seconds";
                    }
    
                    leaf is-exclude {
                      type boolean;
                      description
                        "Exclude flag set";
                    }
    
                    leaf expiration-time {
                      type uint32;
                      units "second";
                      description
                        "Expiration time in seconds";
                    }
    
                    leaf source-count {
                      type uint32;
                      description
                        "No. of sources in entry";
                    }
    
                    list source-address {
                      max-elements 3;
                      description
                        "First 3 source addresses";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // list source-address
                  }  // list host
                }  // list explicit-group
              }  // container explicit-groups
    
              container interface-table {
                description
                  "IGMP Interface specific Table";
                list interface {
                  key "interface-name";
                  description "IGMP Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  container address {
                    description "IP address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container address
    
                  container querier-address {
                    description
                      "Address of the Querier";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container querier-address
    
                  container subscriber-address {
                    description
                      "Address of subscriber";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container subscriber-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf state {
                    type Im-state;
                    description
                      "Interface state";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf is-interface-up {
                    type boolean;
                    description
                      "Is interface up";
                  }
    
                  leaf is-ip-enabled {
                    type boolean;
                    description "Is IP enabled";
                  }
    
                  leaf is-router-enabled {
                    type boolean;
                    description
                      "Is Router functionality enabled";
                  }
    
                  leaf is-multi-homing-enabled {
                    type boolean;
                    description
                      "Is Multihoming enabled";
                  }
    
                  leaf is-multi-homing-stale {
                    type boolean;
                    description
                      "Is Multihoming Update stale";
                  }
    
                  leaf igmp-version {
                    type uint8;
                    description
                      "IGMP Router version";
                  }
    
                  leaf host-version {
                    type uint8;
                    description
                      "IGMP Host version";
                  }
    
                  leaf query-interval {
                    type uint16;
                    units "second";
                    description
                      "Query Interval value in seconds";
                  }
    
                  leaf query-timeout {
                    type uint16;
                    description
                      "Query Timeout value";
                  }
    
                  leaf query-maximum-response-time {
                    type uint16;
                    description
                      "Max Response Timeout value";
                  }
    
                  leaf last-member-query-interval {
                    type uint16;
                    description
                      "Last Member Query Interval";
                  }
    
                  leaf group-joins {
                    type uint32;
                    description
                      "No. of group joins";
                  }
    
                  leaf group-leaves {
                    type uint32;
                    description
                      "No. of group leaves";
                  }
    
                  leaf is-querier {
                    type boolean;
                    description "Are we querier";
                  }
    
                  leaf total-active-groups {
                    type uint32;
                    description
                      "Actual number of groups on interface";
                  }
    
                  leaf robustness {
                    type uint32;
                    description
                      "Robustness Variable value";
                  }
    
                  leaf proxy-interface {
                    type xr:Interface-name;
                    description
                      "Proxy interface index";
                  }
    
                  leaf querier-uptime {
                    type uint16;
                    description
                      "Time since the last querier took over";
                  }
    
                  leaf las-ll-registration-count {
                    type uint32;
                    description "LAS reg count";
                  }
    
                  leaf las-get-address-count {
                    type uint32;
                    description
                      "LAS get addr count";
                  }
    
                  leaf las-update-count {
                    type uint32;
                    description
                      "LAS Update count";
                  }
    
                  leaf las-ll-remove-update-count {
                    type uint32;
                    description
                      "LAS LL remove update count";
                  }
    
                  leaf las-ll-add-update-count {
                    type uint32;
                    description
                      "LAS LL add update count";
                  }
    
                  leaf las-null-update-count {
                    type uint32;
                    description
                      "LAS Null update count";
                  }
    
                  leaf las-unregistration-count {
                    type uint32;
                    description
                      "LAS unreg count";
                  }
    
                  leaf is-las-request {
                    type boolean;
                    description "LAS req";
                  }
    
                  leaf is-las-registered {
                    type boolean;
                    description "LAS registered";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF id";
                  }
    
                  leaf mte-vrf-id {
                    type uint32;
                    description "MTE VRF id";
                  }
    
                  leaf location {
                    type uint32;
                    description "Location";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "MTU";
                  }
    
                  leaf vrf-state {
                    type uint32;
                    description "Vrf State";
                  }
    
                  leaf is-configurationverify {
                    type boolean;
                    description "CFG verify";
                  }
    
                  leaf configurationvrf-set {
                    type boolean;
                    description "CFG vrf set";
                  }
    
                  leaf configurationvrf-error {
                    type boolean;
                    description "CFG vrf error";
                  }
    
                  leaf configuration-mcast-vrf-set {
                    type boolean;
                    description "Is mcast set";
                  }
    
                  leaf configuration-mcast-vrf-error {
                    type boolean;
                    description "Is mcast error";
                  }
    
                  leaf is-im-state-registered {
                    type boolean;
                    description
                      "Im state registered";
                  }
    
                  leaf is-subscriber {
                    type boolean;
                    description
                      "Subscriber interface";
                  }
    
                  leaf subscriber-mode {
                    type uint32;
                    description
                      "Subscriber mode";
                  }
    
                  leaf is-identity-present {
                    type boolean;
                    description
                      "Subscriber ID or Address available from AAA";
                  }
    
                  leaf subscriber-id {
                    type string {
                      length "0..257";
                    }
                    description
                      "ID string of subscriber";
                  }
    
                  leaf parent-ifhandle {
                    type xr:Interface-name;
                    description
                      "Parent If Handle";
                  }
    
                  leaf time-since-last-query-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last query";
                  }
    
                  leaf time-since-last-report-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last report";
                  }
    
                  leaf router-uptime-in-seconds {
                    type uint32;
                    description
                      "Uptime since router enabled event";
                  }
    
                  leaf mte-tuple-count {
                    type uint32;
                    description
                      "MTE Tuple count";
                  }
                }  // list interface
              }  // container interface-table
    
              container interface-unicast-qos-adjusts {
                description
                  "IGMP Interface Unicast-Qos-Adjust";
                list interface-unicast-qos-adjust {
                  key "interface-name";
                  description "IGMP Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf is-virtual-access {
                    type boolean;
                    description
                      "Is VirtualAccess Interface";
                  }
    
                  leaf rate {
                    type uint32;
                    units "kbit/s";
                    description
                      "Overall rate in Kbps";
                  }
    
                  leaf rate-increments {
                    type uint32;
                    description
                      "Count of rate increments";
                  }
    
                  leaf rate-decrements {
                    type uint32;
                    description
                      "Count of rate decrements";
                  }
    
                  list update {
                    max-elements 5;
                    description
                      "List of updates";
                    container source-address {
                      description
                        "Source address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container source-address
    
                    container group-address {
                      description
                        "Group address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address
    
                    leaf is-add {
                      type boolean;
                      description
                        "Is this a rate increment";
                    }
    
                    leaf weight {
                      type uint32;
                      description
                        "Weight from policy";
                    }
    
                    leaf received-time {
                      type uint64;
                      description
                        "Time this update is received";
                    }
                  }  // list update
                }  // list interface-unicast-qos-adjust
              }  // container interface-unicast-qos-adjusts
    
              container ranges {
                description "Range table";
                list range {
                  key "group-address group-mask";
                  description
                    "Range information";
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group address";
                  }
    
                  leaf group-mask {
                    type uint32;
                    description "Group Mask";
                  }
    
                  container group-address-xr {
                    description "Group address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container group-address-xr
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf protocol {
                    type Igmp-edm-protocol;
                    description "Protocol";
                  }
    
                  leaf is-stale {
                    type boolean;
                    description
                      "Is the entry stale";
                  }
                }  // list range
              }  // container ranges
    
              container ifrs-interfaces {
                description
                  "IGMP Interface specific";
                list ifrs-interface {
                  key "interface-name";
                  description
                    "IGMP IFRS Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "IFRS Interface Name";
                  }
    
                  container igmp-interface-entry {
                    description
                      "IGMP interface entry";
                    container address {
                      description "IP address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container address
    
                    container querier-address {
                      description
                        "Address of the Querier";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container querier-address
    
                    container subscriber-address {
                      description
                        "Address of subscriber";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container subscriber-address
    
                    leaf interface-name-xr {
                      type xr:Interface-name;
                      description "Interface";
                    }
    
                    leaf state {
                      type Im-state;
                      description
                        "Interface state";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix length";
                    }
    
                    leaf is-interface-up {
                      type boolean;
                      description
                        "Is interface up";
                    }
    
                    leaf is-ip-enabled {
                      type boolean;
                      description
                        "Is IP enabled";
                    }
    
                    leaf is-router-enabled {
                      type boolean;
                      description
                        "Is Router functionality enabled";
                    }
    
                    leaf is-multi-homing-enabled {
                      type boolean;
                      description
                        "Is Multihoming enabled";
                    }
    
                    leaf is-multi-homing-stale {
                      type boolean;
                      description
                        "Is Multihoming Update stale";
                    }
    
                    leaf igmp-version {
                      type uint8;
                      description
                        "IGMP Router version";
                    }
    
                    leaf host-version {
                      type uint8;
                      description
                        "IGMP Host version";
                    }
    
                    leaf query-interval {
                      type uint16;
                      units "second";
                      description
                        "Query Interval value in seconds";
                    }
    
                    leaf query-timeout {
                      type uint16;
                      description
                        "Query Timeout value";
                    }
    
                    leaf query-maximum-response-time {
                      type uint16;
                      description
                        "Max Response Timeout value";
                    }
    
                    leaf last-member-query-interval {
                      type uint16;
                      description
                        "Last Member Query Interval";
                    }
    
                    leaf group-joins {
                      type uint32;
                      description
                        "No. of group joins";
                    }
    
                    leaf group-leaves {
                      type uint32;
                      description
                        "No. of group leaves";
                    }
    
                    leaf is-querier {
                      type boolean;
                      description
                        "Are we querier";
                    }
    
                    leaf total-active-groups {
                      type uint32;
                      description
                        "Actual number of groups on interface";
                    }
    
                    leaf robustness {
                      type uint32;
                      description
                        "Robustness Variable value";
                    }
    
                    leaf proxy-interface {
                      type xr:Interface-name;
                      description
                        "Proxy interface index";
                    }
    
                    leaf querier-uptime {
                      type uint16;
                      description
                        "Time since the last querier took over";
                    }
    
                    leaf las-ll-registration-count {
                      type uint32;
                      description
                        "LAS reg count";
                    }
    
                    leaf las-get-address-count {
                      type uint32;
                      description
                        "LAS get addr count";
                    }
    
                    leaf las-update-count {
                      type uint32;
                      description
                        "LAS Update count";
                    }
    
                    leaf las-ll-remove-update-count {
                      type uint32;
                      description
                        "LAS LL remove update count";
                    }
    
                    leaf las-ll-add-update-count {
                      type uint32;
                      description
                        "LAS LL add update count";
                    }
    
                    leaf las-null-update-count {
                      type uint32;
                      description
                        "LAS Null update count";
                    }
    
                    leaf las-unregistration-count {
                      type uint32;
                      description
                        "LAS unreg count";
                    }
    
                    leaf is-las-request {
                      type boolean;
                      description "LAS req";
                    }
    
                    leaf is-las-registered {
                      type boolean;
                      description
                        "LAS registered";
                    }
    
                    leaf vrf-id {
                      type uint32;
                      description "VRF id";
                    }
    
                    leaf mte-vrf-id {
                      type uint32;
                      description "MTE VRF id";
                    }
    
                    leaf location {
                      type uint32;
                      description "Location";
                    }
    
                    leaf mtu {
                      type uint32;
                      description "MTU";
                    }
    
                    leaf vrf-state {
                      type uint32;
                      description "Vrf State";
                    }
    
                    leaf is-configurationverify {
                      type boolean;
                      description "CFG verify";
                    }
    
                    leaf configurationvrf-set {
                      type boolean;
                      description "CFG vrf set";
                    }
    
                    leaf configurationvrf-error {
                      type boolean;
                      description
                        "CFG vrf error";
                    }
    
                    leaf configuration-mcast-vrf-set {
                      type boolean;
                      description "Is mcast set";
                    }
    
                    leaf configuration-mcast-vrf-error {
                      type boolean;
                      description
                        "Is mcast error";
                    }
    
                    leaf is-im-state-registered {
                      type boolean;
                      description
                        "Im state registered";
                    }
    
                    leaf is-subscriber {
                      type boolean;
                      description
                        "Subscriber interface";
                    }
    
                    leaf subscriber-mode {
                      type uint32;
                      description
                        "Subscriber mode";
                    }
    
                    leaf is-identity-present {
                      type boolean;
                      description
                        "Subscriber ID or Address available from AAA";
                    }
    
                    leaf subscriber-id {
                      type string {
                        length "0..257";
                      }
                      description
                        "ID string of subscriber";
                    }
    
                    leaf parent-ifhandle {
                      type xr:Interface-name;
                      description
                        "Parent If Handle";
                    }
    
                    leaf time-since-last-query-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last query";
                    }
    
                    leaf time-since-last-report-in-seconds {
                      type uint32;
                      description
                        "Time elapsed since last report";
                    }
    
                    leaf router-uptime-in-seconds {
                      type uint32;
                      description
                        "Uptime since router enabled event";
                    }
    
                    leaf mte-tuple-count {
                      type uint32;
                      description
                        "MTE Tuple count";
                    }
                  }  // container igmp-interface-entry
    
                  leaf join-group-count {
                    type uint32;
                    description
                      "Join group count";
                  }
                }  // list ifrs-interface
              }  // container ifrs-interfaces
    
              container traffic-counters {
                description
                  "IGMP Message Traffic Counters";
                leaf elapsed-time {
                  type uint32;
                  description
                    "Running time for counters";
                }
    
                leaf packets-in {
                  type uint32;
                  description "Packets in";
                }
    
                leaf packets-out {
                  type uint32;
                  description "Packets out";
                }
    
                leaf format-errors {
                  type uint32;
                  description
                    "Malformed packets in";
                }
    
                leaf packet-manager-input-errors {
                  type uint32;
                  description
                    "Incoming Packet Manager packets dropped";
                }
    
                leaf packet-manager-output-errors {
                  type uint32;
                  description
                    "Outgoing Packet Manager packets dropped";
                }
    
                leaf checksum-errors {
                  type uint32;
                  description "Checksum errors";
                }
    
                leaf receive-socket-errors {
                  type uint32;
                  description
                    "Socket errors on reception";
                }
    
                leaf socket-errors {
                  type uint32;
                  description
                    "Socket errors on send";
                }
    
                leaf bad-scope-errors {
                  type uint32;
                  description "BadScope errors";
                }
    
                leaf auxillary-data-length-errors {
                  type uint32;
                  description
                    "AuxDataLen errors";
                }
    
                leaf invalid-source-address-errors {
                  type uint32;
                  description
                    "Invalid Source Address errors";
                }
    
                leaf no-socket-connection {
                  type uint32;
                  description
                    "Packets dropped since no socket connection";
                }
    
                leaf miscellaneous-errors {
                  type uint32;
                  description
                    "Packets dropped for other reasons";
                }
    
                leaf input-queries {
                  type uint32;
                  description "Query packets in";
                }
    
                leaf input-reports {
                  type uint32;
                  description "Reports in";
                }
    
                leaf input-leaves {
                  type uint32;
                  description "Leaves in";
                }
    
                leaf input-mtrace {
                  type uint32;
                  description
                    "Mtrace packets in";
                }
    
                leaf input-dvmrp {
                  type uint32;
                  description "DVMRP packets in";
                }
    
                leaf dvmrp-alloc {
                  type uint32;
                  description
                    "DVMRP buffer allocations";
                }
    
                leaf dvmrp-free {
                  type uint32;
                  description
                    "DVMRP freed buffers";
                }
    
                leaf dvmrp-drop {
                  type uint32;
                  description
                    "DVMRP packets dropped";
                }
    
                leaf input-pim {
                  type uint32;
                  description "PIM packets in";
                }
    
                leaf output-queries {
                  type uint32;
                  description
                    "Query packets out";
                }
    
                leaf output-reports {
                  type uint32;
                  description "Reports out";
                }
    
                leaf output-leaves {
                  type uint32;
                  description "Leaves out";
                }
    
                leaf output-mtrace {
                  type uint32;
                  description
                    "Mtrace packets out";
                }
    
                leaf output-dvmrp {
                  type uint32;
                  description
                    "DVMRP packets out";
                }
    
                leaf output-pim {
                  type uint32;
                  description "PIM packets out";
                }
    
                leaf get-packet-failure {
                  type uint32;
                  description
                    "Packet get failed";
                }
    
                leaf output-no-parent-interface-handle {
                  type uint32;
                  description
                    "Failures setting 2nd ifhandle";
                }
    
                leaf input-no-idb {
                  type uint32;
                  description
                    "Packets received without idb";
                }
    
                leaf input-no-vrf-in-idb {
                  type uint32;
                  description
                    "Packets received on idb without VRF";
                }
    
                leaf input-disabled-idb {
                  type uint32;
                  description
                    "Packet received on disabled idb";
                }
    
                leaf input-martian-address {
                  type uint32;
                  description
                    "Packets received with Martian Address";
                }
    
                leaf input-no-assigned-vrf-id {
                  type uint32;
                  description
                    "Packets received with no assigned vrf id";
                }
    
                leaf input-no-vrf-mtrace {
                  type uint32;
                  description
                    "mtrace packets with no vrf associated";
                }
    
                leaf input-no-platform-support-mtrace {
                  type uint32;
                  description
                    "mtrace packets without platform support";
                }
    
                leaf packet-allocated {
                  type uint32;
                  description
                    "Number of pak allocated by IGMP";
                }
    
                leaf packet-freed {
                  type uint32;
                  description
                    "Number of pak freed by IGMP";
                }
              }  // container traffic-counters
    
              container groups {
                description
                  "IGMP Group Database Table";
                list group {
                  key "group-address interface-name";
                  description
                    "IGMP Group Entry Information";
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group Address";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  container group-address-xr {
                    description "Group Address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container group-address-xr
    
                  container last-reporter {
                    description
                      "Last reporter address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container last-reporter
    
                  container source-address {
                    description "Source Address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container source-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf uptime {
                    type uint64;
                    units "second";
                    description
                      "Uptime in seconds";
                  }
    
                  leaf expiration-time {
                    type int32;
                    units "second";
                    description
                      "Expiration time in seconds";
                  }
    
                  leaf explicit-tracking-enabled {
                    type boolean;
                    description
                      "Is explicit tracking enabled";
                  }
    
                  leaf is-self-join {
                    type boolean;
                    description
                      "If local system is member of this group on this
    interface";
                  }
    
                  leaf row-status {
                    type string {
                      length "0..16";
                    }
                    description
                      "interface on or off for the group";
                  }
    
                  leaf is-low-memory {
                    type boolean;
                    description
                      "Node is running low on memory";
                  }
    
                  leaf router-filter-mode {
                    type uint8;
                    description "Filter mode";
                  }
    
                  leaf older-host-version1-timer {
                    type uint32;
                    description
                      "IGMP Hostversion1timer";
                  }
    
                  leaf older-host-version2-timer {
                    type uint32;
                    description
                      "IGMP Hostversion2timer";
                  }
    
                  leaf is-added {
                    type boolean;
                    description "Joined";
                  }
    
                  leaf is-suppressed {
                    type boolean;
                    description "Suppressed";
                  }
    
                  leaf is-evpn-remote {
                    type boolean;
                    description
                      "EVPN remote flag";
                  }
    
                  leaf is-evpn-stale {
                    type boolean;
                    description
                      "EVPN stale flag";
                  }
                }  // list group
              }  // container groups
    
              container group-summary {
                description
                  "IGMP Groups Summary";
                leaf groutes {
                  type uint32;
                  description
                    "No. of (*,G) routes";
                }
    
                leaf sg-routes {
                  type uint32;
                  description
                    "No. of (S,G) routes";
                }
    
                leaf group-count {
                  type uint32;
                  description
                    "Current groups accepted";
                }
    
                leaf is-low-memory {
                  type boolean;
                  description
                    "Node is running low on memory";
                }
              }  // container group-summary
    
              container ifrs-interface-summary {
                description
                  "IGMP IFRS Interface summary";
                leaf interface-count {
                  type uint32;
                  description "Interface Count";
                }
    
                leaf configuration-count {
                  type uint32;
                  description
                    "Configuration count";
                }
              }  // container ifrs-interface-summary
    
              container global-interface-table {
                description
                  "IGMP Global Interface ";
                list interface {
                  key "interface-name";
                  description "IGMP Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  container address {
                    description "IP address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container address
    
                  container querier-address {
                    description
                      "Address of the Querier";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container querier-address
    
                  container subscriber-address {
                    description
                      "Address of subscriber";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container subscriber-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf state {
                    type Im-state;
                    description
                      "Interface state";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf is-interface-up {
                    type boolean;
                    description
                      "Is interface up";
                  }
    
                  leaf is-ip-enabled {
                    type boolean;
                    description "Is IP enabled";
                  }
    
                  leaf is-router-enabled {
                    type boolean;
                    description
                      "Is Router functionality enabled";
                  }
    
                  leaf is-multi-homing-enabled {
                    type boolean;
                    description
                      "Is Multihoming enabled";
                  }
    
                  leaf is-multi-homing-stale {
                    type boolean;
                    description
                      "Is Multihoming Update stale";
                  }
    
                  leaf igmp-version {
                    type uint8;
                    description
                      "IGMP Router version";
                  }
    
                  leaf host-version {
                    type uint8;
                    description
                      "IGMP Host version";
                  }
    
                  leaf query-interval {
                    type uint16;
                    units "second";
                    description
                      "Query Interval value in seconds";
                  }
    
                  leaf query-timeout {
                    type uint16;
                    description
                      "Query Timeout value";
                  }
    
                  leaf query-maximum-response-time {
                    type uint16;
                    description
                      "Max Response Timeout value";
                  }
    
                  leaf last-member-query-interval {
                    type uint16;
                    description
                      "Last Member Query Interval";
                  }
    
                  leaf group-joins {
                    type uint32;
                    description
                      "No. of group joins";
                  }
    
                  leaf group-leaves {
                    type uint32;
                    description
                      "No. of group leaves";
                  }
    
                  leaf is-querier {
                    type boolean;
                    description "Are we querier";
                  }
    
                  leaf total-active-groups {
                    type uint32;
                    description
                      "Actual number of groups on interface";
                  }
    
                  leaf robustness {
                    type uint32;
                    description
                      "Robustness Variable value";
                  }
    
                  leaf proxy-interface {
                    type xr:Interface-name;
                    description
                      "Proxy interface index";
                  }
    
                  leaf querier-uptime {
                    type uint16;
                    description
                      "Time since the last querier took over";
                  }
    
                  leaf las-ll-registration-count {
                    type uint32;
                    description "LAS reg count";
                  }
    
                  leaf las-get-address-count {
                    type uint32;
                    description
                      "LAS get addr count";
                  }
    
                  leaf las-update-count {
                    type uint32;
                    description
                      "LAS Update count";
                  }
    
                  leaf las-ll-remove-update-count {
                    type uint32;
                    description
                      "LAS LL remove update count";
                  }
    
                  leaf las-ll-add-update-count {
                    type uint32;
                    description
                      "LAS LL add update count";
                  }
    
                  leaf las-null-update-count {
                    type uint32;
                    description
                      "LAS Null update count";
                  }
    
                  leaf las-unregistration-count {
                    type uint32;
                    description
                      "LAS unreg count";
                  }
    
                  leaf is-las-request {
                    type boolean;
                    description "LAS req";
                  }
    
                  leaf is-las-registered {
                    type boolean;
                    description "LAS registered";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF id";
                  }
    
                  leaf mte-vrf-id {
                    type uint32;
                    description "MTE VRF id";
                  }
    
                  leaf location {
                    type uint32;
                    description "Location";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "MTU";
                  }
    
                  leaf vrf-state {
                    type uint32;
                    description "Vrf State";
                  }
    
                  leaf is-configurationverify {
                    type boolean;
                    description "CFG verify";
                  }
    
                  leaf configurationvrf-set {
                    type boolean;
                    description "CFG vrf set";
                  }
    
                  leaf configurationvrf-error {
                    type boolean;
                    description "CFG vrf error";
                  }
    
                  leaf configuration-mcast-vrf-set {
                    type boolean;
                    description "Is mcast set";
                  }
    
                  leaf configuration-mcast-vrf-error {
                    type boolean;
                    description "Is mcast error";
                  }
    
                  leaf is-im-state-registered {
                    type boolean;
                    description
                      "Im state registered";
                  }
    
                  leaf is-subscriber {
                    type boolean;
                    description
                      "Subscriber interface";
                  }
    
                  leaf subscriber-mode {
                    type uint32;
                    description
                      "Subscriber mode";
                  }
    
                  leaf is-identity-present {
                    type boolean;
                    description
                      "Subscriber ID or Address available from AAA";
                  }
    
                  leaf subscriber-id {
                    type string {
                      length "0..257";
                    }
                    description
                      "ID string of subscriber";
                  }
    
                  leaf parent-ifhandle {
                    type xr:Interface-name;
                    description
                      "Parent If Handle";
                  }
    
                  leaf time-since-last-query-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last query";
                  }
    
                  leaf time-since-last-report-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last report";
                  }
    
                  leaf router-uptime-in-seconds {
                    type uint32;
                    description
                      "Uptime since router enabled event";
                  }
    
                  leaf mte-tuple-count {
                    type uint32;
                    description
                      "MTE Tuple count";
                  }
                }  // list interface
              }  // container global-interface-table
    
              container ssm-map-details {
                description "SSM Map Detail";
                list ssm-map-detail {
                  key "ssm-map-type group-address";
                  description
                    "SSM Map Detail Table information";
                  leaf ssm-map-type {
                    type Igmpssm-map;
                    description "SSM Map Type";
                  }
    
                  leaf group-address {
                    type inet:ip-address-no-zone;
                    description "Group address";
                  }
    
                  container map-info {
                    description "Basic Map Info";
                    container group-address-xr {
                      description
                        "Group Address";
                      leaf af-name {
                        type Igmp-afi;
                        description "AFName";
                      }
    
                      leaf ipv4-address {
                        when
                          "../af-name = 'ipv4-unicast'" {
                          description
                            "../AFName = 'IPv4Unicast'";
                        }
                        type inet:ipv4-address;
                        description "IPv4 Addr";
                      }
    
                      leaf ipv6-address {
                        when
                          "../af-name = 'ipv6-unicast'" {
                          description
                            "../AFName = 'IPv6Unicast'";
                        }
                        type Ipv6-address;
                        description "IPV6 Addr";
                      }
                    }  // container group-address-xr
    
                    leaf map-type {
                      type uint32;
                      description
                        "Map Type of group";
                    }
    
                    leaf source-counts {
                      type uint32;
                      description
                        "Count of Sources";
                    }
                  }  // container map-info
    
                  leaf expiration-time {
                    type uint32;
                    units "second";
                    description
                      "Expiration Time in Seconds";
                  }
    
                  leaf response-pending {
                    type boolean;
                    description
                      "Response Pending";
                  }
    
                  leaf query-interval {
                    type uint32;
                    description "Query interval";
                  }
    
                  leaf elapsed-time {
                    type uint64;
                    description "Elapsed time";
                  }
    
                  list sources {
                    description
                      "List of sources";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // list sources
                }  // list ssm-map-detail
              }  // container ssm-map-details
    
              container interface-state-offs {
                description
                  "IGMP Interface state off";
                list interface-state-off {
                  key "interface-name";
                  description "IGMP Interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  container address {
                    description "IP address";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container address
    
                  container querier-address {
                    description
                      "Address of the Querier";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container querier-address
    
                  container subscriber-address {
                    description
                      "Address of subscriber";
                    leaf af-name {
                      type Igmp-afi;
                      description "AFName";
                    }
    
                    leaf ipv4-address {
                      when
                        "../af-name = 'ipv4-unicast'" {
                        description
                          "../AFName = 'IPv4Unicast'";
                      }
                      type inet:ipv4-address;
                      description "IPv4 Addr";
                    }
    
                    leaf ipv6-address {
                      when
                        "../af-name = 'ipv6-unicast'" {
                        description
                          "../AFName = 'IPv6Unicast'";
                      }
                      type Ipv6-address;
                      description "IPV6 Addr";
                    }
                  }  // container subscriber-address
    
                  leaf interface-name-xr {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf state {
                    type Im-state;
                    description
                      "Interface state";
                  }
    
                  leaf prefix-length {
                    type uint32;
                    description "Prefix length";
                  }
    
                  leaf is-interface-up {
                    type boolean;
                    description
                      "Is interface up";
                  }
    
                  leaf is-ip-enabled {
                    type boolean;
                    description "Is IP enabled";
                  }
    
                  leaf is-router-enabled {
                    type boolean;
                    description
                      "Is Router functionality enabled";
                  }
    
                  leaf is-multi-homing-enabled {
                    type boolean;
                    description
                      "Is Multihoming enabled";
                  }
    
                  leaf is-multi-homing-stale {
                    type boolean;
                    description
                      "Is Multihoming Update stale";
                  }
    
                  leaf igmp-version {
                    type uint8;
                    description
                      "IGMP Router version";
                  }
    
                  leaf host-version {
                    type uint8;
                    description
                      "IGMP Host version";
                  }
    
                  leaf query-interval {
                    type uint16;
                    units "second";
                    description
                      "Query Interval value in seconds";
                  }
    
                  leaf query-timeout {
                    type uint16;
                    description
                      "Query Timeout value";
                  }
    
                  leaf query-maximum-response-time {
                    type uint16;
                    description
                      "Max Response Timeout value";
                  }
    
                  leaf last-member-query-interval {
                    type uint16;
                    description
                      "Last Member Query Interval";
                  }
    
                  leaf group-joins {
                    type uint32;
                    description
                      "No. of group joins";
                  }
    
                  leaf group-leaves {
                    type uint32;
                    description
                      "No. of group leaves";
                  }
    
                  leaf is-querier {
                    type boolean;
                    description "Are we querier";
                  }
    
                  leaf total-active-groups {
                    type uint32;
                    description
                      "Actual number of groups on interface";
                  }
    
                  leaf robustness {
                    type uint32;
                    description
                      "Robustness Variable value";
                  }
    
                  leaf proxy-interface {
                    type xr:Interface-name;
                    description
                      "Proxy interface index";
                  }
    
                  leaf querier-uptime {
                    type uint16;
                    description
                      "Time since the last querier took over";
                  }
    
                  leaf las-ll-registration-count {
                    type uint32;
                    description "LAS reg count";
                  }
    
                  leaf las-get-address-count {
                    type uint32;
                    description
                      "LAS get addr count";
                  }
    
                  leaf las-update-count {
                    type uint32;
                    description
                      "LAS Update count";
                  }
    
                  leaf las-ll-remove-update-count {
                    type uint32;
                    description
                      "LAS LL remove update count";
                  }
    
                  leaf las-ll-add-update-count {
                    type uint32;
                    description
                      "LAS LL add update count";
                  }
    
                  leaf las-null-update-count {
                    type uint32;
                    description
                      "LAS Null update count";
                  }
    
                  leaf las-unregistration-count {
                    type uint32;
                    description
                      "LAS unreg count";
                  }
    
                  leaf is-las-request {
                    type boolean;
                    description "LAS req";
                  }
    
                  leaf is-las-registered {
                    type boolean;
                    description "LAS registered";
                  }
    
                  leaf vrf-id {
                    type uint32;
                    description "VRF id";
                  }
    
                  leaf mte-vrf-id {
                    type uint32;
                    description "MTE VRF id";
                  }
    
                  leaf location {
                    type uint32;
                    description "Location";
                  }
    
                  leaf mtu {
                    type uint32;
                    description "MTU";
                  }
    
                  leaf vrf-state {
                    type uint32;
                    description "Vrf State";
                  }
    
                  leaf is-configurationverify {
                    type boolean;
                    description "CFG verify";
                  }
    
                  leaf configurationvrf-set {
                    type boolean;
                    description "CFG vrf set";
                  }
    
                  leaf configurationvrf-error {
                    type boolean;
                    description "CFG vrf error";
                  }
    
                  leaf configuration-mcast-vrf-set {
                    type boolean;
                    description "Is mcast set";
                  }
    
                  leaf configuration-mcast-vrf-error {
                    type boolean;
                    description "Is mcast error";
                  }
    
                  leaf is-im-state-registered {
                    type boolean;
                    description
                      "Im state registered";
                  }
    
                  leaf is-subscriber {
                    type boolean;
                    description
                      "Subscriber interface";
                  }
    
                  leaf subscriber-mode {
                    type uint32;
                    description
                      "Subscriber mode";
                  }
    
                  leaf is-identity-present {
                    type boolean;
                    description
                      "Subscriber ID or Address available from AAA";
                  }
    
                  leaf subscriber-id {
                    type string {
                      length "0..257";
                    }
                    description
                      "ID string of subscriber";
                  }
    
                  leaf parent-ifhandle {
                    type xr:Interface-name;
                    description
                      "Parent If Handle";
                  }
    
                  leaf time-since-last-query-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last query";
                  }
    
                  leaf time-since-last-report-in-seconds {
                    type uint32;
                    description
                      "Time elapsed since last report";
                  }
    
                  leaf router-uptime-in-seconds {
                    type uint32;
                    description
                      "Uptime since router enabled event";
                  }
    
                  leaf mte-tuple-count {
                    type uint32;
                    description
                      "MTE Tuple count";
                  }
                }  // list interface-state-off
              }  // container interface-state-offs
            }  // container default-context
          }  // container active
        }  // container igmp
      }  // module Cisco-IOS-XR-igmp-oper
    

© 2023 YumaWorks, Inc. All rights reserved.