Device Software version management
[oam/tr069-adapter.git] / netconf-server / schemas / base / tr-181-2-12-0-cwmp-full.yang
-module tr-181-2-12-0-cwmp-full {
-  namespace "urn:onf:otcc:wireless:yang:radio-access-186";
-  prefix ran;
-
-  organization
-    "CommScope Inc";
-  contact
-    "Radio access OneCell <5g@commscope.com>
-
-     CommScope Inc
-     1100 10th Ave Ct SE,
-     Hickory,
-     NC 28602,
-     USA";
-  description
-    "This module contains a collection of YANG definitions for managing tr069 radio access network (RAN) devices.
-
-     Licensed under the Apache License, Version 2.0 (the 'License');
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-       Unless required by applicable law or agreed to in writing, software
-       distributed under the License is distributed on an 'AS IS' BASIS,
-       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-       See the License for the specific language governing permissions and
-       limitations under the License.";
-
-  revision 2020-06-24 {
-    description
-      "Initial version, used only for ONAP PoC 2018-06-25";
-    reference
-      "ONF TR ???: A YANG Data Model for Radio Access Networks.
-       BBF TR-181-2-12-0 full";
-  }
-
-  grouping device-g {
-    description
-      "Grouping object for Device.";
-    leaf root-data-model-version {
-      type string;
-      config false;
-      description
-        "Device.RootDataModelVersion";
-      reference
-        "Device.RootDataModelVersion";
-    }
-    leaf interface-stack-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.InterfaceStackNumberOfEntries";
-      reference
-        "Device.InterfaceStackNumberOfEntries";
-    }
-  }
-
-  grouping device-atm-g {
-    description
-      "Grouping object for Device.ATM.";
-    leaf link-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.LinkNumberOfEntries";
-      reference
-        "Device.ATM.LinkNumberOfEntries";
-    }
-  }
-
-  grouping diagnostics-f5-loopback-g {
-    description
-      "Grouping object for Device.ATM.Diagnostics.F5Loopback.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Canceled {
-          description
-            "Enum Value - Canceled";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error {
-          description
-            "Enum Value - Error";
-        }
-      }
-      description
-        "Device.ATM.Diagnostics.F5Loopback.DiagnosticsState";
-      reference
-        "Device.ATM.Diagnostics.F5Loopback.DiagnosticsState";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ATM.Diagnostics.F5Loopback.Interface";
-      reference
-        "Device.ATM.Diagnostics.F5Loopback.Interface";
-    }
-    leaf number-of-repetitions {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.ATM.Diagnostics.F5Loopback.NumberOfRepetitions";
-      reference
-        "Device.ATM.Diagnostics.F5Loopback.NumberOfRepetitions";
-    }
-    leaf timeout {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.ATM.Diagnostics.F5Loopback.Timeout";
-      reference
-        "Device.ATM.Diagnostics.F5Loopback.Timeout";
-    }
-    leaf success-count {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Diagnostics.F5Loopback.SuccessCount";
-      reference
-        "Device.ATM.Diagnostics.F5Loopback.SuccessCount";
-    }
-    leaf failure-count {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Diagnostics.F5Loopback.FailureCount";
-      reference
-        "Device.ATM.Diagnostics.F5Loopback.FailureCount";
-    }
-    leaf average-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Diagnostics.F5Loopback.AverageResponseTime";
-      reference
-        "Device.ATM.Diagnostics.F5Loopback.AverageResponseTime";
-    }
-    leaf minimum-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Diagnostics.F5Loopback.MinimumResponseTime";
-      reference
-        "Device.ATM.Diagnostics.F5Loopback.MinimumResponseTime";
-    }
-    leaf maximum-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Diagnostics.F5Loopback.MaximumResponseTime";
-      reference
-        "Device.ATM.Diagnostics.F5Loopback.MaximumResponseTime";
-    }
-  }
-
-  grouping atm-link-g {
-    description
-      "Grouping object for Device.ATM.Link.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ATM.Link.{i}.Enable";
-      reference
-        "Device.ATM.Link.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Status";
-      reference
-        "Device.ATM.Link.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ATM.Link.{i}.Alias";
-      reference
-        "Device.ATM.Link.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Name";
-      reference
-        "Device.ATM.Link.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Link.{i}.LastChange";
-      reference
-        "Device.ATM.Link.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.ATM.Link.{i}.LowerLayers";
-      reference
-        "Device.ATM.Link.{i}.LowerLayers";
-    }
-    leaf link-type {
-      type enumeration {
-        enum EoA {
-          description
-            "Enum Value - EoA";
-        }
-        enum IPoA {
-          description
-            "Enum Value - IPoA";
-        }
-        enum PPPoA {
-          description
-            "Enum Value - PPPoA";
-        }
-        enum CIP {
-          description
-            "Enum Value - CIP";
-        }
-        enum Unconfigured {
-          description
-            "Enum Value - Unconfigured";
-        }
-      }
-      description
-        "Device.ATM.Link.{i}.LinkType";
-      reference
-        "Device.ATM.Link.{i}.LinkType";
-    }
-    leaf auto-config {
-      type boolean;
-      config false;
-      description
-        "Device.ATM.Link.{i}.AutoConfig";
-      reference
-        "Device.ATM.Link.{i}.AutoConfig";
-    }
-    leaf destination-address {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ATM.Link.{i}.DestinationAddress";
-      reference
-        "Device.ATM.Link.{i}.DestinationAddress";
-    }
-    leaf encapsulation {
-      type enumeration {
-        enum LLC {
-          description
-            "Enum Value - LLC";
-        }
-        enum VCMUX {
-          description
-            "Enum Value - VCMUX";
-        }
-      }
-      description
-        "Device.ATM.Link.{i}.Encapsulation";
-      reference
-        "Device.ATM.Link.{i}.Encapsulation";
-    }
-    leaf fcs-preserved {
-      type boolean;
-      description
-        "Device.ATM.Link.{i}.FCSPreserved";
-      reference
-        "Device.ATM.Link.{i}.FCSPreserved";
-    }
-    leaf vc-search-list {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ATM.Link.{i}.VCSearchList";
-      reference
-        "Device.ATM.Link.{i}.VCSearchList";
-    }
-    leaf aal {
-      type string;
-      config false;
-      description
-        "Device.ATM.Link.{i}.AAL";
-      reference
-        "Device.ATM.Link.{i}.AAL";
-    }
-  }
-
-  grouping link-qo-s-g {
-    description
-      "Grouping object for Device.ATM.Link.{i}.QoS.";
-    leaf qo-s-class {
-      type enumeration {
-        enum UBR {
-          description
-            "Enum Value - UBR";
-        }
-        enum CBR {
-          description
-            "Enum Value - CBR";
-        }
-        enum GFR {
-          description
-            "Enum Value - GFR";
-        }
-        enum VBR-nrt {
-          description
-            "Enum Value - VBR-nrt";
-        }
-        enum VBR-rt {
-          description
-            "Enum Value - VBR-rt";
-        }
-        enum UBR+ {
-          description
-            "Enum Value - UBR+";
-        }
-        enum ABR {
-          description
-            "Enum Value - ABR";
-        }
-      }
-      description
-        "Device.ATM.Link.{i}.QoS.QoSClass";
-      reference
-        "Device.ATM.Link.{i}.QoS.QoSClass";
-    }
-    leaf peak-cell-rate {
-      type uint32;
-      description
-        "Device.ATM.Link.{i}.QoS.PeakCellRate";
-      reference
-        "Device.ATM.Link.{i}.QoS.PeakCellRate";
-    }
-    leaf maximum-burst-size {
-      type uint32;
-      description
-        "Device.ATM.Link.{i}.QoS.MaximumBurstSize";
-      reference
-        "Device.ATM.Link.{i}.QoS.MaximumBurstSize";
-    }
-    leaf sustainable-cell-rate {
-      type uint32;
-      description
-        "Device.ATM.Link.{i}.QoS.SustainableCellRate";
-      reference
-        "Device.ATM.Link.{i}.QoS.SustainableCellRate";
-    }
-  }
-
-  grouping link-stats-g {
-    description
-      "Grouping object for Device.ATM.Link.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.BytesSent";
-      reference
-        "Device.ATM.Link.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.BytesReceived";
-      reference
-        "Device.ATM.Link.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.PacketsSent";
-      reference
-        "Device.ATM.Link.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.PacketsReceived";
-      reference
-        "Device.ATM.Link.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.ErrorsSent";
-      reference
-        "Device.ATM.Link.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.ATM.Link.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.ATM.Link.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.ATM.Link.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.ATM.Link.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.ATM.Link.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.ATM.Link.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.ATM.Link.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.ATM.Link.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.ATM.Link.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.ATM.Link.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-    leaf transmitted-blocks {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.TransmittedBlocks";
-      reference
-        "Device.ATM.Link.{i}.Stats.TransmittedBlocks";
-    }
-    leaf received-blocks {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.ReceivedBlocks";
-      reference
-        "Device.ATM.Link.{i}.Stats.ReceivedBlocks";
-    }
-    leaf crc-errors {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.CRCErrors";
-      reference
-        "Device.ATM.Link.{i}.Stats.CRCErrors";
-    }
-    leaf hec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.ATM.Link.{i}.Stats.HECErrors";
-      reference
-        "Device.ATM.Link.{i}.Stats.HECErrors";
-    }
-  }
-
-  grouping device-basapm-g {
-    description
-      "Grouping object for Device.BASAPM.";
-    leaf measurement-endpoint-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.BASAPM.MeasurementEndpointNumberOfEntries";
-      reference
-        "Device.BASAPM.MeasurementEndpointNumberOfEntries";
-    }
-  }
-
-  grouping basapm-measurement-endpoint-g {
-    description
-      "Grouping object for Device.BASAPM.MeasurementEndpoint.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.BASAPM.MeasurementEndpoint.{i}.Alias";
-      reference
-        "Device.BASAPM.MeasurementEndpoint.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.BASAPM.MeasurementEndpoint.{i}.Enable";
-      reference
-        "Device.BASAPM.MeasurementEndpoint.{i}.Enable";
-    }
-    leaf measurement-agent {
-      type string;
-      description
-        "Device.BASAPM.MeasurementEndpoint.{i}.MeasurementAgent";
-      reference
-        "Device.BASAPM.MeasurementEndpoint.{i}.MeasurementAgent";
-    }
-    leaf device-ownership {
-      type enumeration {
-        enum ISP {
-          description
-            "Enum Value - ISP";
-        }
-        enum Customer {
-          description
-            "Enum Value - Customer";
-        }
-      }
-      description
-        "Device.BASAPM.MeasurementEndpoint.{i}.DeviceOwnership";
-      reference
-        "Device.BASAPM.MeasurementEndpoint.{i}.DeviceOwnership";
-    }
-    leaf operational-domain {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.BASAPM.MeasurementEndpoint.{i}.OperationalDomain";
-      reference
-        "Device.BASAPM.MeasurementEndpoint.{i}.OperationalDomain";
-    }
-    leaf internet-domain {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.BASAPM.MeasurementEndpoint.{i}.InternetDomain";
-      reference
-        "Device.BASAPM.MeasurementEndpoint.{i}.InternetDomain";
-    }
-    leaf use-measurement-endpoint-in-reports {
-      type boolean;
-      description
-        "Device.BASAPM.MeasurementEndpoint.{i}.UseMeasurementEndpointInReports";
-      reference
-        "Device.BASAPM.MeasurementEndpoint.{i}.UseMeasurementEndpointInReports";
-    }
-  }
-
-  grouping measurement-endpoint-customer-device-g {
-    description
-      "Grouping object for Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.";
-    leaf equipment-identifier {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.EquipmentIdentifier";
-      reference
-        "Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.EquipmentIdentifier";
-    }
-    leaf customer-identifier {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.CustomerIdentifier";
-      reference
-        "Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.CustomerIdentifier";
-    }
-  }
-
-  grouping measurement-endpoint-isp-device-g {
-    description
-      "Grouping object for Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.";
-    leaf reference-point {
-      type enumeration {
-        enum STP {
-          description
-            "Enum Value - STP";
-        }
-        enum IDTP {
-          description
-            "Enum Value - IDTP";
-        }
-        enum RNTP {
-          description
-            "Enum Value - RNTP";
-        }
-        enum IRTP {
-          description
-            "Enum Value - IRTP";
-        }
-        enum MTP {
-          description
-            "Enum Value - MTP";
-        }
-        enum IATP {
-          description
-            "Enum Value - IATP";
-        }
-        enum UNITP {
-          description
-            "Enum Value - UNITP";
-        }
-        enum CEDTP {
-          description
-            "Enum Value - CEDTP";
-        }
-      }
-      description
-        "Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.ReferencePoint";
-      reference
-        "Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.ReferencePoint";
-    }
-    leaf geographical-location {
-      type string;
-      description
-        "Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.GeographicalLocation";
-      reference
-        "Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.GeographicalLocation";
-    }
-  }
-
-  grouping device-bridging-g {
-    description
-      "Grouping object for Device.Bridging.";
-    leaf max-bridge-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.MaxBridgeEntries";
-      reference
-        "Device.Bridging.MaxBridgeEntries";
-    }
-    leaf max-d-bridge-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.MaxDBridgeEntries";
-      reference
-        "Device.Bridging.MaxDBridgeEntries";
-    }
-    leaf max-q-bridge-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.MaxQBridgeEntries";
-      reference
-        "Device.Bridging.MaxQBridgeEntries";
-    }
-    leaf max-vlan-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.MaxVLANEntries";
-      reference
-        "Device.Bridging.MaxVLANEntries";
-    }
-    leaf max-provider-bridge-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.MaxProviderBridgeEntries";
-      reference
-        "Device.Bridging.MaxProviderBridgeEntries";
-    }
-    leaf provider-bridge-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.ProviderBridgeNumberOfEntries";
-      reference
-        "Device.Bridging.ProviderBridgeNumberOfEntries";
-    }
-    leaf max-filter-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.MaxFilterEntries";
-      reference
-        "Device.Bridging.MaxFilterEntries";
-    }
-    leaf bridge-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.BridgeNumberOfEntries";
-      reference
-        "Device.Bridging.BridgeNumberOfEntries";
-    }
-    leaf filter-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.FilterNumberOfEntries";
-      reference
-        "Device.Bridging.FilterNumberOfEntries";
-    }
-  }
-
-  grouping bridging-bridge-g {
-    description
-      "Grouping object for Device.Bridging.Bridge.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Bridging.Bridge.{i}.Enable";
-      reference
-        "Device.Bridging.Bridge.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Status";
-      reference
-        "Device.Bridging.Bridge.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Alias";
-      reference
-        "Device.Bridging.Bridge.{i}.Alias";
-    }
-    leaf standard {
-      type enumeration {
-        enum 802.1D-2004 {
-          description
-            "Enum Value - 802.1D-2004";
-        }
-        enum 802.1Q-2005 {
-          description
-            "Enum Value - 802.1Q-2005";
-        }
-        enum 802.1Q-2011 {
-          description
-            "Enum Value - 802.1Q-2011";
-        }
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Standard";
-      reference
-        "Device.Bridging.Bridge.{i}.Standard";
-    }
-    leaf port-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.PortNumberOfEntries";
-      reference
-        "Device.Bridging.Bridge.{i}.PortNumberOfEntries";
-    }
-    leaf vlan-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.VLANNumberOfEntries";
-      reference
-        "Device.Bridging.Bridge.{i}.VLANNumberOfEntries";
-    }
-    leaf vlan-port-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.VLANPortNumberOfEntries";
-      reference
-        "Device.Bridging.Bridge.{i}.VLANPortNumberOfEntries";
-    }
-  }
-
-  grouping bridge-port-g {
-    description
-      "Grouping object for Device.Bridging.Bridge.{i}.Port.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Enable";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Status";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Alias";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Name";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.LastChange";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.LowerLayers";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.LowerLayers";
-    }
-    leaf management-port {
-      type boolean;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.ManagementPort";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.ManagementPort";
-    }
-    leaf type {
-      type enumeration {
-        enum ProviderNetworkPort {
-          description
-            "Enum Value - ProviderNetworkPort";
-        }
-        enum CustomerNetworkPort {
-          description
-            "Enum Value - CustomerNetworkPort";
-        }
-        enum CustomerEdgePort {
-          description
-            "Enum Value - CustomerEdgePort";
-        }
-        enum CustomerVLANPort {
-          description
-            "Enum Value - CustomerVLANPort";
-        }
-        enum VLANUnawarePort {
-          description
-            "Enum Value - VLANUnawarePort";
-        }
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Type";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Type";
-    }
-    leaf default-user-priority {
-      type uint32 {
-        range "0..7";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.DefaultUserPriority";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.DefaultUserPriority";
-    }
-    leaf priority-regeneration {
-      type uint32 {
-        range "0..7";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityRegeneration";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityRegeneration";
-    }
-    leaf port-state {
-      type string;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.PortState";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.PortState";
-    }
-    leaf pvid {
-      type int32 {
-        range "1..4094";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.PVID";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.PVID";
-    }
-    leaf tpid {
-      type uint32;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.TPID";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.TPID";
-    }
-    leaf acceptable-frame-types {
-      type enumeration {
-        enum AdmitAll {
-          description
-            "Enum Value - AdmitAll";
-        }
-        enum AdmitOnlyVLANTagged {
-          description
-            "Enum Value - AdmitOnlyVLANTagged";
-        }
-        enum AdmitOnlyPrioUntagged {
-          description
-            "Enum Value - AdmitOnlyPrioUntagged";
-        }
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.AcceptableFrameTypes";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.AcceptableFrameTypes";
-    }
-    leaf ingress-filtering {
-      type boolean;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.IngressFiltering";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.IngressFiltering";
-    }
-    leaf service-access-priority-selection {
-      type boolean;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.ServiceAccessPrioritySelection";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.ServiceAccessPrioritySelection";
-    }
-    leaf service-access-priority-translation {
-      type uint32 {
-        range "0..7";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.ServiceAccessPriorityTranslation";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.ServiceAccessPriorityTranslation";
-    }
-    leaf priority-tagging {
-      type boolean;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityTagging";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityTagging";
-    }
-  }
-
-  grouping port-priority-code-point-g {
-    description
-      "Grouping object for Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.";
-    leaf pcp-selection {
-      type uint32 {
-        range "1..4";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPSelection";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPSelection";
-    }
-    leaf use-dei {
-      type boolean;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.UseDEI";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.UseDEI";
-    }
-    leaf require-drop-encoding {
-      type boolean;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.RequireDropEncoding";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.RequireDropEncoding";
-    }
-    leaf pcp-encoding {
-      type string {
-        length "31";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPEncoding";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPEncoding";
-    }
-    leaf pcp-decoding {
-      type string {
-        length "15";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPDecoding";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPDecoding";
-    }
-  }
-
-  grouping port-stats-g {
-    description
-      "Grouping object for Device.Bridging.Bridge.{i}.Port.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BytesSent";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BytesReceived";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.PacketsSent";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.PacketsReceived";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.ErrorsSent";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping bridge-vlan-g {
-    description
-      "Grouping object for Device.Bridging.Bridge.{i}.VLAN.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Bridging.Bridge.{i}.VLAN.{i}.Enable";
-      reference
-        "Device.Bridging.Bridge.{i}.VLAN.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.VLAN.{i}.Alias";
-      reference
-        "Device.Bridging.Bridge.{i}.VLAN.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.VLAN.{i}.Name";
-      reference
-        "Device.Bridging.Bridge.{i}.VLAN.{i}.Name";
-    }
-    leaf vlanid {
-      type int32 {
-        range "1..4094";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.VLAN.{i}.VLANID";
-      reference
-        "Device.Bridging.Bridge.{i}.VLAN.{i}.VLANID";
-    }
-  }
-
-  grouping bridge-vlan-port-g {
-    description
-      "Grouping object for Device.Bridging.Bridge.{i}.VLANPort.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Enable";
-      reference
-        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Alias";
-      reference
-        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Alias";
-    }
-    leaf vlan {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.VLANPort.{i}.VLAN";
-      reference
-        "Device.Bridging.Bridge.{i}.VLANPort.{i}.VLAN";
-    }
-    leaf port {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Port";
-      reference
-        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Port";
-    }
-    leaf untagged {
-      type boolean;
-      description
-        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Untagged";
-      reference
-        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Untagged";
-    }
-  }
-
-  grouping bridging-filter-g {
-    description
-      "Grouping object for Device.Bridging.Filter.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.Enable";
-      reference
-        "Device.Bridging.Filter.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Bridging.Filter.{i}.Alias";
-      reference
-        "Device.Bridging.Filter.{i}.Alias";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Bridging.Filter.{i}.Status";
-      reference
-        "Device.Bridging.Filter.{i}.Status";
-    }
-    leaf bridge {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Bridging.Filter.{i}.Bridge";
-      reference
-        "Device.Bridging.Filter.{i}.Bridge";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.Bridging.Filter.{i}.Order";
-      reference
-        "Device.Bridging.Filter.{i}.Order";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Bridging.Filter.{i}.Interface";
-      reference
-        "Device.Bridging.Filter.{i}.Interface";
-    }
-    leaf dhcp-type {
-      type enumeration {
-        enum DHCPv4 {
-          description
-            "Enum Value - DHCPv4";
-        }
-        enum DHCPv6 {
-          description
-            "Enum Value - DHCPv6";
-        }
-      }
-      description
-        "Device.Bridging.Filter.{i}.DHCPType";
-      reference
-        "Device.Bridging.Filter.{i}.DHCPType";
-    }
-    leaf vlanid-filter {
-      type uint32 {
-        range "0..4094";
-      }
-      description
-        "Device.Bridging.Filter.{i}.VLANIDFilter";
-      reference
-        "Device.Bridging.Filter.{i}.VLANIDFilter";
-    }
-    leaf ethertype-filter-list {
-      type uint32;
-      description
-        "Device.Bridging.Filter.{i}.EthertypeFilterList";
-      reference
-        "Device.Bridging.Filter.{i}.EthertypeFilterList";
-    }
-    leaf ethertype-filter-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.EthertypeFilterExclude";
-      reference
-        "Device.Bridging.Filter.{i}.EthertypeFilterExclude";
-    }
-    leaf source-mac-address-filter-list {
-      type string {
-        length "min..512";
-      }
-      description
-        "Device.Bridging.Filter.{i}.SourceMACAddressFilterList";
-      reference
-        "Device.Bridging.Filter.{i}.SourceMACAddressFilterList";
-    }
-    leaf source-mac-address-filter-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.SourceMACAddressFilterExclude";
-      reference
-        "Device.Bridging.Filter.{i}.SourceMACAddressFilterExclude";
-    }
-    leaf dest-mac-address-filter-list {
-      type string {
-        length "min..512";
-      }
-      description
-        "Device.Bridging.Filter.{i}.DestMACAddressFilterList";
-      reference
-        "Device.Bridging.Filter.{i}.DestMACAddressFilterList";
-    }
-    leaf dest-mac-address-filter-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.DestMACAddressFilterExclude";
-      reference
-        "Device.Bridging.Filter.{i}.DestMACAddressFilterExclude";
-    }
-    leaf source-mac-from-vendor-class-id-filter {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilter";
-      reference
-        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilter";
-    }
-    leaf source-mac-from-vendor-class-id-filterv6 {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilterv6";
-      reference
-        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilterv6";
-    }
-    leaf source-mac-from-vendor-class-id-filter-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilterExclude";
-      reference
-        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilterExclude";
-    }
-    leaf source-mac-from-vendor-class-id-mode {
-      type enumeration {
-        enum Exact {
-          description
-            "Enum Value - Exact";
-        }
-        enum Prefix {
-          description
-            "Enum Value - Prefix";
-        }
-        enum Suffix {
-          description
-            "Enum Value - Suffix";
-        }
-        enum Substring {
-          description
-            "Enum Value - Substring";
-        }
-      }
-      description
-        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDMode";
-      reference
-        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDMode";
-    }
-    leaf dest-mac-from-vendor-class-id-filter {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilter";
-      reference
-        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilter";
-    }
-    leaf dest-mac-from-vendor-class-id-filterv6 {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilterv6";
-      reference
-        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilterv6";
-    }
-    leaf dest-mac-from-vendor-class-id-filter-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilterExclude";
-      reference
-        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilterExclude";
-    }
-    leaf dest-mac-from-vendor-class-id-mode {
-      type enumeration {
-        enum Exact {
-          description
-            "Enum Value - Exact";
-        }
-        enum Prefix {
-          description
-            "Enum Value - Prefix";
-        }
-        enum Suffix {
-          description
-            "Enum Value - Suffix";
-        }
-        enum Substring {
-          description
-            "Enum Value - Substring";
-        }
-      }
-      description
-        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDMode";
-      reference
-        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDMode";
-    }
-    leaf source-mac-from-client-id-filter {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.Bridging.Filter.{i}.SourceMACFromClientIDFilter";
-      reference
-        "Device.Bridging.Filter.{i}.SourceMACFromClientIDFilter";
-    }
-    leaf source-mac-from-client-id-filter-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.SourceMACFromClientIDFilterExclude";
-      reference
-        "Device.Bridging.Filter.{i}.SourceMACFromClientIDFilterExclude";
-    }
-    leaf dest-mac-from-client-id-filter {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.Bridging.Filter.{i}.DestMACFromClientIDFilter";
-      reference
-        "Device.Bridging.Filter.{i}.DestMACFromClientIDFilter";
-    }
-    leaf dest-mac-from-client-id-filter-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.DestMACFromClientIDFilterExclude";
-      reference
-        "Device.Bridging.Filter.{i}.DestMACFromClientIDFilterExclude";
-    }
-    leaf source-mac-from-user-class-id-filter {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.Bridging.Filter.{i}.SourceMACFromUserClassIDFilter";
-      reference
-        "Device.Bridging.Filter.{i}.SourceMACFromUserClassIDFilter";
-    }
-    leaf source-mac-from-user-class-id-filter-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.SourceMACFromUserClassIDFilterExclude";
-      reference
-        "Device.Bridging.Filter.{i}.SourceMACFromUserClassIDFilterExclude";
-    }
-    leaf dest-mac-from-user-class-id-filter {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.Bridging.Filter.{i}.DestMACFromUserClassIDFilter";
-      reference
-        "Device.Bridging.Filter.{i}.DestMACFromUserClassIDFilter";
-    }
-    leaf dest-mac-from-user-class-id-filter-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.DestMACFromUserClassIDFilterExclude";
-      reference
-        "Device.Bridging.Filter.{i}.DestMACFromUserClassIDFilterExclude";
-    }
-    leaf dest-ip {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.Bridging.Filter.{i}.DestIP";
-      reference
-        "Device.Bridging.Filter.{i}.DestIP";
-    }
-    leaf dest-mask {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.Bridging.Filter.{i}.DestMask";
-      reference
-        "Device.Bridging.Filter.{i}.DestMask";
-    }
-    leaf dest-ip-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.DestIPExclude";
-      reference
-        "Device.Bridging.Filter.{i}.DestIPExclude";
-    }
-    leaf source-ip {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.Bridging.Filter.{i}.SourceIP";
-      reference
-        "Device.Bridging.Filter.{i}.SourceIP";
-    }
-    leaf source-mask {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.Bridging.Filter.{i}.SourceMask";
-      reference
-        "Device.Bridging.Filter.{i}.SourceMask";
-    }
-    leaf source-ip-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.SourceIPExclude";
-      reference
-        "Device.Bridging.Filter.{i}.SourceIPExclude";
-    }
-    leaf protocol {
-      type int32 {
-        range "-1..255";
-      }
-      description
-        "Device.Bridging.Filter.{i}.Protocol";
-      reference
-        "Device.Bridging.Filter.{i}.Protocol";
-    }
-    leaf protocol-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.ProtocolExclude";
-      reference
-        "Device.Bridging.Filter.{i}.ProtocolExclude";
-    }
-    leaf dest-port {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.Bridging.Filter.{i}.DestPort";
-      reference
-        "Device.Bridging.Filter.{i}.DestPort";
-    }
-    leaf dest-port-range-max {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.Bridging.Filter.{i}.DestPortRangeMax";
-      reference
-        "Device.Bridging.Filter.{i}.DestPortRangeMax";
-    }
-    leaf dest-port-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.DestPortExclude";
-      reference
-        "Device.Bridging.Filter.{i}.DestPortExclude";
-    }
-    leaf source-port {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.Bridging.Filter.{i}.SourcePort";
-      reference
-        "Device.Bridging.Filter.{i}.SourcePort";
-    }
-    leaf source-port-range-max {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.Bridging.Filter.{i}.SourcePortRangeMax";
-      reference
-        "Device.Bridging.Filter.{i}.SourcePortRangeMax";
-    }
-    leaf source-port-exclude {
-      type boolean;
-      description
-        "Device.Bridging.Filter.{i}.SourcePortExclude";
-      reference
-        "Device.Bridging.Filter.{i}.SourcePortExclude";
-    }
-  }
-
-  grouping bridging-provider-bridge-g {
-    description
-      "Grouping object for Device.Bridging.ProviderBridge.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Bridging.ProviderBridge.{i}.Enable";
-      reference
-        "Device.Bridging.ProviderBridge.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Bridging.ProviderBridge.{i}.Status";
-      reference
-        "Device.Bridging.ProviderBridge.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Bridging.ProviderBridge.{i}.Alias";
-      reference
-        "Device.Bridging.ProviderBridge.{i}.Alias";
-    }
-    leaf type {
-      type enumeration {
-        enum S-VLAN {
-          description
-            "Enum Value - S-VLAN";
-        }
-        enum PE {
-          description
-            "Enum Value - PE";
-        }
-      }
-      description
-        "Device.Bridging.ProviderBridge.{i}.Type";
-      reference
-        "Device.Bridging.ProviderBridge.{i}.Type";
-    }
-    leaf svla-ncomponent {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Bridging.ProviderBridge.{i}.SVLANcomponent";
-      reference
-        "Device.Bridging.ProviderBridge.{i}.SVLANcomponent";
-    }
-    leaf cvla-ncomponents {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Bridging.ProviderBridge.{i}.CVLANcomponents";
-      reference
-        "Device.Bridging.ProviderBridge.{i}.CVLANcomponents";
-    }
-  }
-
-  grouping device-bulk-data-g {
-    description
-      "Grouping object for Device.BulkData.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.BulkData.Enable";
-      reference
-        "Device.BulkData.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.BulkData.Status";
-      reference
-        "Device.BulkData.Status";
-    }
-    leaf min-reporting-interval {
-      type uint32;
-      config false;
-      description
-        "Device.BulkData.MinReportingInterval";
-      reference
-        "Device.BulkData.MinReportingInterval";
-    }
-    leaf protocols {
-      type string;
-      config false;
-      description
-        "Device.BulkData.Protocols";
-      reference
-        "Device.BulkData.Protocols";
-    }
-    leaf encoding-types {
-      type string;
-      config false;
-      description
-        "Device.BulkData.EncodingTypes";
-      reference
-        "Device.BulkData.EncodingTypes";
-    }
-    leaf parameter-wild-card-supported {
-      type boolean;
-      config false;
-      description
-        "Device.BulkData.ParameterWildCardSupported";
-      reference
-        "Device.BulkData.ParameterWildCardSupported";
-    }
-    leaf max-number-of-profiles {
-      type int32;
-      config false;
-      description
-        "Device.BulkData.MaxNumberOfProfiles";
-      reference
-        "Device.BulkData.MaxNumberOfProfiles";
-    }
-    leaf max-number-of-parameter-references {
-      type int32;
-      config false;
-      description
-        "Device.BulkData.MaxNumberOfParameterReferences";
-      reference
-        "Device.BulkData.MaxNumberOfParameterReferences";
-    }
-    leaf profile-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.BulkData.ProfileNumberOfEntries";
-      reference
-        "Device.BulkData.ProfileNumberOfEntries";
-    }
-  }
-
-  grouping bulk-data-profile-g {
-    description
-      "Grouping object for Device.BulkData.Profile.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.BulkData.Profile.{i}.Enable";
-      reference
-        "Device.BulkData.Profile.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.BulkData.Profile.{i}.Alias";
-      reference
-        "Device.BulkData.Profile.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.BulkData.Profile.{i}.Name";
-      reference
-        "Device.BulkData.Profile.{i}.Name";
-    }
-    leaf number-of-retained-failed-reports {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.BulkData.Profile.{i}.NumberOfRetainedFailedReports";
-      reference
-        "Device.BulkData.Profile.{i}.NumberOfRetainedFailedReports";
-    }
-    leaf protocol {
-      type string;
-      description
-        "Device.BulkData.Profile.{i}.Protocol";
-      reference
-        "Device.BulkData.Profile.{i}.Protocol";
-    }
-    leaf encoding-type {
-      type string;
-      description
-        "Device.BulkData.Profile.{i}.EncodingType";
-      reference
-        "Device.BulkData.Profile.{i}.EncodingType";
-    }
-    leaf reporting-interval {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.BulkData.Profile.{i}.ReportingInterval";
-      reference
-        "Device.BulkData.Profile.{i}.ReportingInterval";
-    }
-    leaf time-reference {
-      type string;
-      description
-        "Device.BulkData.Profile.{i}.TimeReference";
-      reference
-        "Device.BulkData.Profile.{i}.TimeReference";
-    }
-    leaf streaming-host {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.BulkData.Profile.{i}.StreamingHost";
-      reference
-        "Device.BulkData.Profile.{i}.StreamingHost";
-    }
-    leaf streaming-port {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.BulkData.Profile.{i}.StreamingPort";
-      reference
-        "Device.BulkData.Profile.{i}.StreamingPort";
-    }
-    leaf streaming-session-id {
-      type uint32 {
-        range "48..57 | 65..90";
-      }
-      description
-        "Device.BulkData.Profile.{i}.StreamingSessionID";
-      reference
-        "Device.BulkData.Profile.{i}.StreamingSessionID";
-    }
-    leaf file-transfer-url {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.BulkData.Profile.{i}.FileTransferURL";
-      reference
-        "Device.BulkData.Profile.{i}.FileTransferURL";
-    }
-    leaf file-transfer-username {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.BulkData.Profile.{i}.FileTransferUsername";
-      reference
-        "Device.BulkData.Profile.{i}.FileTransferUsername";
-    }
-    leaf control-file-format {
-      type string {
-        length "min..128";
-      }
-      description
-        "Device.BulkData.Profile.{i}.ControlFileFormat";
-      reference
-        "Device.BulkData.Profile.{i}.ControlFileFormat";
-    }
-    leaf parameter-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.BulkData.Profile.{i}.ParameterNumberOfEntries";
-      reference
-        "Device.BulkData.Profile.{i}.ParameterNumberOfEntries";
-    }
-  }
-
-  grouping profile-csv-encoding-g {
-    description
-      "Grouping object for Device.BulkData.Profile.{i}.CSVEncoding.";
-    leaf field-separator {
-      type string;
-      description
-        "Device.BulkData.Profile.{i}.CSVEncoding.FieldSeparator";
-      reference
-        "Device.BulkData.Profile.{i}.CSVEncoding.FieldSeparator";
-    }
-    leaf row-separator {
-      type string;
-      description
-        "Device.BulkData.Profile.{i}.CSVEncoding.RowSeparator";
-      reference
-        "Device.BulkData.Profile.{i}.CSVEncoding.RowSeparator";
-    }
-    leaf escape-character {
-      type string;
-      description
-        "Device.BulkData.Profile.{i}.CSVEncoding.EscapeCharacter";
-      reference
-        "Device.BulkData.Profile.{i}.CSVEncoding.EscapeCharacter";
-    }
-    leaf report-format {
-      type enumeration {
-        enum ParameterPerRow {
-          description
-            "Enum Value - ParameterPerRow";
-        }
-        enum ParameterPerColumn {
-          description
-            "Enum Value - ParameterPerColumn";
-        }
-      }
-      description
-        "Device.BulkData.Profile.{i}.CSVEncoding.ReportFormat";
-      reference
-        "Device.BulkData.Profile.{i}.CSVEncoding.ReportFormat";
-    }
-    leaf row-timestamp {
-      type enumeration {
-        enum Unix-Epoch {
-          description
-            "Enum Value - Unix-Epoch";
-        }
-        enum ISO-8601 {
-          description
-            "Enum Value - ISO-8601";
-        }
-        enum None {
-          description
-            "Enum Value - None";
-        }
-      }
-      description
-        "Device.BulkData.Profile.{i}.CSVEncoding.RowTimestamp";
-      reference
-        "Device.BulkData.Profile.{i}.CSVEncoding.RowTimestamp";
-    }
-  }
-
-  grouping profile-http-g {
-    description
-      "Grouping object for Device.BulkData.Profile.{i}.HTTP.";
-    leaf url {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.BulkData.Profile.{i}.HTTP.URL";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.URL";
-    }
-    leaf username {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.BulkData.Profile.{i}.HTTP.Username";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.Username";
-    }
-    leaf compressions-supported {
-      type string;
-      config false;
-      description
-        "Device.BulkData.Profile.{i}.HTTP.CompressionsSupported";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.CompressionsSupported";
-    }
-    leaf compression {
-      type string;
-      description
-        "Device.BulkData.Profile.{i}.HTTP.Compression";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.Compression";
-    }
-    leaf methods-supported {
-      type string;
-      config false;
-      description
-        "Device.BulkData.Profile.{i}.HTTP.MethodsSupported";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.MethodsSupported";
-    }
-    leaf method {
-      type string;
-      description
-        "Device.BulkData.Profile.{i}.HTTP.Method";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.Method";
-    }
-    leaf use-date-header {
-      type boolean;
-      description
-        "Device.BulkData.Profile.{i}.HTTP.UseDateHeader";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.UseDateHeader";
-    }
-    leaf retry-enable {
-      type boolean;
-      description
-        "Device.BulkData.Profile.{i}.HTTP.RetryEnable";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.RetryEnable";
-    }
-    leaf retry-minimum-wait-interval {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.BulkData.Profile.{i}.HTTP.RetryMinimumWaitInterval";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.RetryMinimumWaitInterval";
-    }
-    leaf retry-interval-multiplier {
-      type uint32 {
-        range "1000..65535";
-      }
-      description
-        "Device.BulkData.Profile.{i}.HTTP.RetryIntervalMultiplier";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.RetryIntervalMultiplier";
-    }
-    leaf request-uri-parameter-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameterNumberOfEntries";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameterNumberOfEntries";
-    }
-    leaf persist-across-reboot {
-      type boolean;
-      description
-        "Device.BulkData.Profile.{i}.HTTP.PersistAcrossReboot";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.PersistAcrossReboot";
-    }
-  }
-
-  grouping http-request-uri-parameter-g {
-    description
-      "Grouping object for Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.Name";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.Name";
-    }
-    leaf reference {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.Reference";
-      reference
-        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.Reference";
-    }
-  }
-
-  grouping profile-json-encoding-g {
-    description
-      "Grouping object for Device.BulkData.Profile.{i}.JSONEncoding.";
-    leaf report-format {
-      type enumeration {
-        enum ObjectHierarchy {
-          description
-            "Enum Value - ObjectHierarchy";
-        }
-        enum NameValuePair {
-          description
-            "Enum Value - NameValuePair";
-        }
-      }
-      description
-        "Device.BulkData.Profile.{i}.JSONEncoding.ReportFormat";
-      reference
-        "Device.BulkData.Profile.{i}.JSONEncoding.ReportFormat";
-    }
-    leaf report-timestamp {
-      type enumeration {
-        enum Unix-Epoch {
-          description
-            "Enum Value - Unix-Epoch";
-        }
-        enum ISO-8601 {
-          description
-            "Enum Value - ISO-8601";
-        }
-        enum None {
-          description
-            "Enum Value - None";
-        }
-      }
-      description
-        "Device.BulkData.Profile.{i}.JSONEncoding.ReportTimestamp";
-      reference
-        "Device.BulkData.Profile.{i}.JSONEncoding.ReportTimestamp";
-    }
-  }
-
-  grouping profile-parameter-g {
-    description
-      "Grouping object for Device.BulkData.Profile.{i}.Parameter.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.BulkData.Profile.{i}.Parameter.{i}.Name";
-      reference
-        "Device.BulkData.Profile.{i}.Parameter.{i}.Name";
-    }
-    leaf reference {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.BulkData.Profile.{i}.Parameter.{i}.Reference";
-      reference
-        "Device.BulkData.Profile.{i}.Parameter.{i}.Reference";
-    }
-  }
-
-  grouping device-captive-portal-g {
-    description
-      "Grouping object for Device.CaptivePortal.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.CaptivePortal.Enable";
-      reference
-        "Device.CaptivePortal.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.CaptivePortal.Status";
-      reference
-        "Device.CaptivePortal.Status";
-    }
-    leaf allowed-list {
-      type string {
-        length "min..10000";
-      }
-      description
-        "Device.CaptivePortal.AllowedList";
-      reference
-        "Device.CaptivePortal.AllowedList";
-    }
-    leaf url {
-      type string {
-        length "min..2000";
-      }
-      description
-        "Device.CaptivePortal.URL";
-      reference
-        "Device.CaptivePortal.URL";
-    }
-  }
-
-  grouping device-cellular-g {
-    description
-      "Grouping object for Device.Cellular.";
-    leaf roaming-enabled {
-      type boolean;
-      description
-        "Device.Cellular.RoamingEnabled";
-      reference
-        "Device.Cellular.RoamingEnabled";
-    }
-    leaf roaming-status {
-      type string;
-      config false;
-      description
-        "Device.Cellular.RoamingStatus";
-      reference
-        "Device.Cellular.RoamingStatus";
-    }
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Cellular.InterfaceNumberOfEntries";
-      reference
-        "Device.Cellular.InterfaceNumberOfEntries";
-    }
-    leaf access-point-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Cellular.AccessPointNumberOfEntries";
-      reference
-        "Device.Cellular.AccessPointNumberOfEntries";
-    }
-  }
-
-  grouping cellular-access-point-g {
-    description
-      "Grouping object for Device.Cellular.AccessPoint.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Cellular.AccessPoint.{i}.Enable";
-      reference
-        "Device.Cellular.AccessPoint.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Cellular.AccessPoint.{i}.Alias";
-      reference
-        "Device.Cellular.AccessPoint.{i}.Alias";
-    }
-    leaf apn {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Cellular.AccessPoint.{i}.APN";
-      reference
-        "Device.Cellular.AccessPoint.{i}.APN";
-    }
-    leaf username {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Cellular.AccessPoint.{i}.Username";
-      reference
-        "Device.Cellular.AccessPoint.{i}.Username";
-    }
-    leaf proxy {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.Cellular.AccessPoint.{i}.Proxy";
-      reference
-        "Device.Cellular.AccessPoint.{i}.Proxy";
-    }
-    leaf proxy-port {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.Cellular.AccessPoint.{i}.ProxyPort";
-      reference
-        "Device.Cellular.AccessPoint.{i}.ProxyPort";
-    }
-    leaf interface {
-      type string;
-      description
-        "Device.Cellular.AccessPoint.{i}.Interface";
-      reference
-        "Device.Cellular.AccessPoint.{i}.Interface";
-    }
-  }
-
-  grouping cellular-interface-g {
-    description
-      "Grouping object for Device.Cellular.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Cellular.Interface.{i}.Enable";
-      reference
-        "Device.Cellular.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Status";
-      reference
-        "Device.Cellular.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Cellular.Interface.{i}.Alias";
-      reference
-        "Device.Cellular.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Name";
-      reference
-        "Device.Cellular.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.LastChange";
-      reference
-        "Device.Cellular.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.Cellular.Interface.{i}.LowerLayers";
-      reference
-        "Device.Cellular.Interface.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Upstream";
-      reference
-        "Device.Cellular.Interface.{i}.Upstream";
-    }
-    leaf imei {
-      type string;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.IMEI";
-      reference
-        "Device.Cellular.Interface.{i}.IMEI";
-    }
-    leaf supported-access-technologies {
-      type string;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.SupportedAccessTechnologies";
-      reference
-        "Device.Cellular.Interface.{i}.SupportedAccessTechnologies";
-    }
-    leaf preferred-access-technology {
-      type string;
-      description
-        "Device.Cellular.Interface.{i}.PreferredAccessTechnology";
-      reference
-        "Device.Cellular.Interface.{i}.PreferredAccessTechnology";
-    }
-    leaf current-access-technology {
-      type string;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.CurrentAccessTechnology";
-      reference
-        "Device.Cellular.Interface.{i}.CurrentAccessTechnology";
-    }
-    leaf available-networks {
-      type string;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.AvailableNetworks";
-      reference
-        "Device.Cellular.Interface.{i}.AvailableNetworks";
-    }
-    leaf network-requested {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Cellular.Interface.{i}.NetworkRequested";
-      reference
-        "Device.Cellular.Interface.{i}.NetworkRequested";
-    }
-    leaf network-in-use {
-      type string;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.NetworkInUse";
-      reference
-        "Device.Cellular.Interface.{i}.NetworkInUse";
-    }
-    leaf rssi {
-      type int32;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.RSSI";
-      reference
-        "Device.Cellular.Interface.{i}.RSSI";
-    }
-    leaf upstream-max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.UpstreamMaxBitRate";
-      reference
-        "Device.Cellular.Interface.{i}.UpstreamMaxBitRate";
-    }
-    leaf downstream-max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.DownstreamMaxBitRate";
-      reference
-        "Device.Cellular.Interface.{i}.DownstreamMaxBitRate";
-    }
-  }
-
-  grouping interface-stats-g {
-    description
-      "Grouping object for Device.Cellular.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.Cellular.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping interface-usim-g {
-    description
-      "Grouping object for Device.Cellular.Interface.{i}.USIM.";
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.USIM.Status";
-      reference
-        "Device.Cellular.Interface.{i}.USIM.Status";
-    }
-    leaf imsi {
-      type string;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.USIM.IMSI";
-      reference
-        "Device.Cellular.Interface.{i}.USIM.IMSI";
-    }
-    leaf iccid {
-      type string;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.USIM.ICCID";
-      reference
-        "Device.Cellular.Interface.{i}.USIM.ICCID";
-    }
-    leaf msisdn {
-      type string;
-      config false;
-      description
-        "Device.Cellular.Interface.{i}.USIM.MSISDN";
-      reference
-        "Device.Cellular.Interface.{i}.USIM.MSISDN";
-    }
-    leaf pin-check {
-      type enumeration {
-        enum OnNetworkAccess {
-          description
-            "Enum Value - OnNetworkAccess";
-        }
-        enum Reboot {
-          description
-            "Enum Value - Reboot";
-        }
-        enum Off {
-          description
-            "Enum Value - Off";
-        }
-      }
-      description
-        "Device.Cellular.Interface.{i}.USIM.PINCheck";
-      reference
-        "Device.Cellular.Interface.{i}.USIM.PINCheck";
-    }
-  }
-
-  grouping device-dhcpv4-g {
-    description
-      "Grouping object for Device.DHCPv4.";
-    leaf client-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv4.ClientNumberOfEntries";
-      reference
-        "Device.DHCPv4.ClientNumberOfEntries";
-    }
-  }
-
-  grouping dhcpv4-client-g {
-    description
-      "Grouping object for Device.DHCPv4.Client.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv4.Client.{i}.Enable";
-      reference
-        "Device.DHCPv4.Client.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv4.Client.{i}.Alias";
-      reference
-        "Device.DHCPv4.Client.{i}.Alias";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DHCPv4.Client.{i}.Interface";
-      reference
-        "Device.DHCPv4.Client.{i}.Interface";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DHCPv4.Client.{i}.Status";
-      reference
-        "Device.DHCPv4.Client.{i}.Status";
-    }
-    leaf dhcp-status {
-      type string;
-      config false;
-      description
-        "Device.DHCPv4.Client.{i}.DHCPStatus";
-      reference
-        "Device.DHCPv4.Client.{i}.DHCPStatus";
-    }
-    leaf ip-address {
-      type string {
-        length "min..15";
-      }
-      config false;
-      description
-        "Device.DHCPv4.Client.{i}.IPAddress";
-      reference
-        "Device.DHCPv4.Client.{i}.IPAddress";
-    }
-    leaf subnet-mask {
-      type string {
-        length "min..15";
-      }
-      config false;
-      description
-        "Device.DHCPv4.Client.{i}.SubnetMask";
-      reference
-        "Device.DHCPv4.Client.{i}.SubnetMask";
-    }
-    leaf ip-routers {
-      type string {
-        length "min..15";
-      }
-      config false;
-      description
-        "Device.DHCPv4.Client.{i}.IPRouters";
-      reference
-        "Device.DHCPv4.Client.{i}.IPRouters";
-    }
-    leaf dns-servers {
-      type string {
-        length "min..15";
-      }
-      config false;
-      description
-        "Device.DHCPv4.Client.{i}.DNSServers";
-      reference
-        "Device.DHCPv4.Client.{i}.DNSServers";
-    }
-    leaf lease-time-remaining {
-      type int32;
-      config false;
-      description
-        "Device.DHCPv4.Client.{i}.LeaseTimeRemaining";
-      reference
-        "Device.DHCPv4.Client.{i}.LeaseTimeRemaining";
-    }
-    leaf dhcp-server {
-      type string {
-        length "min..15";
-      }
-      config false;
-      description
-        "Device.DHCPv4.Client.{i}.DHCPServer";
-      reference
-        "Device.DHCPv4.Client.{i}.DHCPServer";
-    }
-    leaf passthrough-enable {
-      type boolean;
-      description
-        "Device.DHCPv4.Client.{i}.PassthroughEnable";
-      reference
-        "Device.DHCPv4.Client.{i}.PassthroughEnable";
-    }
-    leaf passthrough-dhcp-pool {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DHCPv4.Client.{i}.PassthroughDHCPPool";
-      reference
-        "Device.DHCPv4.Client.{i}.PassthroughDHCPPool";
-    }
-    leaf sent-option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv4.Client.{i}.SentOptionNumberOfEntries";
-      reference
-        "Device.DHCPv4.Client.{i}.SentOptionNumberOfEntries";
-    }
-    leaf req-option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv4.Client.{i}.ReqOptionNumberOfEntries";
-      reference
-        "Device.DHCPv4.Client.{i}.ReqOptionNumberOfEntries";
-    }
-  }
-
-  grouping client-req-option-g {
-    description
-      "Grouping object for Device.DHCPv4.Client.{i}.ReqOption.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Enable";
-      reference
-        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Enable";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Order";
-      reference
-        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Order";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Alias";
-      reference
-        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Alias";
-    }
-    leaf tag {
-      type uint32 {
-        range "1..254";
-      }
-      description
-        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Tag";
-      reference
-        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Tag";
-    }
-    leaf value {
-      type string;
-      config false;
-      description
-        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Value";
-      reference
-        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Value";
-    }
-  }
-
-  grouping client-sent-option-g {
-    description
-      "Grouping object for Device.DHCPv4.Client.{i}.SentOption.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv4.Client.{i}.SentOption.{i}.Enable";
-      reference
-        "Device.DHCPv4.Client.{i}.SentOption.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv4.Client.{i}.SentOption.{i}.Alias";
-      reference
-        "Device.DHCPv4.Client.{i}.SentOption.{i}.Alias";
-    }
-    leaf tag {
-      type uint32 {
-        range "1..254";
-      }
-      description
-        "Device.DHCPv4.Client.{i}.SentOption.{i}.Tag";
-      reference
-        "Device.DHCPv4.Client.{i}.SentOption.{i}.Tag";
-    }
-    leaf value {
-      type string {
-        length "0..255";
-      }
-      description
-        "Device.DHCPv4.Client.{i}.SentOption.{i}.Value";
-      reference
-        "Device.DHCPv4.Client.{i}.SentOption.{i}.Value";
-    }
-  }
-
-  grouping dhcpv4-relay-g {
-    description
-      "Grouping object for Device.DHCPv4.Relay.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv4.Relay.Enable";
-      reference
-        "Device.DHCPv4.Relay.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DHCPv4.Relay.Status";
-      reference
-        "Device.DHCPv4.Relay.Status";
-    }
-    leaf forwarding-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv4.Relay.ForwardingNumberOfEntries";
-      reference
-        "Device.DHCPv4.Relay.ForwardingNumberOfEntries";
-    }
-  }
-
-  grouping relay-forwarding-g {
-    description
-      "Grouping object for Device.DHCPv4.Relay.Forwarding.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.Enable";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.Status";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.Alias";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.Alias";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.Order";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.Order";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.Interface";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.Interface";
-    }
-    leaf vendor-class-id {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassID";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassID";
-    }
-    leaf vendor-class-id-exclude {
-      type boolean;
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassIDExclude";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassIDExclude";
-    }
-    leaf vendor-class-id-mode {
-      type enumeration {
-        enum Exact {
-          description
-            "Enum Value - Exact";
-        }
-        enum Prefix {
-          description
-            "Enum Value - Prefix";
-        }
-        enum Suffix {
-          description
-            "Enum Value - Suffix";
-        }
-        enum Substring {
-          description
-            "Enum Value - Substring";
-        }
-      }
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassIDMode";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassIDMode";
-    }
-    leaf client-id {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.ClientID";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.ClientID";
-    }
-    leaf client-id-exclude {
-      type boolean;
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.ClientIDExclude";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.ClientIDExclude";
-    }
-    leaf user-class-id {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.UserClassID";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.UserClassID";
-    }
-    leaf user-class-id-exclude {
-      type boolean;
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.UserClassIDExclude";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.UserClassIDExclude";
-    }
-    leaf chaddr {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.Chaddr";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.Chaddr";
-    }
-    leaf chaddr-mask {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.ChaddrMask";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.ChaddrMask";
-    }
-    leaf chaddr-exclude {
-      type boolean;
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.ChaddrExclude";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.ChaddrExclude";
-    }
-    leaf locally-served {
-      type boolean;
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.LocallyServed";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.LocallyServed";
-    }
-    leaf dhcp-server-ip-address {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.DHCPv4.Relay.Forwarding.{i}.DHCPServerIPAddress";
-      reference
-        "Device.DHCPv4.Relay.Forwarding.{i}.DHCPServerIPAddress";
-    }
-  }
-
-  grouping dhcpv4-server-g {
-    description
-      "Grouping object for Device.DHCPv4.Server.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv4.Server.Enable";
-      reference
-        "Device.DHCPv4.Server.Enable";
-    }
-    leaf pool-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv4.Server.PoolNumberOfEntries";
-      reference
-        "Device.DHCPv4.Server.PoolNumberOfEntries";
-    }
-  }
-
-  grouping server-pool-g {
-    description
-      "Grouping object for Device.DHCPv4.Server.Pool.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Enable";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Status";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Alias";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Alias";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Order";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Order";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Interface";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Interface";
-    }
-    leaf vendor-class-id {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.VendorClassID";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.VendorClassID";
-    }
-    leaf vendor-class-id-exclude {
-      type boolean;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.VendorClassIDExclude";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.VendorClassIDExclude";
-    }
-    leaf vendor-class-id-mode {
-      type enumeration {
-        enum Exact {
-          description
-            "Enum Value - Exact";
-        }
-        enum Prefix {
-          description
-            "Enum Value - Prefix";
-        }
-        enum Suffix {
-          description
-            "Enum Value - Suffix";
-        }
-        enum Substring {
-          description
-            "Enum Value - Substring";
-        }
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.VendorClassIDMode";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.VendorClassIDMode";
-    }
-    leaf client-id {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.ClientID";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.ClientID";
-    }
-    leaf client-id-exclude {
-      type boolean;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.ClientIDExclude";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.ClientIDExclude";
-    }
-    leaf user-class-id {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.UserClassID";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.UserClassID";
-    }
-    leaf user-class-id-exclude {
-      type boolean;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.UserClassIDExclude";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.UserClassIDExclude";
-    }
-    leaf chaddr {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Chaddr";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Chaddr";
-    }
-    leaf chaddr-mask {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.ChaddrMask";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.ChaddrMask";
-    }
-    leaf chaddr-exclude {
-      type boolean;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.ChaddrExclude";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.ChaddrExclude";
-    }
-    leaf min-address {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.MinAddress";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.MinAddress";
-    }
-    leaf max-address {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.MaxAddress";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.MaxAddress";
-    }
-    leaf reserved-addresses {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.ReservedAddresses";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.ReservedAddresses";
-    }
-    leaf subnet-mask {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.SubnetMask";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.SubnetMask";
-    }
-    leaf dns-servers {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.DNSServers";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.DNSServers";
-    }
-    leaf domain-name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.DomainName";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.DomainName";
-    }
-    leaf ip-routers {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.IPRouters";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.IPRouters";
-    }
-    leaf lease-time {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.LeaseTime";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.LeaseTime";
-    }
-    leaf static-address-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.StaticAddressNumberOfEntries";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.StaticAddressNumberOfEntries";
-    }
-    leaf option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.OptionNumberOfEntries";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.OptionNumberOfEntries";
-    }
-    leaf client-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.ClientNumberOfEntries";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.ClientNumberOfEntries";
-    }
-  }
-
-  grouping pool-client-g {
-    description
-      "Grouping object for Device.DHCPv4.Server.Pool.{i}.Client.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Alias";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Alias";
-    }
-    leaf chaddr {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Chaddr";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Chaddr";
-    }
-    leaf active {
-      type boolean;
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Active";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Active";
-    }
-    leaf ipv4-address-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4AddressNumberOfEntries";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4AddressNumberOfEntries";
-    }
-    leaf option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.OptionNumberOfEntries";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.OptionNumberOfEntries";
-    }
-  }
-
-  grouping client-ipv4-address-g {
-    description
-      "Grouping object for Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf ip-address {
-      type string {
-        length "min..15";
-      }
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.IPAddress";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.IPAddress";
-    }
-    leaf lease-time-remaining {
-      type string;
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.LeaseTimeRemaining";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.LeaseTimeRemaining";
-    }
-  }
-
-  grouping client-option-g {
-    description
-      "Grouping object for Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf tag {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.Tag";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.Tag";
-    }
-    leaf value {
-      type string;
-      config false;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.Value";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.Value";
-    }
-  }
-
-  grouping pool-option-g {
-    description
-      "Grouping object for Device.DHCPv4.Server.Pool.{i}.Option.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Enable";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Alias";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Alias";
-    }
-    leaf tag {
-      type uint32 {
-        range "1..254";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Tag";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Tag";
-    }
-    leaf value {
-      type string {
-        length "0..255";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Value";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Value";
-    }
-  }
-
-  grouping pool-static-address-g {
-    description
-      "Grouping object for Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Enable";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Alias";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Alias";
-    }
-    leaf chaddr {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Chaddr";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Chaddr";
-    }
-    leaf yiaddr {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Yiaddr";
-      reference
-        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Yiaddr";
-    }
-  }
-
-  grouping device-dhcpv6-g {
-    description
-      "Grouping object for Device.DHCPv6.";
-    leaf client-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv6.ClientNumberOfEntries";
-      reference
-        "Device.DHCPv6.ClientNumberOfEntries";
-    }
-  }
-
-  grouping dhcpv6-client-g {
-    description
-      "Grouping object for Device.DHCPv6.Client.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv6.Client.{i}.Enable";
-      reference
-        "Device.DHCPv6.Client.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv6.Client.{i}.Alias";
-      reference
-        "Device.DHCPv6.Client.{i}.Alias";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DHCPv6.Client.{i}.Interface";
-      reference
-        "Device.DHCPv6.Client.{i}.Interface";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.Status";
-      reference
-        "Device.DHCPv6.Client.{i}.Status";
-    }
-    leaf duid {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.DUID";
-      reference
-        "Device.DHCPv6.Client.{i}.DUID";
-    }
-    leaf request-addresses {
-      type boolean;
-      description
-        "Device.DHCPv6.Client.{i}.RequestAddresses";
-      reference
-        "Device.DHCPv6.Client.{i}.RequestAddresses";
-    }
-    leaf request-prefixes {
-      type boolean;
-      description
-        "Device.DHCPv6.Client.{i}.RequestPrefixes";
-      reference
-        "Device.DHCPv6.Client.{i}.RequestPrefixes";
-    }
-    leaf rapid-commit {
-      type boolean;
-      description
-        "Device.DHCPv6.Client.{i}.RapidCommit";
-      reference
-        "Device.DHCPv6.Client.{i}.RapidCommit";
-    }
-    leaf suggested-t1 {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.DHCPv6.Client.{i}.SuggestedT1";
-      reference
-        "Device.DHCPv6.Client.{i}.SuggestedT1";
-    }
-    leaf suggested-t2 {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.DHCPv6.Client.{i}.SuggestedT2";
-      reference
-        "Device.DHCPv6.Client.{i}.SuggestedT2";
-    }
-    leaf supported-options {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.SupportedOptions";
-      reference
-        "Device.DHCPv6.Client.{i}.SupportedOptions";
-    }
-    leaf requested-options {
-      type uint32;
-      description
-        "Device.DHCPv6.Client.{i}.RequestedOptions";
-      reference
-        "Device.DHCPv6.Client.{i}.RequestedOptions";
-    }
-    leaf server-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.ServerNumberOfEntries";
-      reference
-        "Device.DHCPv6.Client.{i}.ServerNumberOfEntries";
-    }
-    leaf sent-option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.SentOptionNumberOfEntries";
-      reference
-        "Device.DHCPv6.Client.{i}.SentOptionNumberOfEntries";
-    }
-    leaf received-option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.ReceivedOptionNumberOfEntries";
-      reference
-        "Device.DHCPv6.Client.{i}.ReceivedOptionNumberOfEntries";
-    }
-  }
-
-  grouping client-received-option-g {
-    description
-      "Grouping object for Device.DHCPv6.Client.{i}.ReceivedOption.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf tag {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Tag";
-      reference
-        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Tag";
-    }
-    leaf value {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Value";
-      reference
-        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Value";
-    }
-    leaf server {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Server";
-      reference
-        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Server";
-    }
-  }
-
-  grouping dhcpv6-client-sent-option-g {
-    description
-      "Grouping object for Device.DHCPv6.Client.{i}.SentOption.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv6.Client.{i}.SentOption.{i}.Enable";
-      reference
-        "Device.DHCPv6.Client.{i}.SentOption.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv6.Client.{i}.SentOption.{i}.Alias";
-      reference
-        "Device.DHCPv6.Client.{i}.SentOption.{i}.Alias";
-    }
-    leaf tag {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.DHCPv6.Client.{i}.SentOption.{i}.Tag";
-      reference
-        "Device.DHCPv6.Client.{i}.SentOption.{i}.Tag";
-    }
-    leaf value {
-      type string {
-        length "0..65535";
-      }
-      description
-        "Device.DHCPv6.Client.{i}.SentOption.{i}.Value";
-      reference
-        "Device.DHCPv6.Client.{i}.SentOption.{i}.Value";
-    }
-  }
-
-  grouping client-server-g {
-    description
-      "Grouping object for Device.DHCPv6.Client.{i}.Server.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf source-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.Server.{i}.SourceAddress";
-      reference
-        "Device.DHCPv6.Client.{i}.Server.{i}.SourceAddress";
-    }
-    leaf duid {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.Server.{i}.DUID";
-      reference
-        "Device.DHCPv6.Client.{i}.Server.{i}.DUID";
-    }
-    leaf information-refresh-time {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Client.{i}.Server.{i}.InformationRefreshTime";
-      reference
-        "Device.DHCPv6.Client.{i}.Server.{i}.InformationRefreshTime";
-    }
-  }
-
-  grouping dhcpv6-server-g {
-    description
-      "Grouping object for Device.DHCPv6.Server.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv6.Server.Enable";
-      reference
-        "Device.DHCPv6.Server.Enable";
-    }
-    leaf pool-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv6.Server.PoolNumberOfEntries";
-      reference
-        "Device.DHCPv6.Server.PoolNumberOfEntries";
-    }
-  }
-
-  grouping dhcpv6-server-pool-g {
-    description
-      "Grouping object for Device.DHCPv6.Server.Pool.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Enable";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Status";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Alias";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Alias";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Order";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Order";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Interface";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Interface";
-    }
-    leaf duid {
-      type string {
-        length "min..130";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.DUID";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.DUID";
-    }
-    leaf duid-exclude {
-      type boolean;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.DUIDExclude";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.DUIDExclude";
-    }
-    leaf vendor-class-id {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.VendorClassID";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.VendorClassID";
-    }
-    leaf vendor-class-id-exclude {
-      type boolean;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.VendorClassIDExclude";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.VendorClassIDExclude";
-    }
-    leaf user-class-id {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.UserClassID";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.UserClassID";
-    }
-    leaf user-class-id-exclude {
-      type boolean;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.UserClassIDExclude";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.UserClassIDExclude";
-    }
-    leaf source-address {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.SourceAddress";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.SourceAddress";
-    }
-    leaf source-address-mask {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.SourceAddressMask";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.SourceAddressMask";
-    }
-    leaf source-address-exclude {
-      type boolean;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.SourceAddressExclude";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.SourceAddressExclude";
-    }
-    leaf iana-enable {
-      type boolean;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.IANAEnable";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.IANAEnable";
-    }
-    leaf iana-manual-prefixes {
-      type string;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.IANAManualPrefixes";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.IANAManualPrefixes";
-    }
-    leaf iana-prefixes {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.IANAPrefixes";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.IANAPrefixes";
-    }
-    leaf iapd-enable {
-      type boolean;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.IAPDEnable";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.IAPDEnable";
-    }
-    leaf iapd-manual-prefixes {
-      type string;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.IAPDManualPrefixes";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.IAPDManualPrefixes";
-    }
-    leaf iapd-prefixes {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.IAPDPrefixes";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.IAPDPrefixes";
-    }
-    leaf iapd-add-length {
-      type uint32 {
-        range "min..64";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.IAPDAddLength";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.IAPDAddLength";
-    }
-    leaf client-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.ClientNumberOfEntries";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.ClientNumberOfEntries";
-    }
-    leaf option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.OptionNumberOfEntries";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.OptionNumberOfEntries";
-    }
-  }
-
-  grouping server-pool-client-g {
-    description
-      "Grouping object for Device.DHCPv6.Server.Pool.{i}.Client.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Alias";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Alias";
-    }
-    leaf source-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.SourceAddress";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.SourceAddress";
-    }
-    leaf active {
-      type boolean;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Active";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Active";
-    }
-    leaf ipv6-address-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6AddressNumberOfEntries";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6AddressNumberOfEntries";
-    }
-    leaf ipv6-prefix-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6PrefixNumberOfEntries";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6PrefixNumberOfEntries";
-    }
-    leaf option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.OptionNumberOfEntries";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.OptionNumberOfEntries";
-    }
-  }
-
-  grouping client-ipv6-address-g {
-    description
-      "Grouping object for Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf ip-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.IPAddress";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.IPAddress";
-    }
-    leaf preferred-lifetime {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.PreferredLifetime";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.PreferredLifetime";
-    }
-    leaf valid-lifetime {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.ValidLifetime";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.ValidLifetime";
-    }
-  }
-
-  grouping client-ipv6-prefix-g {
-    description
-      "Grouping object for Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf prefix {
-      type string {
-        length "min..49";
-      }
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.Prefix";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.Prefix";
-    }
-    leaf preferred-lifetime {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.PreferredLifetime";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.PreferredLifetime";
-    }
-    leaf valid-lifetime {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.ValidLifetime";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.ValidLifetime";
-    }
-  }
-
-  grouping pool-client-option-g {
-    description
-      "Grouping object for Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf tag {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.Tag";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.Tag";
-    }
-    leaf value {
-      type string;
-      config false;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.Value";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.Value";
-    }
-  }
-
-  grouping server-pool-option-g {
-    description
-      "Grouping object for Device.DHCPv6.Server.Pool.{i}.Option.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Enable";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Alias";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Alias";
-    }
-    leaf tag {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Tag";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Tag";
-    }
-    leaf value {
-      type string {
-        length "0..65535";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Value";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Value";
-    }
-    leaf passthrough-client {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.PassthroughClient";
-      reference
-        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.PassthroughClient";
-    }
-  }
-
-  grouping dlna-capabilities-g {
-    description
-      "Grouping object for Device.DLNA.Capabilities.";
-    leaf hnd-device-class {
-      type string;
-      config false;
-      description
-        "Device.DLNA.Capabilities.HNDDeviceClass";
-      reference
-        "Device.DLNA.Capabilities.HNDDeviceClass";
-    }
-    leaf device-capability {
-      type string;
-      config false;
-      description
-        "Device.DLNA.Capabilities.DeviceCapability";
-      reference
-        "Device.DLNA.Capabilities.DeviceCapability";
-    }
-    leaf hid-device-class {
-      type string;
-      config false;
-      description
-        "Device.DLNA.Capabilities.HIDDeviceClass";
-      reference
-        "Device.DLNA.Capabilities.HIDDeviceClass";
-    }
-    leaf image-class-profile-id {
-      type string;
-      config false;
-      description
-        "Device.DLNA.Capabilities.ImageClassProfileID";
-      reference
-        "Device.DLNA.Capabilities.ImageClassProfileID";
-    }
-    leaf audio-class-profile-id {
-      type string;
-      config false;
-      description
-        "Device.DLNA.Capabilities.AudioClassProfileID";
-      reference
-        "Device.DLNA.Capabilities.AudioClassProfileID";
-    }
-    leaf av-class-profile-id {
-      type string;
-      config false;
-      description
-        "Device.DLNA.Capabilities.AVClassProfileID";
-      reference
-        "Device.DLNA.Capabilities.AVClassProfileID";
-    }
-    leaf media-collection-profile-id {
-      type string;
-      config false;
-      description
-        "Device.DLNA.Capabilities.MediaCollectionProfileID";
-      reference
-        "Device.DLNA.Capabilities.MediaCollectionProfileID";
-    }
-    leaf printer-class-profile-id {
-      type string;
-      config false;
-      description
-        "Device.DLNA.Capabilities.PrinterClassProfileID";
-      reference
-        "Device.DLNA.Capabilities.PrinterClassProfileID";
-    }
-  }
-
-  grouping device-dns-g {
-    description
-      "Grouping object for Device.DNS.";
-    leaf supported-record-types {
-      type string;
-      config false;
-      description
-        "Device.DNS.SupportedRecordTypes";
-      reference
-        "Device.DNS.SupportedRecordTypes";
-    }
-  }
-
-  grouping dns-client-g {
-    description
-      "Grouping object for Device.DNS.Client.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.DNS.Client.Enable";
-      reference
-        "Device.DNS.Client.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DNS.Client.Status";
-      reference
-        "Device.DNS.Client.Status";
-    }
-    leaf server-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DNS.Client.ServerNumberOfEntries";
-      reference
-        "Device.DNS.Client.ServerNumberOfEntries";
-    }
-  }
-
-  grouping dns-client-server-g {
-    description
-      "Grouping object for Device.DNS.Client.Server.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DNS.Client.Server.{i}.Enable";
-      reference
-        "Device.DNS.Client.Server.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DNS.Client.Server.{i}.Status";
-      reference
-        "Device.DNS.Client.Server.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DNS.Client.Server.{i}.Alias";
-      reference
-        "Device.DNS.Client.Server.{i}.Alias";
-    }
-    leaf dns-server {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.DNS.Client.Server.{i}.DNSServer";
-      reference
-        "Device.DNS.Client.Server.{i}.DNSServer";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DNS.Client.Server.{i}.Interface";
-      reference
-        "Device.DNS.Client.Server.{i}.Interface";
-    }
-    leaf type {
-      type string;
-      config false;
-      description
-        "Device.DNS.Client.Server.{i}.Type";
-      reference
-        "Device.DNS.Client.Server.{i}.Type";
-    }
-  }
-
-  grouping diagnostics-ns-lookup-diagnostics-g {
-    description
-      "Grouping object for Device.DNS.Diagnostics.NSLookupDiagnostics.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error_DNSServerNotResolved {
-          description
-            "Enum Value - Error_DNSServerNotResolved";
-        }
-        enum Error_Internal {
-          description
-            "Enum Value - Error_Internal";
-        }
-        enum Error_Other {
-          description
-            "Enum Value - Error_Other";
-        }
-      }
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.DiagnosticsState";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.DiagnosticsState";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Interface";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Interface";
-    }
-    leaf host-name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.HostName";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.HostName";
-    }
-    leaf dns-server {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.DNSServer";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.DNSServer";
-    }
-    leaf timeout {
-      type uint32;
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Timeout";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Timeout";
-    }
-    leaf number-of-repetitions {
-      type uint32;
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.NumberOfRepetitions";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.NumberOfRepetitions";
-    }
-    leaf success-count {
-      type uint32;
-      config false;
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.SuccessCount";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.SuccessCount";
-    }
-    leaf result-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.ResultNumberOfEntries";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.ResultNumberOfEntries";
-    }
-  }
-
-  grouping ns-lookup-diagnostics-result-g {
-    description
-      "Grouping object for Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.Status";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.Status";
-    }
-    leaf answer-type {
-      type string;
-      config false;
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.AnswerType";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.AnswerType";
-    }
-    leaf host-name-returned {
-      type string;
-      config false;
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.HostNameReturned";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.HostNameReturned";
-    }
-    leaf ip-addresses {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.IPAddresses";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.IPAddresses";
-    }
-    leaf dns-server-ip {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.DNSServerIP";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.DNSServerIP";
-    }
-    leaf response-time {
-      type uint32;
-      config false;
-      description
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.ResponseTime";
-      reference
-        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.ResponseTime";
-    }
-  }
-
-  grouping dns-relay-g {
-    description
-      "Grouping object for Device.DNS.Relay.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.DNS.Relay.Enable";
-      reference
-        "Device.DNS.Relay.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DNS.Relay.Status";
-      reference
-        "Device.DNS.Relay.Status";
-    }
-    leaf forward-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DNS.Relay.ForwardNumberOfEntries";
-      reference
-        "Device.DNS.Relay.ForwardNumberOfEntries";
-    }
-  }
-
-  grouping dns-relay-forwarding-g {
-    description
-      "Grouping object for Device.DNS.Relay.Forwarding.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DNS.Relay.Forwarding.{i}.Enable";
-      reference
-        "Device.DNS.Relay.Forwarding.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DNS.Relay.Forwarding.{i}.Status";
-      reference
-        "Device.DNS.Relay.Forwarding.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DNS.Relay.Forwarding.{i}.Alias";
-      reference
-        "Device.DNS.Relay.Forwarding.{i}.Alias";
-    }
-    leaf dns-server {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.DNS.Relay.Forwarding.{i}.DNSServer";
-      reference
-        "Device.DNS.Relay.Forwarding.{i}.DNSServer";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DNS.Relay.Forwarding.{i}.Interface";
-      reference
-        "Device.DNS.Relay.Forwarding.{i}.Interface";
-    }
-    leaf type {
-      type string;
-      config false;
-      description
-        "Device.DNS.Relay.Forwarding.{i}.Type";
-      reference
-        "Device.DNS.Relay.Forwarding.{i}.Type";
-    }
-  }
-
-  grouping dns-sd-g {
-    description
-      "Grouping object for Device.DNS.SD.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.DNS.SD.Enable";
-      reference
-        "Device.DNS.SD.Enable";
-    }
-    leaf service-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DNS.SD.ServiceNumberOfEntries";
-      reference
-        "Device.DNS.SD.ServiceNumberOfEntries";
-    }
-    leaf advertised-interfaces {
-      type string;
-      description
-        "Device.DNS.SD.AdvertisedInterfaces";
-      reference
-        "Device.DNS.SD.AdvertisedInterfaces";
-    }
-  }
-
-  grouping sd-service-g {
-    description
-      "Grouping object for Device.DNS.SD.Service.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf instance-name {
-      type string;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.InstanceName";
-      reference
-        "Device.DNS.SD.Service.{i}.InstanceName";
-    }
-    leaf application-protocol {
-      type string;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.ApplicationProtocol";
-      reference
-        "Device.DNS.SD.Service.{i}.ApplicationProtocol";
-    }
-    leaf transport-protocol {
-      type string;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.TransportProtocol";
-      reference
-        "Device.DNS.SD.Service.{i}.TransportProtocol";
-    }
-    leaf domain {
-      type string;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.Domain";
-      reference
-        "Device.DNS.SD.Service.{i}.Domain";
-    }
-    leaf port {
-      type uint32;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.Port";
-      reference
-        "Device.DNS.SD.Service.{i}.Port";
-    }
-    leaf target {
-      type string;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.Target";
-      reference
-        "Device.DNS.SD.Service.{i}.Target";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.Status";
-      reference
-        "Device.DNS.SD.Service.{i}.Status";
-    }
-    leaf last-update {
-      type string;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.LastUpdate";
-      reference
-        "Device.DNS.SD.Service.{i}.LastUpdate";
-    }
-    leaf host {
-      type string;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.Host";
-      reference
-        "Device.DNS.SD.Service.{i}.Host";
-    }
-    leaf time-to-live {
-      type uint32;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.TimeToLive";
-      reference
-        "Device.DNS.SD.Service.{i}.TimeToLive";
-    }
-    leaf priority {
-      type uint32;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.Priority";
-      reference
-        "Device.DNS.SD.Service.{i}.Priority";
-    }
-    leaf weight {
-      type uint32;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.Weight";
-      reference
-        "Device.DNS.SD.Service.{i}.Weight";
-    }
-    leaf text-record-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.TextRecordNumberOfEntries";
-      reference
-        "Device.DNS.SD.Service.{i}.TextRecordNumberOfEntries";
-    }
-  }
-
-  grouping service-text-record-g {
-    description
-      "Grouping object for Device.DNS.SD.Service.{i}.TextRecord.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf key {
-      type string;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.TextRecord.{i}.Key";
-      reference
-        "Device.DNS.SD.Service.{i}.TextRecord.{i}.Key";
-    }
-    leaf value {
-      type string;
-      config false;
-      description
-        "Device.DNS.SD.Service.{i}.TextRecord.{i}.Value";
-      reference
-        "Device.DNS.SD.Service.{i}.TextRecord.{i}.Value";
-    }
-  }
-
-  grouping device-dsl-g {
-    description
-      "Grouping object for Device.DSL.";
-    leaf line-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.LineNumberOfEntries";
-      reference
-        "Device.DSL.LineNumberOfEntries";
-    }
-    leaf channel-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.ChannelNumberOfEntries";
-      reference
-        "Device.DSL.ChannelNumberOfEntries";
-    }
-    leaf bonding-group-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroupNumberOfEntries";
-      reference
-        "Device.DSL.BondingGroupNumberOfEntries";
-    }
-  }
-
-  grouping dsl-bonding-group-g {
-    description
-      "Grouping object for Device.DSL.BondingGroup.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DSL.BondingGroup.{i}.Enable";
-      reference
-        "Device.DSL.BondingGroup.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Status";
-      reference
-        "Device.DSL.BondingGroup.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DSL.BondingGroup.{i}.Alias";
-      reference
-        "Device.DSL.BondingGroup.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Name";
-      reference
-        "Device.DSL.BondingGroup.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.LastChange";
-      reference
-        "Device.DSL.BondingGroup.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.LowerLayers";
-      reference
-        "Device.DSL.BondingGroup.{i}.LowerLayers";
-    }
-    leaf group-status {
-      type string;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.GroupStatus";
-      reference
-        "Device.DSL.BondingGroup.{i}.GroupStatus";
-    }
-    leaf group-id {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.GroupID";
-      reference
-        "Device.DSL.BondingGroup.{i}.GroupID";
-    }
-    leaf bond-schemes-supported {
-      type string;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondSchemesSupported";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondSchemesSupported";
-    }
-    leaf bond-scheme {
-      type string;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondScheme";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondScheme";
-    }
-    leaf group-capacity {
-      type uint32 {
-        range "1..32";
-      }
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.GroupCapacity";
-      reference
-        "Device.DSL.BondingGroup.{i}.GroupCapacity";
-    }
-    leaf running-time {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.RunningTime";
-      reference
-        "Device.DSL.BondingGroup.{i}.RunningTime";
-    }
-    leaf target-up-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.TargetUpRate";
-      reference
-        "Device.DSL.BondingGroup.{i}.TargetUpRate";
-    }
-    leaf target-down-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.TargetDownRate";
-      reference
-        "Device.DSL.BondingGroup.{i}.TargetDownRate";
-    }
-    leaf thresh-low-up-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.ThreshLowUpRate";
-      reference
-        "Device.DSL.BondingGroup.{i}.ThreshLowUpRate";
-    }
-    leaf thresh-low-down-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.ThreshLowDownRate";
-      reference
-        "Device.DSL.BondingGroup.{i}.ThreshLowDownRate";
-    }
-    leaf upstream-differential-delay-tolerance {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.UpstreamDifferentialDelayTolerance";
-      reference
-        "Device.DSL.BondingGroup.{i}.UpstreamDifferentialDelayTolerance";
-    }
-    leaf downstream-differential-delay-tolerance {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.DownstreamDifferentialDelayTolerance";
-      reference
-        "Device.DSL.BondingGroup.{i}.DownstreamDifferentialDelayTolerance";
-    }
-    leaf bonded-channel-number-of-entries {
-      type uint32 {
-        range "1..32";
-      }
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondedChannelNumberOfEntries";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondedChannelNumberOfEntries";
-    }
-  }
-
-  grouping bonding-group-bonded-channel-g {
-    description
-      "Grouping object for Device.DSL.BondingGroup.{i}.BondedChannel.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Alias";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Alias";
-    }
-    leaf channel {
-      type string;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Channel";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Channel";
-    }
-  }
-
-  grouping ethernet-stats-g {
-    description
-      "Grouping object for Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.";
-    leaf underflow-errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.UnderflowErrorsSent";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.UnderflowErrorsSent";
-    }
-    leaf crc-errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.CRCErrorsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.CRCErrorsReceived";
-    }
-    leaf alignment-errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.AlignmentErrorsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.AlignmentErrorsReceived";
-    }
-    leaf short-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.ShortPacketsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.ShortPacketsReceived";
-    }
-    leaf long-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.LongPacketsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.LongPacketsReceived";
-    }
-    leaf overflow-errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.OverflowErrorsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.OverflowErrorsReceived";
-    }
-    leaf pause-frames-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.PauseFramesReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.PauseFramesReceived";
-    }
-    leaf frames-dropped {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.FramesDropped";
-      reference
-        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.FramesDropped";
-    }
-  }
-
-  grouping bonding-group-ethernet-stats-g {
-    description
-      "Grouping object for Device.DSL.BondingGroup.{i}.Ethernet.Stats.";
-    leaf paf-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFErrors";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFErrors";
-    }
-    leaf paf-small-fragments {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFSmallFragments";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFSmallFragments";
-    }
-    leaf paf-large-fragments {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLargeFragments";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLargeFragments";
-    }
-    leaf paf-bad-fragments {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFBadFragments";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFBadFragments";
-    }
-    leaf paf-lost-fragments {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostFragments";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostFragments";
-    }
-    leaf paf-late-fragments {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLateFragments";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLateFragments";
-    }
-    leaf paf-lost-starts {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostStarts";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostStarts";
-    }
-    leaf paf-lost-ends {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostEnds";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostEnds";
-    }
-    leaf paf-overflows {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFOverflows";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFOverflows";
-    }
-    leaf pause-frames-sent {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PauseFramesSent";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PauseFramesSent";
-    }
-    leaf crc-errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.CRCErrorsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.CRCErrorsReceived";
-    }
-    leaf alignment-errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.AlignmentErrorsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.AlignmentErrorsReceived";
-    }
-    leaf short-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.ShortPacketsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.ShortPacketsReceived";
-    }
-    leaf long-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.LongPacketsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.LongPacketsReceived";
-    }
-    leaf overflow-errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.OverflowErrorsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.OverflowErrorsReceived";
-    }
-    leaf frames-dropped {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.FramesDropped";
-      reference
-        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.FramesDropped";
-    }
-  }
-
-  grouping bonding-group-stats-g {
-    description
-      "Grouping object for Device.DSL.BondingGroup.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.BytesSent";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.BytesReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.PacketsSent";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.PacketsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.ErrorsSent";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-    leaf total-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.TotalStart";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.TotalStart";
-    }
-    leaf current-day-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDayStart";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDayStart";
-    }
-    leaf quarter-hour-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHourStart";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHourStart";
-    }
-  }
-
-  grouping stats-current-day-g {
-    description
-      "Grouping object for Device.DSL.BondingGroup.{i}.Stats.CurrentDay.";
-    leaf failure-reasons {
-      type string;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.FailureReasons";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.FailureReasons";
-    }
-    leaf upstream-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamRate";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamRate";
-    }
-    leaf downstream-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamRate";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamRate";
-    }
-    leaf upstream-packet-loss {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamPacketLoss";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamPacketLoss";
-    }
-    leaf downstream-packet-loss {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamPacketLoss";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamPacketLoss";
-    }
-    leaf upstream-differential-delay {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamDifferentialDelay";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamDifferentialDelay";
-    }
-    leaf downstream-differential-delay {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamDifferentialDelay";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamDifferentialDelay";
-    }
-    leaf failure-count {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.FailureCount";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.FailureCount";
-    }
-    leaf errored-seconds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.ErroredSeconds";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.ErroredSeconds";
-    }
-    leaf severely-errored-seconds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.SeverelyErroredSeconds";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.SeverelyErroredSeconds";
-    }
-    leaf unavailable-seconds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UnavailableSeconds";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UnavailableSeconds";
-    }
-  }
-
-  grouping stats-quarter-hour-g {
-    description
-      "Grouping object for Device.DSL.BondingGroup.{i}.Stats.QuarterHour.";
-    leaf failure-reasons {
-      type string;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.FailureReasons";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.FailureReasons";
-    }
-    leaf upstream-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamRate";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamRate";
-    }
-    leaf downstream-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamRate";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamRate";
-    }
-    leaf upstream-packet-loss {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamPacketLoss";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamPacketLoss";
-    }
-    leaf downstream-packet-loss {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamPacketLoss";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamPacketLoss";
-    }
-    leaf upstream-differential-delay {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamDifferentialDelay";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamDifferentialDelay";
-    }
-    leaf downstream-differential-delay {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamDifferentialDelay";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamDifferentialDelay";
-    }
-    leaf failure-count {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.FailureCount";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.FailureCount";
-    }
-    leaf errored-seconds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.ErroredSeconds";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.ErroredSeconds";
-    }
-    leaf severely-errored-seconds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.SeverelyErroredSeconds";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.SeverelyErroredSeconds";
-    }
-    leaf unavailable-seconds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UnavailableSeconds";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UnavailableSeconds";
-    }
-  }
-
-  grouping stats-total-g {
-    description
-      "Grouping object for Device.DSL.BondingGroup.{i}.Stats.Total.";
-    leaf failure-reasons {
-      type string;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.Total.FailureReasons";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.Total.FailureReasons";
-    }
-    leaf upstream-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamRate";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamRate";
-    }
-    leaf downstream-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamRate";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamRate";
-    }
-    leaf upstream-packet-loss {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamPacketLoss";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamPacketLoss";
-    }
-    leaf downstream-packet-loss {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamPacketLoss";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamPacketLoss";
-    }
-    leaf upstream-differential-delay {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamDifferentialDelay";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamDifferentialDelay";
-    }
-    leaf downstream-differential-delay {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamDifferentialDelay";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamDifferentialDelay";
-    }
-    leaf failure-count {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.Total.FailureCount";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.Total.FailureCount";
-    }
-    leaf errored-seconds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.Total.ErroredSeconds";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.Total.ErroredSeconds";
-    }
-    leaf severely-errored-seconds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.Total.SeverelyErroredSeconds";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.Total.SeverelyErroredSeconds";
-    }
-    leaf unavailable-seconds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.BondingGroup.{i}.Stats.Total.UnavailableSeconds";
-      reference
-        "Device.DSL.BondingGroup.{i}.Stats.Total.UnavailableSeconds";
-    }
-  }
-
-  grouping dsl-channel-g {
-    description
-      "Grouping object for Device.DSL.Channel.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DSL.Channel.{i}.Enable";
-      reference
-        "Device.DSL.Channel.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Status";
-      reference
-        "Device.DSL.Channel.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DSL.Channel.{i}.Alias";
-      reference
-        "Device.DSL.Channel.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Name";
-      reference
-        "Device.DSL.Channel.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.LastChange";
-      reference
-        "Device.DSL.Channel.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.LowerLayers";
-      reference
-        "Device.DSL.Channel.{i}.LowerLayers";
-    }
-    leaf link-encapsulation-supported {
-      type string;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.LinkEncapsulationSupported";
-      reference
-        "Device.DSL.Channel.{i}.LinkEncapsulationSupported";
-    }
-    leaf link-encapsulation-used {
-      type string;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.LinkEncapsulationUsed";
-      reference
-        "Device.DSL.Channel.{i}.LinkEncapsulationUsed";
-    }
-    leaf lpath {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.LPATH";
-      reference
-        "Device.DSL.Channel.{i}.LPATH";
-    }
-    leaf intlvdepth {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.INTLVDEPTH";
-      reference
-        "Device.DSL.Channel.{i}.INTLVDEPTH";
-    }
-    leaf intlvblock {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.INTLVBLOCK";
-      reference
-        "Device.DSL.Channel.{i}.INTLVBLOCK";
-    }
-    leaf actual-interleaving-delay {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.ActualInterleavingDelay";
-      reference
-        "Device.DSL.Channel.{i}.ActualInterleavingDelay";
-    }
-    leaf actinp {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.ACTINP";
-      reference
-        "Device.DSL.Channel.{i}.ACTINP";
-    }
-    leaf inpreport {
-      type boolean;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.INPREPORT";
-      reference
-        "Device.DSL.Channel.{i}.INPREPORT";
-    }
-    leaf nfec {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.NFEC";
-      reference
-        "Device.DSL.Channel.{i}.NFEC";
-    }
-    leaf rfec {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.RFEC";
-      reference
-        "Device.DSL.Channel.{i}.RFEC";
-    }
-    leaf lsymb {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.LSYMB";
-      reference
-        "Device.DSL.Channel.{i}.LSYMB";
-    }
-    leaf upstream-curr-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.UpstreamCurrRate";
-      reference
-        "Device.DSL.Channel.{i}.UpstreamCurrRate";
-    }
-    leaf downstream-curr-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.DownstreamCurrRate";
-      reference
-        "Device.DSL.Channel.{i}.DownstreamCurrRate";
-    }
-    leaf actndr {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.ACTNDR";
-      reference
-        "Device.DSL.Channel.{i}.ACTNDR";
-    }
-    leaf actinprein {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.DSL.Channel.{i}.ACTINPREIN";
-      reference
-        "Device.DSL.Channel.{i}.ACTINPREIN";
-    }
-  }
-
-  grouping channel-stats-g {
-    description
-      "Grouping object for Device.DSL.Channel.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.BytesSent";
-      reference
-        "Device.DSL.Channel.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.BytesReceived";
-      reference
-        "Device.DSL.Channel.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.PacketsSent";
-      reference
-        "Device.DSL.Channel.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.PacketsReceived";
-      reference
-        "Device.DSL.Channel.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.ErrorsSent";
-      reference
-        "Device.DSL.Channel.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.DSL.Channel.{i}.Stats.ErrorsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.DSL.Channel.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.DSL.Channel.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf total-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.TotalStart";
-      reference
-        "Device.DSL.Channel.{i}.Stats.TotalStart";
-    }
-    leaf showtime-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.ShowtimeStart";
-      reference
-        "Device.DSL.Channel.{i}.Stats.ShowtimeStart";
-    }
-    leaf last-showtime-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.LastShowtimeStart";
-      reference
-        "Device.DSL.Channel.{i}.Stats.LastShowtimeStart";
-    }
-    leaf current-day-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.CurrentDayStart";
-      reference
-        "Device.DSL.Channel.{i}.Stats.CurrentDayStart";
-    }
-    leaf quarter-hour-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.QuarterHourStart";
-      reference
-        "Device.DSL.Channel.{i}.Stats.QuarterHourStart";
-    }
-  }
-
-  grouping channel-stats-current-day-g {
-    description
-      "Grouping object for Device.DSL.Channel.{i}.Stats.CurrentDay.";
-    leaf xturfec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURFECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURFECErrors";
-    }
-    leaf xtucfec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCFECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCFECErrors";
-    }
-    leaf xturhec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURHECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURHECErrors";
-    }
-    leaf xtuchec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCHECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCHECErrors";
-    }
-    leaf xturcrc-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURCRCErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURCRCErrors";
-    }
-    leaf xtuccrc-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCCRCErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCCRCErrors";
-    }
-  }
-
-  grouping stats-last-showtime-g {
-    description
-      "Grouping object for Device.DSL.Channel.{i}.Stats.LastShowtime.";
-    leaf xturfec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURFECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURFECErrors";
-    }
-    leaf xtucfec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCFECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCFECErrors";
-    }
-    leaf xturhec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURHECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURHECErrors";
-    }
-    leaf xtuchec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCHECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCHECErrors";
-    }
-    leaf xturcrc-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURCRCErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURCRCErrors";
-    }
-    leaf xtuccrc-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCCRCErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCCRCErrors";
-    }
-  }
-
-  grouping channel-stats-quarter-hour-g {
-    description
-      "Grouping object for Device.DSL.Channel.{i}.Stats.QuarterHour.";
-    leaf xturfec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURFECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURFECErrors";
-    }
-    leaf xtucfec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCFECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCFECErrors";
-    }
-    leaf xturhec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURHECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURHECErrors";
-    }
-    leaf xtuchec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCHECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCHECErrors";
-    }
-    leaf xturcrc-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURCRCErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURCRCErrors";
-    }
-    leaf xtuccrc-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCCRCErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCCRCErrors";
-    }
-  }
-
-  grouping stats-showtime-g {
-    description
-      "Grouping object for Device.DSL.Channel.{i}.Stats.Showtime.";
-    leaf xturfec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTURFECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTURFECErrors";
-    }
-    leaf xtucfec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCFECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCFECErrors";
-    }
-    leaf xturhec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTURHECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTURHECErrors";
-    }
-    leaf xtuchec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCHECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCHECErrors";
-    }
-    leaf xturcrc-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTURCRCErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTURCRCErrors";
-    }
-    leaf xtuccrc-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCCRCErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCCRCErrors";
-    }
-  }
-
-  grouping channel-stats-total-g {
-    description
-      "Grouping object for Device.DSL.Channel.{i}.Stats.Total.";
-    leaf xturfec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Total.XTURFECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Total.XTURFECErrors";
-    }
-    leaf xtucfec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Total.XTUCFECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Total.XTUCFECErrors";
-    }
-    leaf xturhec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Total.XTURHECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Total.XTURHECErrors";
-    }
-    leaf xtuchec-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Total.XTUCHECErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Total.XTUCHECErrors";
-    }
-    leaf xturcrc-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Total.XTURCRCErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Total.XTURCRCErrors";
-    }
-    leaf xtuccrc-errors {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Channel.{i}.Stats.Total.XTUCCRCErrors";
-      reference
-        "Device.DSL.Channel.{i}.Stats.Total.XTUCCRCErrors";
-    }
-  }
-
-  grouping diagnostics-adsl-line-test-g {
-    description
-      "Grouping object for Device.DSL.Diagnostics.ADSLLineTest.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Canceled {
-          description
-            "Enum Value - Canceled";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error {
-          description
-            "Enum Value - Error";
-        }
-        enum Error_Internal {
-          description
-            "Enum Value - Error_Internal";
-        }
-        enum Error_Other {
-          description
-            "Enum Value - Error_Other";
-        }
-      }
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.Interface";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.Interface";
-    }
-    leaf actps-dds {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.ACTPSDds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.ACTPSDds";
-    }
-    leaf actps-dus {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.ACTPSDus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.ACTPSDus";
-    }
-    leaf actat-pds {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.ACTATPds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.ACTATPds";
-    }
-    leaf actat-pus {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.ACTATPus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.ACTATPus";
-    }
-    leaf hlins-cds {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINSCds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINSCds";
-    }
-    leaf hlins-cus {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINSCus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINSCus";
-    }
-    leaf hlin-gds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINGds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINGds";
-    }
-    leaf hlin-gus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINGus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINGus";
-    }
-    leaf hlog-gds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGGds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGGds";
-    }
-    leaf hlog-gus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGGus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGGus";
-    }
-    leaf hlo-gpsds {
-      type string;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGpsds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGpsds";
-    }
-    leaf hlo-gpsus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGpsus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGpsus";
-    }
-    leaf hlogm-tds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGMTds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGMTds";
-    }
-    leaf hlogm-tus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGMTus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLOGMTus";
-    }
-    leaf lat-npbds {
-      type string;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.LATNpbds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.LATNpbds";
-    }
-    leaf lat-npbus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.LATNpbus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.LATNpbus";
-    }
-    leaf sat-nds {
-      type string;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.SATNds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.SATNds";
-    }
-    leaf sat-nus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.SATNus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.SATNus";
-    }
-    leaf hli-npsds {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINpsds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINpsds";
-    }
-    leaf hli-npsus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINpsus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.HLINpsus";
-    }
-    leaf qln-gds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNGds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNGds";
-    }
-    leaf qln-gus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNGus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNGus";
-    }
-    leaf ql-npsds {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNpsds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNpsds";
-    }
-    leaf ql-npsus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNpsus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNpsus";
-    }
-    leaf qlnm-tds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNMTds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNMTds";
-    }
-    leaf qlnm-tus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNMTus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.QLNMTus";
-    }
-    leaf snr-gds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRGds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRGds";
-    }
-    leaf snr-gus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRGus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRGus";
-    }
-    leaf sn-rpsds {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRpsds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRpsds";
-    }
-    leaf sn-rpsus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRpsus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRpsus";
-    }
-    leaf snrm-tds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRMTds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRMTds";
-    }
-    leaf snrm-tus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRMTus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.SNRMTus";
-    }
-    leaf bit-spsds {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.BITSpsds";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.BITSpsds";
-    }
-    leaf bit-spsus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Diagnostics.ADSLLineTest.BITSpsus";
-      reference
-        "Device.DSL.Diagnostics.ADSLLineTest.BITSpsus";
-    }
-  }
-
-  grouping dsl-line-g {
-    description
-      "Grouping object for Device.DSL.Line.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DSL.Line.{i}.Enable";
-      reference
-        "Device.DSL.Line.{i}.Enable";
-    }
-    leaf enable-data-gathering {
-      type boolean;
-      description
-        "Device.DSL.Line.{i}.EnableDataGathering";
-      reference
-        "Device.DSL.Line.{i}.EnableDataGathering";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Status";
-      reference
-        "Device.DSL.Line.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DSL.Line.{i}.Alias";
-      reference
-        "Device.DSL.Line.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Name";
-      reference
-        "Device.DSL.Line.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.LastChange";
-      reference
-        "Device.DSL.Line.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.DSL.Line.{i}.LowerLayers";
-      reference
-        "Device.DSL.Line.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Upstream";
-      reference
-        "Device.DSL.Line.{i}.Upstream";
-    }
-    leaf firmware-version {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.FirmwareVersion";
-      reference
-        "Device.DSL.Line.{i}.FirmwareVersion";
-    }
-    leaf link-status {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.LinkStatus";
-      reference
-        "Device.DSL.Line.{i}.LinkStatus";
-    }
-    leaf standards-supported {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.StandardsSupported";
-      reference
-        "Device.DSL.Line.{i}.StandardsSupported";
-    }
-    leaf xtse {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.XTSE";
-      reference
-        "Device.DSL.Line.{i}.XTSE";
-    }
-    leaf standard-used {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.StandardUsed";
-      reference
-        "Device.DSL.Line.{i}.StandardUsed";
-    }
-    leaf xts-used {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.XTSUsed";
-      reference
-        "Device.DSL.Line.{i}.XTSUsed";
-    }
-    leaf line-encoding {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.LineEncoding";
-      reference
-        "Device.DSL.Line.{i}.LineEncoding";
-    }
-    leaf allowed-profiles {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.AllowedProfiles";
-      reference
-        "Device.DSL.Line.{i}.AllowedProfiles";
-    }
-    leaf current-profile {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.CurrentProfile";
-      reference
-        "Device.DSL.Line.{i}.CurrentProfile";
-    }
-    leaf power-management-state {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.PowerManagementState";
-      reference
-        "Device.DSL.Line.{i}.PowerManagementState";
-    }
-    leaf success-failure-cause {
-      type uint32 {
-        range "0..6";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.SuccessFailureCause";
-      reference
-        "Device.DSL.Line.{i}.SuccessFailureCause";
-    }
-    leaf upbokler {
-      type uint32 {
-        range "0..1280";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.UPBOKLER";
-      reference
-        "Device.DSL.Line.{i}.UPBOKLER";
-    }
-    leaf upbokle-pb {
-      type uint32 {
-        range "0..1280 | 2047";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.UPBOKLEPb";
-      reference
-        "Device.DSL.Line.{i}.UPBOKLEPb";
-    }
-    leaf upbokler-pb {
-      type uint32 {
-        range "0..1280 | 2047";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.UPBOKLERPb";
-      reference
-        "Device.DSL.Line.{i}.UPBOKLERPb";
-    }
-    leaf rxthrs-hds {
-      type int32 {
-        range "-640..0";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.RXTHRSHds";
-      reference
-        "Device.DSL.Line.{i}.RXTHRSHds";
-    }
-    leaf actramod-eds {
-      type uint32 {
-        range "1..4";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.ACTRAMODEds";
-      reference
-        "Device.DSL.Line.{i}.ACTRAMODEds";
-    }
-    leaf actramod-eus {
-      type uint32 {
-        range "1..4";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.ACTRAMODEus";
-      reference
-        "Device.DSL.Line.{i}.ACTRAMODEus";
-    }
-    leaf actinpro-cds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.ACTINPROCds";
-      reference
-        "Device.DSL.Line.{i}.ACTINPROCds";
-    }
-    leaf actinpro-cus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.ACTINPROCus";
-      reference
-        "Device.DSL.Line.{i}.ACTINPROCus";
-    }
-    leaf snrmro-cds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.SNRMROCds";
-      reference
-        "Device.DSL.Line.{i}.SNRMROCds";
-    }
-    leaf snrmro-cus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.SNRMROCus";
-      reference
-        "Device.DSL.Line.{i}.SNRMROCus";
-    }
-    leaf last-state-transmitted-downstream {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.LastStateTransmittedDownstream";
-      reference
-        "Device.DSL.Line.{i}.LastStateTransmittedDownstream";
-    }
-    leaf last-state-transmitted-upstream {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.LastStateTransmittedUpstream";
-      reference
-        "Device.DSL.Line.{i}.LastStateTransmittedUpstream";
-    }
-    leaf upbokle {
-      type uint32 {
-        range "0..1280";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.UPBOKLE";
-      reference
-        "Device.DSL.Line.{i}.UPBOKLE";
-    }
-    leaf mrefps-dds {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.MREFPSDds";
-      reference
-        "Device.DSL.Line.{i}.MREFPSDds";
-    }
-    leaf mrefps-dus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.MREFPSDus";
-      reference
-        "Device.DSL.Line.{i}.MREFPSDus";
-    }
-    leaf limitmask {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.LIMITMASK";
-      reference
-        "Device.DSL.Line.{i}.LIMITMASK";
-    }
-    leaf u-s0-mask {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.US0MASK";
-      reference
-        "Device.DSL.Line.{i}.US0MASK";
-    }
-    leaf trelli-sds {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TRELLISds";
-      reference
-        "Device.DSL.Line.{i}.TRELLISds";
-    }
-    leaf trelli-sus {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TRELLISus";
-      reference
-        "Device.DSL.Line.{i}.TRELLISus";
-    }
-    leaf actsnrmod-eds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.ACTSNRMODEds";
-      reference
-        "Device.DSL.Line.{i}.ACTSNRMODEds";
-    }
-    leaf actsnrmod-eus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.ACTSNRMODEus";
-      reference
-        "Device.DSL.Line.{i}.ACTSNRMODEus";
-    }
-    leaf virtual-noise-ps-dds {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.VirtualNoisePSDds";
-      reference
-        "Device.DSL.Line.{i}.VirtualNoisePSDds";
-    }
-    leaf virtual-noise-ps-dus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.VirtualNoisePSDus";
-      reference
-        "Device.DSL.Line.{i}.VirtualNoisePSDus";
-    }
-    leaf actualce {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.ACTUALCE";
-      reference
-        "Device.DSL.Line.{i}.ACTUALCE";
-    }
-    leaf line-number {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.LineNumber";
-      reference
-        "Device.DSL.Line.{i}.LineNumber";
-    }
-    leaf upstream-max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.UpstreamMaxBitRate";
-      reference
-        "Device.DSL.Line.{i}.UpstreamMaxBitRate";
-    }
-    leaf downstream-max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.DownstreamMaxBitRate";
-      reference
-        "Device.DSL.Line.{i}.DownstreamMaxBitRate";
-    }
-    leaf upstream-noise-margin {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.UpstreamNoiseMargin";
-      reference
-        "Device.DSL.Line.{i}.UpstreamNoiseMargin";
-    }
-    leaf downstream-noise-margin {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.DownstreamNoiseMargin";
-      reference
-        "Device.DSL.Line.{i}.DownstreamNoiseMargin";
-    }
-    leaf snr-mpbus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.SNRMpbus";
-      reference
-        "Device.DSL.Line.{i}.SNRMpbus";
-    }
-    leaf snr-mpbds {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.SNRMpbds";
-      reference
-        "Device.DSL.Line.{i}.SNRMpbds";
-    }
-    leaf inmiat-ods {
-      type uint32 {
-        range "3..511";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.INMIATOds";
-      reference
-        "Device.DSL.Line.{i}.INMIATOds";
-    }
-    leaf inmiat-sds {
-      type uint32 {
-        range "0..7";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.INMIATSds";
-      reference
-        "Device.DSL.Line.{i}.INMIATSds";
-    }
-    leaf inmc-cds {
-      type uint32 {
-        range "0..64";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.INMCCds";
-      reference
-        "Device.DSL.Line.{i}.INMCCds";
-    }
-    leaf inminpeqmod-eds {
-      type uint32 {
-        range "0..3";
-      }
-      config false;
-      description
-        "Device.DSL.Line.{i}.INMINPEQMODEds";
-      reference
-        "Device.DSL.Line.{i}.INMINPEQMODEds";
-    }
-    leaf upstream-attenuation {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.UpstreamAttenuation";
-      reference
-        "Device.DSL.Line.{i}.UpstreamAttenuation";
-    }
-    leaf downstream-attenuation {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.DownstreamAttenuation";
-      reference
-        "Device.DSL.Line.{i}.DownstreamAttenuation";
-    }
-    leaf upstream-power {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.UpstreamPower";
-      reference
-        "Device.DSL.Line.{i}.UpstreamPower";
-    }
-    leaf downstream-power {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.DownstreamPower";
-      reference
-        "Device.DSL.Line.{i}.DownstreamPower";
-    }
-    leaf xtur-vendor {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.XTURVendor";
-      reference
-        "Device.DSL.Line.{i}.XTURVendor";
-    }
-    leaf xtur-country {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.XTURCountry";
-      reference
-        "Device.DSL.Line.{i}.XTURCountry";
-    }
-    leaf xturansi-std {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.XTURANSIStd";
-      reference
-        "Device.DSL.Line.{i}.XTURANSIStd";
-    }
-    leaf xturansi-rev {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.XTURANSIRev";
-      reference
-        "Device.DSL.Line.{i}.XTURANSIRev";
-    }
-    leaf xtuc-vendor {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.XTUCVendor";
-      reference
-        "Device.DSL.Line.{i}.XTUCVendor";
-    }
-    leaf xtuc-country {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.XTUCCountry";
-      reference
-        "Device.DSL.Line.{i}.XTUCCountry";
-    }
-    leaf xtucansi-std {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.XTUCANSIStd";
-      reference
-        "Device.DSL.Line.{i}.XTUCANSIStd";
-    }
-    leaf xtucansi-rev {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.XTUCANSIRev";
-      reference
-        "Device.DSL.Line.{i}.XTUCANSIRev";
-    }
-  }
-
-  grouping line-data-gathering-g {
-    description
-      "Grouping object for Device.DSL.Line.{i}.DataGathering.";
-    leaf logging-depth-r {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.DataGathering.LoggingDepthR";
-      reference
-        "Device.DSL.Line.{i}.DataGathering.LoggingDepthR";
-    }
-    leaf act-logging-depth-reporting-r {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.DataGathering.ActLoggingDepthReportingR";
-      reference
-        "Device.DSL.Line.{i}.DataGathering.ActLoggingDepthReportingR";
-    }
-    leaf event-trace-buffer-r {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.DataGathering.EventTraceBufferR";
-      reference
-        "Device.DSL.Line.{i}.DataGathering.EventTraceBufferR";
-    }
-  }
-
-  grouping line-stats-g {
-    description
-      "Grouping object for Device.DSL.Line.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.BytesSent";
-      reference
-        "Device.DSL.Line.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.BytesReceived";
-      reference
-        "Device.DSL.Line.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.PacketsSent";
-      reference
-        "Device.DSL.Line.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.PacketsReceived";
-      reference
-        "Device.DSL.Line.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.ErrorsSent";
-      reference
-        "Device.DSL.Line.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.DSL.Line.{i}.Stats.ErrorsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.DSL.Line.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.DSL.Line.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf total-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.TotalStart";
-      reference
-        "Device.DSL.Line.{i}.Stats.TotalStart";
-    }
-    leaf showtime-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.ShowtimeStart";
-      reference
-        "Device.DSL.Line.{i}.Stats.ShowtimeStart";
-    }
-    leaf last-showtime-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.LastShowtimeStart";
-      reference
-        "Device.DSL.Line.{i}.Stats.LastShowtimeStart";
-    }
-    leaf current-day-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.CurrentDayStart";
-      reference
-        "Device.DSL.Line.{i}.Stats.CurrentDayStart";
-    }
-    leaf quarter-hour-start {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.QuarterHourStart";
-      reference
-        "Device.DSL.Line.{i}.Stats.QuarterHourStart";
-    }
-  }
-
-  grouping line-stats-current-day-g {
-    description
-      "Grouping object for Device.DSL.Line.{i}.Stats.CurrentDay.";
-    leaf errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.CurrentDay.ErroredSecs";
-      reference
-        "Device.DSL.Line.{i}.Stats.CurrentDay.ErroredSecs";
-    }
-    leaf severely-errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.CurrentDay.SeverelyErroredSecs";
-      reference
-        "Device.DSL.Line.{i}.Stats.CurrentDay.SeverelyErroredSecs";
-    }
-  }
-
-  grouping line-stats-last-showtime-g {
-    description
-      "Grouping object for Device.DSL.Line.{i}.Stats.LastShowtime.";
-    leaf errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.LastShowtime.ErroredSecs";
-      reference
-        "Device.DSL.Line.{i}.Stats.LastShowtime.ErroredSecs";
-    }
-    leaf severely-errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.LastShowtime.SeverelyErroredSecs";
-      reference
-        "Device.DSL.Line.{i}.Stats.LastShowtime.SeverelyErroredSecs";
-    }
-  }
-
-  grouping line-stats-quarter-hour-g {
-    description
-      "Grouping object for Device.DSL.Line.{i}.Stats.QuarterHour.";
-    leaf errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.QuarterHour.ErroredSecs";
-      reference
-        "Device.DSL.Line.{i}.Stats.QuarterHour.ErroredSecs";
-    }
-    leaf severely-errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.QuarterHour.SeverelyErroredSecs";
-      reference
-        "Device.DSL.Line.{i}.Stats.QuarterHour.SeverelyErroredSecs";
-    }
-  }
-
-  grouping line-stats-showtime-g {
-    description
-      "Grouping object for Device.DSL.Line.{i}.Stats.Showtime.";
-    leaf errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.Showtime.ErroredSecs";
-      reference
-        "Device.DSL.Line.{i}.Stats.Showtime.ErroredSecs";
-    }
-    leaf severely-errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.Showtime.SeverelyErroredSecs";
-      reference
-        "Device.DSL.Line.{i}.Stats.Showtime.SeverelyErroredSecs";
-    }
-  }
-
-  grouping line-stats-total-g {
-    description
-      "Grouping object for Device.DSL.Line.{i}.Stats.Total.";
-    leaf errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.Total.ErroredSecs";
-      reference
-        "Device.DSL.Line.{i}.Stats.Total.ErroredSecs";
-    }
-    leaf severely-errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.Stats.Total.SeverelyErroredSecs";
-      reference
-        "Device.DSL.Line.{i}.Stats.Total.SeverelyErroredSecs";
-    }
-  }
-
-  grouping line-test-params-g {
-    description
-      "Grouping object for Device.DSL.Line.{i}.TestParams.";
-    leaf hlog-gds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.HLOGGds";
-      reference
-        "Device.DSL.Line.{i}.TestParams.HLOGGds";
-    }
-    leaf hlog-gus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.HLOGGus";
-      reference
-        "Device.DSL.Line.{i}.TestParams.HLOGGus";
-    }
-    leaf hlo-gpsds {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.HLOGpsds";
-      reference
-        "Device.DSL.Line.{i}.TestParams.HLOGpsds";
-    }
-    leaf hlo-gpsus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.HLOGpsus";
-      reference
-        "Device.DSL.Line.{i}.TestParams.HLOGpsus";
-    }
-    leaf hlogm-tds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.HLOGMTds";
-      reference
-        "Device.DSL.Line.{i}.TestParams.HLOGMTds";
-    }
-    leaf hlogm-tus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.HLOGMTus";
-      reference
-        "Device.DSL.Line.{i}.TestParams.HLOGMTus";
-    }
-    leaf qln-gds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.QLNGds";
-      reference
-        "Device.DSL.Line.{i}.TestParams.QLNGds";
-    }
-    leaf qln-gus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.QLNGus";
-      reference
-        "Device.DSL.Line.{i}.TestParams.QLNGus";
-    }
-    leaf ql-npsds {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.QLNpsds";
-      reference
-        "Device.DSL.Line.{i}.TestParams.QLNpsds";
-    }
-    leaf ql-npsus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.QLNpsus";
-      reference
-        "Device.DSL.Line.{i}.TestParams.QLNpsus";
-    }
-    leaf qlnm-tds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.QLNMTds";
-      reference
-        "Device.DSL.Line.{i}.TestParams.QLNMTds";
-    }
-    leaf qlnm-tus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.QLNMTus";
-      reference
-        "Device.DSL.Line.{i}.TestParams.QLNMTus";
-    }
-    leaf snr-gds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.SNRGds";
-      reference
-        "Device.DSL.Line.{i}.TestParams.SNRGds";
-    }
-    leaf snr-gus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.SNRGus";
-      reference
-        "Device.DSL.Line.{i}.TestParams.SNRGus";
-    }
-    leaf sn-rpsds {
-      type int32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.SNRpsds";
-      reference
-        "Device.DSL.Line.{i}.TestParams.SNRpsds";
-    }
-    leaf sn-rpsus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.SNRpsus";
-      reference
-        "Device.DSL.Line.{i}.TestParams.SNRpsus";
-    }
-    leaf snrm-tds {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.SNRMTds";
-      reference
-        "Device.DSL.Line.{i}.TestParams.SNRMTds";
-    }
-    leaf snrm-tus {
-      type uint32;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.SNRMTus";
-      reference
-        "Device.DSL.Line.{i}.TestParams.SNRMTus";
-    }
-    leaf lat-nds {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.LATNds";
-      reference
-        "Device.DSL.Line.{i}.TestParams.LATNds";
-    }
-    leaf lat-nus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.LATNus";
-      reference
-        "Device.DSL.Line.{i}.TestParams.LATNus";
-    }
-    leaf sat-nds {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.SATNds";
-      reference
-        "Device.DSL.Line.{i}.TestParams.SATNds";
-    }
-    leaf sat-nus {
-      type string;
-      config false;
-      description
-        "Device.DSL.Line.{i}.TestParams.SATNus";
-      reference
-        "Device.DSL.Line.{i}.TestParams.SATNus";
-    }
-  }
-
-  grouping device-ds-lite-g {
-    description
-      "Grouping object for Device.DSLite.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.DSLite.Enable";
-      reference
-        "Device.DSLite.Enable";
-    }
-    leaf interface-setting-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DSLite.InterfaceSettingNumberOfEntries";
-      reference
-        "Device.DSLite.InterfaceSettingNumberOfEntries";
-    }
-  }
-
-  grouping ds-lite-interface-setting-g {
-    description
-      "Grouping object for Device.DSLite.InterfaceSetting.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DSLite.InterfaceSetting.{i}.Enable";
-      reference
-        "Device.DSLite.InterfaceSetting.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DSLite.InterfaceSetting.{i}.Status";
-      reference
-        "Device.DSLite.InterfaceSetting.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DSLite.InterfaceSetting.{i}.Alias";
-      reference
-        "Device.DSLite.InterfaceSetting.{i}.Alias";
-    }
-    leaf endpoint-assignment-precedence {
-      type enumeration {
-        enum DHCPv6 {
-          description
-            "Enum Value - DHCPv6";
-        }
-        enum Static {
-          description
-            "Enum Value - Static";
-        }
-      }
-      description
-        "Device.DSLite.InterfaceSetting.{i}.EndpointAssignmentPrecedence";
-      reference
-        "Device.DSLite.InterfaceSetting.{i}.EndpointAssignmentPrecedence";
-    }
-    leaf endpoint-address-type-precedence {
-      type enumeration {
-        enum FQDN {
-          description
-            "Enum Value - FQDN";
-        }
-        enum IPv6Address {
-          description
-            "Enum Value - IPv6Address";
-        }
-      }
-      description
-        "Device.DSLite.InterfaceSetting.{i}.EndpointAddressTypePrecedence";
-      reference
-        "Device.DSLite.InterfaceSetting.{i}.EndpointAddressTypePrecedence";
-    }
-    leaf endpoint-address-in-use {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.DSLite.InterfaceSetting.{i}.EndpointAddressInUse";
-      reference
-        "Device.DSLite.InterfaceSetting.{i}.EndpointAddressInUse";
-    }
-    leaf endpoint-name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DSLite.InterfaceSetting.{i}.EndpointName";
-      reference
-        "Device.DSLite.InterfaceSetting.{i}.EndpointName";
-    }
-    leaf endpoint-address {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.DSLite.InterfaceSetting.{i}.EndpointAddress";
-      reference
-        "Device.DSLite.InterfaceSetting.{i}.EndpointAddress";
-    }
-    leaf origin {
-      type string;
-      config false;
-      description
-        "Device.DSLite.InterfaceSetting.{i}.Origin";
-      reference
-        "Device.DSLite.InterfaceSetting.{i}.Origin";
-    }
-    leaf tunnel-interface {
-      type string;
-      config false;
-      description
-        "Device.DSLite.InterfaceSetting.{i}.TunnelInterface";
-      reference
-        "Device.DSLite.InterfaceSetting.{i}.TunnelInterface";
-    }
-    leaf tunneled-interface {
-      type string;
-      config false;
-      description
-        "Device.DSLite.InterfaceSetting.{i}.TunneledInterface";
-      reference
-        "Device.DSLite.InterfaceSetting.{i}.TunneledInterface";
-    }
-  }
-
-  grouping device-device-info-g {
-    description
-      "Grouping object for Device.DeviceInfo.";
-    leaf device-category {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.DeviceCategory";
-      reference
-        "Device.DeviceInfo.DeviceCategory";
-    }
-    leaf manufacturer {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.Manufacturer";
-      reference
-        "Device.DeviceInfo.Manufacturer";
-    }
-    leaf manufacturer-oui {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.ManufacturerOUI";
-      reference
-        "Device.DeviceInfo.ManufacturerOUI";
-    }
-    leaf supported-data-model-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.SupportedDataModelNumberOfEntries";
-      reference
-        "Device.DeviceInfo.SupportedDataModelNumberOfEntries";
-    }
-    leaf model-name {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.ModelName";
-      reference
-        "Device.DeviceInfo.ModelName";
-    }
-    leaf model-number {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.ModelNumber";
-      reference
-        "Device.DeviceInfo.ModelNumber";
-    }
-    leaf description {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.Description";
-      reference
-        "Device.DeviceInfo.Description";
-    }
-    leaf product-class {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.ProductClass";
-      reference
-        "Device.DeviceInfo.ProductClass";
-    }
-    leaf serial-number {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.SerialNumber";
-      reference
-        "Device.DeviceInfo.SerialNumber";
-    }
-    leaf hardware-version {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.HardwareVersion";
-      reference
-        "Device.DeviceInfo.HardwareVersion";
-    }
-    leaf software-version {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.SoftwareVersion";
-      reference
-        "Device.DeviceInfo.SoftwareVersion";
-    }
-    leaf active-firmware-image {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.ActiveFirmwareImage";
-      reference
-        "Device.DeviceInfo.ActiveFirmwareImage";
-    }
-    leaf boot-firmware-image {
-      type string;
-      description
-        "Device.DeviceInfo.BootFirmwareImage";
-      reference
-        "Device.DeviceInfo.BootFirmwareImage";
-    }
-    leaf additional-hardware-version {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.AdditionalHardwareVersion";
-      reference
-        "Device.DeviceInfo.AdditionalHardwareVersion";
-    }
-    leaf additional-software-version {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.AdditionalSoftwareVersion";
-      reference
-        "Device.DeviceInfo.AdditionalSoftwareVersion";
-    }
-    leaf provisioning-code {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DeviceInfo.ProvisioningCode";
-      reference
-        "Device.DeviceInfo.ProvisioningCode";
-    }
-    leaf up-time {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.UpTime";
-      reference
-        "Device.DeviceInfo.UpTime";
-    }
-    leaf first-use-date {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.FirstUseDate";
-      reference
-        "Device.DeviceInfo.FirstUseDate";
-    }
-    leaf firmware-image-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.FirmwareImageNumberOfEntries";
-      reference
-        "Device.DeviceInfo.FirmwareImageNumberOfEntries";
-    }
-    leaf vendor-config-file-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.VendorConfigFileNumberOfEntries";
-      reference
-        "Device.DeviceInfo.VendorConfigFileNumberOfEntries";
-    }
-    leaf processor-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.ProcessorNumberOfEntries";
-      reference
-        "Device.DeviceInfo.ProcessorNumberOfEntries";
-    }
-    leaf vendor-log-file-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.VendorLogFileNumberOfEntries";
-      reference
-        "Device.DeviceInfo.VendorLogFileNumberOfEntries";
-    }
-    leaf location-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.LocationNumberOfEntries";
-      reference
-        "Device.DeviceInfo.LocationNumberOfEntries";
-    }
-    leaf device-image-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.DeviceImageNumberOfEntries";
-      reference
-        "Device.DeviceInfo.DeviceImageNumberOfEntries";
-    }
-  }
-
-  grouping device-info-device-image-file-g {
-    description
-      "Grouping object for Device.DeviceInfo.DeviceImageFile.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DeviceInfo.DeviceImageFile.{i}.Alias";
-      reference
-        "Device.DeviceInfo.DeviceImageFile.{i}.Alias";
-    }
-    leaf location {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.DeviceImageFile.{i}.Location";
-      reference
-        "Device.DeviceInfo.DeviceImageFile.{i}.Location";
-    }
-    leaf image {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.DeviceImageFile.{i}.Image";
-      reference
-        "Device.DeviceInfo.DeviceImageFile.{i}.Image";
-    }
-  }
-
-  grouping device-info-firmware-image-g {
-    description
-      "Grouping object for Device.DeviceInfo.FirmwareImage.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DeviceInfo.FirmwareImage.{i}.Alias";
-      reference
-        "Device.DeviceInfo.FirmwareImage.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.FirmwareImage.{i}.Name";
-      reference
-        "Device.DeviceInfo.FirmwareImage.{i}.Name";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.FirmwareImage.{i}.Version";
-      reference
-        "Device.DeviceInfo.FirmwareImage.{i}.Version";
-    }
-    leaf available {
-      type boolean;
-      description
-        "Device.DeviceInfo.FirmwareImage.{i}.Available";
-      reference
-        "Device.DeviceInfo.FirmwareImage.{i}.Available";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.FirmwareImage.{i}.Status";
-      reference
-        "Device.DeviceInfo.FirmwareImage.{i}.Status";
-    }
-    leaf boot-failure-log {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.FirmwareImage.{i}.BootFailureLog";
-      reference
-        "Device.DeviceInfo.FirmwareImage.{i}.BootFailureLog";
-    }
-  }
-
-  grouping device-info-location-g {
-    description
-      "Grouping object for Device.DeviceInfo.Location.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf source {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.Location.{i}.Source";
-      reference
-        "Device.DeviceInfo.Location.{i}.Source";
-    }
-    leaf acquired-time {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.Location.{i}.AcquiredTime";
-      reference
-        "Device.DeviceInfo.Location.{i}.AcquiredTime";
-    }
-    leaf external-source {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.Location.{i}.ExternalSource";
-      reference
-        "Device.DeviceInfo.Location.{i}.ExternalSource";
-    }
-    leaf external-protocol {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.Location.{i}.ExternalProtocol";
-      reference
-        "Device.DeviceInfo.Location.{i}.ExternalProtocol";
-    }
-    leaf data-object {
-      type string {
-        length "min..1200";
-      }
-      description
-        "Device.DeviceInfo.Location.{i}.DataObject";
-      reference
-        "Device.DeviceInfo.Location.{i}.DataObject";
-    }
-  }
-
-  grouping device-info-memory-status-g {
-    description
-      "Grouping object for Device.DeviceInfo.MemoryStatus.";
-    leaf total {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.MemoryStatus.Total";
-      reference
-        "Device.DeviceInfo.MemoryStatus.Total";
-    }
-    leaf free {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.MemoryStatus.Free";
-      reference
-        "Device.DeviceInfo.MemoryStatus.Free";
-    }
-  }
-
-  grouping device-info-network-properties-g {
-    description
-      "Grouping object for Device.DeviceInfo.NetworkProperties.";
-    leaf max-tcp-window-size {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.NetworkProperties.MaxTCPWindowSize";
-      reference
-        "Device.DeviceInfo.NetworkProperties.MaxTCPWindowSize";
-    }
-    leaf tcp-implementation {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.NetworkProperties.TCPImplementation";
-      reference
-        "Device.DeviceInfo.NetworkProperties.TCPImplementation";
-    }
-  }
-
-  grouping device-info-process-status-g {
-    description
-      "Grouping object for Device.DeviceInfo.ProcessStatus.";
-    leaf cpu-usage {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.ProcessStatus.CPUUsage";
-      reference
-        "Device.DeviceInfo.ProcessStatus.CPUUsage";
-    }
-    leaf process-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.ProcessStatus.ProcessNumberOfEntries";
-      reference
-        "Device.DeviceInfo.ProcessStatus.ProcessNumberOfEntries";
-    }
-  }
-
-  grouping process-status-process-g {
-    description
-      "Grouping object for Device.DeviceInfo.ProcessStatus.Process.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf pid {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.PID";
-      reference
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.PID";
-    }
-    leaf command {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.Command";
-      reference
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.Command";
-    }
-    leaf size {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.Size";
-      reference
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.Size";
-    }
-    leaf priority {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.Priority";
-      reference
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.Priority";
-    }
-    leaf cpu-time {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.CPUTime";
-      reference
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.CPUTime";
-    }
-    leaf state {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.State";
-      reference
-        "Device.DeviceInfo.ProcessStatus.Process.{i}.State";
-    }
-  }
-
-  grouping device-info-processor-g {
-    description
-      "Grouping object for Device.DeviceInfo.Processor.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DeviceInfo.Processor.{i}.Alias";
-      reference
-        "Device.DeviceInfo.Processor.{i}.Alias";
-    }
-    leaf architecture {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.Processor.{i}.Architecture";
-      reference
-        "Device.DeviceInfo.Processor.{i}.Architecture";
-    }
-  }
-
-  grouping device-info-proxier-info-g {
-    description
-      "Grouping object for Device.DeviceInfo.ProxierInfo.";
-    leaf manufacturer-oui {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.ProxierInfo.ManufacturerOUI";
-      reference
-        "Device.DeviceInfo.ProxierInfo.ManufacturerOUI";
-    }
-    leaf product-class {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.ProxierInfo.ProductClass";
-      reference
-        "Device.DeviceInfo.ProxierInfo.ProductClass";
-    }
-    leaf serial-number {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.ProxierInfo.SerialNumber";
-      reference
-        "Device.DeviceInfo.ProxierInfo.SerialNumber";
-    }
-    leaf proxy-protocol {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.ProxierInfo.ProxyProtocol";
-      reference
-        "Device.DeviceInfo.ProxierInfo.ProxyProtocol";
-    }
-  }
-
-  grouping device-info-supported-data-model-g {
-    description
-      "Grouping object for Device.DeviceInfo.SupportedDataModel.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DeviceInfo.SupportedDataModel.{i}.Alias";
-      reference
-        "Device.DeviceInfo.SupportedDataModel.{i}.Alias";
-    }
-    leaf url {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.SupportedDataModel.{i}.URL";
-      reference
-        "Device.DeviceInfo.SupportedDataModel.{i}.URL";
-    }
-    leaf uuid {
-      type string {
-        length "min..36";
-      }
-      config false;
-      description
-        "Device.DeviceInfo.SupportedDataModel.{i}.UUID";
-      reference
-        "Device.DeviceInfo.SupportedDataModel.{i}.UUID";
-    }
-    leaf urn {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.SupportedDataModel.{i}.URN";
-      reference
-        "Device.DeviceInfo.SupportedDataModel.{i}.URN";
-    }
-    leaf features {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.SupportedDataModel.{i}.Features";
-      reference
-        "Device.DeviceInfo.SupportedDataModel.{i}.Features";
-    }
-  }
-
-  grouping device-info-temperature-status-g {
-    description
-      "Grouping object for Device.DeviceInfo.TemperatureStatus.";
-    leaf temperature-sensor-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensorNumberOfEntries";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensorNumberOfEntries";
-    }
-  }
-
-  grouping temperature-status-temperature-sensor-g {
-    description
-      "Grouping object for Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Alias";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Enable";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Status";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Status";
-    }
-    leaf reset-time {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.ResetTime";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.ResetTime";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Name";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Name";
-    }
-    leaf value {
-      type int32;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Value";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Value";
-    }
-    leaf last-update {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LastUpdate";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LastUpdate";
-    }
-    leaf min-value {
-      type int32;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MinValue";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MinValue";
-    }
-    leaf min-time {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MinTime";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MinTime";
-    }
-    leaf max-value {
-      type int32;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MaxValue";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MaxValue";
-    }
-    leaf max-time {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MaxTime";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MaxTime";
-    }
-    leaf low-alarm-value {
-      type int32 {
-        range "-274..max";
-      }
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LowAlarmValue";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LowAlarmValue";
-    }
-    leaf low-alarm-time {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LowAlarmTime";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LowAlarmTime";
-    }
-    leaf high-alarm-value {
-      type int32 {
-        range "-274..max";
-      }
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.HighAlarmValue";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.HighAlarmValue";
-    }
-    leaf polling-interval {
-      type uint32;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.PollingInterval";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.PollingInterval";
-    }
-    leaf high-alarm-time {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.HighAlarmTime";
-      reference
-        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.HighAlarmTime";
-    }
-  }
-
-  grouping device-info-vendor-config-file-g {
-    description
-      "Grouping object for Device.DeviceInfo.VendorConfigFile.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DeviceInfo.VendorConfigFile.{i}.Alias";
-      reference
-        "Device.DeviceInfo.VendorConfigFile.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.VendorConfigFile.{i}.Name";
-      reference
-        "Device.DeviceInfo.VendorConfigFile.{i}.Name";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.VendorConfigFile.{i}.Version";
-      reference
-        "Device.DeviceInfo.VendorConfigFile.{i}.Version";
-    }
-    leaf date {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.VendorConfigFile.{i}.Date";
-      reference
-        "Device.DeviceInfo.VendorConfigFile.{i}.Date";
-    }
-    leaf description {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.VendorConfigFile.{i}.Description";
-      reference
-        "Device.DeviceInfo.VendorConfigFile.{i}.Description";
-    }
-    leaf use-for-backup-restore {
-      type boolean;
-      config false;
-      description
-        "Device.DeviceInfo.VendorConfigFile.{i}.UseForBackupRestore";
-      reference
-        "Device.DeviceInfo.VendorConfigFile.{i}.UseForBackupRestore";
-    }
-  }
-
-  grouping device-info-vendor-log-file-g {
-    description
-      "Grouping object for Device.DeviceInfo.VendorLogFile.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DeviceInfo.VendorLogFile.{i}.Alias";
-      reference
-        "Device.DeviceInfo.VendorLogFile.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.DeviceInfo.VendorLogFile.{i}.Name";
-      reference
-        "Device.DeviceInfo.VendorLogFile.{i}.Name";
-    }
-    leaf maximum-size {
-      type uint32;
-      config false;
-      description
-        "Device.DeviceInfo.VendorLogFile.{i}.MaximumSize";
-      reference
-        "Device.DeviceInfo.VendorLogFile.{i}.MaximumSize";
-    }
-    leaf persistent {
-      type boolean;
-      config false;
-      description
-        "Device.DeviceInfo.VendorLogFile.{i}.Persistent";
-      reference
-        "Device.DeviceInfo.VendorLogFile.{i}.Persistent";
-    }
-  }
-
-  grouping device-dynamic-dns-g {
-    description
-      "Grouping object for Device.DynamicDNS.";
-    leaf client-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DynamicDNS.ClientNumberOfEntries";
-      reference
-        "Device.DynamicDNS.ClientNumberOfEntries";
-    }
-    leaf server-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DynamicDNS.ServerNumberOfEntries";
-      reference
-        "Device.DynamicDNS.ServerNumberOfEntries";
-    }
-    leaf supported-services {
-      type string;
-      config false;
-      description
-        "Device.DynamicDNS.SupportedServices";
-      reference
-        "Device.DynamicDNS.SupportedServices";
-    }
-  }
-
-  grouping dynamic-dns-client-g {
-    description
-      "Grouping object for Device.DynamicDNS.Client.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DynamicDNS.Client.{i}.Enable";
-      reference
-        "Device.DynamicDNS.Client.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DynamicDNS.Client.{i}.Status";
-      reference
-        "Device.DynamicDNS.Client.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DynamicDNS.Client.{i}.Alias";
-      reference
-        "Device.DynamicDNS.Client.{i}.Alias";
-    }
-    leaf last-error {
-      type string;
-      config false;
-      description
-        "Device.DynamicDNS.Client.{i}.LastError";
-      reference
-        "Device.DynamicDNS.Client.{i}.LastError";
-    }
-    leaf server {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DynamicDNS.Client.{i}.Server";
-      reference
-        "Device.DynamicDNS.Client.{i}.Server";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DynamicDNS.Client.{i}.Interface";
-      reference
-        "Device.DynamicDNS.Client.{i}.Interface";
-    }
-    leaf username {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DynamicDNS.Client.{i}.Username";
-      reference
-        "Device.DynamicDNS.Client.{i}.Username";
-    }
-    leaf hostname-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.DynamicDNS.Client.{i}.HostnameNumberOfEntries";
-      reference
-        "Device.DynamicDNS.Client.{i}.HostnameNumberOfEntries";
-    }
-  }
-
-  grouping client-hostname-g {
-    description
-      "Grouping object for Device.DynamicDNS.Client.{i}.Hostname.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Enable";
-      reference
-        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Status";
-      reference
-        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Status";
-    }
-    leaf name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Name";
-      reference
-        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Name";
-    }
-    leaf last-update {
-      type string;
-      config false;
-      description
-        "Device.DynamicDNS.Client.{i}.Hostname.{i}.LastUpdate";
-      reference
-        "Device.DynamicDNS.Client.{i}.Hostname.{i}.LastUpdate";
-    }
-  }
-
-  grouping dynamic-dns-server-g {
-    description
-      "Grouping object for Device.DynamicDNS.Server.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DynamicDNS.Server.{i}.Enable";
-      reference
-        "Device.DynamicDNS.Server.{i}.Enable";
-    }
-    leaf name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DynamicDNS.Server.{i}.Name";
-      reference
-        "Device.DynamicDNS.Server.{i}.Name";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.DynamicDNS.Server.{i}.Alias";
-      reference
-        "Device.DynamicDNS.Server.{i}.Alias";
-    }
-    leaf service-name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DynamicDNS.Server.{i}.ServiceName";
-      reference
-        "Device.DynamicDNS.Server.{i}.ServiceName";
-    }
-    leaf server-address {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.DynamicDNS.Server.{i}.ServerAddress";
-      reference
-        "Device.DynamicDNS.Server.{i}.ServerAddress";
-    }
-    leaf server-port {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.DynamicDNS.Server.{i}.ServerPort";
-      reference
-        "Device.DynamicDNS.Server.{i}.ServerPort";
-    }
-    leaf supported-protocols {
-      type string;
-      config false;
-      description
-        "Device.DynamicDNS.Server.{i}.SupportedProtocols";
-      reference
-        "Device.DynamicDNS.Server.{i}.SupportedProtocols";
-    }
-    leaf protocol {
-      type string;
-      description
-        "Device.DynamicDNS.Server.{i}.Protocol";
-      reference
-        "Device.DynamicDNS.Server.{i}.Protocol";
-    }
-    leaf check-interval {
-      type uint32;
-      description
-        "Device.DynamicDNS.Server.{i}.CheckInterval";
-      reference
-        "Device.DynamicDNS.Server.{i}.CheckInterval";
-    }
-    leaf retry-interval {
-      type uint32;
-      description
-        "Device.DynamicDNS.Server.{i}.RetryInterval";
-      reference
-        "Device.DynamicDNS.Server.{i}.RetryInterval";
-    }
-    leaf max-retries {
-      type uint32;
-      description
-        "Device.DynamicDNS.Server.{i}.MaxRetries";
-      reference
-        "Device.DynamicDNS.Server.{i}.MaxRetries";
-    }
-  }
-
-  grouping device-etsi-m2-m-g {
-    description
-      "Grouping object for Device.ETSIM2M.";
-    leaf scl-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCLNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCLNumberOfEntries";
-    }
-  }
-
-  grouping etsi-m2-m-scl-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ETSIM2M.SCL.{i}.Enable";
-      reference
-        "Device.ETSIM2M.SCL.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ETSIM2M.SCL.{i}.Alias";
-      reference
-        "Device.ETSIM2M.SCL.{i}.Alias";
-    }
-    leaf announced-to-scl-list {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.AnnouncedToSCLList";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AnnouncedToSCLList";
-    }
-    leaf saf-policy-set-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySetNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySetNumberOfEntries";
-    }
-    leaf area-nwk-instance-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstanceNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstanceNumberOfEntries";
-    }
-    leaf area-nwk-device-info-instance-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstanceNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstanceNumberOfEntries";
-    }
-  }
-
-  grouping scl-area-nwk-device-info-instance-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf area-nwk-instance {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.AreaNwkInstance";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.AreaNwkInstance";
-    }
-    leaf host {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Host";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Host";
-    }
-    leaf list-of-device-neighbors {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.ListOfDeviceNeighbors";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.ListOfDeviceNeighbors";
-    }
-    leaf list-of-device-applications {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.ListOfDeviceApplications";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.ListOfDeviceApplications";
-    }
-    leaf sleep-interval {
-      type uint32;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.SleepInterval";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.SleepInterval";
-    }
-    leaf sleep-duration {
-      type uint32;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.SleepDuration";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.SleepDuration";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Status";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Status";
-    }
-    leaf active {
-      type boolean;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Active";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Active";
-    }
-    leaf property-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.PropertyNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.PropertyNumberOfEntries";
-    }
-  }
-
-  grouping area-nwk-device-info-instance-property-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.Name";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.Name";
-    }
-    leaf value {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.Value";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.Value";
-    }
-  }
-
-  grouping scl-area-nwk-instance-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf id {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.ID";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.ID";
-    }
-    leaf area-nwk-type {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.AreaNwkType";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.AreaNwkType";
-    }
-    leaf list-of-devices {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.ListOfDevices";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.ListOfDevices";
-    }
-    leaf property-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.PropertyNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.PropertyNumberOfEntries";
-    }
-  }
-
-  grouping area-nwk-instance-property-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.Name";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.Name";
-    }
-    leaf value {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.Value";
-      reference
-        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.Value";
-    }
-  }
-
-  grouping scl-discovery-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.Discovery.";
-    leaf max-number-of-discov-records {
-      type uint32;
-      description
-        "Device.ETSIM2M.SCL.{i}.Discovery.MaxNumberOfDiscovRecords";
-      reference
-        "Device.ETSIM2M.SCL.{i}.Discovery.MaxNumberOfDiscovRecords";
-    }
-    leaf max-size-of-discov-answer {
-      type uint32;
-      description
-        "Device.ETSIM2M.SCL.{i}.Discovery.MaxSizeOfDiscovAnswer";
-      reference
-        "Device.ETSIM2M.SCL.{i}.Discovery.MaxSizeOfDiscovAnswer";
-    }
-  }
-
-  grouping scl-reregistration-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.Reregistration.";
-    leaf reg-target-nscl-list {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.Reregistration.RegTargetNSCLList";
-      reference
-        "Device.ETSIM2M.SCL.{i}.Reregistration.RegTargetNSCLList";
-    }
-    leaf reg-search-strings {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.Reregistration.RegSearchStrings";
-      reference
-        "Device.ETSIM2M.SCL.{i}.Reregistration.RegSearchStrings";
-    }
-    leaf reg-access-right-id {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.Reregistration.RegAccessRightID";
-      reference
-        "Device.ETSIM2M.SCL.{i}.Reregistration.RegAccessRightID";
-    }
-    leaf reg-expiration-duration {
-      type int32;
-      description
-        "Device.ETSIM2M.SCL.{i}.Reregistration.RegExpirationDuration";
-      reference
-        "Device.ETSIM2M.SCL.{i}.Reregistration.RegExpirationDuration";
-    }
-  }
-
-  grouping reregistration-action-status-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.";
-    leaf progress {
-      type uint32 {
-        range "0..100";
-      }
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.Progress";
-      reference
-        "Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.Progress";
-    }
-    leaf final-status {
-      type string;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.FinalStatus";
-      reference
-        "Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.FinalStatus";
-    }
-  }
-
-  grouping scl-saf-policy-set-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.Enable";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.Alias";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.Alias";
-    }
-    leaf policy-scope {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.PolicyScope";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.PolicyScope";
-    }
-    leaf anp-policy-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicyNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicyNumberOfEntries";
-    }
-  }
-
-  grouping saf-policy-set-anp-policy-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.Enable";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.Alias";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.Alias";
-    }
-    leaf an-name {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.ANName";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.ANName";
-    }
-    leaf block-period-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriodNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriodNumberOfEntries";
-    }
-    leaf request-category-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategoryNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategoryNumberOfEntries";
-    }
-  }
-
-  grouping anp-policy-block-period-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.Enable";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.Alias";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.Alias";
-    }
-    leaf failed-attempts {
-      type uint32;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.FailedAttempts";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.FailedAttempts";
-    }
-    leaf block-duration {
-      type int32;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.BlockDuration";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.BlockDuration";
-    }
-  }
-
-  grouping anp-policy-request-category-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Enable";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Alias";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Alias";
-    }
-    leaf rcat {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.RCAT";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.RCAT";
-    }
-    leaf schedule-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.ScheduleNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.ScheduleNumberOfEntries";
-    }
-  }
-
-  grouping request-category-schedule-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Enable";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Alias";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Alias";
-    }
-    leaf schedules {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Schedules";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Schedules";
-    }
-    leaf abs-time-span-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpanNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpanNumberOfEntries";
-    }
-  }
-
-  grouping schedule-abs-time-span-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.Enable";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.Alias";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.Alias";
-    }
-    leaf start-time {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.StartTime";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.StartTime";
-    }
-    leaf end-time {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.EndTime";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.EndTime";
-    }
-  }
-
-  grouping saf-policy-set-m2-msp-policy-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.";
-    leaf default-rcat-value {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.DefaultRCATValue";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.DefaultRCATValue";
-    }
-    leaf request-category-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategoryNumberOfEntries";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategoryNumberOfEntries";
-    }
-  }
-
-  grouping m2-msp-policy-request-category-g {
-    description
-      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Enable";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Alias";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Alias";
-    }
-    leaf rcat {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.RCAT";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.RCAT";
-    }
-    leaf tolerable-delay {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.TolerableDelay";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.TolerableDelay";
-    }
-    leaf thresh {
-      type uint32;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Thresh";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Thresh";
-    }
-    leaf mem {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Mem";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Mem";
-    }
-    leaf ranked-an-list {
-      type string;
-      description
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.RankedANList";
-      reference
-        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.RankedANList";
-    }
-  }
-
-  grouping device-ethernet-g {
-    description
-      "Grouping object for Device.Ethernet.";
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.InterfaceNumberOfEntries";
-      reference
-        "Device.Ethernet.InterfaceNumberOfEntries";
-    }
-    leaf link-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.LinkNumberOfEntries";
-      reference
-        "Device.Ethernet.LinkNumberOfEntries";
-    }
-    leaf vlan-termination-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.VLANTerminationNumberOfEntries";
-      reference
-        "Device.Ethernet.VLANTerminationNumberOfEntries";
-    }
-    leaf rmon-stats-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.RMONStatsNumberOfEntries";
-      reference
-        "Device.Ethernet.RMONStatsNumberOfEntries";
-    }
-    leaf lag-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.LAGNumberOfEntries";
-      reference
-        "Device.Ethernet.LAGNumberOfEntries";
-    }
-  }
-
-  grouping ethernet-interface-g {
-    description
-      "Grouping object for Device.Ethernet.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Ethernet.Interface.{i}.Enable";
-      reference
-        "Device.Ethernet.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Status";
-      reference
-        "Device.Ethernet.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Ethernet.Interface.{i}.Alias";
-      reference
-        "Device.Ethernet.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Name";
-      reference
-        "Device.Ethernet.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.LastChange";
-      reference
-        "Device.Ethernet.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.Ethernet.Interface.{i}.LowerLayers";
-      reference
-        "Device.Ethernet.Interface.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Upstream";
-      reference
-        "Device.Ethernet.Interface.{i}.Upstream";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.MACAddress";
-      reference
-        "Device.Ethernet.Interface.{i}.MACAddress";
-    }
-    leaf max-bit-rate {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.Ethernet.Interface.{i}.MaxBitRate";
-      reference
-        "Device.Ethernet.Interface.{i}.MaxBitRate";
-    }
-    leaf current-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.CurrentBitRate";
-      reference
-        "Device.Ethernet.Interface.{i}.CurrentBitRate";
-    }
-    leaf duplex-mode {
-      type enumeration {
-        enum Half {
-          description
-            "Enum Value - Half";
-        }
-        enum Full {
-          description
-            "Enum Value - Full";
-        }
-        enum Auto {
-          description
-            "Enum Value - Auto";
-        }
-      }
-      description
-        "Device.Ethernet.Interface.{i}.DuplexMode";
-      reference
-        "Device.Ethernet.Interface.{i}.DuplexMode";
-    }
-    leaf eee-capability {
-      type boolean;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.EEECapability";
-      reference
-        "Device.Ethernet.Interface.{i}.EEECapability";
-    }
-    leaf eee-enable {
-      type boolean;
-      description
-        "Device.Ethernet.Interface.{i}.EEEEnable";
-      reference
-        "Device.Ethernet.Interface.{i}.EEEEnable";
-    }
-  }
-
-  grouping ethernet-interface-stats-g {
-    description
-      "Grouping object for Device.Ethernet.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.Ethernet.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping ethernet-lag-g {
-    description
-      "Grouping object for Device.Ethernet.LAG.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Ethernet.LAG.{i}.Enable";
-      reference
-        "Device.Ethernet.LAG.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Status";
-      reference
-        "Device.Ethernet.LAG.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Ethernet.LAG.{i}.Alias";
-      reference
-        "Device.Ethernet.LAG.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Name";
-      reference
-        "Device.Ethernet.LAG.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.LastChange";
-      reference
-        "Device.Ethernet.LAG.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.Ethernet.LAG.{i}.LowerLayers";
-      reference
-        "Device.Ethernet.LAG.{i}.LowerLayers";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.Ethernet.LAG.{i}.MACAddress";
-      reference
-        "Device.Ethernet.LAG.{i}.MACAddress";
-    }
-  }
-
-  grouping lag-stats-g {
-    description
-      "Grouping object for Device.Ethernet.LAG.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.BytesSent";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.BytesReceived";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.PacketsSent";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.PacketsReceived";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.ErrorsSent";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.LAG.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.Ethernet.LAG.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping ethernet-link-g {
-    description
-      "Grouping object for Device.Ethernet.Link.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Ethernet.Link.{i}.Enable";
-      reference
-        "Device.Ethernet.Link.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Status";
-      reference
-        "Device.Ethernet.Link.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Ethernet.Link.{i}.Alias";
-      reference
-        "Device.Ethernet.Link.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Name";
-      reference
-        "Device.Ethernet.Link.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.LastChange";
-      reference
-        "Device.Ethernet.Link.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.Ethernet.Link.{i}.LowerLayers";
-      reference
-        "Device.Ethernet.Link.{i}.LowerLayers";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.MACAddress";
-      reference
-        "Device.Ethernet.Link.{i}.MACAddress";
-    }
-    leaf priority-tagging {
-      type boolean;
-      description
-        "Device.Ethernet.Link.{i}.PriorityTagging";
-      reference
-        "Device.Ethernet.Link.{i}.PriorityTagging";
-    }
-  }
-
-  grouping ethernet-link-stats-g {
-    description
-      "Grouping object for Device.Ethernet.Link.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.BytesSent";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.BytesReceived";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.PacketsSent";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.PacketsReceived";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.ErrorsSent";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.Link.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.Ethernet.Link.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping ethernet-rmon-stats-g {
-    description
-      "Grouping object for Device.Ethernet.RMONStats.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Ethernet.RMONStats.{i}.Enable";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.Status";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Ethernet.RMONStats.{i}.Alias";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.Name";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Name";
-    }
-    leaf interface {
-      type string;
-      description
-        "Device.Ethernet.RMONStats.{i}.Interface";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Interface";
-    }
-    leaf vlanid {
-      type uint32 {
-        range "0..4094";
-      }
-      description
-        "Device.Ethernet.RMONStats.{i}.VLANID";
-      reference
-        "Device.Ethernet.RMONStats.{i}.VLANID";
-    }
-    leaf queue {
-      type string;
-      description
-        "Device.Ethernet.RMONStats.{i}.Queue";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Queue";
-    }
-    leaf all-queues {
-      type boolean;
-      description
-        "Device.Ethernet.RMONStats.{i}.AllQueues";
-      reference
-        "Device.Ethernet.RMONStats.{i}.AllQueues";
-    }
-    leaf drop-events {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.DropEvents";
-      reference
-        "Device.Ethernet.RMONStats.{i}.DropEvents";
-    }
-    leaf bytes {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.Bytes";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Bytes";
-    }
-    leaf packets {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.Packets";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Packets";
-    }
-    leaf broadcast-packets {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.BroadcastPackets";
-      reference
-        "Device.Ethernet.RMONStats.{i}.BroadcastPackets";
-    }
-    leaf multicast-packets {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.MulticastPackets";
-      reference
-        "Device.Ethernet.RMONStats.{i}.MulticastPackets";
-    }
-    leaf crc-errored-packets {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.CRCErroredPackets";
-      reference
-        "Device.Ethernet.RMONStats.{i}.CRCErroredPackets";
-    }
-    leaf undersize-packets {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.UndersizePackets";
-      reference
-        "Device.Ethernet.RMONStats.{i}.UndersizePackets";
-    }
-    leaf oversize-packets {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.OversizePackets";
-      reference
-        "Device.Ethernet.RMONStats.{i}.OversizePackets";
-    }
-    leaf packets64-bytes {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.Packets64Bytes";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Packets64Bytes";
-    }
-    leaf packets65to127-bytes {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.Packets65to127Bytes";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Packets65to127Bytes";
-    }
-    leaf packets128to255-bytes {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.Packets128to255Bytes";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Packets128to255Bytes";
-    }
-    leaf packets256to511-bytes {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.Packets256to511Bytes";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Packets256to511Bytes";
-    }
-    leaf packets512to1023-bytes {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.Packets512to1023Bytes";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Packets512to1023Bytes";
-    }
-    leaf packets1024to1518-bytes {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.RMONStats.{i}.Packets1024to1518Bytes";
-      reference
-        "Device.Ethernet.RMONStats.{i}.Packets1024to1518Bytes";
-    }
-  }
-
-  grouping ethernet-vlan-termination-g {
-    description
-      "Grouping object for Device.Ethernet.VLANTermination.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Enable";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Status";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Ethernet.VLANTermination.{i}.Alias";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Name";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.LastChange";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.Ethernet.VLANTermination.{i}.LowerLayers";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.LowerLayers";
-    }
-    leaf vlanid {
-      type uint32 {
-        range "1..4094";
-      }
-      description
-        "Device.Ethernet.VLANTermination.{i}.VLANID";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.VLANID";
-    }
-    leaf tpid {
-      type uint32;
-      description
-        "Device.Ethernet.VLANTermination.{i}.TPID";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.TPID";
-    }
-  }
-
-  grouping vlan-termination-stats-g {
-    description
-      "Grouping object for Device.Ethernet.VLANTermination.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.BytesSent";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.BytesReceived";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.PacketsSent";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.PacketsReceived";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.ErrorsSent";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ethernet.VLANTermination.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.Ethernet.VLANTermination.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping fap-application-platform-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.";
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Version";
-      reference
-        "Device.FAP.ApplicationPlatform.Version";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Enable";
-      reference
-        "Device.FAP.ApplicationPlatform.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Status";
-      reference
-        "Device.FAP.ApplicationPlatform.Status";
-    }
-    leaf max-number-of-applications {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.MaxNumberOfApplications";
-      reference
-        "Device.FAP.ApplicationPlatform.MaxNumberOfApplications";
-    }
-    leaf current-numberof-applications {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.CurrentNumberofApplications";
-      reference
-        "Device.FAP.ApplicationPlatform.CurrentNumberofApplications";
-    }
-  }
-
-  grouping application-platform-capabilities-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.Capabilities.";
-    leaf presence-application-support {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.PresenceApplicationSupport";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.PresenceApplicationSupport";
-    }
-    leaf femto-awareness-api-support {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.FemtoAwarenessAPISupport";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.FemtoAwarenessAPISupport";
-    }
-    leaf smsapi-support {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.SMSAPISupport";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.SMSAPISupport";
-    }
-    leaf subscribe-to-notifications-of-sms-sent-to-application-support {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.SubscribeToNotificationsOfSMSSentToApplicationSupport";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.SubscribeToNotificationsOfSMSSentToApplicationSupport";
-    }
-    leaf query-sms-delivery-status-support {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.QuerySMSDeliveryStatusSupport";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.QuerySMSDeliveryStatusSupport";
-    }
-    leaf mmsapi-support {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.MMSAPISupport";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.MMSAPISupport";
-    }
-    leaf query-mms-delivery-status-support {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.QueryMMSDeliveryStatusSupport";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.QueryMMSDeliveryStatusSupport";
-    }
-    leaf subscribe-to-notifications-of-mms-sent-to-application-support {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.SubscribeToNotificationsOfMMSSentToApplicationSupport";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.SubscribeToNotificationsOfMMSSentToApplicationSupport";
-    }
-    leaf terminal-location-api-support {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.TerminalLocationAPISupport";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.TerminalLocationAPISupport";
-    }
-    leaf authentication-methods-supported {
-      type string;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.AuthenticationMethodsSupported";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.AuthenticationMethodsSupported";
-    }
-    leaf access-levels-supported {
-      type string;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.AccessLevelsSupported";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.AccessLevelsSupported";
-    }
-    leaf send-sms-target-address-type {
-      type string;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.SendSMSTargetAddressType";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.SendSMSTargetAddressType";
-    }
-    leaf send-mms-target-address-type {
-      type string;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Capabilities.SendMMSTargetAddressType";
-      reference
-        "Device.FAP.ApplicationPlatform.Capabilities.SendMMSTargetAddressType";
-    }
-  }
-
-  grouping application-platform-control-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.Control.";
-    leaf authentication-method {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.AuthenticationMethod";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.AuthenticationMethod";
-    }
-    leaf tunnel-inst {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.TunnelInst";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.TunnelInst";
-    }
-  }
-
-  grouping control-femto-awareness-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.Control.FemtoAwareness.";
-    leaf api-enable {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.APIEnable";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.APIEnable";
-    }
-    leaf queue-enable {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.QueueEnable";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.QueueEnable";
-    }
-    leaf queueing {
-      type enumeration {
-        enum FiFo {
-          description
-            "Enum Value - FiFo";
-        }
-        enum Priority {
-          description
-            "Enum Value - Priority";
-        }
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.Queueing";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.Queueing";
-    }
-    leaf max-api-users-number {
-      type uint32 {
-        range "0..255";
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.MaxAPIUsersNumber";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.MaxAPIUsersNumber";
-    }
-    leaf femtozone-id {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.FemtozoneID";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.FemtozoneID";
-    }
-    leaf notifications-user-identifier-msisdn {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.NotificationsUserIdentifierMSISDN";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.NotificationsUserIdentifierMSISDN";
-    }
-    leaf subscribe-to-notifications-response-callback-data {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.SubscribeToNotificationsResponseCallbackData";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.SubscribeToNotificationsResponseCallbackData";
-    }
-    leaf query-femtocell-response-timezone {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.QueryFemtocellResponseTimezone";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.QueryFemtocellResponseTimezone";
-    }
-  }
-
-  grouping control-mms-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.Control.MMS.";
-    leaf api-enable {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.MMS.APIEnable";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.MMS.APIEnable";
-    }
-    leaf queue-enable {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.MMS.QueueEnable";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.MMS.QueueEnable";
-    }
-    leaf queueing {
-      type enumeration {
-        enum FiFo {
-          description
-            "Enum Value - FiFo";
-        }
-        enum Priority {
-          description
-            "Enum Value - Priority";
-        }
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.MMS.Queueing";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.MMS.Queueing";
-    }
-    leaf max-api-users-number {
-      type uint32 {
-        range "0..255";
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.MMS.MaxAPIUsersNumber";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.MMS.MaxAPIUsersNumber";
-    }
-    leaf min-send-mms-time-interval {
-      type uint32 {
-        range "0..3599";
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.MMS.MinSendMMSTimeInterval";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.MMS.MinSendMMSTimeInterval";
-    }
-    leaf enable-query-mms-delivery-status {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.MMS.EnableQueryMMSDeliveryStatus";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.MMS.EnableQueryMMSDeliveryStatus";
-    }
-    leaf enable-subscribe-to-notifications-of-message-sent-to-application {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.MMS.EnableSubscribeToNotificationsOfMessageSentToApplication";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.MMS.EnableSubscribeToNotificationsOfMessageSentToApplication";
-    }
-  }
-
-  grouping control-sms-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.Control.SMS.";
-    leaf api-enable {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.SMS.APIEnable";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.SMS.APIEnable";
-    }
-    leaf queue-enable {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.SMS.QueueEnable";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.SMS.QueueEnable";
-    }
-    leaf queueing {
-      type enumeration {
-        enum FiFo {
-          description
-            "Enum Value - FiFo";
-        }
-        enum Priority {
-          description
-            "Enum Value - Priority";
-        }
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.SMS.Queueing";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.SMS.Queueing";
-    }
-    leaf max-api-users-number {
-      type uint32 {
-        range "0..255";
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.SMS.MaxAPIUsersNumber";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.SMS.MaxAPIUsersNumber";
-    }
-    leaf min-send-sms-time-interval {
-      type uint32 {
-        range "0..3599";
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.SMS.MinSendSMSTimeInterval";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.SMS.MinSendSMSTimeInterval";
-    }
-    leaf enable-query-sms-delivery-status {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.SMS.EnableQuerySMSDeliveryStatus";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.SMS.EnableQuerySMSDeliveryStatus";
-    }
-    leaf enable-subscribe-to-notifications-of-message-sent-to-application {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.SMS.EnableSubscribeToNotificationsOfMessageSentToApplication";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.SMS.EnableSubscribeToNotificationsOfMessageSentToApplication";
-    }
-  }
-
-  grouping control-terminal-location-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.Control.TerminalLocation.";
-    leaf api-enable {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.APIEnable";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.APIEnable";
-    }
-    leaf queue-enable {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueueEnable";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueueEnable";
-    }
-    leaf queueing {
-      type enumeration {
-        enum FiFo {
-          description
-            "Enum Value - FiFo";
-        }
-        enum Priority {
-          description
-            "Enum Value - Priority";
-        }
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.Queueing";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.Queueing";
-    }
-    leaf max-api-users-number {
-      type uint32 {
-        range "0..255";
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.MaxAPIUsersNumber";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.MaxAPIUsersNumber";
-    }
-    leaf query-mobile-location-response-address {
-      type enumeration {
-        enum TelUri {
-          description
-            "Enum Value - TelUri";
-        }
-        enum AnonymousReference {
-          description
-            "Enum Value - AnonymousReference";
-        }
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseAddress";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseAddress";
-    }
-    leaf query-mobile-location-response-longitude-latitude {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseLongitudeLatitude";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseLongitudeLatitude";
-    }
-    leaf query-mobile-location-response-altitude {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseAltitude";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseAltitude";
-    }
-    leaf query-mobile-location-response-timestamp {
-      type uint32 {
-        range "0..86399";
-      }
-      description
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseTimestamp";
-      reference
-        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseTimestamp";
-    }
-  }
-
-  grouping application-platform-monitoring-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.Monitoring.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.Enable";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.Enable";
-    }
-    leaf monitoring-interval {
-      type uint32;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.MonitoringInterval";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.MonitoringInterval";
-    }
-    leaf authentication-requests-received {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.AuthenticationRequestsReceived";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.AuthenticationRequestsReceived";
-    }
-    leaf authentication-requests-rejected {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.AuthenticationRequestsRejected";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.AuthenticationRequestsRejected";
-    }
-  }
-
-  grouping monitoring-femto-awareness-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.";
-    leaf api-available {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.APIAvailable";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.APIAvailable";
-    }
-    leaf api-users {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.APIUsers";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.APIUsers";
-    }
-    leaf queue-state {
-      type string;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueState";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueState";
-    }
-    leaf queue-num {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueNum";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueNum";
-    }
-    leaf queue-received {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueReceived";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueReceived";
-    }
-    leaf queue-discarded {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueDiscarded";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueDiscarded";
-    }
-  }
-
-  grouping monitoring-mms-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.Monitoring.MMS.";
-    leaf api-available {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.APIAvailable";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.APIAvailable";
-    }
-    leaf api-users {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.APIUsers";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.APIUsers";
-    }
-    leaf queue-state {
-      type string;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueState";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueState";
-    }
-    leaf queue-num {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueNum";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueNum";
-    }
-    leaf queue-received {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueReceived";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueReceived";
-    }
-    leaf queue-discarded {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueDiscarded";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueDiscarded";
-    }
-  }
-
-  grouping monitoring-sms-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.Monitoring.SMS.";
-    leaf api-available {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.APIAvailable";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.APIAvailable";
-    }
-    leaf api-users {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.APIUsers";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.APIUsers";
-    }
-    leaf queue-state {
-      type string;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueState";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueState";
-    }
-    leaf queue-num {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueNum";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueNum";
-    }
-    leaf queue-received {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueReceived";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueReceived";
-    }
-    leaf queue-discarded {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueDiscarded";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueDiscarded";
-    }
-  }
-
-  grouping monitoring-terminal-location-g {
-    description
-      "Grouping object for Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.";
-    leaf api-available {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.APIAvailable";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.APIAvailable";
-    }
-    leaf api-users {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.APIUsers";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.APIUsers";
-    }
-    leaf queue-state {
-      type string;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueState";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueState";
-    }
-    leaf queue-num {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueNum";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueNum";
-    }
-    leaf queue-received {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueReceived";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueReceived";
-    }
-    leaf queue-discarded {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueDiscarded";
-      reference
-        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueDiscarded";
-    }
-  }
-
-  grouping fap-gps-g {
-    description
-      "Grouping object for Device.FAP.GPS.";
-    leaf scan-on-boot {
-      type boolean;
-      description
-        "Device.FAP.GPS.ScanOnBoot";
-      reference
-        "Device.FAP.GPS.ScanOnBoot";
-    }
-    leaf scan-periodically {
-      type boolean;
-      description
-        "Device.FAP.GPS.ScanPeriodically";
-      reference
-        "Device.FAP.GPS.ScanPeriodically";
-    }
-    leaf periodic-interval {
-      type uint32;
-      description
-        "Device.FAP.GPS.PeriodicInterval";
-      reference
-        "Device.FAP.GPS.PeriodicInterval";
-    }
-    leaf periodic-time {
-      type string;
-      description
-        "Device.FAP.GPS.PeriodicTime";
-      reference
-        "Device.FAP.GPS.PeriodicTime";
-    }
-    leaf continuous-gps {
-      type boolean;
-      description
-        "Device.FAP.GPS.ContinuousGPS";
-      reference
-        "Device.FAP.GPS.ContinuousGPS";
-    }
-    leaf scan-timeout {
-      type uint32;
-      description
-        "Device.FAP.GPS.ScanTimeout";
-      reference
-        "Device.FAP.GPS.ScanTimeout";
-    }
-    leaf scan-status {
-      type string;
-      config false;
-      description
-        "Device.FAP.GPS.ScanStatus";
-      reference
-        "Device.FAP.GPS.ScanStatus";
-    }
-    leaf error-details {
-      type string;
-      config false;
-      description
-        "Device.FAP.GPS.ErrorDetails";
-      reference
-        "Device.FAP.GPS.ErrorDetails";
-    }
-    leaf last-scan-time {
-      type string;
-      config false;
-      description
-        "Device.FAP.GPS.LastScanTime";
-      reference
-        "Device.FAP.GPS.LastScanTime";
-    }
-    leaf last-successful-scan-time {
-      type string;
-      config false;
-      description
-        "Device.FAP.GPS.LastSuccessfulScanTime";
-      reference
-        "Device.FAP.GPS.LastSuccessfulScanTime";
-    }
-    leaf locked-latitude {
-      type int32 {
-        range "-90000000..90000000";
-      }
-      config false;
-      description
-        "Device.FAP.GPS.LockedLatitude";
-      reference
-        "Device.FAP.GPS.LockedLatitude";
-    }
-    leaf locked-longitude {
-      type int32 {
-        range "-180000000..180000000";
-      }
-      config false;
-      description
-        "Device.FAP.GPS.LockedLongitude";
-      reference
-        "Device.FAP.GPS.LockedLongitude";
-    }
-    leaf number-of-satellites {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.GPS.NumberOfSatellites";
-      reference
-        "Device.FAP.GPS.NumberOfSatellites";
-    }
-  }
-
-  grouping gps-agps-server-config-g {
-    description
-      "Grouping object for Device.FAP.GPS.AGPSServerConfig.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.FAP.GPS.AGPSServerConfig.Enable";
-      reference
-        "Device.FAP.GPS.AGPSServerConfig.Enable";
-    }
-    leaf server-url {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.FAP.GPS.AGPSServerConfig.ServerURL";
-      reference
-        "Device.FAP.GPS.AGPSServerConfig.ServerURL";
-    }
-    leaf server-port {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.FAP.GPS.AGPSServerConfig.ServerPort";
-      reference
-        "Device.FAP.GPS.AGPSServerConfig.ServerPort";
-    }
-    leaf username {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.FAP.GPS.AGPSServerConfig.Username";
-      reference
-        "Device.FAP.GPS.AGPSServerConfig.Username";
-    }
-    leaf reference-latitude {
-      type int32 {
-        range "-90000000..90000000";
-      }
-      description
-        "Device.FAP.GPS.AGPSServerConfig.ReferenceLatitude";
-      reference
-        "Device.FAP.GPS.AGPSServerConfig.ReferenceLatitude";
-    }
-    leaf reference-longitude {
-      type int32 {
-        range "-180000000..180000000";
-      }
-      description
-        "Device.FAP.GPS.AGPSServerConfig.ReferenceLongitude";
-      reference
-        "Device.FAP.GPS.AGPSServerConfig.ReferenceLongitude";
-    }
-    leaf server-in-use {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.GPS.AGPSServerConfig.ServerInUse";
-      reference
-        "Device.FAP.GPS.AGPSServerConfig.ServerInUse";
-    }
-  }
-
-  grouping gps-continuous-gps-status-g {
-    description
-      "Grouping object for Device.FAP.GPS.ContinuousGPSStatus.";
-    leaf current-fix {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.CurrentFix";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.CurrentFix";
-    }
-    leaf got-fix {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.GotFix";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.GotFix";
-    }
-    leaf timing-good {
-      type boolean;
-      config false;
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.TimingGood";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.TimingGood";
-    }
-    leaf latitude {
-      type int32 {
-        range "-90000000..90000000";
-      }
-      config false;
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.Latitude";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.Latitude";
-    }
-    leaf longitude {
-      type int32 {
-        range "-180000000..180000000";
-      }
-      config false;
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.Longitude";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.Longitude";
-    }
-    leaf elevation {
-      type int32 {
-        range "-5000000..25000000";
-      }
-      config false;
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.Elevation";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.Elevation";
-    }
-    leaf last-fix-time {
-      type string;
-      config false;
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.LastFixTime";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.LastFixTime";
-    }
-    leaf last-fix-duration {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.LastFixDuration";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.LastFixDuration";
-    }
-    leaf first-fix-timeout {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.FirstFixTimeout";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.FirstFixTimeout";
-    }
-    leaf satellites-tracked {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.SatellitesTracked";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.SatellitesTracked";
-    }
-    leaf satellite-tracking-interval {
-      type uint32 {
-        range "60..3600";
-      }
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.SatelliteTrackingInterval";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.SatelliteTrackingInterval";
-    }
-    leaf receiver-status {
-      type string;
-      config false;
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.ReceiverStatus";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.ReceiverStatus";
-    }
-    leaf location-type {
-      type string;
-      config false;
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.LocationType";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.LocationType";
-    }
-    leaf lock-time-out-duration {
-      type uint32 {
-        range "120..86400";
-      }
-      description
-        "Device.FAP.GPS.ContinuousGPSStatus.LockTimeOutDuration";
-      reference
-        "Device.FAP.GPS.ContinuousGPSStatus.LockTimeOutDuration";
-    }
-  }
-
-  grouping fap-perf-mgmt-g {
-    description
-      "Grouping object for Device.FAP.PerfMgmt.";
-    leaf config-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.FAP.PerfMgmt.ConfigNumberOfEntries";
-      reference
-        "Device.FAP.PerfMgmt.ConfigNumberOfEntries";
-    }
-  }
-
-  grouping perf-mgmt-config-g {
-    description
-      "Grouping object for Device.FAP.PerfMgmt.Config.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.FAP.PerfMgmt.Config.{i}.Enable";
-      reference
-        "Device.FAP.PerfMgmt.Config.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.FAP.PerfMgmt.Config.{i}.Alias";
-      reference
-        "Device.FAP.PerfMgmt.Config.{i}.Alias";
-    }
-    leaf url {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.FAP.PerfMgmt.Config.{i}.URL";
-      reference
-        "Device.FAP.PerfMgmt.Config.{i}.URL";
-    }
-    leaf username {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.FAP.PerfMgmt.Config.{i}.Username";
-      reference
-        "Device.FAP.PerfMgmt.Config.{i}.Username";
-    }
-    leaf periodic-upload-interval {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.FAP.PerfMgmt.Config.{i}.PeriodicUploadInterval";
-      reference
-        "Device.FAP.PerfMgmt.Config.{i}.PeriodicUploadInterval";
-    }
-    leaf periodic-upload-time {
-      type string;
-      description
-        "Device.FAP.PerfMgmt.Config.{i}.PeriodicUploadTime";
-      reference
-        "Device.FAP.PerfMgmt.Config.{i}.PeriodicUploadTime";
-    }
-  }
-
-  grouping device-fast-g {
-    description
-      "Grouping object for Device.FAST.";
-    leaf line-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.LineNumberOfEntries";
-      reference
-        "Device.FAST.LineNumberOfEntries";
-    }
-  }
-
-  grouping fast-line-g {
-    description
-      "Grouping object for Device.FAST.Line.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.FAST.Line.{i}.Enable";
-      reference
-        "Device.FAST.Line.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Status";
-      reference
-        "Device.FAST.Line.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.FAST.Line.{i}.Alias";
-      reference
-        "Device.FAST.Line.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Name";
-      reference
-        "Device.FAST.Line.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.LastChange";
-      reference
-        "Device.FAST.Line.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.FAST.Line.{i}.LowerLayers";
-      reference
-        "Device.FAST.Line.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Upstream";
-      reference
-        "Device.FAST.Line.{i}.Upstream";
-    }
-    leaf firmware-version {
-      type string;
-      config false;
-      description
-        "Device.FAST.Line.{i}.FirmwareVersion";
-      reference
-        "Device.FAST.Line.{i}.FirmwareVersion";
-    }
-    leaf link-status {
-      type string;
-      config false;
-      description
-        "Device.FAST.Line.{i}.LinkStatus";
-      reference
-        "Device.FAST.Line.{i}.LinkStatus";
-    }
-    leaf allowed-profiles {
-      type string;
-      config false;
-      description
-        "Device.FAST.Line.{i}.AllowedProfiles";
-      reference
-        "Device.FAST.Line.{i}.AllowedProfiles";
-    }
-    leaf current-profile {
-      type string;
-      config false;
-      description
-        "Device.FAST.Line.{i}.CurrentProfile";
-      reference
-        "Device.FAST.Line.{i}.CurrentProfile";
-    }
-    leaf power-management-state {
-      type string;
-      config false;
-      description
-        "Device.FAST.Line.{i}.PowerManagementState";
-      reference
-        "Device.FAST.Line.{i}.PowerManagementState";
-    }
-    leaf success-failure-cause {
-      type uint32 {
-        range "0..5";
-      }
-      config false;
-      description
-        "Device.FAST.Line.{i}.SuccessFailureCause";
-      reference
-        "Device.FAST.Line.{i}.SuccessFailureCause";
-    }
-    leaf upbokler {
-      type uint32 {
-        range "0..1280";
-      }
-      config false;
-      description
-        "Device.FAST.Line.{i}.UPBOKLER";
-      reference
-        "Device.FAST.Line.{i}.UPBOKLER";
-    }
-    leaf last-transmitted-downstream-signal {
-      type uint32 {
-        range "0..21";
-      }
-      config false;
-      description
-        "Device.FAST.Line.{i}.LastTransmittedDownstreamSignal";
-      reference
-        "Device.FAST.Line.{i}.LastTransmittedDownstreamSignal";
-    }
-    leaf last-transmitted-upstream-signal {
-      type uint32 {
-        range "0..21";
-      }
-      config false;
-      description
-        "Device.FAST.Line.{i}.LastTransmittedUpstreamSignal";
-      reference
-        "Device.FAST.Line.{i}.LastTransmittedUpstreamSignal";
-    }
-    leaf upbokle {
-      type uint32 {
-        range "0..1280";
-      }
-      config false;
-      description
-        "Device.FAST.Line.{i}.UPBOKLE";
-      reference
-        "Device.FAST.Line.{i}.UPBOKLE";
-    }
-    leaf line-number {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.LineNumber";
-      reference
-        "Device.FAST.Line.{i}.LineNumber";
-    }
-    leaf upstream-max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.UpstreamMaxBitRate";
-      reference
-        "Device.FAST.Line.{i}.UpstreamMaxBitRate";
-    }
-    leaf downstream-max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.DownstreamMaxBitRate";
-      reference
-        "Device.FAST.Line.{i}.DownstreamMaxBitRate";
-    }
-    leaf upstream-noise-margin {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.UpstreamNoiseMargin";
-      reference
-        "Device.FAST.Line.{i}.UpstreamNoiseMargin";
-    }
-    leaf downstream-noise-margin {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.DownstreamNoiseMargin";
-      reference
-        "Device.FAST.Line.{i}.DownstreamNoiseMargin";
-    }
-    leaf upstream-attenuation {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.UpstreamAttenuation";
-      reference
-        "Device.FAST.Line.{i}.UpstreamAttenuation";
-    }
-    leaf downstream-attenuation {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.DownstreamAttenuation";
-      reference
-        "Device.FAST.Line.{i}.DownstreamAttenuation";
-    }
-    leaf upstream-power {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.UpstreamPower";
-      reference
-        "Device.FAST.Line.{i}.UpstreamPower";
-    }
-    leaf downstream-power {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.DownstreamPower";
-      reference
-        "Device.FAST.Line.{i}.DownstreamPower";
-    }
-    leaf snrmrm-cds {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.SNRMRMCds";
-      reference
-        "Device.FAST.Line.{i}.SNRMRMCds";
-    }
-    leaf snrmrm-cus {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.SNRMRMCus";
-      reference
-        "Device.FAST.Line.{i}.SNRMRMCus";
-    }
-    leaf bitsrm-cpsds {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.BITSRMCpsds";
-      reference
-        "Device.FAST.Line.{i}.BITSRMCpsds";
-    }
-    leaf bitsrm-cpsus {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.BITSRMCpsus";
-      reference
-        "Device.FAST.Line.{i}.BITSRMCpsus";
-    }
-    leaf fextcance-lds {
-      type boolean;
-      config false;
-      description
-        "Device.FAST.Line.{i}.FEXTCANCELds";
-      reference
-        "Device.FAST.Line.{i}.FEXTCANCELds";
-    }
-    leaf fextcance-lus {
-      type boolean;
-      config false;
-      description
-        "Device.FAST.Line.{i}.FEXTCANCELus";
-      reference
-        "Device.FAST.Line.{i}.FEXTCANCELus";
-    }
-    leaf et-rds {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.ETRds";
-      reference
-        "Device.FAST.Line.{i}.ETRds";
-    }
-    leaf et-rus {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.ETRus";
-      reference
-        "Device.FAST.Line.{i}.ETRus";
-    }
-    leaf attet-rds {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.ATTETRds";
-      reference
-        "Device.FAST.Line.{i}.ATTETRds";
-    }
-    leaf attet-rus {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.ATTETRus";
-      reference
-        "Device.FAST.Line.{i}.ATTETRus";
-    }
-    leaf mineftr {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.MINEFTR";
-      reference
-        "Device.FAST.Line.{i}.MINEFTR";
-    }
-  }
-
-  grouping fast-line-stats-g {
-    description
-      "Grouping object for Device.FAST.Line.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.BytesSent";
-      reference
-        "Device.FAST.Line.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.BytesReceived";
-      reference
-        "Device.FAST.Line.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.PacketsSent";
-      reference
-        "Device.FAST.Line.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.PacketsReceived";
-      reference
-        "Device.FAST.Line.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.ErrorsSent";
-      reference
-        "Device.FAST.Line.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.FAST.Line.{i}.Stats.ErrorsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.FAST.Line.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.FAST.Line.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf total-start {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.TotalStart";
-      reference
-        "Device.FAST.Line.{i}.Stats.TotalStart";
-    }
-    leaf showtime-start {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.ShowtimeStart";
-      reference
-        "Device.FAST.Line.{i}.Stats.ShowtimeStart";
-    }
-    leaf last-showtime-start {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtimeStart";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtimeStart";
-    }
-    leaf current-day-start {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDayStart";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDayStart";
-    }
-    leaf quarter-hour-start {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHourStart";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHourStart";
-    }
-  }
-
-  grouping fast-line-stats-current-day-g {
-    description
-      "Grouping object for Device.FAST.Line.{i}.Stats.CurrentDay.";
-    leaf errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.ErroredSecs";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.ErroredSecs";
-    }
-    leaf severely-errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SeverelyErroredSecs";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SeverelyErroredSecs";
-    }
-    leaf loss {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.LOSS";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.LOSS";
-    }
-    leaf lors {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.LORS";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.LORS";
-    }
-    leaf uas {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.UAS";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.UAS";
-    }
-    leaf rtxuc {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.RTXUC";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.RTXUC";
-    }
-    leaf rtxtx {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.RTXTX";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.RTXTX";
-    }
-    leaf success-bsw {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessBSW";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessBSW";
-    }
-    leaf success-sra {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessSRA";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessSRA";
-    }
-    leaf success-fra {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessFRA";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessFRA";
-    }
-    leaf success-rpa {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessRPA";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessRPA";
-    }
-    leaf success-tiga {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessTIGA";
-      reference
-        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessTIGA";
-    }
-  }
-
-  grouping fast-line-stats-last-showtime-g {
-    description
-      "Grouping object for Device.FAST.Line.{i}.Stats.LastShowtime.";
-    leaf errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.ErroredSecs";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.ErroredSecs";
-    }
-    leaf severely-errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SeverelyErroredSecs";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SeverelyErroredSecs";
-    }
-    leaf loss {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.LOSS";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.LOSS";
-    }
-    leaf lors {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.LORS";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.LORS";
-    }
-    leaf uas {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.UAS";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.UAS";
-    }
-    leaf rtxuc {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.RTXUC";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.RTXUC";
-    }
-    leaf rtxtx {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.RTXTX";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.RTXTX";
-    }
-    leaf success-bsw {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessBSW";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessBSW";
-    }
-    leaf success-sra {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessSRA";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessSRA";
-    }
-    leaf success-fra {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessFRA";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessFRA";
-    }
-    leaf success-rpa {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessRPA";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessRPA";
-    }
-    leaf success-tiga {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessTIGA";
-      reference
-        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessTIGA";
-    }
-  }
-
-  grouping fast-line-stats-quarter-hour-g {
-    description
-      "Grouping object for Device.FAST.Line.{i}.Stats.QuarterHour.";
-    leaf errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.ErroredSecs";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.ErroredSecs";
-    }
-    leaf severely-errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SeverelyErroredSecs";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SeverelyErroredSecs";
-    }
-    leaf loss {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.LOSS";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.LOSS";
-    }
-    leaf lors {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.LORS";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.LORS";
-    }
-    leaf uas {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.UAS";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.UAS";
-    }
-    leaf rtxuc {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.RTXUC";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.RTXUC";
-    }
-    leaf rtxtx {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.RTXTX";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.RTXTX";
-    }
-    leaf success-bsw {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessBSW";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessBSW";
-    }
-    leaf success-sra {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessSRA";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessSRA";
-    }
-    leaf success-fra {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessFRA";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessFRA";
-    }
-    leaf success-rpa {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessRPA";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessRPA";
-    }
-    leaf success-tiga {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessTIGA";
-      reference
-        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessTIGA";
-    }
-  }
-
-  grouping fast-line-stats-showtime-g {
-    description
-      "Grouping object for Device.FAST.Line.{i}.Stats.Showtime.";
-    leaf errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.ErroredSecs";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.ErroredSecs";
-    }
-    leaf severely-errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.SeverelyErroredSecs";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.SeverelyErroredSecs";
-    }
-    leaf loss {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.LOSS";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.LOSS";
-    }
-    leaf lors {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.LORS";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.LORS";
-    }
-    leaf uas {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.UAS";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.UAS";
-    }
-    leaf rtxuc {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.RTXUC";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.RTXUC";
-    }
-    leaf rtxtx {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.RTXTX";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.RTXTX";
-    }
-    leaf success-bsw {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.SuccessBSW";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.SuccessBSW";
-    }
-    leaf success-sra {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.SuccessSRA";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.SuccessSRA";
-    }
-    leaf success-fra {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.SuccessFRA";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.SuccessFRA";
-    }
-    leaf success-rpa {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.SuccessRPA";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.SuccessRPA";
-    }
-    leaf success-tiga {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Showtime.SuccessTIGA";
-      reference
-        "Device.FAST.Line.{i}.Stats.Showtime.SuccessTIGA";
-    }
-  }
-
-  grouping fast-line-stats-total-g {
-    description
-      "Grouping object for Device.FAST.Line.{i}.Stats.Total.";
-    leaf errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.ErroredSecs";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.ErroredSecs";
-    }
-    leaf severely-errored-secs {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.SeverelyErroredSecs";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.SeverelyErroredSecs";
-    }
-    leaf loss {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.LOSS";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.LOSS";
-    }
-    leaf lors {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.LORS";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.LORS";
-    }
-    leaf uas {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.UAS";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.UAS";
-    }
-    leaf rtxuc {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.RTXUC";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.RTXUC";
-    }
-    leaf rtxtx {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.RTXTX";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.RTXTX";
-    }
-    leaf success-bsw {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.SuccessBSW";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.SuccessBSW";
-    }
-    leaf success-sra {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.SuccessSRA";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.SuccessSRA";
-    }
-    leaf success-fra {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.SuccessFRA";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.SuccessFRA";
-    }
-    leaf success-rpa {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.SuccessRPA";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.SuccessRPA";
-    }
-    leaf success-tiga {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.Stats.Total.SuccessTIGA";
-      reference
-        "Device.FAST.Line.{i}.Stats.Total.SuccessTIGA";
-    }
-  }
-
-  grouping fast-line-test-params-g {
-    description
-      "Grouping object for Device.FAST.Line.{i}.TestParams.";
-    leaf snr-gds {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.SNRGds";
-      reference
-        "Device.FAST.Line.{i}.TestParams.SNRGds";
-    }
-    leaf snr-gus {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.SNRGus";
-      reference
-        "Device.FAST.Line.{i}.TestParams.SNRGus";
-    }
-    leaf sn-rpsds {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.SNRpsds";
-      reference
-        "Device.FAST.Line.{i}.TestParams.SNRpsds";
-    }
-    leaf sn-rpsus {
-      type string;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.SNRpsus";
-      reference
-        "Device.FAST.Line.{i}.TestParams.SNRpsus";
-    }
-    leaf snrm-tds {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.SNRMTds";
-      reference
-        "Device.FAST.Line.{i}.TestParams.SNRMTds";
-    }
-    leaf snrm-tus {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.SNRMTus";
-      reference
-        "Device.FAST.Line.{i}.TestParams.SNRMTus";
-    }
-    leaf actinp {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.ACTINP";
-      reference
-        "Device.FAST.Line.{i}.TestParams.ACTINP";
-    }
-    leaf nfec {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.NFEC";
-      reference
-        "Device.FAST.Line.{i}.TestParams.NFEC";
-    }
-    leaf rfec {
-      type int32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.RFEC";
-      reference
-        "Device.FAST.Line.{i}.TestParams.RFEC";
-    }
-    leaf upstream-curr-rate {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.UpstreamCurrRate";
-      reference
-        "Device.FAST.Line.{i}.TestParams.UpstreamCurrRate";
-    }
-    leaf downstream-curr-rate {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.DownstreamCurrRate";
-      reference
-        "Device.FAST.Line.{i}.TestParams.DownstreamCurrRate";
-    }
-    leaf actinprein {
-      type uint32;
-      config false;
-      description
-        "Device.FAST.Line.{i}.TestParams.ACTINPREIN";
-      reference
-        "Device.FAST.Line.{i}.TestParams.ACTINPREIN";
-    }
-  }
-
-  grouping device-fault-mgmt-g {
-    description
-      "Grouping object for Device.FaultMgmt.";
-    leaf supported-alarm-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.FaultMgmt.SupportedAlarmNumberOfEntries";
-      reference
-        "Device.FaultMgmt.SupportedAlarmNumberOfEntries";
-    }
-    leaf max-current-alarm-entries {
-      type uint32;
-      config false;
-      description
-        "Device.FaultMgmt.MaxCurrentAlarmEntries";
-      reference
-        "Device.FaultMgmt.MaxCurrentAlarmEntries";
-    }
-    leaf current-alarm-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.FaultMgmt.CurrentAlarmNumberOfEntries";
-      reference
-        "Device.FaultMgmt.CurrentAlarmNumberOfEntries";
-    }
-    leaf history-event-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.FaultMgmt.HistoryEventNumberOfEntries";
-      reference
-        "Device.FaultMgmt.HistoryEventNumberOfEntries";
-    }
-    leaf expedited-event-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.FaultMgmt.ExpeditedEventNumberOfEntries";
-      reference
-        "Device.FaultMgmt.ExpeditedEventNumberOfEntries";
-    }
-    leaf queued-event-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.FaultMgmt.QueuedEventNumberOfEntries";
-      reference
-        "Device.FaultMgmt.QueuedEventNumberOfEntries";
-    }
-  }
-
-  grouping fault-mgmt-current-alarm-g {
-    description
-      "Grouping object for Device.FaultMgmt.CurrentAlarm.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alarm-identifier {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmIdentifier";
-      reference
-        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmIdentifier";
-    }
-    leaf alarm-raised-time {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmRaisedTime";
-      reference
-        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmRaisedTime";
-    }
-    leaf alarm-changed-time {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmChangedTime";
-      reference
-        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmChangedTime";
-    }
-    leaf managed-object-instance {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.CurrentAlarm.{i}.ManagedObjectInstance";
-      reference
-        "Device.FaultMgmt.CurrentAlarm.{i}.ManagedObjectInstance";
-    }
-    leaf event-type {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.CurrentAlarm.{i}.EventType";
-      reference
-        "Device.FaultMgmt.CurrentAlarm.{i}.EventType";
-    }
-    leaf probable-cause {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.CurrentAlarm.{i}.ProbableCause";
-      reference
-        "Device.FaultMgmt.CurrentAlarm.{i}.ProbableCause";
-    }
-    leaf specific-problem {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.CurrentAlarm.{i}.SpecificProblem";
-      reference
-        "Device.FaultMgmt.CurrentAlarm.{i}.SpecificProblem";
-    }
-    leaf perceived-severity {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.CurrentAlarm.{i}.PerceivedSeverity";
-      reference
-        "Device.FaultMgmt.CurrentAlarm.{i}.PerceivedSeverity";
-    }
-    leaf additional-text {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.CurrentAlarm.{i}.AdditionalText";
-      reference
-        "Device.FaultMgmt.CurrentAlarm.{i}.AdditionalText";
-    }
-    leaf additional-information {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.CurrentAlarm.{i}.AdditionalInformation";
-      reference
-        "Device.FaultMgmt.CurrentAlarm.{i}.AdditionalInformation";
-    }
-  }
-
-  grouping fault-mgmt-expedited-event-g {
-    description
-      "Grouping object for Device.FaultMgmt.ExpeditedEvent.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf event-time {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.ExpeditedEvent.{i}.EventTime";
-      reference
-        "Device.FaultMgmt.ExpeditedEvent.{i}.EventTime";
-    }
-    leaf alarm-identifier {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.ExpeditedEvent.{i}.AlarmIdentifier";
-      reference
-        "Device.FaultMgmt.ExpeditedEvent.{i}.AlarmIdentifier";
-    }
-    leaf notification-type {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.ExpeditedEvent.{i}.NotificationType";
-      reference
-        "Device.FaultMgmt.ExpeditedEvent.{i}.NotificationType";
-    }
-    leaf managed-object-instance {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.ExpeditedEvent.{i}.ManagedObjectInstance";
-      reference
-        "Device.FaultMgmt.ExpeditedEvent.{i}.ManagedObjectInstance";
-    }
-    leaf event-type {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.ExpeditedEvent.{i}.EventType";
-      reference
-        "Device.FaultMgmt.ExpeditedEvent.{i}.EventType";
-    }
-    leaf probable-cause {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.ExpeditedEvent.{i}.ProbableCause";
-      reference
-        "Device.FaultMgmt.ExpeditedEvent.{i}.ProbableCause";
-    }
-    leaf specific-problem {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.ExpeditedEvent.{i}.SpecificProblem";
-      reference
-        "Device.FaultMgmt.ExpeditedEvent.{i}.SpecificProblem";
-    }
-    leaf perceived-severity {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.ExpeditedEvent.{i}.PerceivedSeverity";
-      reference
-        "Device.FaultMgmt.ExpeditedEvent.{i}.PerceivedSeverity";
-    }
-    leaf additional-text {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.ExpeditedEvent.{i}.AdditionalText";
-      reference
-        "Device.FaultMgmt.ExpeditedEvent.{i}.AdditionalText";
-    }
-    leaf additional-information {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.ExpeditedEvent.{i}.AdditionalInformation";
-      reference
-        "Device.FaultMgmt.ExpeditedEvent.{i}.AdditionalInformation";
-    }
-  }
-
-  grouping fault-mgmt-history-event-g {
-    description
-      "Grouping object for Device.FaultMgmt.HistoryEvent.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf event-time {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.HistoryEvent.{i}.EventTime";
-      reference
-        "Device.FaultMgmt.HistoryEvent.{i}.EventTime";
-    }
-    leaf alarm-identifier {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.HistoryEvent.{i}.AlarmIdentifier";
-      reference
-        "Device.FaultMgmt.HistoryEvent.{i}.AlarmIdentifier";
-    }
-    leaf notification-type {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.HistoryEvent.{i}.NotificationType";
-      reference
-        "Device.FaultMgmt.HistoryEvent.{i}.NotificationType";
-    }
-    leaf managed-object-instance {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.HistoryEvent.{i}.ManagedObjectInstance";
-      reference
-        "Device.FaultMgmt.HistoryEvent.{i}.ManagedObjectInstance";
-    }
-    leaf event-type {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.HistoryEvent.{i}.EventType";
-      reference
-        "Device.FaultMgmt.HistoryEvent.{i}.EventType";
-    }
-    leaf probable-cause {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.HistoryEvent.{i}.ProbableCause";
-      reference
-        "Device.FaultMgmt.HistoryEvent.{i}.ProbableCause";
-    }
-    leaf specific-problem {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.HistoryEvent.{i}.SpecificProblem";
-      reference
-        "Device.FaultMgmt.HistoryEvent.{i}.SpecificProblem";
-    }
-    leaf perceived-severity {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.HistoryEvent.{i}.PerceivedSeverity";
-      reference
-        "Device.FaultMgmt.HistoryEvent.{i}.PerceivedSeverity";
-    }
-    leaf additional-text {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.HistoryEvent.{i}.AdditionalText";
-      reference
-        "Device.FaultMgmt.HistoryEvent.{i}.AdditionalText";
-    }
-    leaf additional-information {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.HistoryEvent.{i}.AdditionalInformation";
-      reference
-        "Device.FaultMgmt.HistoryEvent.{i}.AdditionalInformation";
-    }
-  }
-
-  grouping fault-mgmt-queued-event-g {
-    description
-      "Grouping object for Device.FaultMgmt.QueuedEvent.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf event-time {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.QueuedEvent.{i}.EventTime";
-      reference
-        "Device.FaultMgmt.QueuedEvent.{i}.EventTime";
-    }
-    leaf alarm-identifier {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.QueuedEvent.{i}.AlarmIdentifier";
-      reference
-        "Device.FaultMgmt.QueuedEvent.{i}.AlarmIdentifier";
-    }
-    leaf notification-type {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.QueuedEvent.{i}.NotificationType";
-      reference
-        "Device.FaultMgmt.QueuedEvent.{i}.NotificationType";
-    }
-    leaf managed-object-instance {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.QueuedEvent.{i}.ManagedObjectInstance";
-      reference
-        "Device.FaultMgmt.QueuedEvent.{i}.ManagedObjectInstance";
-    }
-    leaf event-type {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.QueuedEvent.{i}.EventType";
-      reference
-        "Device.FaultMgmt.QueuedEvent.{i}.EventType";
-    }
-    leaf probable-cause {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.QueuedEvent.{i}.ProbableCause";
-      reference
-        "Device.FaultMgmt.QueuedEvent.{i}.ProbableCause";
-    }
-    leaf specific-problem {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.QueuedEvent.{i}.SpecificProblem";
-      reference
-        "Device.FaultMgmt.QueuedEvent.{i}.SpecificProblem";
-    }
-    leaf perceived-severity {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.QueuedEvent.{i}.PerceivedSeverity";
-      reference
-        "Device.FaultMgmt.QueuedEvent.{i}.PerceivedSeverity";
-    }
-    leaf additional-text {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.QueuedEvent.{i}.AdditionalText";
-      reference
-        "Device.FaultMgmt.QueuedEvent.{i}.AdditionalText";
-    }
-    leaf additional-information {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.QueuedEvent.{i}.AdditionalInformation";
-      reference
-        "Device.FaultMgmt.QueuedEvent.{i}.AdditionalInformation";
-    }
-  }
-
-  grouping fault-mgmt-supported-alarm-g {
-    description
-      "Grouping object for Device.FaultMgmt.SupportedAlarm.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf event-type {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.SupportedAlarm.{i}.EventType";
-      reference
-        "Device.FaultMgmt.SupportedAlarm.{i}.EventType";
-    }
-    leaf probable-cause {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.SupportedAlarm.{i}.ProbableCause";
-      reference
-        "Device.FaultMgmt.SupportedAlarm.{i}.ProbableCause";
-    }
-    leaf specific-problem {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.SupportedAlarm.{i}.SpecificProblem";
-      reference
-        "Device.FaultMgmt.SupportedAlarm.{i}.SpecificProblem";
-    }
-    leaf perceived-severity {
-      type string;
-      config false;
-      description
-        "Device.FaultMgmt.SupportedAlarm.{i}.PerceivedSeverity";
-      reference
-        "Device.FaultMgmt.SupportedAlarm.{i}.PerceivedSeverity";
-    }
-    leaf reporting-mechanism {
-      type enumeration {
-        enum "0 Expedited" {
-          description
-            "Enum Value - 0 Expedited";
-        }
-        enum "1 Queued" {
-          description
-            "Enum Value - 1 Queued";
-        }
-        enum "2 Logged" {
-          description
-            "Enum Value - 2 Logged";
-        }
-        enum "3 Disabled" {
-          description
-            "Enum Value - 3 Disabled";
-        }
-      }
-      description
-        "Device.FaultMgmt.SupportedAlarm.{i}.ReportingMechanism";
-      reference
-        "Device.FaultMgmt.SupportedAlarm.{i}.ReportingMechanism";
-    }
-  }
-
-  grouping device-firewall-g {
-    description
-      "Grouping object for Device.Firewall.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.Firewall.Enable";
-      reference
-        "Device.Firewall.Enable";
-    }
-    leaf config {
-      type enumeration {
-        enum High {
-          description
-            "Enum Value - High";
-        }
-        enum Low {
-          description
-            "Enum Value - Low";
-        }
-        enum Off {
-          description
-            "Enum Value - Off";
-        }
-        enum Advanced {
-          description
-            "Enum Value - Advanced";
-        }
-      }
-      description
-        "Device.Firewall.Config";
-      reference
-        "Device.Firewall.Config";
-    }
-    leaf advanced-level {
-      type string;
-      description
-        "Device.Firewall.AdvancedLevel";
-      reference
-        "Device.Firewall.AdvancedLevel";
-    }
-    leaf type {
-      type string;
-      config false;
-      description
-        "Device.Firewall.Type";
-      reference
-        "Device.Firewall.Type";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.Firewall.Version";
-      reference
-        "Device.Firewall.Version";
-    }
-    leaf last-change {
-      type string;
-      config false;
-      description
-        "Device.Firewall.LastChange";
-      reference
-        "Device.Firewall.LastChange";
-    }
-    leaf level-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Firewall.LevelNumberOfEntries";
-      reference
-        "Device.Firewall.LevelNumberOfEntries";
-    }
-    leaf chain-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Firewall.ChainNumberOfEntries";
-      reference
-        "Device.Firewall.ChainNumberOfEntries";
-    }
-  }
-
-  grouping firewall-chain-g {
-    description
-      "Grouping object for Device.Firewall.Chain.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Enable";
-      reference
-        "Device.Firewall.Chain.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Alias";
-      reference
-        "Device.Firewall.Chain.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Name";
-      reference
-        "Device.Firewall.Chain.{i}.Name";
-    }
-    leaf creator {
-      type string;
-      config false;
-      description
-        "Device.Firewall.Chain.{i}.Creator";
-      reference
-        "Device.Firewall.Chain.{i}.Creator";
-    }
-    leaf rule-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Firewall.Chain.{i}.RuleNumberOfEntries";
-      reference
-        "Device.Firewall.Chain.{i}.RuleNumberOfEntries";
-    }
-  }
-
-  grouping chain-rule-g {
-    description
-      "Grouping object for Device.Firewall.Chain.{i}.Rule.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.Enable";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.Status";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.Status";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.Order";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.Order";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.Alias";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.Alias";
-    }
-    leaf description {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.Description";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.Description";
-    }
-    leaf target {
-      type enumeration {
-        enum Drop {
-          description
-            "Enum Value - Drop";
-        }
-        enum Accept {
-          description
-            "Enum Value - Accept";
-        }
-        enum Reject {
-          description
-            "Enum Value - Reject";
-        }
-        enum Return {
-          description
-            "Enum Value - Return";
-        }
-        enum TargetChain {
-          description
-            "Enum Value - TargetChain";
-        }
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.Target";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.Target";
-    }
-    leaf target-chain {
-      type string;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.TargetChain";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.TargetChain";
-    }
-    leaf log {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.Log";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.Log";
-    }
-    leaf creation-date {
-      type string;
-      config false;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.CreationDate";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.CreationDate";
-    }
-    leaf expiry-date {
-      type string;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.ExpiryDate";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.ExpiryDate";
-    }
-    leaf source-interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceInterface";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceInterface";
-    }
-    leaf source-interface-exclude {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceInterfaceExclude";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceInterfaceExclude";
-    }
-    leaf source-all-interfaces {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceAllInterfaces";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceAllInterfaces";
-    }
-    leaf dest-interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestInterface";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestInterface";
-    }
-    leaf dest-interface-exclude {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestInterfaceExclude";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestInterfaceExclude";
-    }
-    leaf dest-all-interfaces {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestAllInterfaces";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestAllInterfaces";
-    }
-    leaf ip-version {
-      type int32 {
-        range "-1..15";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.IPVersion";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.IPVersion";
-    }
-    leaf dest-ip {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestIP";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestIP";
-    }
-    leaf dest-mask {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestMask";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestMask";
-    }
-    leaf dest-ip-exclude {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestIPExclude";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestIPExclude";
-    }
-    leaf source-ip {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceIP";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceIP";
-    }
-    leaf source-mask {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceMask";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceMask";
-    }
-    leaf source-ip-exclude {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceIPExclude";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourceIPExclude";
-    }
-    leaf protocol {
-      type int32 {
-        range "-1..255";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.Protocol";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.Protocol";
-    }
-    leaf protocol-exclude {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.ProtocolExclude";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.ProtocolExclude";
-    }
-    leaf dest-port {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestPort";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestPort";
-    }
-    leaf dest-port-range-max {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestPortRangeMax";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestPortRangeMax";
-    }
-    leaf dest-port-exclude {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestPortExclude";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.DestPortExclude";
-    }
-    leaf source-port {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePort";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePort";
-    }
-    leaf source-port-range-max {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePortRangeMax";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePortRangeMax";
-    }
-    leaf source-port-exclude {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePortExclude";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePortExclude";
-    }
-    leaf dscp {
-      type int32 {
-        range "-1..63";
-      }
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.DSCP";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.DSCP";
-    }
-    leaf dscp-exclude {
-      type boolean;
-      description
-        "Device.Firewall.Chain.{i}.Rule.{i}.DSCPExclude";
-      reference
-        "Device.Firewall.Chain.{i}.Rule.{i}.DSCPExclude";
-    }
-  }
-
-  grouping firewall-level-g {
-    description
-      "Grouping object for Device.Firewall.Level.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Firewall.Level.{i}.Alias";
-      reference
-        "Device.Firewall.Level.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Firewall.Level.{i}.Name";
-      reference
-        "Device.Firewall.Level.{i}.Name";
-    }
-    leaf description {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Firewall.Level.{i}.Description";
-      reference
-        "Device.Firewall.Level.{i}.Description";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.Firewall.Level.{i}.Order";
-      reference
-        "Device.Firewall.Level.{i}.Order";
-    }
-    leaf chain {
-      type string;
-      config false;
-      description
-        "Device.Firewall.Level.{i}.Chain";
-      reference
-        "Device.Firewall.Level.{i}.Chain";
-    }
-    leaf port-mapping-enabled {
-      type boolean;
-      description
-        "Device.Firewall.Level.{i}.PortMappingEnabled";
-      reference
-        "Device.Firewall.Level.{i}.PortMappingEnabled";
-    }
-    leaf default-policy {
-      type enumeration {
-        enum Drop {
-          description
-            "Enum Value - Drop";
-        }
-        enum Accept {
-          description
-            "Enum Value - Accept";
-        }
-        enum Reject {
-          description
-            "Enum Value - Reject";
-        }
-      }
-      description
-        "Device.Firewall.Level.{i}.DefaultPolicy";
-      reference
-        "Device.Firewall.Level.{i}.DefaultPolicy";
-    }
-    leaf default-log-policy {
-      type boolean;
-      description
-        "Device.Firewall.Level.{i}.DefaultLogPolicy";
-      reference
-        "Device.Firewall.Level.{i}.DefaultLogPolicy";
-    }
-  }
-
-  grouping device-gre-g {
-    description
-      "Grouping object for Device.GRE.";
-    leaf tunnel-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.TunnelNumberOfEntries";
-      reference
-        "Device.GRE.TunnelNumberOfEntries";
-    }
-    leaf filter-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.FilterNumberOfEntries";
-      reference
-        "Device.GRE.FilterNumberOfEntries";
-    }
-  }
-
-  grouping gre-filter-g {
-    description
-      "Grouping object for Device.GRE.Filter.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.GRE.Filter.{i}.Enable";
-      reference
-        "Device.GRE.Filter.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.GRE.Filter.{i}.Status";
-      reference
-        "Device.GRE.Filter.{i}.Status";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.GRE.Filter.{i}.Order";
-      reference
-        "Device.GRE.Filter.{i}.Order";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.GRE.Filter.{i}.Alias";
-      reference
-        "Device.GRE.Filter.{i}.Alias";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.GRE.Filter.{i}.Interface";
-      reference
-        "Device.GRE.Filter.{i}.Interface";
-    }
-    leaf all-interfaces {
-      type boolean;
-      description
-        "Device.GRE.Filter.{i}.AllInterfaces";
-      reference
-        "Device.GRE.Filter.{i}.AllInterfaces";
-    }
-    leaf vlanid-check {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.GRE.Filter.{i}.VLANIDCheck";
-      reference
-        "Device.GRE.Filter.{i}.VLANIDCheck";
-    }
-    leaf vlanid-exclude {
-      type boolean;
-      description
-        "Device.GRE.Filter.{i}.VLANIDExclude";
-      reference
-        "Device.GRE.Filter.{i}.VLANIDExclude";
-    }
-    leaf dscp-mark-policy {
-      type int32 {
-        range "-2..63";
-      }
-      description
-        "Device.GRE.Filter.{i}.DSCPMarkPolicy";
-      reference
-        "Device.GRE.Filter.{i}.DSCPMarkPolicy";
-    }
-  }
-
-  grouping gre-tunnel-g {
-    description
-      "Grouping object for Device.GRE.Tunnel.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.GRE.Tunnel.{i}.Enable";
-      reference
-        "Device.GRE.Tunnel.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Status";
-      reference
-        "Device.GRE.Tunnel.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.GRE.Tunnel.{i}.Alias";
-      reference
-        "Device.GRE.Tunnel.{i}.Alias";
-    }
-    leaf remote-endpoints {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.GRE.Tunnel.{i}.RemoteEndpoints";
-      reference
-        "Device.GRE.Tunnel.{i}.RemoteEndpoints";
-    }
-    leaf keep-alive-policy {
-      type enumeration {
-        enum ICMP {
-          description
-            "Enum Value - ICMP";
-        }
-        enum None {
-          description
-            "Enum Value - None";
-        }
-      }
-      description
-        "Device.GRE.Tunnel.{i}.KeepAlivePolicy";
-      reference
-        "Device.GRE.Tunnel.{i}.KeepAlivePolicy";
-    }
-    leaf keep-alive-timeout {
-      type uint32;
-      description
-        "Device.GRE.Tunnel.{i}.KeepAliveTimeout";
-      reference
-        "Device.GRE.Tunnel.{i}.KeepAliveTimeout";
-    }
-    leaf keep-alive-threshold {
-      type uint32;
-      description
-        "Device.GRE.Tunnel.{i}.KeepAliveThreshold";
-      reference
-        "Device.GRE.Tunnel.{i}.KeepAliveThreshold";
-    }
-    leaf delivery-header-protocol {
-      type enumeration {
-        enum IPv4 {
-          description
-            "Enum Value - IPv4";
-        }
-        enum IPv6 {
-          description
-            "Enum Value - IPv6";
-        }
-      }
-      description
-        "Device.GRE.Tunnel.{i}.DeliveryHeaderProtocol";
-      reference
-        "Device.GRE.Tunnel.{i}.DeliveryHeaderProtocol";
-    }
-    leaf default-dscp-mark {
-      type uint32;
-      description
-        "Device.GRE.Tunnel.{i}.DefaultDSCPMark";
-      reference
-        "Device.GRE.Tunnel.{i}.DefaultDSCPMark";
-    }
-    leaf connected-remote-endpoint {
-      type string;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.ConnectedRemoteEndpoint";
-      reference
-        "Device.GRE.Tunnel.{i}.ConnectedRemoteEndpoint";
-    }
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.InterfaceNumberOfEntries";
-      reference
-        "Device.GRE.Tunnel.{i}.InterfaceNumberOfEntries";
-    }
-  }
-
-  grouping tunnel-interface-g {
-    description
-      "Grouping object for Device.GRE.Tunnel.{i}.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Enable";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Status";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Alias";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Name";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.LastChange";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.LowerLayers";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.LowerLayers";
-    }
-    leaf protocol-id-override {
-      type uint32;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.ProtocolIdOverride";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.ProtocolIdOverride";
-    }
-    leaf use-checksum {
-      type boolean;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.UseChecksum";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.UseChecksum";
-    }
-    leaf key-identifier-generation-policy {
-      type enumeration {
-        enum Disabled {
-          description
-            "Enum Value - Disabled";
-        }
-        enum Provisioned {
-          description
-            "Enum Value - Provisioned";
-        }
-        enum CPE_Generated {
-          description
-            "Enum Value - CPE_Generated";
-        }
-      }
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.KeyIdentifierGenerationPolicy";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.KeyIdentifierGenerationPolicy";
-    }
-    leaf key-identifier {
-      type uint32;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.KeyIdentifier";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.KeyIdentifier";
-    }
-    leaf use-sequence-number {
-      type boolean;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.UseSequenceNumber";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.UseSequenceNumber";
-    }
-  }
-
-  grouping tunnel-interface-stats-g {
-    description
-      "Grouping object for Device.GRE.Tunnel.{i}.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf discard-checksum-received {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";
-    }
-    leaf discard-sequence-number-received {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";
-      reference
-        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";
-    }
-  }
-
-  grouping tunnel-stats-g {
-    description
-      "Grouping object for Device.GRE.Tunnel.{i}.Stats.";
-    leaf keep-alive-sent {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Stats.KeepAliveSent";
-      reference
-        "Device.GRE.Tunnel.{i}.Stats.KeepAliveSent";
-    }
-    leaf keep-alive-received {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Stats.KeepAliveReceived";
-      reference
-        "Device.GRE.Tunnel.{i}.Stats.KeepAliveReceived";
-    }
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Stats.BytesSent";
-      reference
-        "Device.GRE.Tunnel.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Stats.BytesReceived";
-      reference
-        "Device.GRE.Tunnel.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Stats.PacketsSent";
-      reference
-        "Device.GRE.Tunnel.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Stats.PacketsReceived";
-      reference
-        "Device.GRE.Tunnel.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Stats.ErrorsSent";
-      reference
-        "Device.GRE.Tunnel.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.GRE.Tunnel.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.GRE.Tunnel.{i}.Stats.ErrorsReceived";
-    }
-  }
-
-  grouping device-gateway-info-g {
-    description
-      "Grouping object for Device.GatewayInfo.";
-    leaf manufacturer-oui {
-      type string;
-      config false;
-      description
-        "Device.GatewayInfo.ManufacturerOUI";
-      reference
-        "Device.GatewayInfo.ManufacturerOUI";
-    }
-    leaf product-class {
-      type string;
-      config false;
-      description
-        "Device.GatewayInfo.ProductClass";
-      reference
-        "Device.GatewayInfo.ProductClass";
-    }
-    leaf serial-number {
-      type string;
-      config false;
-      description
-        "Device.GatewayInfo.SerialNumber";
-      reference
-        "Device.GatewayInfo.SerialNumber";
-    }
-  }
-
-  grouping device-ghn-g {
-    description
-      "Grouping object for Device.Ghn.";
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.InterfaceNumberOfEntries";
-      reference
-        "Device.Ghn.InterfaceNumberOfEntries";
-    }
-  }
-
-  grouping diagnostics-phy-throughput-g {
-    description
-      "Grouping object for Device.Ghn.Diagnostics.PHYThroughput.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Canceled {
-          description
-            "Enum Value - Canceled";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error {
-          description
-            "Enum Value - Error";
-        }
-      }
-      description
-        "Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState";
-      reference
-        "Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState";
-    }
-    leaf interface {
-      type string;
-      description
-        "Device.Ghn.Diagnostics.PHYThroughput.Interface";
-      reference
-        "Device.Ghn.Diagnostics.PHYThroughput.Interface";
-    }
-    leaf diagnose-mac-address {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.Ghn.Diagnostics.PHYThroughput.DiagnoseMACAddress";
-      reference
-        "Device.Ghn.Diagnostics.PHYThroughput.DiagnoseMACAddress";
-    }
-    leaf phy-throughput-result-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PHYThroughput.PHYThroughputResultNumberOfEntries";
-      reference
-        "Device.Ghn.Diagnostics.PHYThroughput.PHYThroughputResultNumberOfEntries";
-    }
-  }
-
-  grouping phy-throughput-result-g {
-    description
-      "Grouping object for Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf destination-mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.DestinationMACAddress";
-      reference
-        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.DestinationMACAddress";
-    }
-    leaf link-state {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.LinkState";
-      reference
-        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.LinkState";
-    }
-    leaf tx-phy-rate {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.TxPhyRate";
-      reference
-        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.TxPhyRate";
-    }
-    leaf rx-phy-rate {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.RxPhyRate";
-      reference
-        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.RxPhyRate";
-    }
-  }
-
-  grouping diagnostics-performance-monitoring-g {
-    description
-      "Grouping object for Device.Ghn.Diagnostics.PerformanceMonitoring.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Canceled {
-          description
-            "Enum Value - Canceled";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error {
-          description
-            "Enum Value - Error";
-        }
-      }
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState";
-    }
-    leaf interface {
-      type string;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Interface";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Interface";
-    }
-    leaf diagnose-mac-address {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnoseMACAddress";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnoseMACAddress";
-    }
-    leaf sample-interval {
-      type uint32;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.SampleInterval";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.SampleInterval";
-    }
-    leaf snr-group-length {
-      type uint32 {
-        range "1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256";
-      }
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.SNRGroupLength";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.SNRGroupLength";
-    }
-  }
-
-  grouping performance-monitoring-channels-g {
-    description
-      "Grouping object for Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.";
-    leaf time-stamp {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.TimeStamp";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.TimeStamp";
-    }
-    leaf channel-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.ChannelNumberOfEntries";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.ChannelNumberOfEntries";
-    }
-  }
-
-  grouping channels-channel-g {
-    description
-      "Grouping object for Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf destination-mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.DestinationMACAddress";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.DestinationMACAddress";
-    }
-    leaf snr {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.SNR";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.SNR";
-    }
-  }
-
-  grouping performance-monitoring-nodes-g {
-    description
-      "Grouping object for Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.";
-    leaf current-start {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.CurrentStart";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.CurrentStart";
-    }
-    leaf current-end {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.CurrentEnd";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.CurrentEnd";
-    }
-    leaf node-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.NodeNumberOfEntries";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.NodeNumberOfEntries";
-    }
-  }
-
-  grouping nodes-node-g {
-    description
-      "Grouping object for Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf destination-mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DestinationMACAddress";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DestinationMACAddress";
-    }
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesSent";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSent";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ErrorsSent";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ErrorsReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnicastPacketsSent";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnicastPacketsReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DiscardPacketsSent";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DiscardPacketsReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSent";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSent";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnknownProtoPacketsReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnknownProtoPacketsReceived";
-    }
-    leaf mgmt-bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtBytesSent";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtBytesSent";
-    }
-    leaf mgmt-bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtBytesReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtBytesReceived";
-    }
-    leaf mgmt-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtPacketsSent";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtPacketsSent";
-    }
-    leaf mgmt-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtPacketsReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtPacketsReceived";
-    }
-    leaf blocks-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksSent";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksSent";
-    }
-    leaf blocks-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksReceived";
-    }
-    leaf blocks-resent {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksResent";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksResent";
-    }
-    leaf blocks-errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksErrorsReceived";
-      reference
-        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksErrorsReceived";
-    }
-  }
-
-  grouping ghn-interface-g {
-    description
-      "Grouping object for Device.Ghn.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Ghn.Interface.{i}.Enable";
-      reference
-        "Device.Ghn.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Status";
-      reference
-        "Device.Ghn.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Ghn.Interface.{i}.Alias";
-      reference
-        "Device.Ghn.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Name";
-      reference
-        "Device.Ghn.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.LastChange";
-      reference
-        "Device.Ghn.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.Ghn.Interface.{i}.LowerLayers";
-      reference
-        "Device.Ghn.Interface.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Upstream";
-      reference
-        "Device.Ghn.Interface.{i}.Upstream";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.MACAddress";
-      reference
-        "Device.Ghn.Interface.{i}.MACAddress";
-    }
-    leaf firmware-version {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.FirmwareVersion";
-      reference
-        "Device.Ghn.Interface.{i}.FirmwareVersion";
-    }
-    leaf connection-type {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.ConnectionType";
-      reference
-        "Device.Ghn.Interface.{i}.ConnectionType";
-    }
-    leaf max-transmit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.MaxTransmitRate";
-      reference
-        "Device.Ghn.Interface.{i}.MaxTransmitRate";
-    }
-    leaf target-domain-names {
-      type string {
-        length "min..32";
-      }
-      description
-        "Device.Ghn.Interface.{i}.TargetDomainNames";
-      reference
-        "Device.Ghn.Interface.{i}.TargetDomainNames";
-    }
-    leaf domain-name {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.DomainName";
-      reference
-        "Device.Ghn.Interface.{i}.DomainName";
-    }
-    leaf domain-name-identifier {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.DomainNameIdentifier";
-      reference
-        "Device.Ghn.Interface.{i}.DomainNameIdentifier";
-    }
-    leaf domain-id {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.DomainId";
-      reference
-        "Device.Ghn.Interface.{i}.DomainId";
-    }
-    leaf device-id {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.DeviceId";
-      reference
-        "Device.Ghn.Interface.{i}.DeviceId";
-    }
-    leaf max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.MaxBitRate";
-      reference
-        "Device.Ghn.Interface.{i}.MaxBitRate";
-    }
-    leaf node-type-dm-capable {
-      type boolean;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.NodeTypeDMCapable";
-      reference
-        "Device.Ghn.Interface.{i}.NodeTypeDMCapable";
-    }
-    leaf dm-requested {
-      type boolean;
-      description
-        "Device.Ghn.Interface.{i}.DMRequested";
-      reference
-        "Device.Ghn.Interface.{i}.DMRequested";
-    }
-    leaf is-dm {
-      type boolean;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.IsDM";
-      reference
-        "Device.Ghn.Interface.{i}.IsDM";
-    }
-    leaf node-type-sc-capable {
-      type boolean;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.NodeTypeSCCapable";
-      reference
-        "Device.Ghn.Interface.{i}.NodeTypeSCCapable";
-    }
-    leaf sc-requested {
-      type boolean;
-      description
-        "Device.Ghn.Interface.{i}.SCRequested";
-      reference
-        "Device.Ghn.Interface.{i}.SCRequested";
-    }
-    leaf is-sc {
-      type boolean;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.IsSC";
-      reference
-        "Device.Ghn.Interface.{i}.IsSC";
-    }
-    leaf standard-versions {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.StandardVersions";
-      reference
-        "Device.Ghn.Interface.{i}.StandardVersions";
-    }
-    leaf max-band-plan {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.MaxBandPlan";
-      reference
-        "Device.Ghn.Interface.{i}.MaxBandPlan";
-    }
-    leaf medium-type {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.MediumType";
-      reference
-        "Device.Ghn.Interface.{i}.MediumType";
-    }
-    leaf taifg {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.TAIFG";
-      reference
-        "Device.Ghn.Interface.{i}.TAIFG";
-    }
-    leaf notched-amateur-radio-bands {
-      type string {
-        length "min..2";
-      }
-      description
-        "Device.Ghn.Interface.{i}.NotchedAmateurRadioBands";
-      reference
-        "Device.Ghn.Interface.{i}.NotchedAmateurRadioBands";
-    }
-    leaf phy-throughput-diagnostics-enable {
-      type string;
-      description
-        "Device.Ghn.Interface.{i}.PHYThroughputDiagnosticsEnable";
-      reference
-        "Device.Ghn.Interface.{i}.PHYThroughputDiagnosticsEnable";
-    }
-    leaf performance-monitoring-diagnostics-enable {
-      type string;
-      description
-        "Device.Ghn.Interface.{i}.PerformanceMonitoringDiagnosticsEnable";
-      reference
-        "Device.Ghn.Interface.{i}.PerformanceMonitoringDiagnosticsEnable";
-    }
-    leaf sm-masked-band-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.SMMaskedBandNumberOfEntries";
-      reference
-        "Device.Ghn.Interface.{i}.SMMaskedBandNumberOfEntries";
-    }
-    leaf node-type-dm-config {
-      type boolean;
-      description
-        "Device.Ghn.Interface.{i}.NodeTypeDMConfig";
-      reference
-        "Device.Ghn.Interface.{i}.NodeTypeDMConfig";
-    }
-    leaf node-type-dm-status {
-      type boolean;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.NodeTypeDMStatus";
-      reference
-        "Device.Ghn.Interface.{i}.NodeTypeDMStatus";
-    }
-    leaf node-type-sc-status {
-      type boolean;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.NodeTypeSCStatus";
-      reference
-        "Device.Ghn.Interface.{i}.NodeTypeSCStatus";
-    }
-    leaf associated-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.AssociatedDeviceNumberOfEntries";
-      reference
-        "Device.Ghn.Interface.{i}.AssociatedDeviceNumberOfEntries";
-    }
-    leaf psm {
-      type uint32 {
-        range "min..max";
-      }
-      description
-        "Device.Ghn.Interface.{i}.PSM";
-      reference
-        "Device.Ghn.Interface.{i}.PSM";
-    }
-  }
-
-  grouping interface-associated-device-g {
-    description
-      "Grouping object for Device.Ghn.Interface.{i}.AssociatedDevice.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.MACAddress";
-      reference
-        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.MACAddress";
-    }
-    leaf device-id {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.DeviceId";
-      reference
-        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.DeviceId";
-    }
-    leaf tx-phy-rate {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.TxPhyRate";
-      reference
-        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.TxPhyRate";
-    }
-    leaf rx-phy-rate {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.RxPhyRate";
-      reference
-        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.RxPhyRate";
-    }
-    leaf active {
-      type boolean;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.Active";
-      reference
-        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.Active";
-    }
-  }
-
-  grouping interface-dm-info-g {
-    description
-      "Grouping object for Device.Ghn.Interface.{i}.DMInfo.";
-    leaf domain-name {
-      type string {
-        length "min..32";
-      }
-      description
-        "Device.Ghn.Interface.{i}.DMInfo.DomainName";
-      reference
-        "Device.Ghn.Interface.{i}.DMInfo.DomainName";
-    }
-    leaf domain-name-identifier {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.DMInfo.DomainNameIdentifier";
-      reference
-        "Device.Ghn.Interface.{i}.DMInfo.DomainNameIdentifier";
-    }
-    leaf domain-id {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.DMInfo.DomainId";
-      reference
-        "Device.Ghn.Interface.{i}.DMInfo.DomainId";
-    }
-    leaf mac-cycle-duration {
-      type uint32 {
-        range "0 | 10..200";
-      }
-      description
-        "Device.Ghn.Interface.{i}.DMInfo.MACCycleDuration";
-      reference
-        "Device.Ghn.Interface.{i}.DMInfo.MACCycleDuration";
-    }
-    leaf sc-device-id {
-      type uint32;
-      description
-        "Device.Ghn.Interface.{i}.DMInfo.SCDeviceId";
-      reference
-        "Device.Ghn.Interface.{i}.DMInfo.SCDeviceId";
-    }
-    leaf scmac-address {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.Ghn.Interface.{i}.DMInfo.SCMACAddress";
-      reference
-        "Device.Ghn.Interface.{i}.DMInfo.SCMACAddress";
-    }
-    leaf reregistration-time-period {
-      type uint32 {
-        range "5..63";
-      }
-      description
-        "Device.Ghn.Interface.{i}.DMInfo.ReregistrationTimePeriod";
-      reference
-        "Device.Ghn.Interface.{i}.DMInfo.ReregistrationTimePeriod";
-    }
-    leaf topology-periodic-interval {
-      type uint32 {
-        range "0..255";
-      }
-      description
-        "Device.Ghn.Interface.{i}.DMInfo.TopologyPeriodicInterval";
-      reference
-        "Device.Ghn.Interface.{i}.DMInfo.TopologyPeriodicInterval";
-    }
-    leaf min-supported-bandplan {
-      type uint32;
-      description
-        "Device.Ghn.Interface.{i}.DMInfo.MinSupportedBandplan";
-      reference
-        "Device.Ghn.Interface.{i}.DMInfo.MinSupportedBandplan";
-    }
-    leaf max-supported-bandplan {
-      type uint32;
-      description
-        "Device.Ghn.Interface.{i}.DMInfo.MaxSupportedBandplan";
-      reference
-        "Device.Ghn.Interface.{i}.DMInfo.MaxSupportedBandplan";
-    }
-  }
-
-  grouping interface-sc-info-g {
-    description
-      "Grouping object for Device.Ghn.Interface.{i}.SCInfo.";
-    leaf modes-supported {
-      type string;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.SCInfo.ModesSupported";
-      reference
-        "Device.Ghn.Interface.{i}.SCInfo.ModesSupported";
-    }
-    leaf mode-enabled {
-      type string;
-      description
-        "Device.Ghn.Interface.{i}.SCInfo.ModeEnabled";
-      reference
-        "Device.Ghn.Interface.{i}.SCInfo.ModeEnabled";
-    }
-    leaf mic-size {
-      type enumeration {
-        enum "4-byte MIC" {
-          description
-            "Enum Value - 4-byte MIC";
-        }
-        enum "8-byte MIC" {
-          description
-            "Enum Value - 8-byte MIC";
-        }
-        enum "16-byte MIC" {
-          description
-            "Enum Value - 16-byte MIC";
-        }
-      }
-      description
-        "Device.Ghn.Interface.{i}.SCInfo.MICSize";
-      reference
-        "Device.Ghn.Interface.{i}.SCInfo.MICSize";
-    }
-    leaf location {
-      type boolean;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.SCInfo.Location";
-      reference
-        "Device.Ghn.Interface.{i}.SCInfo.Location";
-    }
-  }
-
-  grouping interface-sm-masked-band-g {
-    description
-      "Grouping object for Device.Ghn.Interface.{i}.SMMaskedBand.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.Enable";
-      reference
-        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.Enable";
-    }
-    leaf band-number {
-      type uint32;
-      description
-        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.BandNumber";
-      reference
-        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.BandNumber";
-    }
-    leaf start-sub-carrier {
-      type uint32;
-      description
-        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.StartSubCarrier";
-      reference
-        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.StartSubCarrier";
-    }
-    leaf stop-sub-carrier {
-      type uint32;
-      description
-        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.StopSubCarrier";
-      reference
-        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.StopSubCarrier";
-    }
-  }
-
-  grouping ghn-interface-stats-g {
-    description
-      "Grouping object for Device.Ghn.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-    leaf mgmt-bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.MgmtBytesSent";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.MgmtBytesSent";
-    }
-    leaf mgmt-bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.MgmtBytesReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.MgmtBytesReceived";
-    }
-    leaf mgmt-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.MgmtPacketsSent";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.MgmtPacketsSent";
-    }
-    leaf mgmt-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.MgmtPacketsReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.MgmtPacketsReceived";
-    }
-    leaf blocks-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.BlocksSent";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.BlocksSent";
-    }
-    leaf blocks-received {
-      type uint64;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.BlocksReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.BlocksReceived";
-    }
-    leaf blocks-resent {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.BlocksResent";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.BlocksResent";
-    }
-    leaf blocks-errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.Ghn.Interface.{i}.Stats.BlocksErrorsReceived";
-      reference
-        "Device.Ghn.Interface.{i}.Stats.BlocksErrorsReceived";
-    }
-  }
-
-  grouping device-hpna-g {
-    description
-      "Grouping object for Device.HPNA.";
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.InterfaceNumberOfEntries";
-      reference
-        "Device.HPNA.InterfaceNumberOfEntries";
-    }
-  }
-
-  grouping hpna-diagnostics-phy-throughput-g {
-    description
-      "Grouping object for Device.HPNA.Diagnostics.PHYThroughput.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Canceled {
-          description
-            "Enum Value - Canceled";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error {
-          description
-            "Enum Value - Error";
-        }
-        enum Error_FailToEnableCert {
-          description
-            "Enum Value - Error_FailToEnableCert";
-        }
-        enum Error_CertCmdTimeout {
-          description
-            "Enum Value - Error_CertCmdTimeout";
-        }
-        enum Error_UnknownErr {
-          description
-            "Enum Value - Error_UnknownErr";
-        }
-        enum Error_UnsupportedOpcode {
-          description
-            "Enum Value - Error_UnsupportedOpcode";
-        }
-        enum Error_InvalidParam {
-          description
-            "Enum Value - Error_InvalidParam";
-        }
-        enum Error_UnsupportedCmdSegment {
-          description
-            "Enum Value - Error_UnsupportedCmdSegment";
-        }
-        enum Error_UnsupportedDataGen {
-          description
-            "Enum Value - Error_UnsupportedDataGen";
-        }
-        enum Error_InvalidSequence {
-          description
-            "Enum Value - Error_InvalidSequence";
-        }
-        enum Error_InvalidFrame {
-          description
-            "Enum Value - Error_InvalidFrame";
-        }
-        enum Eror_InvalidOpcode {
-          description
-            "Enum Value - Eror_InvalidOpcode";
-        }
-      }
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.Interface";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.Interface";
-    }
-    leaf num-packets-in-burst {
-      type uint32;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.NumPacketsInBurst";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.NumPacketsInBurst";
-    }
-    leaf burst-interval {
-      type uint32;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.BurstInterval";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.BurstInterval";
-    }
-    leaf test-packet-payload-length {
-      type uint32 {
-        range "0..1480";
-      }
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.TestPacketPayloadLength";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.TestPacketPayloadLength";
-    }
-    leaf payload-encoding {
-      type uint32;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.PayloadEncoding";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.PayloadEncoding";
-    }
-    leaf payload-data-gen {
-      type uint32;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.PayloadDataGen";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.PayloadDataGen";
-    }
-    leaf payload-type {
-      type enumeration {
-        enum Pattern {
-          description
-            "Enum Value - Pattern";
-        }
-        enum IncrementByte {
-          description
-            "Enum Value - IncrementByte";
-        }
-      }
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.PayloadType";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.PayloadType";
-    }
-    leaf priority-level {
-      type uint32 {
-        range "0..7";
-      }
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.PriorityLevel";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.PriorityLevel";
-    }
-    leaf result-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.ResultNumberOfEntries";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.ResultNumberOfEntries";
-    }
-  }
-
-  grouping diagnostics-phy-throughput-result-g {
-    description
-      "Grouping object for Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf src-mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.SrcMACAddress";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.SrcMACAddress";
-    }
-    leaf dest-mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.DestMACAddress";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.DestMACAddress";
-    }
-    leaf phy-rate {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.PHYRate";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.PHYRate";
-    }
-    leaf baud-rate {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.BaudRate";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.BaudRate";
-    }
-    leaf snr {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.SNR";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.SNR";
-    }
-    leaf packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.PacketsReceived";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.PacketsReceived";
-    }
-    leaf attenuation {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.Attenuation";
-      reference
-        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.Attenuation";
-    }
-  }
-
-  grouping hpna-diagnostics-performance-monitoring-g {
-    description
-      "Grouping object for Device.HPNA.Diagnostics.PerformanceMonitoring.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Canceled {
-          description
-            "Enum Value - Canceled";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error {
-          description
-            "Enum Value - Error";
-        }
-        enum Error_SampleIntervalTooSmall {
-          description
-            "Enum Value - Error_SampleIntervalTooSmall";
-        }
-      }
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Interface";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Interface";
-    }
-    leaf sample-interval {
-      type uint32;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.SampleInterval";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.SampleInterval";
-    }
-  }
-
-  grouping diagnostics-performance-monitoring-channels-g {
-    description
-      "Grouping object for Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.";
-    leaf time-stamp {
-      type string;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.TimeStamp";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.TimeStamp";
-    }
-    leaf channel-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.ChannelNumberOfEntries";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.ChannelNumberOfEntries";
-    }
-  }
-
-  grouping performance-monitoring-channels-channel-g {
-    description
-      "Grouping object for Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf host-src-mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HostSrcMACAddress";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HostSrcMACAddress";
-    }
-    leaf host-dest-mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HostDestMACAddress";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HostDestMACAddress";
-    }
-    leaf hpna-src-mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HPNASrcMACAddress";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HPNASrcMACAddress";
-    }
-    leaf hpna-dest-mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HPNADestMACAddress";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HPNADestMACAddress";
-    }
-    leaf phy-rate {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PHYRate";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PHYRate";
-    }
-    leaf baud-rate {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.BaudRate";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.BaudRate";
-    }
-    leaf snr {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.SNR";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.SNR";
-    }
-    leaf packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PacketsSent";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PacketsSent";
-    }
-    leaf packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PacketsReceived";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PacketsReceived";
-    }
-    leaf larq-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.LARQPacketsReceived";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.LARQPacketsReceived";
-    }
-    leaf flow-spec {
-      type string;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.FlowSpec";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.FlowSpec";
-    }
-  }
-
-  grouping diagnostics-performance-monitoring-nodes-g {
-    description
-      "Grouping object for Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.";
-    leaf current-start {
-      type string;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.CurrentStart";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.CurrentStart";
-    }
-    leaf current-end {
-      type string;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.CurrentEnd";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.CurrentEnd";
-    }
-    leaf node-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.NodeNumberOfEntries";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.NodeNumberOfEntries";
-    }
-  }
-
-  grouping performance-monitoring-nodes-node-g {
-    description
-      "Grouping object for Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MACAddress";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MACAddress";
-    }
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesSent";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesReceived";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSent";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceived";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSent";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsReceived";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSent";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsReceived";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsReceived";
-    }
-    leaf packets-crc-errored {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsCrcErrored";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsCrcErrored";
-    }
-    leaf packets-crc-errored-host {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsCrcErroredHost";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsCrcErroredHost";
-    }
-    leaf packets-short-errored {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsShortErrored";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsShortErrored";
-    }
-    leaf packets-short-errored-host {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsShortErroredHost";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsShortErroredHost";
-    }
-    leaf rx-packets-dropped {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.RxPacketsDropped";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.RxPacketsDropped";
-    }
-    leaf tx-packets-dropped {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.TxPacketsDropped";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.TxPacketsDropped";
-    }
-    leaf control-request-local {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlRequestLocal";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlRequestLocal";
-    }
-    leaf control-reply-local {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlReplyLocal";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlReplyLocal";
-    }
-    leaf control-request-remote {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlRequestRemote";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlRequestRemote";
-    }
-    leaf control-reply-remote {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlReplyRemote";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlReplyRemote";
-    }
-    leaf packets-sent-wire {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSentWire";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSentWire";
-    }
-    leaf broadcast-packets-sent-wire {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSentWire";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSentWire";
-    }
-    leaf multicast-packets-sent-wire {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSentWire";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSentWire";
-    }
-    leaf packets-internal-control {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsInternalControl";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsInternalControl";
-    }
-    leaf broadcast-packets-internal-control {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsInternalControl";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsInternalControl";
-    }
-    leaf packets-received-queued {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceivedQueued";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceivedQueued";
-    }
-    leaf packets-received-forward-unknown {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceivedForwardUnknown";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceivedForwardUnknown";
-    }
-    leaf node-utilization {
-      type uint32 {
-        range "0..1000";
-      }
-      config false;
-      description
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.NodeUtilization";
-      reference
-        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.NodeUtilization";
-    }
-  }
-
-  grouping hpna-interface-g {
-    description
-      "Grouping object for Device.HPNA.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.HPNA.Interface.{i}.Enable";
-      reference
-        "Device.HPNA.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Status";
-      reference
-        "Device.HPNA.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.HPNA.Interface.{i}.Alias";
-      reference
-        "Device.HPNA.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Name";
-      reference
-        "Device.HPNA.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.LastChange";
-      reference
-        "Device.HPNA.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.HPNA.Interface.{i}.LowerLayers";
-      reference
-        "Device.HPNA.Interface.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Upstream";
-      reference
-        "Device.HPNA.Interface.{i}.Upstream";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.MACAddress";
-      reference
-        "Device.HPNA.Interface.{i}.MACAddress";
-    }
-    leaf firmware-version {
-      type string;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.FirmwareVersion";
-      reference
-        "Device.HPNA.Interface.{i}.FirmwareVersion";
-    }
-    leaf node-id {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.NodeID";
-      reference
-        "Device.HPNA.Interface.{i}.NodeID";
-    }
-    leaf is-master {
-      type boolean;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.IsMaster";
-      reference
-        "Device.HPNA.Interface.{i}.IsMaster";
-    }
-    leaf synced {
-      type boolean;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Synced";
-      reference
-        "Device.HPNA.Interface.{i}.Synced";
-    }
-    leaf total-sync-time {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.TotalSyncTime";
-      reference
-        "Device.HPNA.Interface.{i}.TotalSyncTime";
-    }
-    leaf max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.MaxBitRate";
-      reference
-        "Device.HPNA.Interface.{i}.MaxBitRate";
-    }
-    leaf network-utilization {
-      type uint32 {
-        range "0..1000";
-      }
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.NetworkUtilization";
-      reference
-        "Device.HPNA.Interface.{i}.NetworkUtilization";
-    }
-    leaf possible-connection-types {
-      type string;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.PossibleConnectionTypes";
-      reference
-        "Device.HPNA.Interface.{i}.PossibleConnectionTypes";
-    }
-    leaf connection-type {
-      type string;
-      description
-        "Device.HPNA.Interface.{i}.ConnectionType";
-      reference
-        "Device.HPNA.Interface.{i}.ConnectionType";
-    }
-    leaf possible-spectral-modes {
-      type string;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.PossibleSpectralModes";
-      reference
-        "Device.HPNA.Interface.{i}.PossibleSpectralModes";
-    }
-    leaf spectral-mode {
-      type string;
-      description
-        "Device.HPNA.Interface.{i}.SpectralMode";
-      reference
-        "Device.HPNA.Interface.{i}.SpectralMode";
-    }
-    leaf mtu {
-      type uint32;
-      description
-        "Device.HPNA.Interface.{i}.MTU";
-      reference
-        "Device.HPNA.Interface.{i}.MTU";
-    }
-    leaf noise-margin {
-      type uint32;
-      description
-        "Device.HPNA.Interface.{i}.NoiseMargin";
-      reference
-        "Device.HPNA.Interface.{i}.NoiseMargin";
-    }
-    leaf default-non-larqper {
-      type uint32;
-      description
-        "Device.HPNA.Interface.{i}.DefaultNonLARQPER";
-      reference
-        "Device.HPNA.Interface.{i}.DefaultNonLARQPER";
-    }
-    leaf larq-enable {
-      type boolean;
-      description
-        "Device.HPNA.Interface.{i}.LARQEnable";
-      reference
-        "Device.HPNA.Interface.{i}.LARQEnable";
-    }
-    leaf min-multicast-rate {
-      type uint32;
-      description
-        "Device.HPNA.Interface.{i}.MinMulticastRate";
-      reference
-        "Device.HPNA.Interface.{i}.MinMulticastRate";
-    }
-    leaf neg-multicast-rate {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.NegMulticastRate";
-      reference
-        "Device.HPNA.Interface.{i}.NegMulticastRate";
-    }
-    leaf master-selection-mode {
-      type enumeration {
-        enum Automatic {
-          description
-            "Enum Value - Automatic";
-        }
-        enum ForceEndpoint {
-          description
-            "Enum Value - ForceEndpoint";
-        }
-        enum ForceMaster {
-          description
-            "Enum Value - ForceMaster";
-        }
-      }
-      description
-        "Device.HPNA.Interface.{i}.MasterSelectionMode";
-      reference
-        "Device.HPNA.Interface.{i}.MasterSelectionMode";
-    }
-    leaf associated-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.AssociatedDeviceNumberOfEntries";
-      reference
-        "Device.HPNA.Interface.{i}.AssociatedDeviceNumberOfEntries";
-    }
-  }
-
-  grouping hpna-interface-associated-device-g {
-    description
-      "Grouping object for Device.HPNA.Interface.{i}.AssociatedDevice.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.MACAddress";
-      reference
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.MACAddress";
-    }
-    leaf node-id {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.NodeID";
-      reference
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.NodeID";
-    }
-    leaf is-master {
-      type boolean;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.IsMaster";
-      reference
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.IsMaster";
-    }
-    leaf synced {
-      type boolean;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.Synced";
-      reference
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.Synced";
-    }
-    leaf total-sync-time {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.TotalSyncTime";
-      reference
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.TotalSyncTime";
-    }
-    leaf max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.MaxBitRate";
-      reference
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.MaxBitRate";
-    }
-    leaf phy-diagnostics-enable {
-      type boolean;
-      description
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.PHYDiagnosticsEnable";
-      reference
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.PHYDiagnosticsEnable";
-    }
-    leaf active {
-      type boolean;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.Active";
-      reference
-        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.Active";
-    }
-  }
-
-  grouping interface-qo-s-g {
-    description
-      "Grouping object for Device.HPNA.Interface.{i}.QoS.";
-    leaf flow-spec-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpecNumberOfEntries";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpecNumberOfEntries";
-    }
-  }
-
-  grouping qo-s-flow-spec-g {
-    description
-      "Grouping object for Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Enable";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Status";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Alias";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Alias";
-    }
-    leaf traffic-classes {
-      type uint32;
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.TrafficClasses";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.TrafficClasses";
-    }
-    leaf flow-type {
-      type enumeration {
-        enum CBR {
-          description
-            "Enum Value - CBR";
-        }
-        enum VBR {
-          description
-            "Enum Value - VBR";
-        }
-        enum VBR-NRT {
-          description
-            "Enum Value - VBR-NRT";
-        }
-        enum BE {
-          description
-            "Enum Value - BE";
-        }
-      }
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.FlowType";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.FlowType";
-    }
-    leaf priority {
-      type uint32 {
-        range "0..7";
-      }
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Priority";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Priority";
-    }
-    leaf latency {
-      type uint32 {
-        range "0..999";
-      }
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Latency";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Latency";
-    }
-    leaf jitter {
-      type uint32 {
-        range "0..999";
-      }
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Jitter";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Jitter";
-    }
-    leaf packet-size {
-      type uint32 {
-        range "0..max";
-      }
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.PacketSize";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.PacketSize";
-    }
-    leaf min-rate {
-      type uint32;
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.MinRate";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.MinRate";
-    }
-    leaf avg-rate {
-      type uint32;
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.AvgRate";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.AvgRate";
-    }
-    leaf max-rate {
-      type uint32;
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.MaxRate";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.MaxRate";
-    }
-    leaf per {
-      type uint32;
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.PER";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.PER";
-    }
-    leaf timeout {
-      type uint32;
-      description
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Timeout";
-      reference
-        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Timeout";
-    }
-  }
-
-  grouping hpna-interface-stats-g {
-    description
-      "Grouping object for Device.HPNA.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.HPNA.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.HPNA.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping device-home-plug-g {
-    description
-      "Grouping object for Device.HomePlug.";
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.InterfaceNumberOfEntries";
-      reference
-        "Device.HomePlug.InterfaceNumberOfEntries";
-    }
-  }
-
-  grouping home-plug-interface-g {
-    description
-      "Grouping object for Device.HomePlug.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.HomePlug.Interface.{i}.Enable";
-      reference
-        "Device.HomePlug.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Status";
-      reference
-        "Device.HomePlug.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.HomePlug.Interface.{i}.Alias";
-      reference
-        "Device.HomePlug.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Name";
-      reference
-        "Device.HomePlug.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.LastChange";
-      reference
-        "Device.HomePlug.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.HomePlug.Interface.{i}.LowerLayers";
-      reference
-        "Device.HomePlug.Interface.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Upstream";
-      reference
-        "Device.HomePlug.Interface.{i}.Upstream";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.MACAddress";
-      reference
-        "Device.HomePlug.Interface.{i}.MACAddress";
-    }
-    leaf logical-network {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.HomePlug.Interface.{i}.LogicalNetwork";
-      reference
-        "Device.HomePlug.Interface.{i}.LogicalNetwork";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Version";
-      reference
-        "Device.HomePlug.Interface.{i}.Version";
-    }
-    leaf firmware-version {
-      type string;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.FirmwareVersion";
-      reference
-        "Device.HomePlug.Interface.{i}.FirmwareVersion";
-    }
-    leaf force-c-co {
-      type boolean;
-      description
-        "Device.HomePlug.Interface.{i}.ForceCCo";
-      reference
-        "Device.HomePlug.Interface.{i}.ForceCCo";
-    }
-    leaf other-networks-present {
-      type string;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.OtherNetworksPresent";
-      reference
-        "Device.HomePlug.Interface.{i}.OtherNetworksPresent";
-    }
-    leaf max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.MaxBitRate";
-      reference
-        "Device.HomePlug.Interface.{i}.MaxBitRate";
-    }
-    leaf associated-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.AssociatedDeviceNumberOfEntries";
-      reference
-        "Device.HomePlug.Interface.{i}.AssociatedDeviceNumberOfEntries";
-    }
-  }
-
-  grouping home-plug-interface-associated-device-g {
-    description
-      "Grouping object for Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.MACAddress";
-      reference
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.MACAddress";
-    }
-    leaf tx-phy-rate {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.TxPhyRate";
-      reference
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.TxPhyRate";
-    }
-    leaf rx-phy-rate {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.RxPhyRate";
-      reference
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.RxPhyRate";
-    }
-    leaf snr-per-tone {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.SNRPerTone";
-      reference
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.SNRPerTone";
-    }
-    leaf avg-attenuation {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.AvgAttenuation";
-      reference
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.AvgAttenuation";
-    }
-    leaf end-station-ma-cs {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.EndStationMACs";
-      reference
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.EndStationMACs";
-    }
-    leaf active {
-      type boolean;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.Active";
-      reference
-        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.Active";
-    }
-  }
-
-  grouping home-plug-interface-stats-g {
-    description
-      "Grouping object for Device.HomePlug.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-    leaf mpdu-tx-ack {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.MPDUTxAck";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.MPDUTxAck";
-    }
-    leaf mpdu-tx-col {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.MPDUTxCol";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.MPDUTxCol";
-    }
-    leaf mpdu-tx-failed {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.MPDUTxFailed";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.MPDUTxFailed";
-    }
-    leaf mpdu-rx-ack {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.MPDURxAck";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.MPDURxAck";
-    }
-    leaf mpdu-rx-failed {
-      type uint64;
-      config false;
-      description
-        "Device.HomePlug.Interface.{i}.Stats.MPDURxFailed";
-      reference
-        "Device.HomePlug.Interface.{i}.Stats.MPDURxFailed";
-    }
-  }
-
-  grouping device-hosts-g {
-    description
-      "Grouping object for Device.Hosts.";
-    leaf host-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Hosts.HostNumberOfEntries";
-      reference
-        "Device.Hosts.HostNumberOfEntries";
-    }
-  }
-
-  grouping hosts-host-g {
-    description
-      "Grouping object for Device.Hosts.Host.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Hosts.Host.{i}.Alias";
-      reference
-        "Device.Hosts.Host.{i}.Alias";
-    }
-    leaf phys-address {
-      type string;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.PhysAddress";
-      reference
-        "Device.Hosts.Host.{i}.PhysAddress";
-    }
-    leaf ip-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.Hosts.Host.{i}.IPAddress";
-      reference
-        "Device.Hosts.Host.{i}.IPAddress";
-    }
-    leaf address-source {
-      type string;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.AddressSource";
-      reference
-        "Device.Hosts.Host.{i}.AddressSource";
-    }
-    leaf dhcp-client {
-      type string;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.DHCPClient";
-      reference
-        "Device.Hosts.Host.{i}.DHCPClient";
-    }
-    leaf lease-time-remaining {
-      type int32;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.LeaseTimeRemaining";
-      reference
-        "Device.Hosts.Host.{i}.LeaseTimeRemaining";
-    }
-    leaf associated-device {
-      type string;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.AssociatedDevice";
-      reference
-        "Device.Hosts.Host.{i}.AssociatedDevice";
-    }
-    leaf layer1-interface {
-      type string;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.Layer1Interface";
-      reference
-        "Device.Hosts.Host.{i}.Layer1Interface";
-    }
-    leaf layer3-interface {
-      type string;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.Layer3Interface";
-      reference
-        "Device.Hosts.Host.{i}.Layer3Interface";
-    }
-    leaf vendor-class-id {
-      type string;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.VendorClassID";
-      reference
-        "Device.Hosts.Host.{i}.VendorClassID";
-    }
-    leaf client-id {
-      type string;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.ClientID";
-      reference
-        "Device.Hosts.Host.{i}.ClientID";
-    }
-    leaf user-class-id {
-      type string;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.UserClassID";
-      reference
-        "Device.Hosts.Host.{i}.UserClassID";
-    }
-    leaf host-name {
-      type string;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.HostName";
-      reference
-        "Device.Hosts.Host.{i}.HostName";
-    }
-    leaf active {
-      type boolean;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.Active";
-      reference
-        "Device.Hosts.Host.{i}.Active";
-    }
-    leaf active-last-change {
-      type string;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.ActiveLastChange";
-      reference
-        "Device.Hosts.Host.{i}.ActiveLastChange";
-    }
-    leaf ipv4-address-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.IPv4AddressNumberOfEntries";
-      reference
-        "Device.Hosts.Host.{i}.IPv4AddressNumberOfEntries";
-    }
-    leaf ipv6-address-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.IPv6AddressNumberOfEntries";
-      reference
-        "Device.Hosts.Host.{i}.IPv6AddressNumberOfEntries";
-    }
-  }
-
-  grouping host-ipv4-address-g {
-    description
-      "Grouping object for Device.Hosts.Host.{i}.IPv4Address.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf ip-address {
-      type string {
-        length "min..15";
-      }
-      config false;
-      description
-        "Device.Hosts.Host.{i}.IPv4Address.{i}.IPAddress";
-      reference
-        "Device.Hosts.Host.{i}.IPv4Address.{i}.IPAddress";
-    }
-  }
-
-  grouping host-ipv6-address-g {
-    description
-      "Grouping object for Device.Hosts.Host.{i}.IPv6Address.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf ip-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.Hosts.Host.{i}.IPv6Address.{i}.IPAddress";
-      reference
-        "Device.Hosts.Host.{i}.IPv6Address.{i}.IPAddress";
-    }
-  }
-
-  grouping host-wan-stats-g {
-    description
-      "Grouping object for Device.Hosts.Host.{i}.WANStats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.WANStats.BytesSent";
-      reference
-        "Device.Hosts.Host.{i}.WANStats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.WANStats.BytesReceived";
-      reference
-        "Device.Hosts.Host.{i}.WANStats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.WANStats.PacketsSent";
-      reference
-        "Device.Hosts.Host.{i}.WANStats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.WANStats.PacketsReceived";
-      reference
-        "Device.Hosts.Host.{i}.WANStats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.WANStats.ErrorsSent";
-      reference
-        "Device.Hosts.Host.{i}.WANStats.ErrorsSent";
-    }
-    leaf retrans-count {
-      type uint32;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.WANStats.RetransCount";
-      reference
-        "Device.Hosts.Host.{i}.WANStats.RetransCount";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Hosts.Host.{i}.WANStats.DiscardPacketsSent";
-      reference
-        "Device.Hosts.Host.{i}.WANStats.DiscardPacketsSent";
-    }
-  }
-
-  grouping device-ieee1905-g {
-    description
-      "Grouping object for Device.IEEE1905.";
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.Version";
-      reference
-        "Device.IEEE1905.Version";
-    }
-  }
-
-  grouping ieee1905-al-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.";
-    leaf ieee1905-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.IEEE1905Id";
-      reference
-        "Device.IEEE1905.AL.IEEE1905Id";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Status";
-      reference
-        "Device.IEEE1905.AL.Status";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.LastChange";
-      reference
-        "Device.IEEE1905.AL.LastChange";
-    }
-    leaf lower-layers {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.LowerLayers";
-      reference
-        "Device.IEEE1905.AL.LowerLayers";
-    }
-    leaf registrar-freq-band {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.RegistrarFreqBand";
-      reference
-        "Device.IEEE1905.AL.RegistrarFreqBand";
-    }
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.InterfaceNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.InterfaceNumberOfEntries";
-    }
-  }
-
-  grouping al-forwarding-table-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.ForwardingTable.";
-    leaf set-forwarding-enabled {
-      type boolean;
-      description
-        "Device.IEEE1905.AL.ForwardingTable.SetForwardingEnabled";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.SetForwardingEnabled";
-    }
-    leaf forwarding-rule-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRuleNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRuleNumberOfEntries";
-    }
-  }
-
-  grouping forwarding-table-forwarding-rule-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf interface-list {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.InterfaceList";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.InterfaceList";
-    }
-    leaf mac-destination-address {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACDestinationAddress";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACDestinationAddress";
-    }
-    leaf mac-destination-address-flag {
-      type boolean;
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACDestinationAddressFlag";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACDestinationAddressFlag";
-    }
-    leaf mac-source-address {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACSourceAddress";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACSourceAddress";
-    }
-    leaf mac-source-address-flag {
-      type boolean;
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACSourceAddressFlag";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACSourceAddressFlag";
-    }
-    leaf ether-type {
-      type uint32;
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.EtherType";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.EtherType";
-    }
-    leaf ether-type-flag {
-      type boolean;
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.EtherTypeFlag";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.EtherTypeFlag";
-    }
-    leaf vid {
-      type uint32 {
-        range "0..4095";
-      }
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.Vid";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.Vid";
-    }
-    leaf vid-flag {
-      type boolean;
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.VidFlag";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.VidFlag";
-    }
-    leaf pcp {
-      type uint32 {
-        range "0..7";
-      }
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.PCP";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.PCP";
-    }
-    leaf pcp-flag {
-      type boolean;
-      description
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.PCPFlag";
-      reference
-        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.PCPFlag";
-    }
-  }
-
-  grouping al-interface-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf interface-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.InterfaceId";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.InterfaceId";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Status";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Status";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.LastChange";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.LowerLayers";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.LowerLayers";
-    }
-    leaf interface-stack-reference {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.InterfaceStackReference";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.InterfaceStackReference";
-    }
-    leaf media-type {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.MediaType";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.MediaType";
-    }
-    leaf generic-phy-oui {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.GenericPhyOUI";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.GenericPhyOUI";
-    }
-    leaf generic-phy-variant {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.GenericPhyVariant";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.GenericPhyVariant";
-    }
-    leaf generic-phy-url {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.GenericPhyURL";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.GenericPhyURL";
-    }
-    leaf set-intf-power-state-enabled {
-      type boolean;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.SetIntfPowerStateEnabled";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.SetIntfPowerStateEnabled";
-    }
-    leaf power-state {
-      type enumeration {
-        enum On {
-          description
-            "Enum Value - On";
-        }
-        enum Power_Save {
-          description
-            "Enum Value - Power_Save";
-        }
-        enum Off {
-          description
-            "Enum Value - Off";
-        }
-        enum Unsupported {
-          description
-            "Enum Value - Unsupported";
-        }
-      }
-      description
-        "Device.IEEE1905.AL.Interface.{i}.PowerState";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.PowerState";
-    }
-    leaf vendor-properties-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.VendorPropertiesNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.VendorPropertiesNumberOfEntries";
-    }
-    leaf link-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.LinkNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.LinkNumberOfEntries";
-    }
-  }
-
-  grouping interface-link-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.Interface.{i}.Link.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf interface-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.InterfaceId";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.InterfaceId";
-    }
-    leaf ieee1905-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.IEEE1905Id";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.IEEE1905Id";
-    }
-    leaf media-type {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.MediaType";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.MediaType";
-    }
-    leaf generic-phy-oui {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyOUI";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyOUI";
-    }
-    leaf generic-phy-variant {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyVariant";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyVariant";
-    }
-    leaf generic-phy-url {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyURL";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyURL";
-    }
-  }
-
-  grouping link-metric-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.";
-    leaf ieee802dot1-bridge {
-      type boolean;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.IEEE802dot1Bridge";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.IEEE802dot1Bridge";
-    }
-    leaf packet-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketErrors";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketErrors";
-    }
-    leaf packet-errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketErrorsReceived";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketErrorsReceived";
-    }
-    leaf transmitted-packets {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.TransmittedPackets";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.TransmittedPackets";
-    }
-    leaf packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketsReceived";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketsReceived";
-    }
-    leaf mac-throughput-capacity {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.MACThroughputCapacity";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.MACThroughputCapacity";
-    }
-    leaf link-availability {
-      type uint32 {
-        range "0..100";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.LinkAvailability";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.LinkAvailability";
-    }
-    leaf phy-rate {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PHYRate";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PHYRate";
-    }
-    leaf rssi {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.RSSI";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.RSSI";
-    }
-  }
-
-  grouping interface-vendor-properties-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf oui {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.OUI";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.OUI";
-    }
-    leaf information {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.Information";
-      reference
-        "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.Information";
-    }
-  }
-
-  grouping al-network-topology-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.Enable";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.Status";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.Status";
-    }
-    leaf max-change-log-entries {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IEEE1905.AL.NetworkTopology.MaxChangeLogEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.MaxChangeLogEntries";
-    }
-    leaf last-change {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.LastChange";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.LastChange";
-    }
-    leaf ieee1905-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905DeviceNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905DeviceNumberOfEntries";
-    }
-    leaf change-log-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLogNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLogNumberOfEntries";
-    }
-  }
-
-  grouping network-topology-change-log-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf time-stamp {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.TimeStamp";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.TimeStamp";
-    }
-    leaf event-type {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.EventType";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.EventType";
-    }
-    leaf reporter-device-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.ReporterDeviceId";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.ReporterDeviceId";
-    }
-    leaf reporter-interface-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.ReporterInterfaceId";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.ReporterInterfaceId";
-    }
-    leaf neighbor-type {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.NeighborType";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.NeighborType";
-    }
-    leaf neighbor-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.NeighborId";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.NeighborId";
-    }
-  }
-
-  grouping network-topology-ieee1905-device-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf ieee1905-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Id";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Id";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Version";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Version";
-    }
-    leaf registrar-freq-band {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.RegistrarFreqBand";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.RegistrarFreqBand";
-    }
-    leaf friendly-name {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.FriendlyName";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.FriendlyName";
-    }
-    leaf manufacturer-name {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ManufacturerName";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ManufacturerName";
-    }
-    leaf manufacturer-model {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ManufacturerModel";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ManufacturerModel";
-    }
-    leaf control-url {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ControlURL";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ControlURL";
-    }
-    leaf vendor-properties-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorPropertiesNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorPropertiesNumberOfEntries";
-    }
-    leaf ipv4-address-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4AddressNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4AddressNumberOfEntries";
-    }
-    leaf ipv6-address-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6AddressNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6AddressNumberOfEntries";
-    }
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.InterfaceNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.InterfaceNumberOfEntries";
-    }
-    leaf non-ieee1905-neighbor-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905NeighborNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905NeighborNumberOfEntries";
-    }
-    leaf ieee1905-neighbor-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905NeighborNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905NeighborNumberOfEntries";
-    }
-    leaf l2-neighbor-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2NeighborNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2NeighborNumberOfEntries";
-    }
-    leaf bridging-tuple-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTupleNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTupleNumberOfEntries";
-    }
-  }
-
-  grouping ieee1905-device-bridging-tuple-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf interface-list {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.InterfaceList";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.InterfaceList";
-    }
-  }
-
-  grouping ieee1905-device-ieee1905-neighbor-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf local-interface {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.LocalInterface";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.LocalInterface";
-    }
-    leaf neighbor-device-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.NeighborDeviceId";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.NeighborDeviceId";
-    }
-    leaf metric-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.MetricNumberOfEntries";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.MetricNumberOfEntries";
-    }
-  }
-
-  grouping ieee1905-neighbor-metric-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf neighbor-mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.NeighborMACAddress";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.NeighborMACAddress";
-    }
-    leaf ieee802dot1-bridge {
-      type boolean;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.IEEE802dot1Bridge";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.IEEE802dot1Bridge";
-    }
-    leaf packet-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketErrors";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketErrors";
-    }
-    leaf packet-errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketErrorsReceived";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketErrorsReceived";
-    }
-    leaf transmitted-packets {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.TransmittedPackets";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.TransmittedPackets";
-    }
-    leaf packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketsReceived";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketsReceived";
-    }
-    leaf mac-throughput-capacity {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.MACThroughputCapacity";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.MACThroughputCapacity";
-    }
-    leaf link-availability {
-      type uint32 {
-        range "0..100";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.LinkAvailability";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.LinkAvailability";
-    }
-    leaf phy-rate {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PHYRate";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PHYRate";
-    }
-    leaf rssi {
-      type uint32 {
-        range "0..255";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.RSSI";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.RSSI";
-    }
-  }
-
-  grouping ieee1905-device-ipv4-address-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.MACAddress";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.MACAddress";
-    }
-    leaf ipv4-address {
-      type string {
-        length "min..15";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.IPv4Address";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.IPv4Address";
-    }
-    leaf ipv4-address-type {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.IPv4AddressType";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.IPv4AddressType";
-    }
-    leaf dhcp-server {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.DHCPServer";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.DHCPServer";
-    }
-  }
-
-  grouping ieee1905-device-ipv6-address-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.MACAddress";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.MACAddress";
-    }
-    leaf ipv6-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6Address";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6Address";
-    }
-    leaf ipv6-address-type {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6AddressType";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6AddressType";
-    }
-    leaf ipv6-address-origin {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6AddressOrigin";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6AddressOrigin";
-    }
-  }
-
-  grouping ieee1905-device-interface-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf interface-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.InterfaceId";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.InterfaceId";
-    }
-    leaf media-type {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.MediaType";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.MediaType";
-    }
-    leaf power-state {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.PowerState";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.PowerState";
-    }
-    leaf generic-phy-oui {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyOUI";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyOUI";
-    }
-    leaf generic-phy-variant {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyVariant";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyVariant";
-    }
-    leaf generic-phy-url {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyURL";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyURL";
-    }
-    leaf network-membership {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.NetworkMembership";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.NetworkMembership";
-    }
-    leaf role {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.Role";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.Role";
-    }
-    leaf ap-channel-band {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.APChannelBand";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.APChannelBand";
-    }
-    leaf frequency-index1 {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.FrequencyIndex1";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.FrequencyIndex1";
-    }
-    leaf frequency-index2 {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.FrequencyIndex2";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.FrequencyIndex2";
-    }
-  }
-
-  grouping ieee1905-device-l2-neighbor-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf local-interface {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.LocalInterface";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.LocalInterface";
-    }
-    leaf neighbor-interface-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.NeighborInterfaceId";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.NeighborInterfaceId";
-    }
-    leaf behind-interface-ids {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.BehindInterfaceIds";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.BehindInterfaceIds";
-    }
-  }
-
-  grouping ieee1905-device-non-ieee1905-neighbor-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf local-interface {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.LocalInterface";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.LocalInterface";
-    }
-    leaf neighbor-interface-id {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.NeighborInterfaceId";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.NeighborInterfaceId";
-    }
-  }
-
-  grouping ieee1905-device-vendor-properties-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf message-type {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.MessageType";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.MessageType";
-    }
-    leaf oui {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.OUI";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.OUI";
-    }
-    leaf information {
-      type string;
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.Information";
-      reference
-        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.Information";
-    }
-  }
-
-  grouping al-networking-registrar-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.NetworkingRegistrar.";
-    leaf registrar2dot4 {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar2dot4";
-      reference
-        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar2dot4";
-    }
-    leaf registrar5 {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar5";
-      reference
-        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar5";
-    }
-    leaf registrar60 {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar60";
-      reference
-        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar60";
-    }
-  }
-
-  grouping al-security-g {
-    description
-      "Grouping object for Device.IEEE1905.AL.Security.";
-    leaf setup-method {
-      type enumeration {
-        enum UCPK {
-          description
-            "Enum Value - UCPK";
-        }
-        enum PBC {
-          description
-            "Enum Value - PBC";
-        }
-        enum NFCNK {
-          description
-            "Enum Value - NFCNK";
-        }
-      }
-      description
-        "Device.IEEE1905.AL.Security.SetupMethod";
-      reference
-        "Device.IEEE1905.AL.Security.SetupMethod";
-    }
-  }
-
-  grouping device-ieee8021x-g {
-    description
-      "Grouping object for Device.IEEE8021x.";
-    leaf supplicant-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.SupplicantNumberOfEntries";
-      reference
-        "Device.IEEE8021x.SupplicantNumberOfEntries";
-    }
-  }
-
-  grouping ieee8021x-supplicant-g {
-    description
-      "Grouping object for Device.IEEE8021x.Supplicant.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Enable";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Status";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Alias";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Alias";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Interface";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Interface";
-    }
-    leaf pae-state {
-      type string;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.PAEState";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.PAEState";
-    }
-    leaf eap-identity {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IEEE8021x.Supplicant.{i}.EAPIdentity";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.EAPIdentity";
-    }
-    leaf max-start {
-      type uint32 {
-        range "1..10";
-      }
-      description
-        "Device.IEEE8021x.Supplicant.{i}.MaxStart";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.MaxStart";
-    }
-    leaf start-period {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IEEE8021x.Supplicant.{i}.StartPeriod";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.StartPeriod";
-    }
-    leaf held-period {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IEEE8021x.Supplicant.{i}.HeldPeriod";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.HeldPeriod";
-    }
-    leaf auth-period {
-      type uint32;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.AuthPeriod";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.AuthPeriod";
-    }
-    leaf authentication-capabilities {
-      type string;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.AuthenticationCapabilities";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.AuthenticationCapabilities";
-    }
-    leaf start-failure-policy {
-      type enumeration {
-        enum FailAuthentication {
-          description
-            "Enum Value - FailAuthentication";
-        }
-        enum AssumeAuthentication {
-          description
-            "Enum Value - AssumeAuthentication";
-        }
-      }
-      description
-        "Device.IEEE8021x.Supplicant.{i}.StartFailurePolicy";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.StartFailurePolicy";
-    }
-    leaf authentication-success-policy {
-      type enumeration {
-        enum NoAction {
-          description
-            "Enum Value - NoAction";
-        }
-        enum RenewConnection {
-          description
-            "Enum Value - RenewConnection";
-        }
-      }
-      description
-        "Device.IEEE8021x.Supplicant.{i}.AuthenticationSuccessPolicy";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.AuthenticationSuccessPolicy";
-    }
-  }
-
-  grouping supplicant-eapm-d5-g {
-    description
-      "Grouping object for Device.IEEE8021x.Supplicant.{i}.EAPMD5.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.EAPMD5.Enable";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.EAPMD5.Enable";
-    }
-  }
-
-  grouping supplicant-eaptls-g {
-    description
-      "Grouping object for Device.IEEE8021x.Supplicant.{i}.EAPTLS.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.EAPTLS.Enable";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.EAPTLS.Enable";
-    }
-    leaf mutual-authentication-enable {
-      type boolean;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.EAPTLS.MutualAuthenticationEnable";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.EAPTLS.MutualAuthenticationEnable";
-    }
-  }
-
-  grouping supplicant-stats-g {
-    description
-      "Grouping object for Device.IEEE8021x.Supplicant.{i}.Stats.";
-    leaf received-frames {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedFrames";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedFrames";
-    }
-    leaf transmitted-frames {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedFrames";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedFrames";
-    }
-    leaf transmitted-start-frames {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedStartFrames";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedStartFrames";
-    }
-    leaf transmitted-logoff-frames {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedLogoffFrames";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedLogoffFrames";
-    }
-    leaf transmitted-response-id-frames {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedResponseIdFrames";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedResponseIdFrames";
-    }
-    leaf transmitted-response-frames {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedResponseFrames";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedResponseFrames";
-    }
-    leaf received-request-id-frames {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedRequestIdFrames";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedRequestIdFrames";
-    }
-    leaf received-request-frames {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedRequestFrames";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedRequestFrames";
-    }
-    leaf received-invalid-frames {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedInvalidFrames";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedInvalidFrames";
-    }
-    leaf received-length-error-frames {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedLengthErrorFrames";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedLengthErrorFrames";
-    }
-    leaf last-frame-version {
-      type uint32;
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.LastFrameVersion";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.LastFrameVersion";
-    }
-    leaf last-frame-source-mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.IEEE8021x.Supplicant.{i}.Stats.LastFrameSourceMACAddress";
-      reference
-        "Device.IEEE8021x.Supplicant.{i}.Stats.LastFrameSourceMACAddress";
-    }
-  }
-
-  grouping device-ip-g {
-    description
-      "Grouping object for Device.IP.";
-    leaf ipv4-capable {
-      type boolean;
-      config false;
-      description
-        "Device.IP.IPv4Capable";
-      reference
-        "Device.IP.IPv4Capable";
-    }
-    leaf ipv4-enable {
-      type boolean;
-      description
-        "Device.IP.IPv4Enable";
-      reference
-        "Device.IP.IPv4Enable";
-    }
-    leaf ipv4-status {
-      type string;
-      config false;
-      description
-        "Device.IP.IPv4Status";
-      reference
-        "Device.IP.IPv4Status";
-    }
-    leaf ipv6-capable {
-      type boolean;
-      config false;
-      description
-        "Device.IP.IPv6Capable";
-      reference
-        "Device.IP.IPv6Capable";
-    }
-    leaf ipv6-enable {
-      type boolean;
-      description
-        "Device.IP.IPv6Enable";
-      reference
-        "Device.IP.IPv6Enable";
-    }
-    leaf ipv6-status {
-      type string;
-      config false;
-      description
-        "Device.IP.IPv6Status";
-      reference
-        "Device.IP.IPv6Status";
-    }
-    leaf ula-prefix {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.IP.ULAPrefix";
-      reference
-        "Device.IP.ULAPrefix";
-    }
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.InterfaceNumberOfEntries";
-      reference
-        "Device.IP.InterfaceNumberOfEntries";
-    }
-    leaf active-port-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.ActivePortNumberOfEntries";
-      reference
-        "Device.IP.ActivePortNumberOfEntries";
-    }
-  }
-
-  grouping ip-active-port-g {
-    description
-      "Grouping object for Device.IP.ActivePort.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf local-ip-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IP.ActivePort.{i}.LocalIPAddress";
-      reference
-        "Device.IP.ActivePort.{i}.LocalIPAddress";
-    }
-    leaf local-port {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.IP.ActivePort.{i}.LocalPort";
-      reference
-        "Device.IP.ActivePort.{i}.LocalPort";
-    }
-    leaf remote-ip-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IP.ActivePort.{i}.RemoteIPAddress";
-      reference
-        "Device.IP.ActivePort.{i}.RemoteIPAddress";
-    }
-    leaf remote-port {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.IP.ActivePort.{i}.RemotePort";
-      reference
-        "Device.IP.ActivePort.{i}.RemotePort";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IP.ActivePort.{i}.Status";
-      reference
-        "Device.IP.ActivePort.{i}.Status";
-    }
-  }
-
-  grouping ip-diagnostics-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.";
-    leaf ipv4-ping-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv4PingSupported";
-      reference
-        "Device.IP.Diagnostics.IPv4PingSupported";
-    }
-    leaf ipv6-ping-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv6PingSupported";
-      reference
-        "Device.IP.Diagnostics.IPv6PingSupported";
-    }
-    leaf ipv4-trace-route-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv4TraceRouteSupported";
-      reference
-        "Device.IP.Diagnostics.IPv4TraceRouteSupported";
-    }
-    leaf ipv6-trace-route-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv6TraceRouteSupported";
-      reference
-        "Device.IP.Diagnostics.IPv6TraceRouteSupported";
-    }
-    leaf ipv4-download-diagnostics-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv4DownloadDiagnosticsSupported";
-      reference
-        "Device.IP.Diagnostics.IPv4DownloadDiagnosticsSupported";
-    }
-    leaf ipv6-download-diagnostics-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv6DownloadDiagnosticsSupported";
-      reference
-        "Device.IP.Diagnostics.IPv6DownloadDiagnosticsSupported";
-    }
-    leaf ipv4-upload-diagnostics-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv4UploadDiagnosticsSupported";
-      reference
-        "Device.IP.Diagnostics.IPv4UploadDiagnosticsSupported";
-    }
-    leaf ipv6-upload-diagnostics-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv6UploadDiagnosticsSupported";
-      reference
-        "Device.IP.Diagnostics.IPv6UploadDiagnosticsSupported";
-    }
-    leaf ipv4-udp-echo-diagnostics-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv4UDPEchoDiagnosticsSupported";
-      reference
-        "Device.IP.Diagnostics.IPv4UDPEchoDiagnosticsSupported";
-    }
-    leaf ipv6-udp-echo-diagnostics-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv6UDPEchoDiagnosticsSupported";
-      reference
-        "Device.IP.Diagnostics.IPv6UDPEchoDiagnosticsSupported";
-    }
-    leaf ipv4-server-selection-diagnostics-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv4ServerSelectionDiagnosticsSupported";
-      reference
-        "Device.IP.Diagnostics.IPv4ServerSelectionDiagnosticsSupported";
-    }
-    leaf ipv6-server-selection-diagnostics-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPv6ServerSelectionDiagnosticsSupported";
-      reference
-        "Device.IP.Diagnostics.IPv6ServerSelectionDiagnosticsSupported";
-    }
-  }
-
-  grouping diagnostics-download-diagnostics-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.DownloadDiagnostics.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Completed {
-          description
-            "Enum Value - Completed";
-        }
-        enum Error_CannotResolveHostName {
-          description
-            "Enum Value - Error_CannotResolveHostName";
-        }
-        enum Error_NoRouteToHost {
-          description
-            "Enum Value - Error_NoRouteToHost";
-        }
-        enum Error_InitConnectionFailed {
-          description
-            "Enum Value - Error_InitConnectionFailed";
-        }
-        enum Error_NoResponse {
-          description
-            "Enum Value - Error_NoResponse";
-        }
-        enum Error_TransferFailed {
-          description
-            "Enum Value - Error_TransferFailed";
-        }
-        enum Error_PasswordRequestFailed {
-          description
-            "Enum Value - Error_PasswordRequestFailed";
-        }
-        enum Error_LoginFailed {
-          description
-            "Enum Value - Error_LoginFailed";
-        }
-        enum Error_NoTransferMode {
-          description
-            "Enum Value - Error_NoTransferMode";
-        }
-        enum Error_NoPASV {
-          description
-            "Enum Value - Error_NoPASV";
-        }
-        enum Error_IncorrectSize {
-          description
-            "Enum Value - Error_IncorrectSize";
-        }
-        enum Error_Timeout {
-          description
-            "Enum Value - Error_Timeout";
-        }
-        enum Error_Internal {
-          description
-            "Enum Value - Error_Internal";
-        }
-        enum Error_Other {
-          description
-            "Enum Value - Error_Other";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.DiagnosticsState";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.DiagnosticsState";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.Interface";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.Interface";
-    }
-    leaf download-url {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadURL";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadURL";
-    }
-    leaf download-transports {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadTransports";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadTransports";
-    }
-    leaf download-diagnostic-max-connections {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticMaxConnections";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticMaxConnections";
-    }
-    leaf download-diagnostics-max-incremental-result {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticsMaxIncrementalResult";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticsMaxIncrementalResult";
-    }
-    leaf dscp {
-      type uint32 {
-        range "0..63";
-      }
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.DSCP";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.DSCP";
-    }
-    leaf ethernet-priority {
-      type uint32 {
-        range "0..7";
-      }
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.EthernetPriority";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.EthernetPriority";
-    }
-    leaf time-based-test-duration {
-      type uint32 {
-        range "0..999";
-      }
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestDuration";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestDuration";
-    }
-    leaf time-based-test-measurement-interval {
-      type uint32 {
-        range "0..999";
-      }
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementInterval";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementInterval";
-    }
-    leaf time-based-test-measurement-offset {
-      type uint32 {
-        range "0..255";
-      }
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementOffset";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementOffset";
-    }
-    leaf protocol-version {
-      type enumeration {
-        enum Any {
-          description
-            "Enum Value - Any";
-        }
-        enum IPv4 {
-          description
-            "Enum Value - IPv4";
-        }
-        enum IPv6 {
-          description
-            "Enum Value - IPv6";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.ProtocolVersion";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.ProtocolVersion";
-    }
-    leaf number-of-connections {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.NumberOfConnections";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.NumberOfConnections";
-    }
-    leaf ip-address-used {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.IPAddressUsed";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.IPAddressUsed";
-    }
-    leaf rom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.ROMTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.ROMTime";
-    }
-    leaf bom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.BOMTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.BOMTime";
-    }
-    leaf eom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.EOMTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.EOMTime";
-    }
-    leaf test-bytes-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceived";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceived";
-    }
-    leaf total-bytes-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceived";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceived";
-    }
-    leaf total-bytes-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSent";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSent";
-    }
-    leaf test-bytes-received-under-full-loading {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceivedUnderFullLoading";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceivedUnderFullLoading";
-    }
-    leaf total-bytes-received-under-full-loading {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceivedUnderFullLoading";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceivedUnderFullLoading";
-    }
-    leaf total-bytes-sent-under-full-loading {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSentUnderFullLoading";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSentUnderFullLoading";
-    }
-    leaf period-of-full-loading {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.PeriodOfFullLoading";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.PeriodOfFullLoading";
-    }
-    leaf tcp-open-request-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenRequestTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenRequestTime";
-    }
-    leaf tcp-open-response-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenResponseTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenResponseTime";
-    }
-    leaf per-connection-result-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResultNumberOfEntries";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResultNumberOfEntries";
-    }
-    leaf enable-per-connection-results {
-      type boolean;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.EnablePerConnectionResults";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.EnablePerConnectionResults";
-    }
-    leaf incremental-result-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResultNumberOfEntries";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResultNumberOfEntries";
-    }
-  }
-
-  grouping download-diagnostics-incremental-result-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf test-bytes-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TestBytesReceived";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TestBytesReceived";
-    }
-    leaf total-bytes-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TotalBytesReceived";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TotalBytesReceived";
-    }
-    leaf total-bytes-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TotalBytesSent";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TotalBytesSent";
-    }
-    leaf start-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.StartTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.StartTime";
-    }
-    leaf end-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.EndTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.EndTime";
-    }
-  }
-
-  grouping download-diagnostics-per-connection-result-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf rom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.ROMTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.ROMTime";
-    }
-    leaf bom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.BOMTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.BOMTime";
-    }
-    leaf eom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.EOMTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.EOMTime";
-    }
-    leaf test-bytes-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TestBytesReceived";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TestBytesReceived";
-    }
-    leaf total-bytes-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TotalBytesReceived";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TotalBytesReceived";
-    }
-    leaf total-bytes-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TotalBytesSent";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TotalBytesSent";
-    }
-    leaf tcp-open-request-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TCPOpenRequestTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TCPOpenRequestTime";
-    }
-    leaf tcp-open-response-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TCPOpenResponseTime";
-      reference
-        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TCPOpenResponseTime";
-    }
-  }
-
-  grouping diagnostics-ip-ping-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.IPPing.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Canceled {
-          description
-            "Enum Value - Canceled";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error {
-          description
-            "Enum Value - Error";
-        }
-        enum Error_CannotResolveHostName {
-          description
-            "Enum Value - Error_CannotResolveHostName";
-        }
-        enum Error_NoRouteToHost {
-          description
-            "Enum Value - Error_NoRouteToHost";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.IPPing.DiagnosticsState";
-      reference
-        "Device.IP.Diagnostics.IPPing.DiagnosticsState";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.IPPing.Interface";
-      reference
-        "Device.IP.Diagnostics.IPPing.Interface";
-    }
-    leaf protocol-version {
-      type enumeration {
-        enum Any {
-          description
-            "Enum Value - Any";
-        }
-        enum IPv4 {
-          description
-            "Enum Value - IPv4";
-        }
-        enum IPv6 {
-          description
-            "Enum Value - IPv6";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.IPPing.ProtocolVersion";
-      reference
-        "Device.IP.Diagnostics.IPPing.ProtocolVersion";
-    }
-    leaf host {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.IPPing.Host";
-      reference
-        "Device.IP.Diagnostics.IPPing.Host";
-    }
-    leaf number-of-repetitions {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IP.Diagnostics.IPPing.NumberOfRepetitions";
-      reference
-        "Device.IP.Diagnostics.IPPing.NumberOfRepetitions";
-    }
-    leaf timeout {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IP.Diagnostics.IPPing.Timeout";
-      reference
-        "Device.IP.Diagnostics.IPPing.Timeout";
-    }
-    leaf data-block-size {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.IP.Diagnostics.IPPing.DataBlockSize";
-      reference
-        "Device.IP.Diagnostics.IPPing.DataBlockSize";
-    }
-    leaf dscp {
-      type uint32 {
-        range "0..63";
-      }
-      description
-        "Device.IP.Diagnostics.IPPing.DSCP";
-      reference
-        "Device.IP.Diagnostics.IPPing.DSCP";
-    }
-    leaf ip-address-used {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IP.Diagnostics.IPPing.IPAddressUsed";
-      reference
-        "Device.IP.Diagnostics.IPPing.IPAddressUsed";
-    }
-    leaf success-count {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPPing.SuccessCount";
-      reference
-        "Device.IP.Diagnostics.IPPing.SuccessCount";
-    }
-    leaf failure-count {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPPing.FailureCount";
-      reference
-        "Device.IP.Diagnostics.IPPing.FailureCount";
-    }
-    leaf average-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPPing.AverageResponseTime";
-      reference
-        "Device.IP.Diagnostics.IPPing.AverageResponseTime";
-    }
-    leaf minimum-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPPing.MinimumResponseTime";
-      reference
-        "Device.IP.Diagnostics.IPPing.MinimumResponseTime";
-    }
-    leaf maximum-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPPing.MaximumResponseTime";
-      reference
-        "Device.IP.Diagnostics.IPPing.MaximumResponseTime";
-    }
-    leaf average-response-time-detailed {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPPing.AverageResponseTimeDetailed";
-      reference
-        "Device.IP.Diagnostics.IPPing.AverageResponseTimeDetailed";
-    }
-    leaf minimum-response-time-detailed {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPPing.MinimumResponseTimeDetailed";
-      reference
-        "Device.IP.Diagnostics.IPPing.MinimumResponseTimeDetailed";
-    }
-    leaf maximum-response-time-detailed {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.IPPing.MaximumResponseTimeDetailed";
-      reference
-        "Device.IP.Diagnostics.IPPing.MaximumResponseTimeDetailed";
-    }
-  }
-
-  grouping diagnostics-server-selection-diagnostics-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.ServerSelectionDiagnostics.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Completed {
-          description
-            "Enum Value - Completed";
-        }
-        enum Error_CannotResolveHostName {
-          description
-            "Enum Value - Error_CannotResolveHostName";
-        }
-        enum Error_Internal {
-          description
-            "Enum Value - Error_Internal";
-        }
-        enum Error_Other {
-          description
-            "Enum Value - Error_Other";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.DiagnosticsState";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.DiagnosticsState";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Interface";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Interface";
-    }
-    leaf protocol-version {
-      type enumeration {
-        enum Any {
-          description
-            "Enum Value - Any";
-        }
-        enum IPv4 {
-          description
-            "Enum Value - IPv4";
-        }
-        enum IPv6 {
-          description
-            "Enum Value - IPv6";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.ProtocolVersion";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.ProtocolVersion";
-    }
-    leaf protocol {
-      type enumeration {
-        enum ICMP {
-          description
-            "Enum Value - ICMP";
-        }
-        enum "UDP Echo" {
-          description
-            "Enum Value - UDP Echo";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Protocol";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Protocol";
-    }
-    leaf host-list {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.HostList";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.HostList";
-    }
-    leaf number-of-repetitions {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.NumberOfRepetitions";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.NumberOfRepetitions";
-    }
-    leaf timeout {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Timeout";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Timeout";
-    }
-    leaf fastest-host {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.FastestHost";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.FastestHost";
-    }
-    leaf minimum-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.MinimumResponseTime";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.MinimumResponseTime";
-    }
-    leaf average-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.AverageResponseTime";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.AverageResponseTime";
-    }
-    leaf maximum-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.MaximumResponseTime";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.MaximumResponseTime";
-    }
-    leaf ip-address-used {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.IPAddressUsed";
-      reference
-        "Device.IP.Diagnostics.ServerSelectionDiagnostics.IPAddressUsed";
-    }
-  }
-
-  grouping diagnostics-trace-route-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.TraceRoute.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Canceled {
-          description
-            "Enum Value - Canceled";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error {
-          description
-            "Enum Value - Error";
-        }
-        enum Error_MaxHopCountExceeded {
-          description
-            "Enum Value - Error_MaxHopCountExceeded";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.TraceRoute.DiagnosticsState";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.DiagnosticsState";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.TraceRoute.Interface";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.Interface";
-    }
-    leaf protocol-version {
-      type enumeration {
-        enum Any {
-          description
-            "Enum Value - Any";
-        }
-        enum IPv4 {
-          description
-            "Enum Value - IPv4";
-        }
-        enum IPv6 {
-          description
-            "Enum Value - IPv6";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.TraceRoute.ProtocolVersion";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.ProtocolVersion";
-    }
-    leaf host {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.TraceRoute.Host";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.Host";
-    }
-    leaf number-of-tries {
-      type uint32 {
-        range "1..3";
-      }
-      description
-        "Device.IP.Diagnostics.TraceRoute.NumberOfTries";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.NumberOfTries";
-    }
-    leaf timeout {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IP.Diagnostics.TraceRoute.Timeout";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.Timeout";
-    }
-    leaf data-block-size {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.IP.Diagnostics.TraceRoute.DataBlockSize";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.DataBlockSize";
-    }
-    leaf dscp {
-      type uint32 {
-        range "0..63";
-      }
-      description
-        "Device.IP.Diagnostics.TraceRoute.DSCP";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.DSCP";
-    }
-    leaf max-hop-count {
-      type uint32 {
-        range "1..64";
-      }
-      description
-        "Device.IP.Diagnostics.TraceRoute.MaxHopCount";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.MaxHopCount";
-    }
-    leaf ip-address-used {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IP.Diagnostics.TraceRoute.IPAddressUsed";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.IPAddressUsed";
-    }
-    leaf response-time {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.TraceRoute.ResponseTime";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.ResponseTime";
-    }
-    leaf route-hops-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.TraceRoute.RouteHopsNumberOfEntries";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.RouteHopsNumberOfEntries";
-    }
-  }
-
-  grouping trace-route-route-hops-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf host {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.Host";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.Host";
-    }
-    leaf host-address {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.HostAddress";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.HostAddress";
-    }
-    leaf error-code {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.ErrorCode";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.ErrorCode";
-    }
-    leaf rt-times {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.RTTimes";
-      reference
-        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.RTTimes";
-    }
-  }
-
-  grouping diagnostics-udp-echo-config-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.UDPEchoConfig.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.Enable";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.Enable";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.Interface";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.Interface";
-    }
-    leaf source-ip-address {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.SourceIPAddress";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.SourceIPAddress";
-    }
-    leaf udp-port {
-      type uint32;
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.UDPPort";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.UDPPort";
-    }
-    leaf echo-plus-enabled {
-      type boolean;
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.EchoPlusEnabled";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.EchoPlusEnabled";
-    }
-    leaf echo-plus-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.EchoPlusSupported";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.EchoPlusSupported";
-    }
-    leaf packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.PacketsReceived";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.PacketsReceived";
-    }
-    leaf packets-responded {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.PacketsResponded";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.PacketsResponded";
-    }
-    leaf bytes-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.BytesReceived";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.BytesReceived";
-    }
-    leaf bytes-responded {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.BytesResponded";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.BytesResponded";
-    }
-    leaf time-first-packet-received {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.TimeFirstPacketReceived";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.TimeFirstPacketReceived";
-    }
-    leaf time-last-packet-received {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoConfig.TimeLastPacketReceived";
-      reference
-        "Device.IP.Diagnostics.UDPEchoConfig.TimeLastPacketReceived";
-    }
-  }
-
-  grouping diagnostics-udp-echo-diagnostics-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.UDPEchoDiagnostics.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Completed {
-          description
-            "Enum Value - Completed";
-        }
-        enum Error_CannotResolveHostName {
-          description
-            "Enum Value - Error_CannotResolveHostName";
-        }
-        enum Error_Internal {
-          description
-            "Enum Value - Error_Internal";
-        }
-        enum Error_Other {
-          description
-            "Enum Value - Error_Other";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.DiagnosticsState";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.DiagnosticsState";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.Interface";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.Interface";
-    }
-    leaf host {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.Host";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.Host";
-    }
-    leaf port {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.Port";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.Port";
-    }
-    leaf number-of-repetitions {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.NumberOfRepetitions";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.NumberOfRepetitions";
-    }
-    leaf timeout {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.Timeout";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.Timeout";
-    }
-    leaf data-block-size {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.DataBlockSize";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.DataBlockSize";
-    }
-    leaf dscp {
-      type uint32 {
-        range "0..63";
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.DSCP";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.DSCP";
-    }
-    leaf inter-transmission-time {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.InterTransmissionTime";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.InterTransmissionTime";
-    }
-    leaf protocol-version {
-      type enumeration {
-        enum Any {
-          description
-            "Enum Value - Any";
-        }
-        enum IPv4 {
-          description
-            "Enum Value - IPv4";
-        }
-        enum IPv6 {
-          description
-            "Enum Value - IPv6";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.ProtocolVersion";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.ProtocolVersion";
-    }
-    leaf ip-address-used {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IPAddressUsed";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IPAddressUsed";
-    }
-    leaf success-count {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.SuccessCount";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.SuccessCount";
-    }
-    leaf failure-count {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.FailureCount";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.FailureCount";
-    }
-    leaf average-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.AverageResponseTime";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.AverageResponseTime";
-    }
-    leaf minimum-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.MinimumResponseTime";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.MinimumResponseTime";
-    }
-    leaf maximum-response-time {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.MaximumResponseTime";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.MaximumResponseTime";
-    }
-    leaf enable-individual-packet-results {
-      type boolean;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.EnableIndividualPacketResults";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.EnableIndividualPacketResults";
-    }
-    leaf individual-packet-result-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResultNumberOfEntries";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResultNumberOfEntries";
-    }
-    leaf udp-echo-diagnostics-max-results {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.UDPEchoDiagnosticsMaxResults";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.UDPEchoDiagnosticsMaxResults";
-    }
-  }
-
-  grouping udp-echo-diagnostics-individual-packet-result-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf packet-success {
-      type boolean;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketSuccess";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketSuccess";
-    }
-    leaf packet-send-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketSendTime";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketSendTime";
-    }
-    leaf packet-receive-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketReceiveTime";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketReceiveTime";
-    }
-    leaf test-gen-sn {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestGenSN";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestGenSN";
-    }
-    leaf test-resp-sn {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespSN";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespSN";
-    }
-    leaf test-resp-rcv-time-stamp {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespRcvTimeStamp";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespRcvTimeStamp";
-    }
-    leaf test-resp-reply-time-stamp {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespReplyTimeStamp";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespReplyTimeStamp";
-    }
-    leaf test-resp-reply-failure-count {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespReplyFailureCount";
-      reference
-        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespReplyFailureCount";
-    }
-  }
-
-  grouping diagnostics-upload-diagnostics-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.UploadDiagnostics.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Completed {
-          description
-            "Enum Value - Completed";
-        }
-        enum Error_CannotResolveHostName {
-          description
-            "Enum Value - Error_CannotResolveHostName";
-        }
-        enum Error_NoRouteToHost {
-          description
-            "Enum Value - Error_NoRouteToHost";
-        }
-        enum Error_InitConnectionFailed {
-          description
-            "Enum Value - Error_InitConnectionFailed";
-        }
-        enum Error_NoResponse {
-          description
-            "Enum Value - Error_NoResponse";
-        }
-        enum Error_PasswordRequestFailed {
-          description
-            "Enum Value - Error_PasswordRequestFailed";
-        }
-        enum Error_LoginFailed {
-          description
-            "Enum Value - Error_LoginFailed";
-        }
-        enum Error_NoTransferMode {
-          description
-            "Enum Value - Error_NoTransferMode";
-        }
-        enum Error_NoPASV {
-          description
-            "Enum Value - Error_NoPASV";
-        }
-        enum Error_NoCWD {
-          description
-            "Enum Value - Error_NoCWD";
-        }
-        enum Error_NoSTOR {
-          description
-            "Enum Value - Error_NoSTOR";
-        }
-        enum Error_NoTransferComplete {
-          description
-            "Enum Value - Error_NoTransferComplete";
-        }
-        enum Error_Timeout {
-          description
-            "Enum Value - Error_Timeout";
-        }
-        enum Error_Internal {
-          description
-            "Enum Value - Error_Internal";
-        }
-        enum Error_Other {
-          description
-            "Enum Value - Error_Other";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.DiagnosticsState";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.DiagnosticsState";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.Interface";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.Interface";
-    }
-    leaf upload-url {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.UploadURL";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.UploadURL";
-    }
-    leaf upload-transports {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.UploadTransports";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.UploadTransports";
-    }
-    leaf upload-diagnostics-max-connections {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.UploadDiagnosticsMaxConnections";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.UploadDiagnosticsMaxConnections";
-    }
-    leaf upload-diagnostics-max-incremental-result {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.UploadDiagnosticsMaxIncrementalResult";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.UploadDiagnosticsMaxIncrementalResult";
-    }
-    leaf dscp {
-      type uint32 {
-        range "0..63";
-      }
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.DSCP";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.DSCP";
-    }
-    leaf ethernet-priority {
-      type uint32 {
-        range "0..7";
-      }
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.EthernetPriority";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.EthernetPriority";
-    }
-    leaf test-file-length {
-      type uint32;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TestFileLength";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TestFileLength";
-    }
-    leaf time-based-test-duration {
-      type uint32 {
-        range "0..999";
-      }
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestDuration";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestDuration";
-    }
-    leaf time-based-test-measurement-interval {
-      type uint32 {
-        range "0..999";
-      }
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestMeasurementInterval";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestMeasurementInterval";
-    }
-    leaf time-based-test-measurement-offset {
-      type uint32 {
-        range "0..255";
-      }
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestMeasurementOffset";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestMeasurementOffset";
-    }
-    leaf protocol-version {
-      type enumeration {
-        enum Any {
-          description
-            "Enum Value - Any";
-        }
-        enum IPv4 {
-          description
-            "Enum Value - IPv4";
-        }
-        enum IPv6 {
-          description
-            "Enum Value - IPv6";
-        }
-      }
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.ProtocolVersion";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.ProtocolVersion";
-    }
-    leaf number-of-connections {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.NumberOfConnections";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.NumberOfConnections";
-    }
-    leaf ip-address-used {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.IPAddressUsed";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.IPAddressUsed";
-    }
-    leaf rom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.ROMTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.ROMTime";
-    }
-    leaf bom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.BOMTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.BOMTime";
-    }
-    leaf eom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.EOMTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.EOMTime";
-    }
-    leaf test-bytes-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TestBytesSent";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TestBytesSent";
-    }
-    leaf total-bytes-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesReceived";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesReceived";
-    }
-    leaf total-bytes-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesSent";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesSent";
-    }
-    leaf test-bytes-sent-under-full-loading {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TestBytesSentUnderFullLoading";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TestBytesSentUnderFullLoading";
-    }
-    leaf total-bytes-received-under-full-loading {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesReceivedUnderFullLoading";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesReceivedUnderFullLoading";
-    }
-    leaf total-bytes-sent-under-full-loading {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesSentUnderFullLoading";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesSentUnderFullLoading";
-    }
-    leaf period-of-full-loading {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.PeriodOfFullLoading";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.PeriodOfFullLoading";
-    }
-    leaf tcp-open-request-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TCPOpenRequestTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TCPOpenRequestTime";
-    }
-    leaf tcp-open-response-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.TCPOpenResponseTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.TCPOpenResponseTime";
-    }
-    leaf per-connection-result-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResultNumberOfEntries";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResultNumberOfEntries";
-    }
-    leaf enable-per-connection-results {
-      type boolean;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.EnablePerConnectionResults";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.EnablePerConnectionResults";
-    }
-    leaf incremental-result-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResultNumberOfEntries";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResultNumberOfEntries";
-    }
-  }
-
-  grouping upload-diagnostics-incremental-result-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf test-bytes-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TestBytesSent";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TestBytesSent";
-    }
-    leaf total-bytes-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TotalBytesReceived";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TotalBytesReceived";
-    }
-    leaf total-bytes-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TotalBytesSent";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TotalBytesSent";
-    }
-    leaf start-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.StartTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.StartTime";
-    }
-    leaf end-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.EndTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.EndTime";
-    }
-  }
-
-  grouping upload-diagnostics-per-connection-result-g {
-    description
-      "Grouping object for Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf rom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.ROMTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.ROMTime";
-    }
-    leaf bom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.BOMTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.BOMTime";
-    }
-    leaf eom-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.EOMTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.EOMTime";
-    }
-    leaf test-bytes-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TestBytesSent";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TestBytesSent";
-    }
-    leaf total-bytes-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TotalBytesReceived";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TotalBytesReceived";
-    }
-    leaf total-bytes-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TotalBytesSent";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TotalBytesSent";
-    }
-    leaf tcp-open-request-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TCPOpenRequestTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TCPOpenRequestTime";
-    }
-    leaf tcp-open-response-time {
-      type string;
-      config false;
-      description
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TCPOpenResponseTime";
-      reference
-        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TCPOpenResponseTime";
-    }
-  }
-
-  grouping ip-interface-g {
-    description
-      "Grouping object for Device.IP.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.Enable";
-      reference
-        "Device.IP.Interface.{i}.Enable";
-    }
-    leaf ipv4-enable {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.IPv4Enable";
-      reference
-        "Device.IP.Interface.{i}.IPv4Enable";
-    }
-    leaf ipv6-enable {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.IPv6Enable";
-      reference
-        "Device.IP.Interface.{i}.IPv6Enable";
-    }
-    leaf ula-enable {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.ULAEnable";
-      reference
-        "Device.IP.Interface.{i}.ULAEnable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Status";
-      reference
-        "Device.IP.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IP.Interface.{i}.Alias";
-      reference
-        "Device.IP.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Name";
-      reference
-        "Device.IP.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Interface.{i}.LastChange";
-      reference
-        "Device.IP.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.IP.Interface.{i}.LowerLayers";
-      reference
-        "Device.IP.Interface.{i}.LowerLayers";
-    }
-    leaf router {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IP.Interface.{i}.Router";
-      reference
-        "Device.IP.Interface.{i}.Router";
-    }
-    leaf max-mtu-size {
-      type uint32 {
-        range "64..65535";
-      }
-      description
-        "Device.IP.Interface.{i}.MaxMTUSize";
-      reference
-        "Device.IP.Interface.{i}.MaxMTUSize";
-    }
-    leaf type {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Type";
-      reference
-        "Device.IP.Interface.{i}.Type";
-    }
-    leaf loopback {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.Loopback";
-      reference
-        "Device.IP.Interface.{i}.Loopback";
-    }
-    leaf ipv4-address-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Interface.{i}.IPv4AddressNumberOfEntries";
-      reference
-        "Device.IP.Interface.{i}.IPv4AddressNumberOfEntries";
-    }
-    leaf ipv6-address-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Interface.{i}.IPv6AddressNumberOfEntries";
-      reference
-        "Device.IP.Interface.{i}.IPv6AddressNumberOfEntries";
-    }
-    leaf ipv6-prefix-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Interface.{i}.IPv6PrefixNumberOfEntries";
-      reference
-        "Device.IP.Interface.{i}.IPv6PrefixNumberOfEntries";
-    }
-    leaf auto-ip-enable {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.AutoIPEnable";
-      reference
-        "Device.IP.Interface.{i}.AutoIPEnable";
-    }
-    leaf twamp-reflector-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Interface.{i}.TWAMPReflectorNumberOfEntries";
-      reference
-        "Device.IP.Interface.{i}.TWAMPReflectorNumberOfEntries";
-    }
-  }
-
-  grouping interface-ipv4-address-g {
-    description
-      "Grouping object for Device.IP.Interface.{i}.IPv4Address.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.IPv4Address.{i}.Enable";
-      reference
-        "Device.IP.Interface.{i}.IPv4Address.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.IPv4Address.{i}.Status";
-      reference
-        "Device.IP.Interface.{i}.IPv4Address.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IP.Interface.{i}.IPv4Address.{i}.Alias";
-      reference
-        "Device.IP.Interface.{i}.IPv4Address.{i}.Alias";
-    }
-    leaf ip-address {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.IP.Interface.{i}.IPv4Address.{i}.IPAddress";
-      reference
-        "Device.IP.Interface.{i}.IPv4Address.{i}.IPAddress";
-    }
-    leaf subnet-mask {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.IP.Interface.{i}.IPv4Address.{i}.SubnetMask";
-      reference
-        "Device.IP.Interface.{i}.IPv4Address.{i}.SubnetMask";
-    }
-    leaf addressing-type {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.IPv4Address.{i}.AddressingType";
-      reference
-        "Device.IP.Interface.{i}.IPv4Address.{i}.AddressingType";
-    }
-  }
-
-  grouping interface-ipv6-address-g {
-    description
-      "Grouping object for Device.IP.Interface.{i}.IPv6Address.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Enable";
-      reference
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Status";
-      reference
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Status";
-    }
-    leaf ip-address-status {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.IPv6Address.{i}.IPAddressStatus";
-      reference
-        "Device.IP.Interface.{i}.IPv6Address.{i}.IPAddressStatus";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Alias";
-      reference
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Alias";
-    }
-    leaf ip-address {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.IP.Interface.{i}.IPv6Address.{i}.IPAddress";
-      reference
-        "Device.IP.Interface.{i}.IPv6Address.{i}.IPAddress";
-    }
-    leaf origin {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Origin";
-      reference
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Origin";
-    }
-    leaf prefix {
-      type string;
-      description
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Prefix";
-      reference
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Prefix";
-    }
-    leaf preferred-lifetime {
-      type string;
-      description
-        "Device.IP.Interface.{i}.IPv6Address.{i}.PreferredLifetime";
-      reference
-        "Device.IP.Interface.{i}.IPv6Address.{i}.PreferredLifetime";
-    }
-    leaf valid-lifetime {
-      type string;
-      description
-        "Device.IP.Interface.{i}.IPv6Address.{i}.ValidLifetime";
-      reference
-        "Device.IP.Interface.{i}.IPv6Address.{i}.ValidLifetime";
-    }
-    leaf anycast {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Anycast";
-      reference
-        "Device.IP.Interface.{i}.IPv6Address.{i}.Anycast";
-    }
-  }
-
-  grouping interface-ipv6-prefix-g {
-    description
-      "Grouping object for Device.IP.Interface.{i}.IPv6Prefix.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Enable";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Status";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Status";
-    }
-    leaf prefix-status {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.PrefixStatus";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.PrefixStatus";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Alias";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Alias";
-    }
-    leaf prefix {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Prefix";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Prefix";
-    }
-    leaf origin {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Origin";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Origin";
-    }
-    leaf static-type {
-      type enumeration {
-        enum Static {
-          description
-            "Enum Value - Static";
-        }
-        enum Inapplicable {
-          description
-            "Enum Value - Inapplicable";
-        }
-        enum PrefixDelegation {
-          description
-            "Enum Value - PrefixDelegation";
-        }
-        enum Child {
-          description
-            "Enum Value - Child";
-        }
-      }
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.StaticType";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.StaticType";
-    }
-    leaf parent-prefix {
-      type string;
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ParentPrefix";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ParentPrefix";
-    }
-    leaf child-prefix-bits {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ChildPrefixBits";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ChildPrefixBits";
-    }
-    leaf on-link {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.OnLink";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.OnLink";
-    }
-    leaf autonomous {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Autonomous";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Autonomous";
-    }
-    leaf preferred-lifetime {
-      type string;
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.PreferredLifetime";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.PreferredLifetime";
-    }
-    leaf valid-lifetime {
-      type string;
-      description
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ValidLifetime";
-      reference
-        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ValidLifetime";
-    }
-  }
-
-  grouping ip-interface-stats-g {
-    description
-      "Grouping object for Device.IP.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.IP.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.IP.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.IP.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.IP.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.IP.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.IP.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.IP.Interface.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.IP.Interface.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.IP.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.IP.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.IP.Interface.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.IP.Interface.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.IP.Interface.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.IP.Interface.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.IP.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.IP.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping interface-twamp-reflector-g {
-    description
-      "Grouping object for Device.IP.Interface.{i}.TWAMPReflector.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Enable";
-      reference
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Status";
-      reference
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Alias";
-      reference
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Alias";
-    }
-    leaf port {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Port";
-      reference
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Port";
-    }
-    leaf maximum-ttl {
-      type uint32 {
-        range "1..255";
-      }
-      description
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.MaximumTTL";
-      reference
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.MaximumTTL";
-    }
-    leaf ip-allowed-list {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.IPAllowedList";
-      reference
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.IPAllowedList";
-    }
-    leaf port-allowed-list {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.PortAllowedList";
-      reference
-        "Device.IP.Interface.{i}.TWAMPReflector.{i}.PortAllowedList";
-    }
-  }
-
-  grouping device-i-psec-g {
-    description
-      "Grouping object for Device.IPsec.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.IPsec.Enable";
-      reference
-        "Device.IPsec.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IPsec.Status";
-      reference
-        "Device.IPsec.Status";
-    }
-    leaf ah-supported {
-      type boolean;
-      config false;
-      description
-        "Device.IPsec.AHSupported";
-      reference
-        "Device.IPsec.AHSupported";
-    }
-    leaf ikev2-supported-encryption-algorithms {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SupportedEncryptionAlgorithms";
-      reference
-        "Device.IPsec.IKEv2SupportedEncryptionAlgorithms";
-    }
-    leaf esp-supported-encryption-algorithms {
-      type string;
-      config false;
-      description
-        "Device.IPsec.ESPSupportedEncryptionAlgorithms";
-      reference
-        "Device.IPsec.ESPSupportedEncryptionAlgorithms";
-    }
-    leaf ikev2-supported-pseudo-random-functions {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SupportedPseudoRandomFunctions";
-      reference
-        "Device.IPsec.IKEv2SupportedPseudoRandomFunctions";
-    }
-    leaf supported-integrity-algorithms {
-      type string;
-      config false;
-      description
-        "Device.IPsec.SupportedIntegrityAlgorithms";
-      reference
-        "Device.IPsec.SupportedIntegrityAlgorithms";
-    }
-    leaf supported-diffie-hellman-group-transforms {
-      type string;
-      config false;
-      description
-        "Device.IPsec.SupportedDiffieHellmanGroupTransforms";
-      reference
-        "Device.IPsec.SupportedDiffieHellmanGroupTransforms";
-    }
-    leaf max-filter-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.MaxFilterEntries";
-      reference
-        "Device.IPsec.MaxFilterEntries";
-    }
-    leaf max-profile-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.MaxProfileEntries";
-      reference
-        "Device.IPsec.MaxProfileEntries";
-    }
-    leaf filter-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.FilterNumberOfEntries";
-      reference
-        "Device.IPsec.FilterNumberOfEntries";
-    }
-    leaf profile-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.ProfileNumberOfEntries";
-      reference
-        "Device.IPsec.ProfileNumberOfEntries";
-    }
-    leaf tunnel-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.TunnelNumberOfEntries";
-      reference
-        "Device.IPsec.TunnelNumberOfEntries";
-    }
-    leaf ikev2-sa-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SANumberOfEntries";
-      reference
-        "Device.IPsec.IKEv2SANumberOfEntries";
-    }
-  }
-
-  grouping i-psec-filter-g {
-    description
-      "Grouping object for Device.IPsec.Filter.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.IPsec.Filter.{i}.Enable";
-      reference
-        "Device.IPsec.Filter.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IPsec.Filter.{i}.Status";
-      reference
-        "Device.IPsec.Filter.{i}.Status";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.IPsec.Filter.{i}.Order";
-      reference
-        "Device.IPsec.Filter.{i}.Order";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IPsec.Filter.{i}.Alias";
-      reference
-        "Device.IPsec.Filter.{i}.Alias";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IPsec.Filter.{i}.Interface";
-      reference
-        "Device.IPsec.Filter.{i}.Interface";
-    }
-    leaf all-interfaces {
-      type boolean;
-      description
-        "Device.IPsec.Filter.{i}.AllInterfaces";
-      reference
-        "Device.IPsec.Filter.{i}.AllInterfaces";
-    }
-    leaf dest-ip {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.IPsec.Filter.{i}.DestIP";
-      reference
-        "Device.IPsec.Filter.{i}.DestIP";
-    }
-    leaf dest-mask {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.IPsec.Filter.{i}.DestMask";
-      reference
-        "Device.IPsec.Filter.{i}.DestMask";
-    }
-    leaf dest-ip-exclude {
-      type boolean;
-      description
-        "Device.IPsec.Filter.{i}.DestIPExclude";
-      reference
-        "Device.IPsec.Filter.{i}.DestIPExclude";
-    }
-    leaf source-ip {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.IPsec.Filter.{i}.SourceIP";
-      reference
-        "Device.IPsec.Filter.{i}.SourceIP";
-    }
-    leaf source-mask {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.IPsec.Filter.{i}.SourceMask";
-      reference
-        "Device.IPsec.Filter.{i}.SourceMask";
-    }
-    leaf source-ip-exclude {
-      type boolean;
-      description
-        "Device.IPsec.Filter.{i}.SourceIPExclude";
-      reference
-        "Device.IPsec.Filter.{i}.SourceIPExclude";
-    }
-    leaf protocol {
-      type int32 {
-        range "-1..255";
-      }
-      description
-        "Device.IPsec.Filter.{i}.Protocol";
-      reference
-        "Device.IPsec.Filter.{i}.Protocol";
-    }
-    leaf protocol-exclude {
-      type boolean;
-      description
-        "Device.IPsec.Filter.{i}.ProtocolExclude";
-      reference
-        "Device.IPsec.Filter.{i}.ProtocolExclude";
-    }
-    leaf dest-port {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.IPsec.Filter.{i}.DestPort";
-      reference
-        "Device.IPsec.Filter.{i}.DestPort";
-    }
-    leaf dest-port-range-max {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.IPsec.Filter.{i}.DestPortRangeMax";
-      reference
-        "Device.IPsec.Filter.{i}.DestPortRangeMax";
-    }
-    leaf dest-port-exclude {
-      type boolean;
-      description
-        "Device.IPsec.Filter.{i}.DestPortExclude";
-      reference
-        "Device.IPsec.Filter.{i}.DestPortExclude";
-    }
-    leaf source-port {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.IPsec.Filter.{i}.SourcePort";
-      reference
-        "Device.IPsec.Filter.{i}.SourcePort";
-    }
-    leaf source-port-range-max {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.IPsec.Filter.{i}.SourcePortRangeMax";
-      reference
-        "Device.IPsec.Filter.{i}.SourcePortRangeMax";
-    }
-    leaf source-port-exclude {
-      type boolean;
-      description
-        "Device.IPsec.Filter.{i}.SourcePortExclude";
-      reference
-        "Device.IPsec.Filter.{i}.SourcePortExclude";
-    }
-    leaf processing-choice {
-      type enumeration {
-        enum Discard {
-          description
-            "Enum Value - Discard";
-        }
-        enum Bypass {
-          description
-            "Enum Value - Bypass";
-        }
-        enum Protect {
-          description
-            "Enum Value - Protect";
-        }
-      }
-      description
-        "Device.IPsec.Filter.{i}.ProcessingChoice";
-      reference
-        "Device.IPsec.Filter.{i}.ProcessingChoice";
-    }
-    leaf profile {
-      type string;
-      description
-        "Device.IPsec.Filter.{i}.Profile";
-      reference
-        "Device.IPsec.Filter.{i}.Profile";
-    }
-  }
-
-  grouping i-psec-ikev2-sa-g {
-    description
-      "Grouping object for Device.IPsec.IKEv2SA.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.Status";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IPsec.IKEv2SA.{i}.Alias";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.Alias";
-    }
-    leaf tunnel {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.Tunnel";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.Tunnel";
-    }
-    leaf local-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.LocalAddress";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.LocalAddress";
-    }
-    leaf remote-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.RemoteAddress";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.RemoteAddress";
-    }
-    leaf encryption-algorithm {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.EncryptionAlgorithm";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.EncryptionAlgorithm";
-    }
-    leaf encryption-key-length {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.EncryptionKeyLength";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.EncryptionKeyLength";
-    }
-    leaf pseudo-random-function {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.PseudoRandomFunction";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.PseudoRandomFunction";
-    }
-    leaf integrity-algorithm {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.IntegrityAlgorithm";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.IntegrityAlgorithm";
-    }
-    leaf diffie-hellman-group-transform {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.DiffieHellmanGroupTransform";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.DiffieHellmanGroupTransform";
-    }
-    leaf creation-time {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.CreationTime";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.CreationTime";
-    }
-    leaf nat-detected {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.NATDetected";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.NATDetected";
-    }
-    leaf received-cp-attr-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttrNumberOfEntries";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttrNumberOfEntries";
-    }
-    leaf child-sa-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSANumberOfEntries";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSANumberOfEntries";
-    }
-  }
-
-  grouping ikev2-sa-child-sa-g {
-    description
-      "Grouping object for Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Status";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Alias";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Alias";
-    }
-    leaf inbound-spi {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.InboundSPI";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.InboundSPI";
-    }
-    leaf outbound-spi {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.OutboundSPI";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.OutboundSPI";
-    }
-    leaf creation-time {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.CreationTime";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.CreationTime";
-    }
-  }
-
-  grouping child-sa-stats-g {
-    description
-      "Grouping object for Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.BytesSent";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.BytesReceived";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PacketsSent";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PacketsReceived";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.ErrorsSent";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.ErrorsSent";
-    }
-    leaf decryption-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.DecryptionErrors";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.DecryptionErrors";
-    }
-    leaf integrity-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.IntegrityErrors";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.IntegrityErrors";
-    }
-    leaf replay-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.ReplayErrors";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.ReplayErrors";
-    }
-    leaf policy-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PolicyErrors";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PolicyErrors";
-    }
-    leaf other-receive-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.OtherReceiveErrors";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.OtherReceiveErrors";
-    }
-  }
-
-  grouping ikev2-sa-received-cp-attr-g {
-    description
-      "Grouping object for Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf type {
-      type uint32 {
-        range "0..32767";
-      }
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.Type";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.Type";
-    }
-    leaf value {
-      type string;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.Value";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.Value";
-    }
-  }
-
-  grouping ikev2-sa-stats-g {
-    description
-      "Grouping object for Device.IPsec.IKEv2SA.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.Stats.BytesSent";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.Stats.BytesReceived";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.Stats.PacketsSent";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.Stats.PacketsReceived";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.Stats.ErrorsSent";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.Stats.ErrorsSent";
-    }
-    leaf decryption-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.Stats.DecryptionErrors";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.Stats.DecryptionErrors";
-    }
-    leaf integrity-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.Stats.IntegrityErrors";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.Stats.IntegrityErrors";
-    }
-    leaf other-receive-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.IKEv2SA.{i}.Stats.OtherReceiveErrors";
-      reference
-        "Device.IPsec.IKEv2SA.{i}.Stats.OtherReceiveErrors";
-    }
-  }
-
-  grouping i-psec-profile-g {
-    description
-      "Grouping object for Device.IPsec.Profile.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IPsec.Profile.{i}.Alias";
-      reference
-        "Device.IPsec.Profile.{i}.Alias";
-    }
-    leaf max-child-s-as {
-      type uint32;
-      description
-        "Device.IPsec.Profile.{i}.MaxChildSAs";
-      reference
-        "Device.IPsec.Profile.{i}.MaxChildSAs";
-    }
-    leaf remote-endpoints {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IPsec.Profile.{i}.RemoteEndpoints";
-      reference
-        "Device.IPsec.Profile.{i}.RemoteEndpoints";
-    }
-    leaf forwarding-policy {
-      type uint32;
-      description
-        "Device.IPsec.Profile.{i}.ForwardingPolicy";
-      reference
-        "Device.IPsec.Profile.{i}.ForwardingPolicy";
-    }
-    leaf protocol {
-      type enumeration {
-        enum AH {
-          description
-            "Enum Value - AH";
-        }
-        enum ESP {
-          description
-            "Enum Value - ESP";
-        }
-      }
-      description
-        "Device.IPsec.Profile.{i}.Protocol";
-      reference
-        "Device.IPsec.Profile.{i}.Protocol";
-    }
-    leaf ikev2-authentication-method {
-      type string;
-      description
-        "Device.IPsec.Profile.{i}.IKEv2AuthenticationMethod";
-      reference
-        "Device.IPsec.Profile.{i}.IKEv2AuthenticationMethod";
-    }
-    leaf ikev2-allowed-encryption-algorithms {
-      type string;
-      description
-        "Device.IPsec.Profile.{i}.IKEv2AllowedEncryptionAlgorithms";
-      reference
-        "Device.IPsec.Profile.{i}.IKEv2AllowedEncryptionAlgorithms";
-    }
-    leaf esp-allowed-encryption-algorithms {
-      type string;
-      description
-        "Device.IPsec.Profile.{i}.ESPAllowedEncryptionAlgorithms";
-      reference
-        "Device.IPsec.Profile.{i}.ESPAllowedEncryptionAlgorithms";
-    }
-    leaf ikev2-allowed-pseudo-random-functions {
-      type string;
-      description
-        "Device.IPsec.Profile.{i}.IKEv2AllowedPseudoRandomFunctions";
-      reference
-        "Device.IPsec.Profile.{i}.IKEv2AllowedPseudoRandomFunctions";
-    }
-    leaf ikev2-allowed-integrity-algorithms {
-      type string;
-      description
-        "Device.IPsec.Profile.{i}.IKEv2AllowedIntegrityAlgorithms";
-      reference
-        "Device.IPsec.Profile.{i}.IKEv2AllowedIntegrityAlgorithms";
-    }
-    leaf ah-allowed-integrity-algorithms {
-      type string;
-      description
-        "Device.IPsec.Profile.{i}.AHAllowedIntegrityAlgorithms";
-      reference
-        "Device.IPsec.Profile.{i}.AHAllowedIntegrityAlgorithms";
-    }
-    leaf esp-allowed-integrity-algorithms {
-      type string;
-      description
-        "Device.IPsec.Profile.{i}.ESPAllowedIntegrityAlgorithms";
-      reference
-        "Device.IPsec.Profile.{i}.ESPAllowedIntegrityAlgorithms";
-    }
-    leaf ikev2-allowed-diffie-hellman-group-transforms {
-      type string;
-      description
-        "Device.IPsec.Profile.{i}.IKEv2AllowedDiffieHellmanGroupTransforms";
-      reference
-        "Device.IPsec.Profile.{i}.IKEv2AllowedDiffieHellmanGroupTransforms";
-    }
-    leaf ikev2-dead-peer-detection-timeout {
-      type uint32;
-      description
-        "Device.IPsec.Profile.{i}.IKEv2DeadPeerDetectionTimeout";
-      reference
-        "Device.IPsec.Profile.{i}.IKEv2DeadPeerDetectionTimeout";
-    }
-    leaf ikev2-natt-keepalive-timeout {
-      type uint32;
-      description
-        "Device.IPsec.Profile.{i}.IKEv2NATTKeepaliveTimeout";
-      reference
-        "Device.IPsec.Profile.{i}.IKEv2NATTKeepaliveTimeout";
-    }
-    leaf anti-replay-window-size {
-      type uint32;
-      description
-        "Device.IPsec.Profile.{i}.AntiReplayWindowSize";
-      reference
-        "Device.IPsec.Profile.{i}.AntiReplayWindowSize";
-    }
-    leaf do-not-fragment {
-      type enumeration {
-        enum Set {
-          description
-            "Enum Value - Set";
-        }
-        enum Clear {
-          description
-            "Enum Value - Clear";
-        }
-        enum Copy {
-          description
-            "Enum Value - Copy";
-        }
-      }
-      description
-        "Device.IPsec.Profile.{i}.DoNotFragment";
-      reference
-        "Device.IPsec.Profile.{i}.DoNotFragment";
-    }
-    leaf dscp-mark-policy {
-      type int32 {
-        range "-2..63";
-      }
-      description
-        "Device.IPsec.Profile.{i}.DSCPMarkPolicy";
-      reference
-        "Device.IPsec.Profile.{i}.DSCPMarkPolicy";
-    }
-    leaf ikev2-sa-traffic-limit {
-      type uint64;
-      description
-        "Device.IPsec.Profile.{i}.IKEv2SATrafficLimit";
-      reference
-        "Device.IPsec.Profile.{i}.IKEv2SATrafficLimit";
-    }
-    leaf ikev2-sa-time-limit {
-      type uint32;
-      description
-        "Device.IPsec.Profile.{i}.IKEv2SATimeLimit";
-      reference
-        "Device.IPsec.Profile.{i}.IKEv2SATimeLimit";
-    }
-    leaf ikev2-sa-expiry-action {
-      type enumeration {
-        enum Renegotiate {
-          description
-            "Enum Value - Renegotiate";
-        }
-        enum Delete {
-          description
-            "Enum Value - Delete";
-        }
-      }
-      description
-        "Device.IPsec.Profile.{i}.IKEv2SAExpiryAction";
-      reference
-        "Device.IPsec.Profile.{i}.IKEv2SAExpiryAction";
-    }
-    leaf child-sa-traffic-limit {
-      type uint64;
-      description
-        "Device.IPsec.Profile.{i}.ChildSATrafficLimit";
-      reference
-        "Device.IPsec.Profile.{i}.ChildSATrafficLimit";
-    }
-    leaf child-sa-time-limit {
-      type uint32;
-      description
-        "Device.IPsec.Profile.{i}.ChildSATimeLimit";
-      reference
-        "Device.IPsec.Profile.{i}.ChildSATimeLimit";
-    }
-    leaf child-sa-expiry-action {
-      type enumeration {
-        enum Renegotiate {
-          description
-            "Enum Value - Renegotiate";
-        }
-        enum Delete {
-          description
-            "Enum Value - Delete";
-        }
-      }
-      description
-        "Device.IPsec.Profile.{i}.ChildSAExpiryAction";
-      reference
-        "Device.IPsec.Profile.{i}.ChildSAExpiryAction";
-    }
-    leaf sent-cp-attr-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Profile.{i}.SentCPAttrNumberOfEntries";
-      reference
-        "Device.IPsec.Profile.{i}.SentCPAttrNumberOfEntries";
-    }
-  }
-
-  grouping profile-sent-cp-attr-g {
-    description
-      "Grouping object for Device.IPsec.Profile.{i}.SentCPAttr.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Enable";
-      reference
-        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Alias";
-      reference
-        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Alias";
-    }
-    leaf type {
-      type uint32 {
-        range "0..32767";
-      }
-      description
-        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Type";
-      reference
-        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Type";
-    }
-    leaf value {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Value";
-      reference
-        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Value";
-    }
-  }
-
-  grouping i-psec-stats-g {
-    description
-      "Grouping object for Device.IPsec.Stats.";
-    leaf negotiation-failures {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Stats.NegotiationFailures";
-      reference
-        "Device.IPsec.Stats.NegotiationFailures";
-    }
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.Stats.BytesSent";
-      reference
-        "Device.IPsec.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.Stats.BytesReceived";
-      reference
-        "Device.IPsec.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.Stats.PacketsSent";
-      reference
-        "Device.IPsec.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.IPsec.Stats.PacketsReceived";
-      reference
-        "Device.IPsec.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Stats.ErrorsSent";
-      reference
-        "Device.IPsec.Stats.ErrorsSent";
-    }
-    leaf unknown-spi-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Stats.UnknownSPIErrors";
-      reference
-        "Device.IPsec.Stats.UnknownSPIErrors";
-    }
-    leaf decryption-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Stats.DecryptionErrors";
-      reference
-        "Device.IPsec.Stats.DecryptionErrors";
-    }
-    leaf integrity-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Stats.IntegrityErrors";
-      reference
-        "Device.IPsec.Stats.IntegrityErrors";
-    }
-    leaf replay-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Stats.ReplayErrors";
-      reference
-        "Device.IPsec.Stats.ReplayErrors";
-    }
-    leaf policy-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Stats.PolicyErrors";
-      reference
-        "Device.IPsec.Stats.PolicyErrors";
-    }
-    leaf other-receive-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Stats.OtherReceiveErrors";
-      reference
-        "Device.IPsec.Stats.OtherReceiveErrors";
-    }
-  }
-
-  grouping i-psec-tunnel-g {
-    description
-      "Grouping object for Device.IPsec.Tunnel.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IPsec.Tunnel.{i}.Alias";
-      reference
-        "Device.IPsec.Tunnel.{i}.Alias";
-    }
-    leaf tunnel-interface {
-      type string;
-      config false;
-      description
-        "Device.IPsec.Tunnel.{i}.TunnelInterface";
-      reference
-        "Device.IPsec.Tunnel.{i}.TunnelInterface";
-    }
-    leaf tunneled-interface {
-      type string;
-      config false;
-      description
-        "Device.IPsec.Tunnel.{i}.TunneledInterface";
-      reference
-        "Device.IPsec.Tunnel.{i}.TunneledInterface";
-    }
-    leaf filters {
-      type string;
-      config false;
-      description
-        "Device.IPsec.Tunnel.{i}.Filters";
-      reference
-        "Device.IPsec.Tunnel.{i}.Filters";
-    }
-  }
-
-  grouping i-psec-tunnel-stats-g {
-    description
-      "Grouping object for Device.IPsec.Tunnel.{i}.Stats.";
-    leaf decryption-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Tunnel.{i}.Stats.DecryptionErrors";
-      reference
-        "Device.IPsec.Tunnel.{i}.Stats.DecryptionErrors";
-    }
-    leaf integrity-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Tunnel.{i}.Stats.IntegrityErrors";
-      reference
-        "Device.IPsec.Tunnel.{i}.Stats.IntegrityErrors";
-    }
-    leaf replay-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Tunnel.{i}.Stats.ReplayErrors";
-      reference
-        "Device.IPsec.Tunnel.{i}.Stats.ReplayErrors";
-    }
-    leaf policy-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Tunnel.{i}.Stats.PolicyErrors";
-      reference
-        "Device.IPsec.Tunnel.{i}.Stats.PolicyErrors";
-    }
-    leaf other-receive-errors {
-      type uint32;
-      config false;
-      description
-        "Device.IPsec.Tunnel.{i}.Stats.OtherReceiveErrors";
-      reference
-        "Device.IPsec.Tunnel.{i}.Stats.OtherReceiveErrors";
-    }
-  }
-
-  grouping device-ipv6rd-g {
-    description
-      "Grouping object for Device.IPv6rd.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.IPv6rd.Enable";
-      reference
-        "Device.IPv6rd.Enable";
-    }
-    leaf interface-setting-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.IPv6rd.InterfaceSettingNumberOfEntries";
-      reference
-        "Device.IPv6rd.InterfaceSettingNumberOfEntries";
-    }
-  }
-
-  grouping ipv6rd-interface-setting-g {
-    description
-      "Grouping object for Device.IPv6rd.InterfaceSetting.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.IPv6rd.InterfaceSetting.{i}.Enable";
-      reference
-        "Device.IPv6rd.InterfaceSetting.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.IPv6rd.InterfaceSetting.{i}.Status";
-      reference
-        "Device.IPv6rd.InterfaceSetting.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.IPv6rd.InterfaceSetting.{i}.Alias";
-      reference
-        "Device.IPv6rd.InterfaceSetting.{i}.Alias";
-    }
-    leaf border-relay-ipv4-addresses {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.IPv6rd.InterfaceSetting.{i}.BorderRelayIPv4Addresses";
-      reference
-        "Device.IPv6rd.InterfaceSetting.{i}.BorderRelayIPv4Addresses";
-    }
-    leaf all-traffic-to-border-relay {
-      type boolean;
-      description
-        "Device.IPv6rd.InterfaceSetting.{i}.AllTrafficToBorderRelay";
-      reference
-        "Device.IPv6rd.InterfaceSetting.{i}.AllTrafficToBorderRelay";
-    }
-    leaf spipv6-prefix {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.IPv6rd.InterfaceSetting.{i}.SPIPv6Prefix";
-      reference
-        "Device.IPv6rd.InterfaceSetting.{i}.SPIPv6Prefix";
-    }
-    leaf ipv4-mask-length {
-      type uint32 {
-        range "0..32";
-      }
-      description
-        "Device.IPv6rd.InterfaceSetting.{i}.IPv4MaskLength";
-      reference
-        "Device.IPv6rd.InterfaceSetting.{i}.IPv4MaskLength";
-    }
-    leaf address-source {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.IPv6rd.InterfaceSetting.{i}.AddressSource";
-      reference
-        "Device.IPv6rd.InterfaceSetting.{i}.AddressSource";
-    }
-    leaf tunnel-interface {
-      type string;
-      config false;
-      description
-        "Device.IPv6rd.InterfaceSetting.{i}.TunnelInterface";
-      reference
-        "Device.IPv6rd.InterfaceSetting.{i}.TunnelInterface";
-    }
-    leaf tunneled-interface {
-      type string;
-      config false;
-      description
-        "Device.IPv6rd.InterfaceSetting.{i}.TunneledInterface";
-      reference
-        "Device.IPv6rd.InterfaceSetting.{i}.TunneledInterface";
-    }
-  }
-
-  grouping device-interface-stack-g {
-    description
-      "Grouping object for Device.InterfaceStack.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.InterfaceStack.{i}.Alias";
-      reference
-        "Device.InterfaceStack.{i}.Alias";
-    }
-    leaf higher-layer {
-      type string;
-      config false;
-      description
-        "Device.InterfaceStack.{i}.HigherLayer";
-      reference
-        "Device.InterfaceStack.{i}.HigherLayer";
-    }
-    leaf lower-layer {
-      type string;
-      config false;
-      description
-        "Device.InterfaceStack.{i}.LowerLayer";
-      reference
-        "Device.InterfaceStack.{i}.LowerLayer";
-    }
-    leaf higher-alias {
-      type string;
-      config false;
-      description
-        "Device.InterfaceStack.{i}.HigherAlias";
-      reference
-        "Device.InterfaceStack.{i}.HigherAlias";
-    }
-    leaf lower-alias {
-      type string;
-      config false;
-      description
-        "Device.InterfaceStack.{i}.LowerAlias";
-      reference
-        "Device.InterfaceStack.{i}.LowerAlias";
-    }
-  }
-
-  grouping device-l2-tpv3-g {
-    description
-      "Grouping object for Device.L2TPv3.";
-    leaf tunnel-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.TunnelNumberOfEntries";
-      reference
-        "Device.L2TPv3.TunnelNumberOfEntries";
-    }
-    leaf filter-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.FilterNumberOfEntries";
-      reference
-        "Device.L2TPv3.FilterNumberOfEntries";
-    }
-  }
-
-  grouping l2-tpv3-filter-g {
-    description
-      "Grouping object for Device.L2TPv3.Filter.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.L2TPv3.Filter.{i}.Enable";
-      reference
-        "Device.L2TPv3.Filter.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.L2TPv3.Filter.{i}.Status";
-      reference
-        "Device.L2TPv3.Filter.{i}.Status";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.L2TPv3.Filter.{i}.Order";
-      reference
-        "Device.L2TPv3.Filter.{i}.Order";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.L2TPv3.Filter.{i}.Alias";
-      reference
-        "Device.L2TPv3.Filter.{i}.Alias";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.L2TPv3.Filter.{i}.Interface";
-      reference
-        "Device.L2TPv3.Filter.{i}.Interface";
-    }
-    leaf all-interfaces {
-      type boolean;
-      description
-        "Device.L2TPv3.Filter.{i}.AllInterfaces";
-      reference
-        "Device.L2TPv3.Filter.{i}.AllInterfaces";
-    }
-    leaf vlanid-check {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.L2TPv3.Filter.{i}.VLANIDCheck";
-      reference
-        "Device.L2TPv3.Filter.{i}.VLANIDCheck";
-    }
-    leaf vlanid-exclude {
-      type boolean;
-      description
-        "Device.L2TPv3.Filter.{i}.VLANIDExclude";
-      reference
-        "Device.L2TPv3.Filter.{i}.VLANIDExclude";
-    }
-    leaf dscp-mark-policy {
-      type int32 {
-        range "-2..63";
-      }
-      description
-        "Device.L2TPv3.Filter.{i}.DSCPMarkPolicy";
-      reference
-        "Device.L2TPv3.Filter.{i}.DSCPMarkPolicy";
-    }
-  }
-
-  grouping l2-tpv3-tunnel-g {
-    description
-      "Grouping object for Device.L2TPv3.Tunnel.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Enable";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Status";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.L2TPv3.Tunnel.{i}.Alias";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Alias";
-    }
-    leaf remote-endpoints {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.L2TPv3.Tunnel.{i}.RemoteEndpoints";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.RemoteEndpoints";
-    }
-    leaf keep-alive-policy {
-      type enumeration {
-        enum ICMP {
-          description
-            "Enum Value - ICMP";
-        }
-        enum None {
-          description
-            "Enum Value - None";
-        }
-      }
-      description
-        "Device.L2TPv3.Tunnel.{i}.KeepAlivePolicy";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.KeepAlivePolicy";
-    }
-    leaf keep-alive-timeout {
-      type uint32;
-      description
-        "Device.L2TPv3.Tunnel.{i}.KeepAliveTimeout";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.KeepAliveTimeout";
-    }
-    leaf keep-alive-threshold {
-      type uint32;
-      description
-        "Device.L2TPv3.Tunnel.{i}.KeepAliveThreshold";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.KeepAliveThreshold";
-    }
-    leaf delivery-header-protocol {
-      type enumeration {
-        enum IPv4 {
-          description
-            "Enum Value - IPv4";
-        }
-        enum IPv6 {
-          description
-            "Enum Value - IPv6";
-        }
-      }
-      description
-        "Device.L2TPv3.Tunnel.{i}.DeliveryHeaderProtocol";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.DeliveryHeaderProtocol";
-    }
-    leaf default-dscp-mark {
-      type uint32;
-      description
-        "Device.L2TPv3.Tunnel.{i}.DefaultDSCPMark";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.DefaultDSCPMark";
-    }
-    leaf tunnel-encapsulation {
-      type enumeration {
-        enum IP {
-          description
-            "Enum Value - IP";
-        }
-        enum UDP {
-          description
-            "Enum Value - UDP";
-        }
-      }
-      description
-        "Device.L2TPv3.Tunnel.{i}.TunnelEncapsulation";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.TunnelEncapsulation";
-    }
-    leaf connected-remote-endpoint {
-      type string;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.ConnectedRemoteEndpoint";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.ConnectedRemoteEndpoint";
-    }
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.InterfaceNumberOfEntries";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.InterfaceNumberOfEntries";
-    }
-  }
-
-  grouping l2-tpv3-tunnel-interface-g {
-    description
-      "Grouping object for Device.L2TPv3.Tunnel.{i}.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Enable";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Status";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Alias";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Name";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.LastChange";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.LowerLayers";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.LowerLayers";
-    }
-    leaf session-id {
-      type int32 {
-        range "-1 | 1..65535";
-      }
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.SessionID";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.SessionID";
-    }
-    leaf cookie-policy {
-      type enumeration {
-        enum Disabled {
-          description
-            "Enum Value - Disabled";
-        }
-        enum Configured {
-          description
-            "Enum Value - Configured";
-        }
-        enum Generated {
-          description
-            "Enum Value - Generated";
-        }
-      }
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.CookiePolicy";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.CookiePolicy";
-    }
-    leaf cookie {
-      type uint64;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Cookie";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Cookie";
-    }
-  }
-
-  grouping l2-tpv3-tunnel-interface-stats-g {
-    description
-      "Grouping object for Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf discard-checksum-received {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";
-    }
-    leaf discard-sequence-number-received {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";
-    }
-  }
-
-  grouping l2-tpv3-tunnel-stats-g {
-    description
-      "Grouping object for Device.L2TPv3.Tunnel.{i}.Stats.";
-    leaf keep-alive-sent {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Stats.KeepAliveSent";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Stats.KeepAliveSent";
-    }
-    leaf keep-alive-received {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Stats.KeepAliveReceived";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Stats.KeepAliveReceived";
-    }
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Stats.BytesSent";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Stats.BytesReceived";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Stats.PacketsSent";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Stats.PacketsReceived";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Stats.ErrorsSent";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.L2TPv3.Tunnel.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.Stats.ErrorsReceived";
-    }
-  }
-
-  grouping tunnel-udp-g {
-    description
-      "Grouping object for Device.L2TPv3.Tunnel.{i}.UDP.";
-    leaf source-port {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.L2TPv3.Tunnel.{i}.UDP.SourcePort";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.UDP.SourcePort";
-    }
-    leaf remote-port {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.L2TPv3.Tunnel.{i}.UDP.RemotePort";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.UDP.RemotePort";
-    }
-    leaf enable-checksum {
-      type boolean;
-      description
-        "Device.L2TPv3.Tunnel.{i}.UDP.EnableChecksum";
-      reference
-        "Device.L2TPv3.Tunnel.{i}.UDP.EnableChecksum";
-    }
-  }
-
-  grouping device-le-ds-g {
-    description
-      "Grouping object for Device.LEDs.";
-    leaf led-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LEDs.LEDNumberOfEntries";
-      reference
-        "Device.LEDs.LEDNumberOfEntries";
-    }
-  }
-
-  grouping le-ds-led-g {
-    description
-      "Grouping object for Device.LEDs.LED.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LEDs.LED.{i}.Alias";
-      reference
-        "Device.LEDs.LED.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      description
-        "Device.LEDs.LED.{i}.Name";
-      reference
-        "Device.LEDs.LED.{i}.Name";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.LEDs.LED.{i}.Status";
-      reference
-        "Device.LEDs.LED.{i}.Status";
-    }
-    leaf reason {
-      type string;
-      config false;
-      description
-        "Device.LEDs.LED.{i}.Reason";
-      reference
-        "Device.LEDs.LED.{i}.Reason";
-    }
-    leaf cycle-period-repetitions {
-      type int32;
-      config false;
-      description
-        "Device.LEDs.LED.{i}.CyclePeriodRepetitions";
-      reference
-        "Device.LEDs.LED.{i}.CyclePeriodRepetitions";
-    }
-    leaf location {
-      type string;
-      config false;
-      description
-        "Device.LEDs.LED.{i}.Location";
-      reference
-        "Device.LEDs.LED.{i}.Location";
-    }
-    leaf relative-x-position {
-      type uint32;
-      config false;
-      description
-        "Device.LEDs.LED.{i}.RelativeXPosition";
-      reference
-        "Device.LEDs.LED.{i}.RelativeXPosition";
-    }
-    leaf relative-y-position {
-      type uint32;
-      config false;
-      description
-        "Device.LEDs.LED.{i}.RelativeYPosition";
-      reference
-        "Device.LEDs.LED.{i}.RelativeYPosition";
-    }
-    leaf cycle-element-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LEDs.LED.{i}.CycleElementNumberOfEntries";
-      reference
-        "Device.LEDs.LED.{i}.CycleElementNumberOfEntries";
-    }
-  }
-
-  grouping led-current-cycle-element-g {
-    description
-      "Grouping object for Device.LEDs.LED.{i}.CurrentCycleElement.";
-    leaf cycle-element-reference {
-      type string;
-      config false;
-      description
-        "Device.LEDs.LED.{i}.CurrentCycleElement.CycleElementReference";
-      reference
-        "Device.LEDs.LED.{i}.CurrentCycleElement.CycleElementReference";
-    }
-    leaf color {
-      type string;
-      config false;
-      description
-        "Device.LEDs.LED.{i}.CurrentCycleElement.Color";
-      reference
-        "Device.LEDs.LED.{i}.CurrentCycleElement.Color";
-    }
-    leaf duration {
-      type uint32;
-      config false;
-      description
-        "Device.LEDs.LED.{i}.CurrentCycleElement.Duration";
-      reference
-        "Device.LEDs.LED.{i}.CurrentCycleElement.Duration";
-    }
-  }
-
-  grouping led-cycle-element-g {
-    description
-      "Grouping object for Device.LEDs.LED.{i}.CycleElement.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LEDs.LED.{i}.CycleElement.{i}.Alias";
-      reference
-        "Device.LEDs.LED.{i}.CycleElement.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LEDs.LED.{i}.CycleElement.{i}.Enable";
-      reference
-        "Device.LEDs.LED.{i}.CycleElement.{i}.Enable";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.LEDs.LED.{i}.CycleElement.{i}.Order";
-      reference
-        "Device.LEDs.LED.{i}.CycleElement.{i}.Order";
-    }
-    leaf color {
-      type string {
-        length "3";
-      }
-      description
-        "Device.LEDs.LED.{i}.CycleElement.{i}.Color";
-      reference
-        "Device.LEDs.LED.{i}.CycleElement.{i}.Color";
-    }
-    leaf duration {
-      type uint32;
-      description
-        "Device.LEDs.LED.{i}.CycleElement.{i}.Duration";
-      reference
-        "Device.LEDs.LED.{i}.CycleElement.{i}.Duration";
-    }
-    leaf fade-interval {
-      type uint32;
-      description
-        "Device.LEDs.LED.{i}.CycleElement.{i}.FadeInterval";
-      reference
-        "Device.LEDs.LED.{i}.CycleElement.{i}.FadeInterval";
-    }
-  }
-
-  grouping lldp-discovery-g {
-    description
-      "Grouping object for Device.LLDP.Discovery.";
-    leaf device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LLDP.Discovery.DeviceNumberOfEntries";
-      reference
-        "Device.LLDP.Discovery.DeviceNumberOfEntries";
-    }
-  }
-
-  grouping discovery-device-g {
-    description
-      "Grouping object for Device.LLDP.Discovery.Device.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf interface {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.Interface";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.Interface";
-    }
-    leaf chassis-id-subtype {
-      type uint32;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.ChassisIDSubtype";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.ChassisIDSubtype";
-    }
-    leaf chassis-id {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.ChassisID";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.ChassisID";
-    }
-    leaf host {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.Host";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.Host";
-    }
-    leaf port-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.PortNumberOfEntries";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.PortNumberOfEntries";
-    }
-  }
-
-  grouping device-device-information-g {
-    description
-      "Grouping object for Device.LLDP.Discovery.Device.{i}.DeviceInformation.";
-    leaf device-category {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.DeviceCategory";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.DeviceCategory";
-    }
-    leaf manufacturer-oui {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ManufacturerOUI";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ManufacturerOUI";
-    }
-    leaf model-name {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ModelName";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ModelName";
-    }
-    leaf model-number {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ModelNumber";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ModelNumber";
-    }
-    leaf vendor-specific-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecificNumberOfEntries";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecificNumberOfEntries";
-    }
-  }
-
-  grouping device-information-vendor-specific-g {
-    description
-      "Grouping object for Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf organization-code {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.OrganizationCode";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.OrganizationCode";
-    }
-    leaf information-type {
-      type uint32;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.InformationType";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.InformationType";
-    }
-    leaf information {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.Information";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.Information";
-    }
-  }
-
-  grouping device-port-g {
-    description
-      "Grouping object for Device.LLDP.Discovery.Device.{i}.Port.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf port-id-subtype {
-      type uint32;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortIDSubtype";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortIDSubtype";
-    }
-    leaf port-id {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortID";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortID";
-    }
-    leaf ttl {
-      type uint32;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.TTL";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.TTL";
-    }
-    leaf port-description {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortDescription";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortDescription";
-    }
-    leaf mac-address-list {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.MACAddressList";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.MACAddressList";
-    }
-    leaf last-update {
-      type string;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LastUpdate";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LastUpdate";
-    }
-  }
-
-  grouping port-link-information-g {
-    description
-      "Grouping object for Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.";
-    leaf interface-type {
-      type uint32;
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.InterfaceType";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.InterfaceType";
-    }
-    leaf mac-forwarding-table {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.MACForwardingTable";
-      reference
-        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.MACForwardingTable";
-    }
-  }
-
-  grouping device-lmap-g {
-    description
-      "Grouping object for Device.LMAP.";
-    leaf measurement-agent-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgentNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgentNumberOfEntries";
-    }
-    leaf report-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.ReportNumberOfEntries";
-      reference
-        "Device.LMAP.ReportNumberOfEntries";
-    }
-    leaf event-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.EventNumberOfEntries";
-      reference
-        "Device.LMAP.EventNumberOfEntries";
-    }
-  }
-
-  grouping lmap-event-g {
-    description
-      "Grouping object for Device.LMAP.Event.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LMAP.Event.{i}.Enable";
-      reference
-        "Device.LMAP.Event.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LMAP.Event.{i}.Alias";
-      reference
-        "Device.LMAP.Event.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.LMAP.Event.{i}.Name";
-      reference
-        "Device.LMAP.Event.{i}.Name";
-    }
-    leaf type {
-      type enumeration {
-        enum PeriodicTiming {
-          description
-            "Enum Value - PeriodicTiming";
-        }
-        enum CalendarTiming {
-          description
-            "Enum Value - CalendarTiming";
-        }
-        enum OneOffTiming {
-          description
-            "Enum Value - OneOffTiming";
-        }
-        enum Immediate {
-          description
-            "Enum Value - Immediate";
-        }
-        enum Startup {
-          description
-            "Enum Value - Startup";
-        }
-        enum ControllerLost {
-          description
-            "Enum Value - ControllerLost";
-        }
-        enum ControllerConnected {
-          description
-            "Enum Value - ControllerConnected";
-        }
-      }
-      description
-        "Device.LMAP.Event.{i}.Type";
-      reference
-        "Device.LMAP.Event.{i}.Type";
-    }
-    leaf randomness-spread {
-      type int32;
-      description
-        "Device.LMAP.Event.{i}.RandomnessSpread";
-      reference
-        "Device.LMAP.Event.{i}.RandomnessSpread";
-    }
-    leaf cycle-interval {
-      type int32;
-      description
-        "Device.LMAP.Event.{i}.CycleInterval";
-      reference
-        "Device.LMAP.Event.{i}.CycleInterval";
-    }
-  }
-
-  grouping event-calendar-timer-g {
-    description
-      "Grouping object for Device.LMAP.Event.{i}.CalendarTimer.";
-    leaf start-time {
-      type string;
-      description
-        "Device.LMAP.Event.{i}.CalendarTimer.StartTime";
-      reference
-        "Device.LMAP.Event.{i}.CalendarTimer.StartTime";
-    }
-    leaf end-time {
-      type string;
-      description
-        "Device.LMAP.Event.{i}.CalendarTimer.EndTime";
-      reference
-        "Device.LMAP.Event.{i}.CalendarTimer.EndTime";
-    }
-    leaf schedule-months {
-      type string;
-      description
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleMonths";
-      reference
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleMonths";
-    }
-    leaf schedule-days-of-month {
-      type string;
-      description
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleDaysOfMonth";
-      reference
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleDaysOfMonth";
-    }
-    leaf schedule-days-of-week {
-      type string;
-      description
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleDaysOfWeek";
-      reference
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleDaysOfWeek";
-    }
-    leaf schedule-hours-of-day {
-      type string;
-      description
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleHoursOfDay";
-      reference
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleHoursOfDay";
-    }
-    leaf schedule-minutes-of-hour {
-      type string;
-      description
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleMinutesOfHour";
-      reference
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleMinutesOfHour";
-    }
-    leaf schedule-seconds-of-minute {
-      type string;
-      description
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleSecondsOfMinute";
-      reference
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleSecondsOfMinute";
-    }
-    leaf enable-schedule-timezone-offset {
-      type boolean;
-      description
-        "Device.LMAP.Event.{i}.CalendarTimer.EnableScheduleTimezoneOffset";
-      reference
-        "Device.LMAP.Event.{i}.CalendarTimer.EnableScheduleTimezoneOffset";
-    }
-    leaf schedule-timezone-offset {
-      type int32 {
-        range "-23..23";
-      }
-      description
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleTimezoneOffset";
-      reference
-        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleTimezoneOffset";
-    }
-  }
-
-  grouping event-one-off-g {
-    description
-      "Grouping object for Device.LMAP.Event.{i}.OneOff.";
-    leaf start-time {
-      type string;
-      description
-        "Device.LMAP.Event.{i}.OneOff.StartTime";
-      reference
-        "Device.LMAP.Event.{i}.OneOff.StartTime";
-    }
-  }
-
-  grouping event-periodic-timer-g {
-    description
-      "Grouping object for Device.LMAP.Event.{i}.PeriodicTimer.";
-    leaf start-time {
-      type string;
-      description
-        "Device.LMAP.Event.{i}.PeriodicTimer.StartTime";
-      reference
-        "Device.LMAP.Event.{i}.PeriodicTimer.StartTime";
-    }
-    leaf end-time {
-      type string;
-      description
-        "Device.LMAP.Event.{i}.PeriodicTimer.EndTime";
-      reference
-        "Device.LMAP.Event.{i}.PeriodicTimer.EndTime";
-    }
-    leaf interval {
-      type uint32;
-      description
-        "Device.LMAP.Event.{i}.PeriodicTimer.Interval";
-      reference
-        "Device.LMAP.Event.{i}.PeriodicTimer.Interval";
-    }
-  }
-
-  grouping lmap-measurement-agent-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Alias";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Enable";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Enable";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Version";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Version";
-    }
-    leaf last-started {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.LastStarted";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.LastStarted";
-    }
-    leaf capability-tags {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.CapabilityTags";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.CapabilityTags";
-    }
-    leaf identifier {
-      type string {
-        length "min..36";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Identifier";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Identifier";
-    }
-    leaf group-identifier {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.GroupIdentifier";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.GroupIdentifier";
-    }
-    leaf measurement-point {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.MeasurementPoint";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.MeasurementPoint";
-    }
-    leaf use-agent-identifier-in-reports {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.UseAgentIdentifierInReports";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.UseAgentIdentifierInReports";
-    }
-    leaf use-group-identifier-in-reports {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.UseGroupIdentifierInReports";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.UseGroupIdentifierInReports";
-    }
-    leaf use-measurement-point-in-reports {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.UseMeasurementPointInReports";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.UseMeasurementPointInReports";
-    }
-    leaf public-credential {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.PublicCredential";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.PublicCredential";
-    }
-    leaf private-credential {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.PrivateCredential";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.PrivateCredential";
-    }
-    leaf event-log {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.EventLog";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.EventLog";
-    }
-    leaf task-capability-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapabilityNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapabilityNumberOfEntries";
-    }
-    leaf schedule-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.ScheduleNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.ScheduleNumberOfEntries";
-    }
-    leaf task-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.TaskNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.TaskNumberOfEntries";
-    }
-    leaf communication-channel-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannelNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannelNumberOfEntries";
-    }
-    leaf instruction-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.InstructionNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.InstructionNumberOfEntries";
-    }
-  }
-
-  grouping measurement-agent-communication-channel-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Enable";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Alias";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Name";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Name";
-    }
-    leaf use-bulk-data-profile {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.UseBulkDataProfile";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.UseBulkDataProfile";
-    }
-    leaf bulk-data-profile {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.BulkDataProfile";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.BulkDataProfile";
-    }
-    leaf target {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Target";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Target";
-    }
-    leaf target-public-credential {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.TargetPublicCredential";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.TargetPublicCredential";
-    }
-    leaf interface {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Interface";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Interface";
-    }
-  }
-
-  grouping measurement-agent-controller-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Controller.";
-    leaf controller-timeout {
-      type int32 {
-        range "0..max";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Controller.ControllerTimeout";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Controller.ControllerTimeout";
-    }
-    leaf control-schedules {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlSchedules";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlSchedules";
-    }
-    leaf control-tasks {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlTasks";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlTasks";
-    }
-    leaf control-channels {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlChannels";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlChannels";
-    }
-  }
-
-  grouping measurement-agent-instruction-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.Enable";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.Alias";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.Alias";
-    }
-    leaf last-change {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.LastChange";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.LastChange";
-    }
-    leaf instruction-schedules {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.InstructionSchedules";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.InstructionSchedules";
-    }
-    leaf instruction-tasks {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.InstructionTasks";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.InstructionTasks";
-    }
-    leaf report-channels {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.ReportChannels";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.ReportChannels";
-    }
-    leaf measurement-suppression-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppressionNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppressionNumberOfEntries";
-    }
-  }
-
-  grouping instruction-measurement-suppression-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Enable";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Alias";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Name";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Name";
-    }
-    leaf state {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.State";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.State";
-    }
-    leaf stop-running {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.StopRunning";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.StopRunning";
-    }
-    leaf start {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Start";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Start";
-    }
-    leaf end {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.End";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.End";
-    }
-    leaf suppression-match {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.SuppressionMatch";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.SuppressionMatch";
-    }
-  }
-
-  grouping measurement-agent-schedule-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Enable";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Alias";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Name";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Name";
-    }
-    leaf state {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.State";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.State";
-    }
-    leaf start {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Start";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Start";
-    }
-    leaf end {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.End";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.End";
-    }
-    leaf duration {
-      type uint32;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Duration";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Duration";
-    }
-    leaf tags {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Tags";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Tags";
-    }
-    leaf suppression-tags {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.SuppressionTags";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.SuppressionTags";
-    }
-    leaf execution-mode {
-      type enumeration {
-        enum Sequential {
-          description
-            "Enum Value - Sequential";
-        }
-        enum Parallel {
-          description
-            "Enum Value - Parallel";
-        }
-        enum Pipelined {
-          description
-            "Enum Value - Pipelined";
-        }
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.ExecutionMode";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.ExecutionMode";
-    }
-    leaf last-invocation {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.LastInvocation";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.LastInvocation";
-    }
-    leaf storage {
-      type uint64;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Storage";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Storage";
-    }
-    leaf action-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.ActionNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.ActionNumberOfEntries";
-    }
-  }
-
-  grouping schedule-action-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Enable";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Alias";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Alias";
-    }
-    leaf state {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.State";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.State";
-    }
-    leaf order {
-      type uint32;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Order";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Order";
-    }
-    leaf task {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Task";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Task";
-    }
-    leaf output-destination {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.OutputDestination";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.OutputDestination";
-    }
-    leaf suppression-tags {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.SuppressionTags";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.SuppressionTags";
-    }
-    leaf tags {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Tags";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Tags";
-    }
-    leaf storage {
-      type uint64;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Storage";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Storage";
-    }
-    leaf last-invocation {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastInvocation";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastInvocation";
-    }
-    leaf last-successful-completion {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulCompletion";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulCompletion";
-    }
-    leaf last-successful-status-code {
-      type int32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulStatusCode";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulStatusCode";
-    }
-    leaf last-successful-message {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulMessage";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulMessage";
-    }
-    leaf last-failed-completion {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedCompletion";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedCompletion";
-    }
-    leaf last-failed-status-code {
-      type int32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedStatusCode";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedStatusCode";
-    }
-    leaf last-failed-message {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedMessage";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedMessage";
-    }
-    leaf option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.OptionNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.OptionNumberOfEntries";
-    }
-  }
-
-  grouping action-option-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Enable";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Alias";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Alias";
-    }
-    leaf order {
-      type uint32;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Order";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Order";
-    }
-    leaf name {
-      type int32;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Name";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Name";
-    }
-    leaf value {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Value";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Value";
-    }
-  }
-
-  grouping action-stats-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.";
-    leaf invocations {
-      type uint64;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Invocations";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Invocations";
-    }
-    leaf suppressions {
-      type uint64;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Suppressions";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Suppressions";
-    }
-    leaf overlaps {
-      type uint64;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Overlaps";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Overlaps";
-    }
-    leaf failures {
-      type uint64;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Failures";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Failures";
-    }
-  }
-
-  grouping schedule-stats-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.";
-    leaf invocations {
-      type uint64;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Invocations";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Invocations";
-    }
-    leaf suppressions {
-      type uint64;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Suppressions";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Suppressions";
-    }
-    leaf overlaps {
-      type uint64;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Overlaps";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Overlaps";
-    }
-    leaf failures {
-      type uint64;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Failures";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Failures";
-    }
-  }
-
-  grouping measurement-agent-task-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Task.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Enable";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Alias";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Name";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Name";
-    }
-    leaf tags {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Tags";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Tags";
-    }
-    leaf option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.OptionNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.OptionNumberOfEntries";
-    }
-    leaf registry-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.RegistryNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.RegistryNumberOfEntries";
-    }
-  }
-
-  grouping task-option-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Enable";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Alias";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Alias";
-    }
-    leaf order {
-      type uint32;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Order";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Order";
-    }
-    leaf name {
-      type int32;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Name";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Name";
-    }
-    leaf value {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Value";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Value";
-    }
-  }
-
-  grouping task-registry-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Enable";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Alias";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Alias";
-    }
-    leaf registry-entry {
-      type string;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.RegistryEntry";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.RegistryEntry";
-    }
-    leaf roles {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Roles";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Roles";
-    }
-  }
-
-  grouping measurement-agent-task-capability-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Name";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Name";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Version";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Version";
-    }
-    leaf task-capability-registry-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.TaskCapabilityRegistryNumberOfEntries";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.TaskCapabilityRegistryNumberOfEntries";
-    }
-  }
-
-  grouping task-capability-registry-g {
-    description
-      "Grouping object for Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf registry-entry {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.RegistryEntry";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.RegistryEntry";
-    }
-    leaf roles {
-      type string;
-      config false;
-      description
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.Roles";
-      reference
-        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.Roles";
-    }
-  }
-
-  grouping lmap-report-g {
-    description
-      "Grouping object for Device.LMAP.Report.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf report-date {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.ReportDate";
-      reference
-        "Device.LMAP.Report.{i}.ReportDate";
-    }
-    leaf agent-identifier {
-      type string {
-        length "min..36";
-      }
-      config false;
-      description
-        "Device.LMAP.Report.{i}.AgentIdentifier";
-      reference
-        "Device.LMAP.Report.{i}.AgentIdentifier";
-    }
-    leaf group-identifier {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.GroupIdentifier";
-      reference
-        "Device.LMAP.Report.{i}.GroupIdentifier";
-    }
-    leaf measurement-point {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.MeasurementPoint";
-      reference
-        "Device.LMAP.Report.{i}.MeasurementPoint";
-    }
-    leaf result-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.ResultNumberOfEntries";
-      reference
-        "Device.LMAP.Report.{i}.ResultNumberOfEntries";
-    }
-  }
-
-  grouping report-result-g {
-    description
-      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf task-name {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.TaskName";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.TaskName";
-    }
-    leaf schedule-name {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.ScheduleName";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.ScheduleName";
-    }
-    leaf action-name {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.ActionName";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.ActionName";
-    }
-    leaf event-time {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.EventTime";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.EventTime";
-    }
-    leaf start-time {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.StartTime";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.StartTime";
-    }
-    leaf end-time {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.EndTime";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.EndTime";
-    }
-    leaf cycle-number {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.CycleNumber";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.CycleNumber";
-    }
-    leaf status {
-      type int32;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.Status";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.Status";
-    }
-    leaf tags {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.Tags";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.Tags";
-    }
-    leaf option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.OptionNumberOfEntries";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.OptionNumberOfEntries";
-    }
-    leaf result-conflict-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.ResultConflictNumberOfEntries";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.ResultConflictNumberOfEntries";
-    }
-    leaf result-report-table-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.ResultReportTableNumberOfEntries";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.ResultReportTableNumberOfEntries";
-    }
-  }
-
-  grouping result-conflict-g {
-    description
-      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf task-name {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.TaskName";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.TaskName";
-    }
-    leaf schedule-name {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.ScheduleName";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.ScheduleName";
-    }
-    leaf action-name {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.ActionName";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.ActionName";
-    }
-  }
-
-  grouping result-option-g {
-    description
-      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.Option.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf order {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Order";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Order";
-    }
-    leaf name {
-      type int32;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Name";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Name";
-    }
-    leaf value {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Value";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Value";
-    }
-  }
-
-  grouping result-report-table-g {
-    description
-      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf column-labels {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ColumnLabels";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ColumnLabels";
-    }
-    leaf result-report-row-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultReportRowNumberOfEntries";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultReportRowNumberOfEntries";
-    }
-    leaf registry-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.RegistryNumberOfEntries";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.RegistryNumberOfEntries";
-    }
-  }
-
-  grouping report-table-registry-g {
-    description
-      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf registry-entry {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.RegistryEntry";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.RegistryEntry";
-    }
-    leaf roles {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.Roles";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.Roles";
-    }
-  }
-
-  grouping report-table-result-row-g {
-    description
-      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf values {
-      type string;
-      config false;
-      description
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.Values";
-      reference
-        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.Values";
-    }
-  }
-
-  grouping device-map-g {
-    description
-      "Grouping object for Device.MAP.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.MAP.Enable";
-      reference
-        "Device.MAP.Enable";
-    }
-    leaf domain-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.MAP.DomainNumberOfEntries";
-      reference
-        "Device.MAP.DomainNumberOfEntries";
-    }
-  }
-
-  grouping map-domain-g {
-    description
-      "Grouping object for Device.MAP.Domain.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.MAP.Domain.{i}.Enable";
-      reference
-        "Device.MAP.Domain.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Status";
-      reference
-        "Device.MAP.Domain.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MAP.Domain.{i}.Alias";
-      reference
-        "Device.MAP.Domain.{i}.Alias";
-    }
-    leaf transport-mode {
-      type enumeration {
-        enum Encapsulation {
-          description
-            "Enum Value - Encapsulation";
-        }
-        enum Translation {
-          description
-            "Enum Value - Translation";
-        }
-      }
-      description
-        "Device.MAP.Domain.{i}.TransportMode";
-      reference
-        "Device.MAP.Domain.{i}.TransportMode";
-    }
-    leaf wan-interface {
-      type string;
-      description
-        "Device.MAP.Domain.{i}.WANInterface";
-      reference
-        "Device.MAP.Domain.{i}.WANInterface";
-    }
-    leaf ipv6-prefix {
-      type string;
-      description
-        "Device.MAP.Domain.{i}.IPv6Prefix";
-      reference
-        "Device.MAP.Domain.{i}.IPv6Prefix";
-    }
-    leaf bripv6-prefix {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.MAP.Domain.{i}.BRIPv6Prefix";
-      reference
-        "Device.MAP.Domain.{i}.BRIPv6Prefix";
-    }
-    leaf dscp-mark-policy {
-      type int32 {
-        range "-2..63";
-      }
-      description
-        "Device.MAP.Domain.{i}.DSCPMarkPolicy";
-      reference
-        "Device.MAP.Domain.{i}.DSCPMarkPolicy";
-    }
-    leaf psid-offset {
-      type uint32 {
-        range "0..15";
-      }
-      description
-        "Device.MAP.Domain.{i}.PSIDOffset";
-      reference
-        "Device.MAP.Domain.{i}.PSIDOffset";
-    }
-    leaf psid-length {
-      type uint32 {
-        range "0..16";
-      }
-      description
-        "Device.MAP.Domain.{i}.PSIDLength";
-      reference
-        "Device.MAP.Domain.{i}.PSIDLength";
-    }
-    leaf psid {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.MAP.Domain.{i}.PSID";
-      reference
-        "Device.MAP.Domain.{i}.PSID";
-    }
-    leaf include-system-ports {
-      type boolean;
-      description
-        "Device.MAP.Domain.{i}.IncludeSystemPorts";
-      reference
-        "Device.MAP.Domain.{i}.IncludeSystemPorts";
-    }
-    leaf rule-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.RuleNumberOfEntries";
-      reference
-        "Device.MAP.Domain.{i}.RuleNumberOfEntries";
-    }
-  }
-
-  grouping domain-interface-g {
-    description
-      "Grouping object for Device.MAP.Domain.{i}.Interface.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.MAP.Domain.{i}.Interface.Enable";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Status";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MAP.Domain.{i}.Interface.Alias";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Name";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.LastChange";
-      reference
-        "Device.MAP.Domain.{i}.Interface.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.MAP.Domain.{i}.Interface.LowerLayers";
-      reference
-        "Device.MAP.Domain.{i}.Interface.LowerLayers";
-    }
-  }
-
-  grouping domain-interface-stats-g {
-    description
-      "Grouping object for Device.MAP.Domain.{i}.Interface.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.BytesSent";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.BytesReceived";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.PacketsSent";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.PacketsReceived";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.ErrorsSent";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.ErrorsReceived";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.UnicastPacketsSent";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.UnicastPacketsReceived";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.DiscardPacketsSent";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.DiscardPacketsReceived";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.MulticastPacketsSent";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.MulticastPacketsReceived";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.BroadcastPacketsSent";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Interface.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.MAP.Domain.{i}.Interface.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping domain-rule-g {
-    description
-      "Grouping object for Device.MAP.Domain.{i}.Rule.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.MAP.Domain.{i}.Rule.{i}.Enable";
-      reference
-        "Device.MAP.Domain.{i}.Rule.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Rule.{i}.Status";
-      reference
-        "Device.MAP.Domain.{i}.Rule.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MAP.Domain.{i}.Rule.{i}.Alias";
-      reference
-        "Device.MAP.Domain.{i}.Rule.{i}.Alias";
-    }
-    leaf origin {
-      type string;
-      config false;
-      description
-        "Device.MAP.Domain.{i}.Rule.{i}.Origin";
-      reference
-        "Device.MAP.Domain.{i}.Rule.{i}.Origin";
-    }
-    leaf ipv6-prefix {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.MAP.Domain.{i}.Rule.{i}.IPv6Prefix";
-      reference
-        "Device.MAP.Domain.{i}.Rule.{i}.IPv6Prefix";
-    }
-    leaf ipv4-prefix {
-      type string {
-        length "min..18";
-      }
-      description
-        "Device.MAP.Domain.{i}.Rule.{i}.IPv4Prefix";
-      reference
-        "Device.MAP.Domain.{i}.Rule.{i}.IPv4Prefix";
-    }
-    leaf ea-bits-length {
-      type uint32 {
-        range "0..48";
-      }
-      description
-        "Device.MAP.Domain.{i}.Rule.{i}.EABitsLength";
-      reference
-        "Device.MAP.Domain.{i}.Rule.{i}.EABitsLength";
-    }
-    leaf is-fmr {
-      type boolean;
-      description
-        "Device.MAP.Domain.{i}.Rule.{i}.IsFMR";
-      reference
-        "Device.MAP.Domain.{i}.Rule.{i}.IsFMR";
-    }
-    leaf psid-offset {
-      type uint32 {
-        range "0..15";
-      }
-      description
-        "Device.MAP.Domain.{i}.Rule.{i}.PSIDOffset";
-      reference
-        "Device.MAP.Domain.{i}.Rule.{i}.PSIDOffset";
-    }
-    leaf psid-length {
-      type uint32 {
-        range "0..16";
-      }
-      description
-        "Device.MAP.Domain.{i}.Rule.{i}.PSIDLength";
-      reference
-        "Device.MAP.Domain.{i}.Rule.{i}.PSIDLength";
-    }
-    leaf psid {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.MAP.Domain.{i}.Rule.{i}.PSID";
-      reference
-        "Device.MAP.Domain.{i}.Rule.{i}.PSID";
-    }
-  }
-
-  grouping device-mqtt-g {
-    description
-      "Grouping object for Device.MQTT.";
-    leaf client-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.ClientNumberOfEntries";
-      reference
-        "Device.MQTT.ClientNumberOfEntries";
-    }
-    leaf broker-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.BrokerNumberOfEntries";
-      reference
-        "Device.MQTT.BrokerNumberOfEntries";
-    }
-  }
-
-  grouping mqtt-broker-g {
-    description
-      "Grouping object for Device.MQTT.Broker.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Alias";
-      reference
-        "Device.MQTT.Broker.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Name";
-      reference
-        "Device.MQTT.Broker.{i}.Name";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.MQTT.Broker.{i}.Enable";
-      reference
-        "Device.MQTT.Broker.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Status";
-      reference
-        "Device.MQTT.Broker.{i}.Status";
-    }
-    leaf port {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Port";
-      reference
-        "Device.MQTT.Broker.{i}.Port";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Interface";
-      reference
-        "Device.MQTT.Broker.{i}.Interface";
-    }
-    leaf username {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Username";
-      reference
-        "Device.MQTT.Broker.{i}.Username";
-    }
-    leaf bridge-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.BridgeNumberOfEntries";
-      reference
-        "Device.MQTT.Broker.{i}.BridgeNumberOfEntries";
-    }
-  }
-
-  grouping broker-bridge-g {
-    description
-      "Grouping object for Device.MQTT.Broker.{i}.Bridge.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Alias";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Name";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Name";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Enable";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Status";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Status";
-    }
-    leaf client-id {
-      type string {
-        length "1..23";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ClientID";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ClientID";
-    }
-    leaf username {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Username";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Username";
-    }
-    leaf transport-protocol {
-      type string;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.TransportProtocol";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.TransportProtocol";
-    }
-    leaf protocol-version {
-      type string;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ProtocolVersion";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ProtocolVersion";
-    }
-    leaf clean-session {
-      type boolean;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.CleanSession";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.CleanSession";
-    }
-    leaf message-retry-time {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.MessageRetryTime";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.MessageRetryTime";
-    }
-    leaf connect-retry-time {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ConnectRetryTime";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ConnectRetryTime";
-    }
-    leaf keep-alive-time {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.KeepAliveTime";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.KeepAliveTime";
-    }
-    leaf server-selection-algorithm {
-      type enumeration {
-        enum Priority {
-          description
-            "Enum Value - Priority";
-        }
-        enum RoundRobin {
-          description
-            "Enum Value - RoundRobin";
-        }
-        enum Random {
-          description
-            "Enum Value - Random";
-        }
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerSelectionAlgorithm";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerSelectionAlgorithm";
-    }
-    leaf server-connection {
-      type string;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerConnection";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerConnection";
-    }
-    leaf server-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerNumberOfEntries";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerNumberOfEntries";
-    }
-    leaf subscription-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.SubscriptionNumberOfEntries";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.SubscriptionNumberOfEntries";
-    }
-  }
-
-  grouping bridge-server-g {
-    description
-      "Grouping object for Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Enable";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Alias";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Alias";
-    }
-    leaf priority {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Priority";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Priority";
-    }
-    leaf weight {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Weight";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Weight";
-    }
-    leaf address {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Address";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Address";
-    }
-    leaf port {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Port";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Port";
-    }
-  }
-
-  grouping bridge-subscription-g {
-    description
-      "Grouping object for Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Alias";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Enable";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Status";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Status";
-    }
-    leaf topic {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Topic";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Topic";
-    }
-    leaf direction {
-      type enumeration {
-        enum out {
-          description
-            "Enum Value - out";
-        }
-        enum in {
-          description
-            "Enum Value - in";
-        }
-        enum both {
-          description
-            "Enum Value - both";
-        }
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Direction";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Direction";
-    }
-    leaf qo-s {
-      type uint32 {
-        range "0..2";
-      }
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.QoS";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.QoS";
-    }
-    leaf local-prefix {
-      type string;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.LocalPrefix";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.LocalPrefix";
-    }
-    leaf remote-prefix {
-      type string;
-      description
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.RemotePrefix";
-      reference
-        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.RemotePrefix";
-    }
-  }
-
-  grouping broker-stats-g {
-    description
-      "Grouping object for Device.MQTT.Broker.{i}.Stats.";
-    leaf total-number-of-clients {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Stats.TotalNumberOfClients";
-      reference
-        "Device.MQTT.Broker.{i}.Stats.TotalNumberOfClients";
-    }
-    leaf number-of-active-clients {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Stats.NumberOfActiveClients";
-      reference
-        "Device.MQTT.Broker.{i}.Stats.NumberOfActiveClients";
-    }
-    leaf number-of-inactive-clients {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Stats.NumberOfInactiveClients";
-      reference
-        "Device.MQTT.Broker.{i}.Stats.NumberOfInactiveClients";
-    }
-    leaf subscriptions {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Stats.Subscriptions";
-      reference
-        "Device.MQTT.Broker.{i}.Stats.Subscriptions";
-    }
-    leaf publish-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Stats.PublishSent";
-      reference
-        "Device.MQTT.Broker.{i}.Stats.PublishSent";
-    }
-    leaf publish-received {
-      type uint64;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Stats.PublishReceived";
-      reference
-        "Device.MQTT.Broker.{i}.Stats.PublishReceived";
-    }
-    leaf mqtt-messages-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Stats.MQTTMessagesSent";
-      reference
-        "Device.MQTT.Broker.{i}.Stats.MQTTMessagesSent";
-    }
-    leaf mqtt-messages-received {
-      type uint64;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Stats.MQTTMessagesReceived";
-      reference
-        "Device.MQTT.Broker.{i}.Stats.MQTTMessagesReceived";
-    }
-    leaf connection-errors {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Stats.ConnectionErrors";
-      reference
-        "Device.MQTT.Broker.{i}.Stats.ConnectionErrors";
-    }
-    leaf publish-errors {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Broker.{i}.Stats.PublishErrors";
-      reference
-        "Device.MQTT.Broker.{i}.Stats.PublishErrors";
-    }
-  }
-
-  grouping mqtt-capabilities-g {
-    description
-      "Grouping object for Device.MQTT.Capabilities.";
-    leaf protocol-versions-supported {
-      type string;
-      config false;
-      description
-        "Device.MQTT.Capabilities.ProtocolVersionsSupported";
-      reference
-        "Device.MQTT.Capabilities.ProtocolVersionsSupported";
-    }
-    leaf transport-protocol-supported {
-      type string;
-      config false;
-      description
-        "Device.MQTT.Capabilities.TransportProtocolSupported";
-      reference
-        "Device.MQTT.Capabilities.TransportProtocolSupported";
-    }
-    leaf max-number-of-client-subscriptions {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Capabilities.MaxNumberOfClientSubscriptions";
-      reference
-        "Device.MQTT.Capabilities.MaxNumberOfClientSubscriptions";
-    }
-    leaf max-number-of-broker-bridges {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Capabilities.MaxNumberOfBrokerBridges";
-      reference
-        "Device.MQTT.Capabilities.MaxNumberOfBrokerBridges";
-    }
-    leaf max-number-of-broker-bridge-subscriptions {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Capabilities.MaxNumberOfBrokerBridgeSubscriptions";
-      reference
-        "Device.MQTT.Capabilities.MaxNumberOfBrokerBridgeSubscriptions";
-    }
-  }
-
-  grouping mqtt-client-g {
-    description
-      "Grouping object for Device.MQTT.Client.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MQTT.Client.{i}.Alias";
-      reference
-        "Device.MQTT.Client.{i}.Alias";
-    }
-    leaf name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MQTT.Client.{i}.Name";
-      reference
-        "Device.MQTT.Client.{i}.Name";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.MQTT.Client.{i}.Enable";
-      reference
-        "Device.MQTT.Client.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Status";
-      reference
-        "Device.MQTT.Client.{i}.Status";
-    }
-    leaf client-id {
-      type string {
-        length "1..23";
-      }
-      description
-        "Device.MQTT.Client.{i}.ClientID";
-      reference
-        "Device.MQTT.Client.{i}.ClientID";
-    }
-    leaf username {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.MQTT.Client.{i}.Username";
-      reference
-        "Device.MQTT.Client.{i}.Username";
-    }
-    leaf transport-protocol {
-      type string;
-      description
-        "Device.MQTT.Client.{i}.TransportProtocol";
-      reference
-        "Device.MQTT.Client.{i}.TransportProtocol";
-    }
-    leaf protocol-version {
-      type string;
-      description
-        "Device.MQTT.Client.{i}.ProtocolVersion";
-      reference
-        "Device.MQTT.Client.{i}.ProtocolVersion";
-    }
-    leaf clean-session {
-      type boolean;
-      description
-        "Device.MQTT.Client.{i}.CleanSession";
-      reference
-        "Device.MQTT.Client.{i}.CleanSession";
-    }
-    leaf message-retry-time {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.MQTT.Client.{i}.MessageRetryTime";
-      reference
-        "Device.MQTT.Client.{i}.MessageRetryTime";
-    }
-    leaf connect-retry-time {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.MQTT.Client.{i}.ConnectRetryTime";
-      reference
-        "Device.MQTT.Client.{i}.ConnectRetryTime";
-    }
-    leaf keep-alive-time {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.MQTT.Client.{i}.KeepAliveTime";
-      reference
-        "Device.MQTT.Client.{i}.KeepAliveTime";
-    }
-    leaf broker-address {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.MQTT.Client.{i}.BrokerAddress";
-      reference
-        "Device.MQTT.Client.{i}.BrokerAddress";
-    }
-    leaf broker-port {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.MQTT.Client.{i}.BrokerPort";
-      reference
-        "Device.MQTT.Client.{i}.BrokerPort";
-    }
-    leaf will-enable {
-      type boolean;
-      description
-        "Device.MQTT.Client.{i}.WillEnable";
-      reference
-        "Device.MQTT.Client.{i}.WillEnable";
-    }
-    leaf will-topic {
-      type string;
-      description
-        "Device.MQTT.Client.{i}.WillTopic";
-      reference
-        "Device.MQTT.Client.{i}.WillTopic";
-    }
-    leaf will-value {
-      type string;
-      description
-        "Device.MQTT.Client.{i}.WillValue";
-      reference
-        "Device.MQTT.Client.{i}.WillValue";
-    }
-    leaf will-qo-s {
-      type uint32 {
-        range "0..2";
-      }
-      description
-        "Device.MQTT.Client.{i}.WillQoS";
-      reference
-        "Device.MQTT.Client.{i}.WillQoS";
-    }
-    leaf will-retain {
-      type boolean;
-      description
-        "Device.MQTT.Client.{i}.WillRetain";
-      reference
-        "Device.MQTT.Client.{i}.WillRetain";
-    }
-    leaf subscription-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.SubscriptionNumberOfEntries";
-      reference
-        "Device.MQTT.Client.{i}.SubscriptionNumberOfEntries";
-    }
-  }
-
-  grouping client-stats-g {
-    description
-      "Grouping object for Device.MQTT.Client.{i}.Stats.";
-    leaf broker-connection-established {
-      type string;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Stats.BrokerConnectionEstablished";
-      reference
-        "Device.MQTT.Client.{i}.Stats.BrokerConnectionEstablished";
-    }
-    leaf last-publish-message-sent {
-      type string;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Stats.LastPublishMessageSent";
-      reference
-        "Device.MQTT.Client.{i}.Stats.LastPublishMessageSent";
-    }
-    leaf last-publish-message-received {
-      type string;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Stats.LastPublishMessageReceived";
-      reference
-        "Device.MQTT.Client.{i}.Stats.LastPublishMessageReceived";
-    }
-    leaf publish-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Stats.PublishSent";
-      reference
-        "Device.MQTT.Client.{i}.Stats.PublishSent";
-    }
-    leaf publish-received {
-      type uint64;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Stats.PublishReceived";
-      reference
-        "Device.MQTT.Client.{i}.Stats.PublishReceived";
-    }
-    leaf subscribe-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Stats.SubscribeSent";
-      reference
-        "Device.MQTT.Client.{i}.Stats.SubscribeSent";
-    }
-    leaf un-subscribe-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Stats.UnSubscribeSent";
-      reference
-        "Device.MQTT.Client.{i}.Stats.UnSubscribeSent";
-    }
-    leaf mqtt-messages-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Stats.MQTTMessagesSent";
-      reference
-        "Device.MQTT.Client.{i}.Stats.MQTTMessagesSent";
-    }
-    leaf mqtt-messages-received {
-      type uint64;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Stats.MQTTMessagesReceived";
-      reference
-        "Device.MQTT.Client.{i}.Stats.MQTTMessagesReceived";
-    }
-    leaf connection-errors {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Stats.ConnectionErrors";
-      reference
-        "Device.MQTT.Client.{i}.Stats.ConnectionErrors";
-    }
-    leaf publish-errors {
-      type uint32;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Stats.PublishErrors";
-      reference
-        "Device.MQTT.Client.{i}.Stats.PublishErrors";
-    }
-  }
-
-  grouping client-subscription-g {
-    description
-      "Grouping object for Device.MQTT.Client.{i}.Subscription.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MQTT.Client.{i}.Subscription.{i}.Alias";
-      reference
-        "Device.MQTT.Client.{i}.Subscription.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.MQTT.Client.{i}.Subscription.{i}.Enable";
-      reference
-        "Device.MQTT.Client.{i}.Subscription.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.MQTT.Client.{i}.Subscription.{i}.Status";
-      reference
-        "Device.MQTT.Client.{i}.Subscription.{i}.Status";
-    }
-    leaf topic {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.MQTT.Client.{i}.Subscription.{i}.Topic";
-      reference
-        "Device.MQTT.Client.{i}.Subscription.{i}.Topic";
-    }
-    leaf qo-s {
-      type uint32 {
-        range "0..2";
-      }
-      description
-        "Device.MQTT.Client.{i}.Subscription.{i}.QoS";
-      reference
-        "Device.MQTT.Client.{i}.Subscription.{i}.QoS";
-    }
-  }
-
-  grouping device-management-server-g {
-    description
-      "Grouping object for Device.ManagementServer.";
-    leaf enable-cwmp {
-      type boolean;
-      description
-        "Device.ManagementServer.EnableCWMP";
-      reference
-        "Device.ManagementServer.EnableCWMP";
-    }
-    leaf url {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ManagementServer.URL";
-      reference
-        "Device.ManagementServer.URL";
-    }
-    leaf username {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ManagementServer.Username";
-      reference
-        "Device.ManagementServer.Username";
-    }
-    leaf schedule-reboot {
-      type string;
-      description
-        "Device.ManagementServer.ScheduleReboot";
-      reference
-        "Device.ManagementServer.ScheduleReboot";
-    }
-    leaf delay-reboot {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.ManagementServer.DelayReboot";
-      reference
-        "Device.ManagementServer.DelayReboot";
-    }
-    leaf periodic-inform-enable {
-      type boolean;
-      description
-        "Device.ManagementServer.PeriodicInformEnable";
-      reference
-        "Device.ManagementServer.PeriodicInformEnable";
-    }
-    leaf periodic-inform-interval {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.ManagementServer.PeriodicInformInterval";
-      reference
-        "Device.ManagementServer.PeriodicInformInterval";
-    }
-    leaf periodic-inform-time {
-      type string;
-      description
-        "Device.ManagementServer.PeriodicInformTime";
-      reference
-        "Device.ManagementServer.PeriodicInformTime";
-    }
-    leaf parameter-key {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.ParameterKey";
-      reference
-        "Device.ManagementServer.ParameterKey";
-    }
-    leaf connection-request-url {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.ConnectionRequestURL";
-      reference
-        "Device.ManagementServer.ConnectionRequestURL";
-    }
-    leaf connection-request-username {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ManagementServer.ConnectionRequestUsername";
-      reference
-        "Device.ManagementServer.ConnectionRequestUsername";
-    }
-    leaf upgrades-managed {
-      type boolean;
-      description
-        "Device.ManagementServer.UpgradesManaged";
-      reference
-        "Device.ManagementServer.UpgradesManaged";
-    }
-    leaf kick-url {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.KickURL";
-      reference
-        "Device.ManagementServer.KickURL";
-    }
-    leaf download-progress-url {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.DownloadProgressURL";
-      reference
-        "Device.ManagementServer.DownloadProgressURL";
-    }
-    leaf default-active-notification-throttle {
-      type uint32;
-      description
-        "Device.ManagementServer.DefaultActiveNotificationThrottle";
-      reference
-        "Device.ManagementServer.DefaultActiveNotificationThrottle";
-    }
-    leaf cwmp-retry-minimum-wait-interval {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.ManagementServer.CWMPRetryMinimumWaitInterval";
-      reference
-        "Device.ManagementServer.CWMPRetryMinimumWaitInterval";
-    }
-    leaf cwmp-retry-interval-multiplier {
-      type uint32 {
-        range "1000..65535";
-      }
-      description
-        "Device.ManagementServer.CWMPRetryIntervalMultiplier";
-      reference
-        "Device.ManagementServer.CWMPRetryIntervalMultiplier";
-    }
-    leaf http-connection-request-enable {
-      type boolean;
-      description
-        "Device.ManagementServer.HTTPConnectionRequestEnable";
-      reference
-        "Device.ManagementServer.HTTPConnectionRequestEnable";
-    }
-    leaf udp-connection-request-address {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.UDPConnectionRequestAddress";
-      reference
-        "Device.ManagementServer.UDPConnectionRequestAddress";
-    }
-    leaf stun-enable {
-      type boolean;
-      description
-        "Device.ManagementServer.STUNEnable";
-      reference
-        "Device.ManagementServer.STUNEnable";
-    }
-    leaf stun-server-address {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ManagementServer.STUNServerAddress";
-      reference
-        "Device.ManagementServer.STUNServerAddress";
-    }
-    leaf stun-server-port {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.ManagementServer.STUNServerPort";
-      reference
-        "Device.ManagementServer.STUNServerPort";
-    }
-    leaf stun-username {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ManagementServer.STUNUsername";
-      reference
-        "Device.ManagementServer.STUNUsername";
-    }
-    leaf stun-maximum-keep-alive-period {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.ManagementServer.STUNMaximumKeepAlivePeriod";
-      reference
-        "Device.ManagementServer.STUNMaximumKeepAlivePeriod";
-    }
-    leaf stun-minimum-keep-alive-period {
-      type uint32;
-      description
-        "Device.ManagementServer.STUNMinimumKeepAlivePeriod";
-      reference
-        "Device.ManagementServer.STUNMinimumKeepAlivePeriod";
-    }
-    leaf nat-detected {
-      type boolean;
-      config false;
-      description
-        "Device.ManagementServer.NATDetected";
-      reference
-        "Device.ManagementServer.NATDetected";
-    }
-    leaf alias-based-addressing {
-      type boolean;
-      config false;
-      description
-        "Device.ManagementServer.AliasBasedAddressing";
-      reference
-        "Device.ManagementServer.AliasBasedAddressing";
-    }
-    leaf instance-mode {
-      type enumeration {
-        enum InstanceNumber {
-          description
-            "Enum Value - InstanceNumber";
-        }
-        enum InstanceAlias {
-          description
-            "Enum Value - InstanceAlias";
-        }
-      }
-      description
-        "Device.ManagementServer.InstanceMode";
-      reference
-        "Device.ManagementServer.InstanceMode";
-    }
-    leaf auto-create-instances {
-      type boolean;
-      description
-        "Device.ManagementServer.AutoCreateInstances";
-      reference
-        "Device.ManagementServer.AutoCreateInstances";
-    }
-    leaf manageable-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ManagementServer.ManageableDeviceNumberOfEntries";
-      reference
-        "Device.ManagementServer.ManageableDeviceNumberOfEntries";
-    }
-    leaf manageable-device-notification-limit {
-      type uint32;
-      description
-        "Device.ManagementServer.ManageableDeviceNotificationLimit";
-      reference
-        "Device.ManagementServer.ManageableDeviceNotificationLimit";
-    }
-    leaf embedded-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDeviceNumberOfEntries";
-      reference
-        "Device.ManagementServer.EmbeddedDeviceNumberOfEntries";
-    }
-    leaf virtual-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ManagementServer.VirtualDeviceNumberOfEntries";
-      reference
-        "Device.ManagementServer.VirtualDeviceNumberOfEntries";
-    }
-    leaf supported-conn-req-methods {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.SupportedConnReqMethods";
-      reference
-        "Device.ManagementServer.SupportedConnReqMethods";
-    }
-    leaf conn-req-xmpp-connection {
-      type string;
-      description
-        "Device.ManagementServer.ConnReqXMPPConnection";
-      reference
-        "Device.ManagementServer.ConnReqXMPPConnection";
-    }
-    leaf conn-req-allowed-jabber-i-ds {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ManagementServer.ConnReqAllowedJabberIDs";
-      reference
-        "Device.ManagementServer.ConnReqAllowedJabberIDs";
-    }
-    leaf conn-req-jabber-id {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.ConnReqJabberID";
-      reference
-        "Device.ManagementServer.ConnReqJabberID";
-    }
-    leaf http-compression-supported {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.HTTPCompressionSupported";
-      reference
-        "Device.ManagementServer.HTTPCompressionSupported";
-    }
-    leaf http-compression {
-      type string;
-      description
-        "Device.ManagementServer.HTTPCompression";
-      reference
-        "Device.ManagementServer.HTTPCompression";
-    }
-    leaf lightweight-notification-protocols-supported {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.LightweightNotificationProtocolsSupported";
-      reference
-        "Device.ManagementServer.LightweightNotificationProtocolsSupported";
-    }
-    leaf lightweight-notification-protocols-used {
-      type string;
-      description
-        "Device.ManagementServer.LightweightNotificationProtocolsUsed";
-      reference
-        "Device.ManagementServer.LightweightNotificationProtocolsUsed";
-    }
-    leaf lightweight-notification-trigger-interval {
-      type uint32 {
-        range "0..max";
-      }
-      description
-        "Device.ManagementServer.LightweightNotificationTriggerInterval";
-      reference
-        "Device.ManagementServer.LightweightNotificationTriggerInterval";
-    }
-    leaf lightweight-notification-trigger-time {
-      type string;
-      description
-        "Device.ManagementServer.LightweightNotificationTriggerTime";
-      reference
-        "Device.ManagementServer.LightweightNotificationTriggerTime";
-    }
-    leaf udp-lightweight-notification-host {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ManagementServer.UDPLightweightNotificationHost";
-      reference
-        "Device.ManagementServer.UDPLightweightNotificationHost";
-    }
-    leaf udp-lightweight-notification-port {
-      type uint32;
-      description
-        "Device.ManagementServer.UDPLightweightNotificationPort";
-      reference
-        "Device.ManagementServer.UDPLightweightNotificationPort";
-    }
-    leaf instance-wildcards-supported {
-      type boolean;
-      config false;
-      description
-        "Device.ManagementServer.InstanceWildcardsSupported";
-      reference
-        "Device.ManagementServer.InstanceWildcardsSupported";
-    }
-    leaf inform-parameter-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ManagementServer.InformParameterNumberOfEntries";
-      reference
-        "Device.ManagementServer.InformParameterNumberOfEntries";
-    }
-  }
-
-  grouping management-server-autonomous-transfer-complete-policy-g {
-    description
-      "Grouping object for Device.ManagementServer.AutonomousTransferCompletePolicy.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.ManagementServer.AutonomousTransferCompletePolicy.Enable";
-      reference
-        "Device.ManagementServer.AutonomousTransferCompletePolicy.Enable";
-    }
-    leaf transfer-type-filter {
-      type enumeration {
-        enum Upload {
-          description
-            "Enum Value - Upload";
-        }
-        enum Download {
-          description
-            "Enum Value - Download";
-        }
-        enum Both {
-          description
-            "Enum Value - Both";
-        }
-      }
-      description
-        "Device.ManagementServer.AutonomousTransferCompletePolicy.TransferTypeFilter";
-      reference
-        "Device.ManagementServer.AutonomousTransferCompletePolicy.TransferTypeFilter";
-    }
-    leaf result-type-filter {
-      type enumeration {
-        enum Success {
-          description
-            "Enum Value - Success";
-        }
-        enum Failure {
-          description
-            "Enum Value - Failure";
-        }
-        enum Both {
-          description
-            "Enum Value - Both";
-        }
-      }
-      description
-        "Device.ManagementServer.AutonomousTransferCompletePolicy.ResultTypeFilter";
-      reference
-        "Device.ManagementServer.AutonomousTransferCompletePolicy.ResultTypeFilter";
-    }
-    leaf file-type-filter {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.ManagementServer.AutonomousTransferCompletePolicy.FileTypeFilter";
-      reference
-        "Device.ManagementServer.AutonomousTransferCompletePolicy.FileTypeFilter";
-    }
-  }
-
-  grouping management-server-du-state-change-compl-policy-g {
-    description
-      "Grouping object for Device.ManagementServer.DUStateChangeComplPolicy.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.ManagementServer.DUStateChangeComplPolicy.Enable";
-      reference
-        "Device.ManagementServer.DUStateChangeComplPolicy.Enable";
-    }
-    leaf operation-type-filter {
-      type enumeration {
-        enum Install {
-          description
-            "Enum Value - Install";
-        }
-        enum Update {
-          description
-            "Enum Value - Update";
-        }
-        enum Uninstall {
-          description
-            "Enum Value - Uninstall";
-        }
-      }
-      description
-        "Device.ManagementServer.DUStateChangeComplPolicy.OperationTypeFilter";
-      reference
-        "Device.ManagementServer.DUStateChangeComplPolicy.OperationTypeFilter";
-    }
-    leaf result-type-filter {
-      type enumeration {
-        enum Success {
-          description
-            "Enum Value - Success";
-        }
-        enum Failure {
-          description
-            "Enum Value - Failure";
-        }
-        enum Both {
-          description
-            "Enum Value - Both";
-        }
-      }
-      description
-        "Device.ManagementServer.DUStateChangeComplPolicy.ResultTypeFilter";
-      reference
-        "Device.ManagementServer.DUStateChangeComplPolicy.ResultTypeFilter";
-    }
-    leaf fault-code-filter {
-      type enumeration {
-        enum 9001 {
-          description
-            "Enum Value - 9001";
-        }
-        enum 9003 {
-          description
-            "Enum Value - 9003";
-        }
-        enum 9012 {
-          description
-            "Enum Value - 9012";
-        }
-        enum 9013 {
-          description
-            "Enum Value - 9013";
-        }
-        enum 9015 {
-          description
-            "Enum Value - 9015";
-        }
-        enum 9016 {
-          description
-            "Enum Value - 9016";
-        }
-        enum 9017 {
-          description
-            "Enum Value - 9017";
-        }
-        enum 9018 {
-          description
-            "Enum Value - 9018";
-        }
-        enum 9022 {
-          description
-            "Enum Value - 9022";
-        }
-        enum 9023 {
-          description
-            "Enum Value - 9023";
-        }
-        enum 9024 {
-          description
-            "Enum Value - 9024";
-        }
-        enum 9025 {
-          description
-            "Enum Value - 9025";
-        }
-        enum 9026 {
-          description
-            "Enum Value - 9026";
-        }
-        enum 9027 {
-          description
-            "Enum Value - 9027";
-        }
-        enum 9028 {
-          description
-            "Enum Value - 9028";
-        }
-        enum 9029 {
-          description
-            "Enum Value - 9029";
-        }
-        enum 9030 {
-          description
-            "Enum Value - 9030";
-        }
-        enum 9031 {
-          description
-            "Enum Value - 9031";
-        }
-        enum 9032 {
-          description
-            "Enum Value - 9032";
-        }
-      }
-      description
-        "Device.ManagementServer.DUStateChangeComplPolicy.FaultCodeFilter";
-      reference
-        "Device.ManagementServer.DUStateChangeComplPolicy.FaultCodeFilter";
-    }
-  }
-
-  grouping download-availability-announcement-g {
-    description
-      "Grouping object for Device.ManagementServer.DownloadAvailability.Announcement.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.ManagementServer.DownloadAvailability.Announcement.Enable";
-      reference
-        "Device.ManagementServer.DownloadAvailability.Announcement.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.DownloadAvailability.Announcement.Status";
-      reference
-        "Device.ManagementServer.DownloadAvailability.Announcement.Status";
-    }
-    leaf group-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ManagementServer.DownloadAvailability.Announcement.GroupNumberOfEntries";
-      reference
-        "Device.ManagementServer.DownloadAvailability.Announcement.GroupNumberOfEntries";
-    }
-  }
-
-  grouping announcement-group-g {
-    description
-      "Grouping object for Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Alias";
-      reference
-        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Enable";
-      reference
-        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Status";
-      reference
-        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Status";
-    }
-    leaf url {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.URL";
-      reference
-        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.URL";
-    }
-  }
-
-  grouping download-availability-query-g {
-    description
-      "Grouping object for Device.ManagementServer.DownloadAvailability.Query.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.ManagementServer.DownloadAvailability.Query.Enable";
-      reference
-        "Device.ManagementServer.DownloadAvailability.Query.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.DownloadAvailability.Query.Status";
-      reference
-        "Device.ManagementServer.DownloadAvailability.Query.Status";
-    }
-    leaf url {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ManagementServer.DownloadAvailability.Query.URL";
-      reference
-        "Device.ManagementServer.DownloadAvailability.Query.URL";
-    }
-  }
-
-  grouping management-server-embedded-device-g {
-    description
-      "Grouping object for Device.ManagementServer.EmbeddedDevice.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf controller-id {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.ControllerID";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.ControllerID";
-    }
-    leaf proxied-device-id {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.ProxiedDeviceID";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.ProxiedDeviceID";
-    }
-    leaf reference {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.Reference";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.Reference";
-    }
-    leaf supported-data-model {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.SupportedDataModel";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.SupportedDataModel";
-    }
-    leaf host {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.Host";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.Host";
-    }
-    leaf proxy-protocol {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.ProxyProtocol";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.ProxyProtocol";
-    }
-    leaf proxy-protocol-reference {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.ProxyProtocolReference";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.ProxyProtocolReference";
-    }
-    leaf discovery-protocol {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.DiscoveryProtocol";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.DiscoveryProtocol";
-    }
-    leaf discovery-protocol-reference {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.DiscoveryProtocolReference";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.DiscoveryProtocolReference";
-    }
-    leaf command-processed {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.CommandProcessed";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.CommandProcessed";
-    }
-    leaf command-processing-err-msg {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.CommandProcessingErrMsg";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.CommandProcessingErrMsg";
-    }
-    leaf last-sync-time {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.EmbeddedDevice.{i}.LastSyncTime";
-      reference
-        "Device.ManagementServer.EmbeddedDevice.{i}.LastSyncTime";
-    }
-  }
-
-  grouping management-server-heartbeat-policy-g {
-    description
-      "Grouping object for Device.ManagementServer.HeartbeatPolicy.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.ManagementServer.HeartbeatPolicy.Enable";
-      reference
-        "Device.ManagementServer.HeartbeatPolicy.Enable";
-    }
-    leaf reporting-interval {
-      type uint32 {
-        range "30..max";
-      }
-      description
-        "Device.ManagementServer.HeartbeatPolicy.ReportingInterval";
-      reference
-        "Device.ManagementServer.HeartbeatPolicy.ReportingInterval";
-    }
-    leaf initiation-time {
-      type string;
-      description
-        "Device.ManagementServer.HeartbeatPolicy.InitiationTime";
-      reference
-        "Device.ManagementServer.HeartbeatPolicy.InitiationTime";
-    }
-  }
-
-  grouping management-server-inform-parameter-g {
-    description
-      "Grouping object for Device.ManagementServer.InformParameter.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ManagementServer.InformParameter.{i}.Enable";
-      reference
-        "Device.ManagementServer.InformParameter.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ManagementServer.InformParameter.{i}.Alias";
-      reference
-        "Device.ManagementServer.InformParameter.{i}.Alias";
-    }
-    leaf parameter-name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ManagementServer.InformParameter.{i}.ParameterName";
-      reference
-        "Device.ManagementServer.InformParameter.{i}.ParameterName";
-    }
-    leaf event-list {
-      type string;
-      description
-        "Device.ManagementServer.InformParameter.{i}.EventList";
-      reference
-        "Device.ManagementServer.InformParameter.{i}.EventList";
-    }
-  }
-
-  grouping management-server-manageable-device-g {
-    description
-      "Grouping object for Device.ManagementServer.ManageableDevice.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ManagementServer.ManageableDevice.{i}.Alias";
-      reference
-        "Device.ManagementServer.ManageableDevice.{i}.Alias";
-    }
-    leaf manufacturer-oui {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.ManageableDevice.{i}.ManufacturerOUI";
-      reference
-        "Device.ManagementServer.ManageableDevice.{i}.ManufacturerOUI";
-    }
-    leaf serial-number {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.ManageableDevice.{i}.SerialNumber";
-      reference
-        "Device.ManagementServer.ManageableDevice.{i}.SerialNumber";
-    }
-    leaf product-class {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.ManageableDevice.{i}.ProductClass";
-      reference
-        "Device.ManagementServer.ManageableDevice.{i}.ProductClass";
-    }
-    leaf host {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.ManageableDevice.{i}.Host";
-      reference
-        "Device.ManagementServer.ManageableDevice.{i}.Host";
-    }
-  }
-
-  grouping management-server-standby-policy-g {
-    description
-      "Grouping object for Device.ManagementServer.StandbyPolicy.";
-    leaf cr-unawareness-max-duration {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.ManagementServer.StandbyPolicy.CRUnawarenessMaxDuration";
-      reference
-        "Device.ManagementServer.StandbyPolicy.CRUnawarenessMaxDuration";
-    }
-    leaf max-missed-periodic {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.ManagementServer.StandbyPolicy.MaxMissedPeriodic";
-      reference
-        "Device.ManagementServer.StandbyPolicy.MaxMissedPeriodic";
-    }
-    leaf notify-missed-scheduled {
-      type boolean;
-      description
-        "Device.ManagementServer.StandbyPolicy.NotifyMissedScheduled";
-      reference
-        "Device.ManagementServer.StandbyPolicy.NotifyMissedScheduled";
-    }
-    leaf network-awareness-capable {
-      type boolean;
-      config false;
-      description
-        "Device.ManagementServer.StandbyPolicy.NetworkAwarenessCapable";
-      reference
-        "Device.ManagementServer.StandbyPolicy.NetworkAwarenessCapable";
-    }
-    leaf self-timer-capable {
-      type boolean;
-      config false;
-      description
-        "Device.ManagementServer.StandbyPolicy.SelfTimerCapable";
-      reference
-        "Device.ManagementServer.StandbyPolicy.SelfTimerCapable";
-    }
-    leaf cr-awareness-requested {
-      type boolean;
-      description
-        "Device.ManagementServer.StandbyPolicy.CRAwarenessRequested";
-      reference
-        "Device.ManagementServer.StandbyPolicy.CRAwarenessRequested";
-    }
-    leaf periodic-awareness-requested {
-      type boolean;
-      description
-        "Device.ManagementServer.StandbyPolicy.PeriodicAwarenessRequested";
-      reference
-        "Device.ManagementServer.StandbyPolicy.PeriodicAwarenessRequested";
-    }
-    leaf scheduled-awareness-requested {
-      type boolean;
-      description
-        "Device.ManagementServer.StandbyPolicy.ScheduledAwarenessRequested";
-      reference
-        "Device.ManagementServer.StandbyPolicy.ScheduledAwarenessRequested";
-    }
-  }
-
-  grouping management-server-virtual-device-g {
-    description
-      "Grouping object for Device.ManagementServer.VirtualDevice.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf manufacturer-oui {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.VirtualDevice.{i}.ManufacturerOUI";
-      reference
-        "Device.ManagementServer.VirtualDevice.{i}.ManufacturerOUI";
-    }
-    leaf product-class {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.VirtualDevice.{i}.ProductClass";
-      reference
-        "Device.ManagementServer.VirtualDevice.{i}.ProductClass";
-    }
-    leaf serial-number {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.VirtualDevice.{i}.SerialNumber";
-      reference
-        "Device.ManagementServer.VirtualDevice.{i}.SerialNumber";
-    }
-    leaf host {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.VirtualDevice.{i}.Host";
-      reference
-        "Device.ManagementServer.VirtualDevice.{i}.Host";
-    }
-    leaf proxy-protocol {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.VirtualDevice.{i}.ProxyProtocol";
-      reference
-        "Device.ManagementServer.VirtualDevice.{i}.ProxyProtocol";
-    }
-    leaf proxy-protocol-reference {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.VirtualDevice.{i}.ProxyProtocolReference";
-      reference
-        "Device.ManagementServer.VirtualDevice.{i}.ProxyProtocolReference";
-    }
-    leaf discovery-protocol {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.VirtualDevice.{i}.DiscoveryProtocol";
-      reference
-        "Device.ManagementServer.VirtualDevice.{i}.DiscoveryProtocol";
-    }
-    leaf discovery-protocol-reference {
-      type string;
-      config false;
-      description
-        "Device.ManagementServer.VirtualDevice.{i}.DiscoveryProtocolReference";
-      reference
-        "Device.ManagementServer.VirtualDevice.{i}.DiscoveryProtocolReference";
-    }
-  }
-
-  grouping device-mo-ca-g {
-    description
-      "Grouping object for Device.MoCA.";
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.InterfaceNumberOfEntries";
-      reference
-        "Device.MoCA.InterfaceNumberOfEntries";
-    }
-  }
-
-  grouping mo-ca-interface-g {
-    description
-      "Grouping object for Device.MoCA.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.MoCA.Interface.{i}.Enable";
-      reference
-        "Device.MoCA.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Status";
-      reference
-        "Device.MoCA.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.MoCA.Interface.{i}.Alias";
-      reference
-        "Device.MoCA.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Name";
-      reference
-        "Device.MoCA.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.LastChange";
-      reference
-        "Device.MoCA.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.MoCA.Interface.{i}.LowerLayers";
-      reference
-        "Device.MoCA.Interface.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Upstream";
-      reference
-        "Device.MoCA.Interface.{i}.Upstream";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.MACAddress";
-      reference
-        "Device.MoCA.Interface.{i}.MACAddress";
-    }
-    leaf firmware-version {
-      type string;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.FirmwareVersion";
-      reference
-        "Device.MoCA.Interface.{i}.FirmwareVersion";
-    }
-    leaf max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.MaxBitRate";
-      reference
-        "Device.MoCA.Interface.{i}.MaxBitRate";
-    }
-    leaf max-ingress-bw {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.MaxIngressBW";
-      reference
-        "Device.MoCA.Interface.{i}.MaxIngressBW";
-    }
-    leaf max-egress-bw {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.MaxEgressBW";
-      reference
-        "Device.MoCA.Interface.{i}.MaxEgressBW";
-    }
-    leaf highest-version {
-      type string;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.HighestVersion";
-      reference
-        "Device.MoCA.Interface.{i}.HighestVersion";
-    }
-    leaf current-version {
-      type string;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.CurrentVersion";
-      reference
-        "Device.MoCA.Interface.{i}.CurrentVersion";
-    }
-    leaf network-coordinator {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.NetworkCoordinator";
-      reference
-        "Device.MoCA.Interface.{i}.NetworkCoordinator";
-    }
-    leaf node-id {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.NodeID";
-      reference
-        "Device.MoCA.Interface.{i}.NodeID";
-    }
-    leaf max-nodes {
-      type boolean;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.MaxNodes";
-      reference
-        "Device.MoCA.Interface.{i}.MaxNodes";
-    }
-    leaf preferred-nc {
-      type boolean;
-      description
-        "Device.MoCA.Interface.{i}.PreferredNC";
-      reference
-        "Device.MoCA.Interface.{i}.PreferredNC";
-    }
-    leaf backup-nc {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.BackupNC";
-      reference
-        "Device.MoCA.Interface.{i}.BackupNC";
-    }
-    leaf privacy-enabled-setting {
-      type boolean;
-      description
-        "Device.MoCA.Interface.{i}.PrivacyEnabledSetting";
-      reference
-        "Device.MoCA.Interface.{i}.PrivacyEnabledSetting";
-    }
-    leaf privacy-enabled {
-      type boolean;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.PrivacyEnabled";
-      reference
-        "Device.MoCA.Interface.{i}.PrivacyEnabled";
-    }
-    leaf freq-capability-mask {
-      type string;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.FreqCapabilityMask";
-      reference
-        "Device.MoCA.Interface.{i}.FreqCapabilityMask";
-    }
-    leaf freq-current-mask-setting {
-      type string {
-        length "8";
-      }
-      description
-        "Device.MoCA.Interface.{i}.FreqCurrentMaskSetting";
-      reference
-        "Device.MoCA.Interface.{i}.FreqCurrentMaskSetting";
-    }
-    leaf freq-current-mask {
-      type string;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.FreqCurrentMask";
-      reference
-        "Device.MoCA.Interface.{i}.FreqCurrentMask";
-    }
-    leaf current-oper-freq {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.CurrentOperFreq";
-      reference
-        "Device.MoCA.Interface.{i}.CurrentOperFreq";
-    }
-    leaf last-oper-freq {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.LastOperFreq";
-      reference
-        "Device.MoCA.Interface.{i}.LastOperFreq";
-    }
-    leaf tx-power-limit {
-      type uint32;
-      description
-        "Device.MoCA.Interface.{i}.TxPowerLimit";
-      reference
-        "Device.MoCA.Interface.{i}.TxPowerLimit";
-    }
-    leaf power-cntl-phy-target {
-      type uint32;
-      description
-        "Device.MoCA.Interface.{i}.PowerCntlPhyTarget";
-      reference
-        "Device.MoCA.Interface.{i}.PowerCntlPhyTarget";
-    }
-    leaf beacon-power-limit {
-      type uint32;
-      description
-        "Device.MoCA.Interface.{i}.BeaconPowerLimit";
-      reference
-        "Device.MoCA.Interface.{i}.BeaconPowerLimit";
-    }
-    leaf network-taboo-mask {
-      type string;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.NetworkTabooMask";
-      reference
-        "Device.MoCA.Interface.{i}.NetworkTabooMask";
-    }
-    leaf node-taboo-mask {
-      type string;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.NodeTabooMask";
-      reference
-        "Device.MoCA.Interface.{i}.NodeTabooMask";
-    }
-    leaf tx-bcast-rate {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.TxBcastRate";
-      reference
-        "Device.MoCA.Interface.{i}.TxBcastRate";
-    }
-    leaf tx-bcast-power-reduction {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.TxBcastPowerReduction";
-      reference
-        "Device.MoCA.Interface.{i}.TxBcastPowerReduction";
-    }
-    leaf qam256-capable {
-      type boolean;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.QAM256Capable";
-      reference
-        "Device.MoCA.Interface.{i}.QAM256Capable";
-    }
-    leaf packet-aggregation-capability {
-      type uint32 {
-        range "0..10";
-      }
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.PacketAggregationCapability";
-      reference
-        "Device.MoCA.Interface.{i}.PacketAggregationCapability";
-    }
-    leaf associated-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDeviceNumberOfEntries";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDeviceNumberOfEntries";
-    }
-  }
-
-  grouping mo-ca-interface-associated-device-g {
-    description
-      "Grouping object for Device.MoCA.Interface.{i}.AssociatedDevice.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.MACAddress";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.MACAddress";
-    }
-    leaf node-id {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.NodeID";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.NodeID";
-    }
-    leaf preferred-nc {
-      type boolean;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PreferredNC";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PreferredNC";
-    }
-    leaf highest-version {
-      type string;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.HighestVersion";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.HighestVersion";
-    }
-    leaf phy-tx-rate {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PHYTxRate";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PHYTxRate";
-    }
-    leaf phy-rx-rate {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PHYRxRate";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PHYRxRate";
-    }
-    leaf tx-power-control-reduction {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxPowerControlReduction";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxPowerControlReduction";
-    }
-    leaf rx-power-level {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxPowerLevel";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxPowerLevel";
-    }
-    leaf tx-bcast-rate {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxBcastRate";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxBcastRate";
-    }
-    leaf rx-bcast-power-level {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxBcastPowerLevel";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxBcastPowerLevel";
-    }
-    leaf tx-packets {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxPackets";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxPackets";
-    }
-    leaf rx-packets {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxPackets";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxPackets";
-    }
-    leaf rx-errored-and-missed-packets {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxErroredAndMissedPackets";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxErroredAndMissedPackets";
-    }
-    leaf qam256-capable {
-      type boolean;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.QAM256Capable";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.QAM256Capable";
-    }
-    leaf packet-aggregation-capability {
-      type uint32 {
-        range "0..10";
-      }
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PacketAggregationCapability";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PacketAggregationCapability";
-    }
-    leaf rx-snr {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxSNR";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxSNR";
-    }
-    leaf active {
-      type boolean;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.Active";
-      reference
-        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.Active";
-    }
-  }
-
-  grouping mo-ca-interface-qo-s-g {
-    description
-      "Grouping object for Device.MoCA.Interface.{i}.QoS.";
-    leaf egress-num-flows {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.QoS.EgressNumFlows";
-      reference
-        "Device.MoCA.Interface.{i}.QoS.EgressNumFlows";
-    }
-    leaf ingress-num-flows {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.QoS.IngressNumFlows";
-      reference
-        "Device.MoCA.Interface.{i}.QoS.IngressNumFlows";
-    }
-    leaf flow-stats-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.QoS.FlowStatsNumberOfEntries";
-      reference
-        "Device.MoCA.Interface.{i}.QoS.FlowStatsNumberOfEntries";
-    }
-  }
-
-  grouping qo-s-flow-stats-g {
-    description
-      "Grouping object for Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf flow-id {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.FlowID";
-      reference
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.FlowID";
-    }
-    leaf packet-da {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.PacketDA";
-      reference
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.PacketDA";
-    }
-    leaf max-rate {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.MaxRate";
-      reference
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.MaxRate";
-    }
-    leaf max-burst-size {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.MaxBurstSize";
-      reference
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.MaxBurstSize";
-    }
-    leaf lease-time {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.LeaseTime";
-      reference
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.LeaseTime";
-    }
-    leaf lease-time-left {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.LeaseTimeLeft";
-      reference
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.LeaseTimeLeft";
-    }
-    leaf flow-packets {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.FlowPackets";
-      reference
-        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.FlowPackets";
-    }
-  }
-
-  grouping mo-ca-interface-stats-g {
-    description
-      "Grouping object for Device.MoCA.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.MoCA.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.MoCA.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping device-nat-g {
-    description
-      "Grouping object for Device.NAT.";
-    leaf interface-setting-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.NAT.InterfaceSettingNumberOfEntries";
-      reference
-        "Device.NAT.InterfaceSettingNumberOfEntries";
-    }
-    leaf port-mapping-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.NAT.PortMappingNumberOfEntries";
-      reference
-        "Device.NAT.PortMappingNumberOfEntries";
-    }
-  }
-
-  grouping nat-interface-setting-g {
-    description
-      "Grouping object for Device.NAT.InterfaceSetting.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.NAT.InterfaceSetting.{i}.Enable";
-      reference
-        "Device.NAT.InterfaceSetting.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.NAT.InterfaceSetting.{i}.Status";
-      reference
-        "Device.NAT.InterfaceSetting.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.NAT.InterfaceSetting.{i}.Alias";
-      reference
-        "Device.NAT.InterfaceSetting.{i}.Alias";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.NAT.InterfaceSetting.{i}.Interface";
-      reference
-        "Device.NAT.InterfaceSetting.{i}.Interface";
-    }
-  }
-
-  grouping nat-port-mapping-g {
-    description
-      "Grouping object for Device.NAT.PortMapping.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.NAT.PortMapping.{i}.Enable";
-      reference
-        "Device.NAT.PortMapping.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.NAT.PortMapping.{i}.Status";
-      reference
-        "Device.NAT.PortMapping.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.NAT.PortMapping.{i}.Alias";
-      reference
-        "Device.NAT.PortMapping.{i}.Alias";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.NAT.PortMapping.{i}.Interface";
-      reference
-        "Device.NAT.PortMapping.{i}.Interface";
-    }
-    leaf all-interfaces {
-      type boolean;
-      description
-        "Device.NAT.PortMapping.{i}.AllInterfaces";
-      reference
-        "Device.NAT.PortMapping.{i}.AllInterfaces";
-    }
-    leaf lease-duration {
-      type uint32;
-      description
-        "Device.NAT.PortMapping.{i}.LeaseDuration";
-      reference
-        "Device.NAT.PortMapping.{i}.LeaseDuration";
-    }
-    leaf remote-host {
-      type string;
-      description
-        "Device.NAT.PortMapping.{i}.RemoteHost";
-      reference
-        "Device.NAT.PortMapping.{i}.RemoteHost";
-    }
-    leaf external-port {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.NAT.PortMapping.{i}.ExternalPort";
-      reference
-        "Device.NAT.PortMapping.{i}.ExternalPort";
-    }
-    leaf external-port-end-range {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.NAT.PortMapping.{i}.ExternalPortEndRange";
-      reference
-        "Device.NAT.PortMapping.{i}.ExternalPortEndRange";
-    }
-    leaf internal-port {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.NAT.PortMapping.{i}.InternalPort";
-      reference
-        "Device.NAT.PortMapping.{i}.InternalPort";
-    }
-    leaf protocol {
-      type enumeration {
-        enum TCP {
-          description
-            "Enum Value - TCP";
-        }
-        enum UDP {
-          description
-            "Enum Value - UDP";
-        }
-      }
-      description
-        "Device.NAT.PortMapping.{i}.Protocol";
-      reference
-        "Device.NAT.PortMapping.{i}.Protocol";
-    }
-    leaf internal-client {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.NAT.PortMapping.{i}.InternalClient";
-      reference
-        "Device.NAT.PortMapping.{i}.InternalClient";
-    }
-    leaf description {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.NAT.PortMapping.{i}.Description";
-      reference
-        "Device.NAT.PortMapping.{i}.Description";
-    }
-  }
-
-  grouping device-neighbor-discovery-g {
-    description
-      "Grouping object for Device.NeighborDiscovery.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.NeighborDiscovery.Enable";
-      reference
-        "Device.NeighborDiscovery.Enable";
-    }
-    leaf interface-setting-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.NeighborDiscovery.InterfaceSettingNumberOfEntries";
-      reference
-        "Device.NeighborDiscovery.InterfaceSettingNumberOfEntries";
-    }
-  }
-
-  grouping neighbor-discovery-interface-setting-g {
-    description
-      "Grouping object for Device.NeighborDiscovery.InterfaceSetting.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.Enable";
-      reference
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.Status";
-      reference
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.Alias";
-      reference
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.Alias";
-    }
-    leaf interface {
-      type string;
-      description
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.Interface";
-      reference
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.Interface";
-    }
-    leaf retrans-timer {
-      type uint32;
-      description
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.RetransTimer";
-      reference
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.RetransTimer";
-    }
-    leaf rtr-solicitation-interval {
-      type uint32;
-      description
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.RtrSolicitationInterval";
-      reference
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.RtrSolicitationInterval";
-    }
-    leaf max-rtr-solicitations {
-      type uint32;
-      description
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.MaxRtrSolicitations";
-      reference
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.MaxRtrSolicitations";
-    }
-    leaf nud-enable {
-      type boolean;
-      description
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.NUDEnable";
-      reference
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.NUDEnable";
-    }
-    leaf rs-enable {
-      type boolean;
-      description
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.RSEnable";
-      reference
-        "Device.NeighborDiscovery.InterfaceSetting.{i}.RSEnable";
-    }
-  }
-
-  grouping device-optical-g {
-    description
-      "Grouping object for Device.Optical.";
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Optical.InterfaceNumberOfEntries";
-      reference
-        "Device.Optical.InterfaceNumberOfEntries";
-    }
-  }
-
-  grouping optical-interface-g {
-    description
-      "Grouping object for Device.Optical.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Optical.Interface.{i}.Enable";
-      reference
-        "Device.Optical.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.Status";
-      reference
-        "Device.Optical.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Optical.Interface.{i}.Alias";
-      reference
-        "Device.Optical.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.Name";
-      reference
-        "Device.Optical.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.LastChange";
-      reference
-        "Device.Optical.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.Optical.Interface.{i}.LowerLayers";
-      reference
-        "Device.Optical.Interface.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.Upstream";
-      reference
-        "Device.Optical.Interface.{i}.Upstream";
-    }
-    leaf optical-signal-level {
-      type int32 {
-        range "-65536..65534";
-      }
-      config false;
-      description
-        "Device.Optical.Interface.{i}.OpticalSignalLevel";
-      reference
-        "Device.Optical.Interface.{i}.OpticalSignalLevel";
-    }
-    leaf lower-optical-threshold {
-      type int32 {
-        range "-127000..0";
-      }
-      config false;
-      description
-        "Device.Optical.Interface.{i}.LowerOpticalThreshold";
-      reference
-        "Device.Optical.Interface.{i}.LowerOpticalThreshold";
-    }
-    leaf upper-optical-threshold {
-      type int32 {
-        range "-127000..0";
-      }
-      config false;
-      description
-        "Device.Optical.Interface.{i}.UpperOpticalThreshold";
-      reference
-        "Device.Optical.Interface.{i}.UpperOpticalThreshold";
-    }
-    leaf transmit-optical-level {
-      type int32 {
-        range "-127000..0";
-      }
-      config false;
-      description
-        "Device.Optical.Interface.{i}.TransmitOpticalLevel";
-      reference
-        "Device.Optical.Interface.{i}.TransmitOpticalLevel";
-    }
-    leaf lower-transmit-power-threshold {
-      type int32 {
-        range "-63500..63500";
-      }
-      config false;
-      description
-        "Device.Optical.Interface.{i}.LowerTransmitPowerThreshold";
-      reference
-        "Device.Optical.Interface.{i}.LowerTransmitPowerThreshold";
-    }
-    leaf upper-transmit-power-threshold {
-      type int32 {
-        range "-63500..63500";
-      }
-      config false;
-      description
-        "Device.Optical.Interface.{i}.UpperTransmitPowerThreshold";
-      reference
-        "Device.Optical.Interface.{i}.UpperTransmitPowerThreshold";
-    }
-  }
-
-  grouping optical-interface-stats-g {
-    description
-      "Grouping object for Device.Optical.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.Optical.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.Optical.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.Optical.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.Optical.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.Optical.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.Optical.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.Optical.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.Optical.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.Optical.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-  }
-
-  grouping device-pcp-g {
-    description
-      "Grouping object for Device.PCP.";
-    leaf supported-versions {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.PCP.SupportedVersions";
-      reference
-        "Device.PCP.SupportedVersions";
-    }
-    leaf preferred-version {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.PCP.PreferredVersion";
-      reference
-        "Device.PCP.PreferredVersion";
-    }
-    leaf option-list {
-      type uint32 {
-        range "0..254";
-      }
-      config false;
-      description
-        "Device.PCP.OptionList";
-      reference
-        "Device.PCP.OptionList";
-    }
-    leaf client-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.PCP.ClientNumberOfEntries";
-      reference
-        "Device.PCP.ClientNumberOfEntries";
-    }
-  }
-
-  grouping pcp-client-g {
-    description
-      "Grouping object for Device.PCP.Client.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.PCP.Client.{i}.Enable";
-      reference
-        "Device.PCP.Client.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.PCP.Client.{i}.Alias";
-      reference
-        "Device.PCP.Client.{i}.Alias";
-    }
-    leaf wan-interface {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.WANInterface";
-      reference
-        "Device.PCP.Client.{i}.WANInterface";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.Status";
-      reference
-        "Device.PCP.Client.{i}.Status";
-    }
-    leaf map-enable {
-      type boolean;
-      description
-        "Device.PCP.Client.{i}.MAPEnable";
-      reference
-        "Device.PCP.Client.{i}.MAPEnable";
-    }
-    leaf peer-enable {
-      type boolean;
-      description
-        "Device.PCP.Client.{i}.PEEREnable";
-      reference
-        "Device.PCP.Client.{i}.PEEREnable";
-    }
-    leaf announce-enable {
-      type boolean;
-      description
-        "Device.PCP.Client.{i}.ANNOUNCEEnable";
-      reference
-        "Device.PCP.Client.{i}.ANNOUNCEEnable";
-    }
-    leaf thirdparty-enable {
-      type boolean;
-      description
-        "Device.PCP.Client.{i}.THIRDPARTYEnable";
-      reference
-        "Device.PCP.Client.{i}.THIRDPARTYEnable";
-    }
-    leaf thirdparty-status {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.THIRDPARTYStatus";
-      reference
-        "Device.PCP.Client.{i}.THIRDPARTYStatus";
-    }
-    leaf filter-enable {
-      type boolean;
-      description
-        "Device.PCP.Client.{i}.FILTEREnable";
-      reference
-        "Device.PCP.Client.{i}.FILTEREnable";
-    }
-    leaf server-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.PCP.Client.{i}.ServerNumberOfEntries";
-      reference
-        "Device.PCP.Client.{i}.ServerNumberOfEntries";
-    }
-  }
-
-  grouping client-pcp-proxy-g {
-    description
-      "Grouping object for Device.PCP.Client.{i}.PCPProxy.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.PCP.Client.{i}.PCPProxy.Enable";
-      reference
-        "Device.PCP.Client.{i}.PCPProxy.Enable";
-    }
-    leaf highest-version {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.PCPProxy.HighestVersion";
-      reference
-        "Device.PCP.Client.{i}.PCPProxy.HighestVersion";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.PCPProxy.Status";
-      reference
-        "Device.PCP.Client.{i}.PCPProxy.Status";
-    }
-  }
-
-  grouping pcp-client-server-g {
-    description
-      "Grouping object for Device.PCP.Client.{i}.Server.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.Enable";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.Status";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.Alias";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.Alias";
-    }
-    leaf origin {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.Origin";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.Origin";
-    }
-    leaf server-name-or-address {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.ServerNameOrAddress";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.ServerNameOrAddress";
-    }
-    leaf server-address-in-use {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.ServerAddressInUse";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.ServerAddressInUse";
-    }
-    leaf additional-server-addresses {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.AdditionalServerAddresses";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.AdditionalServerAddresses";
-    }
-    leaf external-ip-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.ExternalIPAddress";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.ExternalIPAddress";
-    }
-    leaf current-version {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.CurrentVersion";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.CurrentVersion";
-    }
-    leaf maximum-filters {
-      type uint32;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.MaximumFilters";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.MaximumFilters";
-    }
-    leaf port-quota {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.PortQuota";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.PortQuota";
-    }
-    leaf preferred-lifetime {
-      type uint32;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.PreferredLifetime";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.PreferredLifetime";
-    }
-    leaf capabilities {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.Capabilities";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.Capabilities";
-    }
-    leaf inbound-mapping-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMappingNumberOfEntries";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMappingNumberOfEntries";
-    }
-    leaf outbound-mapping-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMappingNumberOfEntries";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMappingNumberOfEntries";
-    }
-  }
-
-  grouping server-inbound-mapping-g {
-    description
-      "Grouping object for Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Enable";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Status";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Status";
-    }
-    leaf error-code {
-      type uint32 {
-        range "1..255";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ErrorCode";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ErrorCode";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Alias";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Alias";
-    }
-    leaf origin {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Origin";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Origin";
-    }
-    leaf lifetime {
-      type uint32;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Lifetime";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Lifetime";
-    }
-    leaf suggested-external-ip-address {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalIPAddress";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalIPAddress";
-    }
-    leaf suggested-external-port {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalPort";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalPort";
-    }
-    leaf suggested-external-port-end-range {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalPortEndRange";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalPortEndRange";
-    }
-    leaf internal-port {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.InternalPort";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.InternalPort";
-    }
-    leaf protocol-number {
-      type int32 {
-        range "-1..255";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ProtocolNumber";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ProtocolNumber";
-    }
-    leaf third-party-address {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ThirdPartyAddress";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ThirdPartyAddress";
-    }
-    leaf description {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Description";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Description";
-    }
-    leaf assigned-external-ip-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalIPAddress";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalIPAddress";
-    }
-    leaf assigned-external-port {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalPort";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalPort";
-    }
-    leaf assigned-external-port-end-range {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalPortEndRange";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalPortEndRange";
-    }
-    leaf filter-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.FilterNumberOfEntries";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.FilterNumberOfEntries";
-    }
-  }
-
-  grouping inbound-mapping-filter-g {
-    description
-      "Grouping object for Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.Alias";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.Alias";
-    }
-    leaf remote-host-ip-address {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemoteHostIPAddress";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemoteHostIPAddress";
-    }
-    leaf prefix-length {
-      type uint32 {
-        range "1..128";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.PrefixLength";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.PrefixLength";
-    }
-    leaf remote-port {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemotePort";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemotePort";
-    }
-    leaf remote-port-end-range {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemotePortEndRange";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemotePortEndRange";
-    }
-  }
-
-  grouping server-outbound-mapping-g {
-    description
-      "Grouping object for Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Enable";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Status";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Status";
-    }
-    leaf error-code {
-      type uint32 {
-        range "1..255";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ErrorCode";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ErrorCode";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Alias";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Alias";
-    }
-    leaf origin {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Origin";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Origin";
-    }
-    leaf lifetime {
-      type uint32;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Lifetime";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Lifetime";
-    }
-    leaf suggested-external-ip-address {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.SuggestedExternalIPAddress";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.SuggestedExternalIPAddress";
-    }
-    leaf suggested-external-port {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.SuggestedExternalPort";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.SuggestedExternalPort";
-    }
-    leaf remote-host-ip-address {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.RemoteHostIPAddress";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.RemoteHostIPAddress";
-    }
-    leaf internal-port {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.InternalPort";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.InternalPort";
-    }
-    leaf remote-port {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.RemotePort";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.RemotePort";
-    }
-    leaf protocol-number {
-      type int32 {
-        range "-1..255";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ProtocolNumber";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ProtocolNumber";
-    }
-    leaf third-party-address {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ThirdPartyAddress";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ThirdPartyAddress";
-    }
-    leaf description {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Description";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Description";
-    }
-    leaf assigned-external-ip-address {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.AssignedExternalIPAddress";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.AssignedExternalIPAddress";
-    }
-    leaf assigned-external-port {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.AssignedExternalPort";
-      reference
-        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.AssignedExternalPort";
-    }
-  }
-
-  grouping client-u-pn-piwf-g {
-    description
-      "Grouping object for Device.PCP.Client.{i}.UPnPIWF.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.PCP.Client.{i}.UPnPIWF.Enable";
-      reference
-        "Device.PCP.Client.{i}.UPnPIWF.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.PCP.Client.{i}.UPnPIWF.Status";
-      reference
-        "Device.PCP.Client.{i}.UPnPIWF.Status";
-    }
-  }
-
-  grouping device-ppp-g {
-    description
-      "Grouping object for Device.PPP.";
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.PPP.InterfaceNumberOfEntries";
-      reference
-        "Device.PPP.InterfaceNumberOfEntries";
-    }
-    leaf supported-nc-ps {
-      type string;
-      config false;
-      description
-        "Device.PPP.SupportedNCPs";
-      reference
-        "Device.PPP.SupportedNCPs";
-    }
-  }
-
-  grouping ppp-interface-g {
-    description
-      "Grouping object for Device.PPP.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.PPP.Interface.{i}.Enable";
-      reference
-        "Device.PPP.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Status";
-      reference
-        "Device.PPP.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.PPP.Interface.{i}.Alias";
-      reference
-        "Device.PPP.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Name";
-      reference
-        "Device.PPP.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.LastChange";
-      reference
-        "Device.PPP.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.PPP.Interface.{i}.LowerLayers";
-      reference
-        "Device.PPP.Interface.{i}.LowerLayers";
-    }
-    leaf connection-status {
-      type string;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.ConnectionStatus";
-      reference
-        "Device.PPP.Interface.{i}.ConnectionStatus";
-    }
-    leaf last-connection-error {
-      type string;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.LastConnectionError";
-      reference
-        "Device.PPP.Interface.{i}.LastConnectionError";
-    }
-    leaf auto-disconnect-time {
-      type uint32;
-      description
-        "Device.PPP.Interface.{i}.AutoDisconnectTime";
-      reference
-        "Device.PPP.Interface.{i}.AutoDisconnectTime";
-    }
-    leaf idle-disconnect-time {
-      type uint32;
-      description
-        "Device.PPP.Interface.{i}.IdleDisconnectTime";
-      reference
-        "Device.PPP.Interface.{i}.IdleDisconnectTime";
-    }
-    leaf warn-disconnect-delay {
-      type uint32;
-      description
-        "Device.PPP.Interface.{i}.WarnDisconnectDelay";
-      reference
-        "Device.PPP.Interface.{i}.WarnDisconnectDelay";
-    }
-    leaf username {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.PPP.Interface.{i}.Username";
-      reference
-        "Device.PPP.Interface.{i}.Username";
-    }
-    leaf encryption-protocol {
-      type string;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.EncryptionProtocol";
-      reference
-        "Device.PPP.Interface.{i}.EncryptionProtocol";
-    }
-    leaf compression-protocol {
-      type string;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.CompressionProtocol";
-      reference
-        "Device.PPP.Interface.{i}.CompressionProtocol";
-    }
-    leaf authentication-protocol {
-      type string;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.AuthenticationProtocol";
-      reference
-        "Device.PPP.Interface.{i}.AuthenticationProtocol";
-    }
-    leaf max-mru-size {
-      type uint32 {
-        range "64..65535";
-      }
-      description
-        "Device.PPP.Interface.{i}.MaxMRUSize";
-      reference
-        "Device.PPP.Interface.{i}.MaxMRUSize";
-    }
-    leaf current-mru-size {
-      type uint32 {
-        range "64..65535";
-      }
-      config false;
-      description
-        "Device.PPP.Interface.{i}.CurrentMRUSize";
-      reference
-        "Device.PPP.Interface.{i}.CurrentMRUSize";
-    }
-    leaf connection-trigger {
-      type enumeration {
-        enum OnDemand {
-          description
-            "Enum Value - OnDemand";
-        }
-        enum AlwaysOn {
-          description
-            "Enum Value - AlwaysOn";
-        }
-        enum Manual {
-          description
-            "Enum Value - Manual";
-        }
-      }
-      description
-        "Device.PPP.Interface.{i}.ConnectionTrigger";
-      reference
-        "Device.PPP.Interface.{i}.ConnectionTrigger";
-    }
-    leaf lcp-echo {
-      type uint32;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.LCPEcho";
-      reference
-        "Device.PPP.Interface.{i}.LCPEcho";
-    }
-    leaf lcp-echo-retry {
-      type uint32;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.LCPEchoRetry";
-      reference
-        "Device.PPP.Interface.{i}.LCPEchoRetry";
-    }
-    leaf ipcp-enable {
-      type boolean;
-      description
-        "Device.PPP.Interface.{i}.IPCPEnable";
-      reference
-        "Device.PPP.Interface.{i}.IPCPEnable";
-    }
-    leaf ipv6-cp-enable {
-      type boolean;
-      description
-        "Device.PPP.Interface.{i}.IPv6CPEnable";
-      reference
-        "Device.PPP.Interface.{i}.IPv6CPEnable";
-    }
-  }
-
-  grouping interface-ipcp-g {
-    description
-      "Grouping object for Device.PPP.Interface.{i}.IPCP.";
-    leaf local-ip-address {
-      type string {
-        length "min..15";
-      }
-      config false;
-      description
-        "Device.PPP.Interface.{i}.IPCP.LocalIPAddress";
-      reference
-        "Device.PPP.Interface.{i}.IPCP.LocalIPAddress";
-    }
-    leaf remote-ip-address {
-      type string {
-        length "min..15";
-      }
-      config false;
-      description
-        "Device.PPP.Interface.{i}.IPCP.RemoteIPAddress";
-      reference
-        "Device.PPP.Interface.{i}.IPCP.RemoteIPAddress";
-    }
-    leaf dns-servers {
-      type string {
-        length "min..15";
-      }
-      config false;
-      description
-        "Device.PPP.Interface.{i}.IPCP.DNSServers";
-      reference
-        "Device.PPP.Interface.{i}.IPCP.DNSServers";
-    }
-    leaf passthrough-enable {
-      type boolean;
-      description
-        "Device.PPP.Interface.{i}.IPCP.PassthroughEnable";
-      reference
-        "Device.PPP.Interface.{i}.IPCP.PassthroughEnable";
-    }
-    leaf passthrough-dhcp-pool {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.PPP.Interface.{i}.IPCP.PassthroughDHCPPool";
-      reference
-        "Device.PPP.Interface.{i}.IPCP.PassthroughDHCPPool";
-    }
-  }
-
-  grouping interface-ipv6-cp-g {
-    description
-      "Grouping object for Device.PPP.Interface.{i}.IPv6CP.";
-    leaf local-interface-identifier {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.PPP.Interface.{i}.IPv6CP.LocalInterfaceIdentifier";
-      reference
-        "Device.PPP.Interface.{i}.IPv6CP.LocalInterfaceIdentifier";
-    }
-    leaf remote-interface-identifier {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.PPP.Interface.{i}.IPv6CP.RemoteInterfaceIdentifier";
-      reference
-        "Device.PPP.Interface.{i}.IPv6CP.RemoteInterfaceIdentifier";
-    }
-  }
-
-  grouping interface-pp-po-e-g {
-    description
-      "Grouping object for Device.PPP.Interface.{i}.PPPoE.";
-    leaf session-id {
-      type uint32;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.PPPoE.SessionID";
-      reference
-        "Device.PPP.Interface.{i}.PPPoE.SessionID";
-    }
-    leaf ac-name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.PPP.Interface.{i}.PPPoE.ACName";
-      reference
-        "Device.PPP.Interface.{i}.PPPoE.ACName";
-    }
-    leaf service-name {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.PPP.Interface.{i}.PPPoE.ServiceName";
-      reference
-        "Device.PPP.Interface.{i}.PPPoE.ServiceName";
-    }
-  }
-
-  grouping ppp-interface-stats-g {
-    description
-      "Grouping object for Device.PPP.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.PPP.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.PPP.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.PPP.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.PPP.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.PPP.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.PPP.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.PPP.Interface.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.PPP.Interface.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.PPP.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.PPP.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.PPP.Interface.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.PPP.Interface.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.PPP.Interface.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.PPP.Interface.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.PPP.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.PPP.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping device-ptm-g {
-    description
-      "Grouping object for Device.PTM.";
-    leaf link-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.PTM.LinkNumberOfEntries";
-      reference
-        "Device.PTM.LinkNumberOfEntries";
-    }
-  }
-
-  grouping ptm-link-g {
-    description
-      "Grouping object for Device.PTM.Link.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.PTM.Link.{i}.Enable";
-      reference
-        "Device.PTM.Link.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Status";
-      reference
-        "Device.PTM.Link.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.PTM.Link.{i}.Alias";
-      reference
-        "Device.PTM.Link.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Name";
-      reference
-        "Device.PTM.Link.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.PTM.Link.{i}.LastChange";
-      reference
-        "Device.PTM.Link.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.PTM.Link.{i}.LowerLayers";
-      reference
-        "Device.PTM.Link.{i}.LowerLayers";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.PTM.Link.{i}.MACAddress";
-      reference
-        "Device.PTM.Link.{i}.MACAddress";
-    }
-  }
-
-  grouping ptm-link-stats-g {
-    description
-      "Grouping object for Device.PTM.Link.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.BytesSent";
-      reference
-        "Device.PTM.Link.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.BytesReceived";
-      reference
-        "Device.PTM.Link.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.PacketsSent";
-      reference
-        "Device.PTM.Link.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.PacketsReceived";
-      reference
-        "Device.PTM.Link.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.ErrorsSent";
-      reference
-        "Device.PTM.Link.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.PTM.Link.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.PTM.Link.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.PTM.Link.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.PTM.Link.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.PTM.Link.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.PTM.Link.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.PTM.Link.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.PTM.Link.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.PTM.Link.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.PTM.Link.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.PTM.Link.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping device-periodic-statistics-g {
-    description
-      "Grouping object for Device.PeriodicStatistics.";
-    leaf min-sample-interval {
-      type uint32;
-      config false;
-      description
-        "Device.PeriodicStatistics.MinSampleInterval";
-      reference
-        "Device.PeriodicStatistics.MinSampleInterval";
-    }
-    leaf max-report-samples {
-      type uint32;
-      config false;
-      description
-        "Device.PeriodicStatistics.MaxReportSamples";
-      reference
-        "Device.PeriodicStatistics.MaxReportSamples";
-    }
-    leaf sample-set-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.PeriodicStatistics.SampleSetNumberOfEntries";
-      reference
-        "Device.PeriodicStatistics.SampleSetNumberOfEntries";
-    }
-  }
-
-  grouping periodic-statistics-sample-set-g {
-    description
-      "Grouping object for Device.PeriodicStatistics.SampleSet.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Alias";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Enable";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Status";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Status";
-    }
-    leaf name {
-      type string {
-        length "min..128";
-      }
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Name";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Name";
-    }
-    leaf sample-interval {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.SampleInterval";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.SampleInterval";
-    }
-    leaf report-samples {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.ReportSamples";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.ReportSamples";
-    }
-    leaf time-reference {
-      type string;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.TimeReference";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.TimeReference";
-    }
-    leaf fetch-samples {
-      type uint32;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.FetchSamples";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.FetchSamples";
-    }
-    leaf report-start-time {
-      type string;
-      config false;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.ReportStartTime";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.ReportStartTime";
-    }
-    leaf report-end-time {
-      type string;
-      config false;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.ReportEndTime";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.ReportEndTime";
-    }
-    leaf sample-seconds {
-      type uint32;
-      config false;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.SampleSeconds";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.SampleSeconds";
-    }
-    leaf parameter-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.ParameterNumberOfEntries";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.ParameterNumberOfEntries";
-    }
-  }
-
-  grouping sample-set-parameter-g {
-    description
-      "Grouping object for Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Alias";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Enable";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Enable";
-    }
-    leaf reference {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Reference";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Reference";
-    }
-    leaf sample-mode {
-      type enumeration {
-        enum Current {
-          description
-            "Enum Value - Current";
-        }
-        enum Change {
-          description
-            "Enum Value - Change";
-        }
-      }
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SampleMode";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SampleMode";
-    }
-    leaf calculation-mode {
-      type enumeration {
-        enum Latest {
-          description
-            "Enum Value - Latest";
-        }
-        enum Minimum {
-          description
-            "Enum Value - Minimum";
-        }
-        enum Maximum {
-          description
-            "Enum Value - Maximum";
-        }
-        enum Average {
-          description
-            "Enum Value - Average";
-        }
-      }
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.CalculationMode";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.CalculationMode";
-    }
-    leaf low-threshold {
-      type int32;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.LowThreshold";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.LowThreshold";
-    }
-    leaf high-threshold {
-      type int32;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.HighThreshold";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.HighThreshold";
-    }
-    leaf sample-seconds {
-      type uint32;
-      config false;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SampleSeconds";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SampleSeconds";
-    }
-    leaf suspect-data {
-      type uint32;
-      config false;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SuspectData";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SuspectData";
-    }
-    leaf values {
-      type string;
-      config false;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Values";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Values";
-    }
-    leaf failures {
-      type uint32;
-      config false;
-      description
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Failures";
-      reference
-        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Failures";
-    }
-  }
-
-  grouping device-qo-s-g {
-    description
-      "Grouping object for Device.QoS.";
-    leaf max-classification-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.MaxClassificationEntries";
-      reference
-        "Device.QoS.MaxClassificationEntries";
-    }
-    leaf classification-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.ClassificationNumberOfEntries";
-      reference
-        "Device.QoS.ClassificationNumberOfEntries";
-    }
-    leaf max-app-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.MaxAppEntries";
-      reference
-        "Device.QoS.MaxAppEntries";
-    }
-    leaf app-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.AppNumberOfEntries";
-      reference
-        "Device.QoS.AppNumberOfEntries";
-    }
-    leaf max-flow-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.MaxFlowEntries";
-      reference
-        "Device.QoS.MaxFlowEntries";
-    }
-    leaf flow-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.FlowNumberOfEntries";
-      reference
-        "Device.QoS.FlowNumberOfEntries";
-    }
-    leaf max-policer-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.MaxPolicerEntries";
-      reference
-        "Device.QoS.MaxPolicerEntries";
-    }
-    leaf policer-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.PolicerNumberOfEntries";
-      reference
-        "Device.QoS.PolicerNumberOfEntries";
-    }
-    leaf max-queue-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.MaxQueueEntries";
-      reference
-        "Device.QoS.MaxQueueEntries";
-    }
-    leaf queue-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.QueueNumberOfEntries";
-      reference
-        "Device.QoS.QueueNumberOfEntries";
-    }
-    leaf queue-stats-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.QueueStatsNumberOfEntries";
-      reference
-        "Device.QoS.QueueStatsNumberOfEntries";
-    }
-    leaf max-shaper-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.MaxShaperEntries";
-      reference
-        "Device.QoS.MaxShaperEntries";
-    }
-    leaf shaper-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.ShaperNumberOfEntries";
-      reference
-        "Device.QoS.ShaperNumberOfEntries";
-    }
-    leaf default-forwarding-policy {
-      type uint32;
-      description
-        "Device.QoS.DefaultForwardingPolicy";
-      reference
-        "Device.QoS.DefaultForwardingPolicy";
-    }
-    leaf default-traffic-class {
-      type uint32;
-      description
-        "Device.QoS.DefaultTrafficClass";
-      reference
-        "Device.QoS.DefaultTrafficClass";
-    }
-    leaf default-policer {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.DefaultPolicer";
-      reference
-        "Device.QoS.DefaultPolicer";
-    }
-    leaf default-queue {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.DefaultQueue";
-      reference
-        "Device.QoS.DefaultQueue";
-    }
-    leaf default-dscp-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.DefaultDSCPMark";
-      reference
-        "Device.QoS.DefaultDSCPMark";
-    }
-    leaf default-ethernet-priority-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.DefaultEthernetPriorityMark";
-      reference
-        "Device.QoS.DefaultEthernetPriorityMark";
-    }
-    leaf default-inner-ethernet-priority-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.DefaultInnerEthernetPriorityMark";
-      reference
-        "Device.QoS.DefaultInnerEthernetPriorityMark";
-    }
-    leaf available-app-list {
-      type string;
-      config false;
-      description
-        "Device.QoS.AvailableAppList";
-      reference
-        "Device.QoS.AvailableAppList";
-    }
-  }
-
-  grouping qo-s-app-g {
-    description
-      "Grouping object for Device.QoS.App.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.QoS.App.{i}.Enable";
-      reference
-        "Device.QoS.App.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.QoS.App.{i}.Status";
-      reference
-        "Device.QoS.App.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.QoS.App.{i}.Alias";
-      reference
-        "Device.QoS.App.{i}.Alias";
-    }
-    leaf protocol-identifier {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.App.{i}.ProtocolIdentifier";
-      reference
-        "Device.QoS.App.{i}.ProtocolIdentifier";
-    }
-    leaf name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.QoS.App.{i}.Name";
-      reference
-        "Device.QoS.App.{i}.Name";
-    }
-    leaf default-forwarding-policy {
-      type uint32;
-      description
-        "Device.QoS.App.{i}.DefaultForwardingPolicy";
-      reference
-        "Device.QoS.App.{i}.DefaultForwardingPolicy";
-    }
-    leaf default-traffic-class {
-      type uint32;
-      description
-        "Device.QoS.App.{i}.DefaultTrafficClass";
-      reference
-        "Device.QoS.App.{i}.DefaultTrafficClass";
-    }
-    leaf default-policer {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.App.{i}.DefaultPolicer";
-      reference
-        "Device.QoS.App.{i}.DefaultPolicer";
-    }
-    leaf default-dscp-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.App.{i}.DefaultDSCPMark";
-      reference
-        "Device.QoS.App.{i}.DefaultDSCPMark";
-    }
-    leaf default-ethernet-priority-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.App.{i}.DefaultEthernetPriorityMark";
-      reference
-        "Device.QoS.App.{i}.DefaultEthernetPriorityMark";
-    }
-    leaf default-inner-ethernet-priority-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.App.{i}.DefaultInnerEthernetPriorityMark";
-      reference
-        "Device.QoS.App.{i}.DefaultInnerEthernetPriorityMark";
-    }
-  }
-
-  grouping qo-s-classification-g {
-    description
-      "Grouping object for Device.QoS.Classification.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.Enable";
-      reference
-        "Device.QoS.Classification.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.QoS.Classification.{i}.Status";
-      reference
-        "Device.QoS.Classification.{i}.Status";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.Order";
-      reference
-        "Device.QoS.Classification.{i}.Order";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.QoS.Classification.{i}.Alias";
-      reference
-        "Device.QoS.Classification.{i}.Alias";
-    }
-    leaf dhcp-type {
-      type enumeration {
-        enum DHCPv4 {
-          description
-            "Enum Value - DHCPv4";
-        }
-        enum DHCPv6 {
-          description
-            "Enum Value - DHCPv6";
-        }
-      }
-      description
-        "Device.QoS.Classification.{i}.DHCPType";
-      reference
-        "Device.QoS.Classification.{i}.DHCPType";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.Classification.{i}.Interface";
-      reference
-        "Device.QoS.Classification.{i}.Interface";
-    }
-    leaf all-interfaces {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.AllInterfaces";
-      reference
-        "Device.QoS.Classification.{i}.AllInterfaces";
-    }
-    leaf dest-ip {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestIP";
-      reference
-        "Device.QoS.Classification.{i}.DestIP";
-    }
-    leaf dest-mask {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestMask";
-      reference
-        "Device.QoS.Classification.{i}.DestMask";
-    }
-    leaf dest-ip-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.DestIPExclude";
-      reference
-        "Device.QoS.Classification.{i}.DestIPExclude";
-    }
-    leaf source-ip {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourceIP";
-      reference
-        "Device.QoS.Classification.{i}.SourceIP";
-    }
-    leaf source-mask {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourceMask";
-      reference
-        "Device.QoS.Classification.{i}.SourceMask";
-    }
-    leaf source-ip-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.SourceIPExclude";
-      reference
-        "Device.QoS.Classification.{i}.SourceIPExclude";
-    }
-    leaf protocol {
-      type int32 {
-        range "-1..255";
-      }
-      description
-        "Device.QoS.Classification.{i}.Protocol";
-      reference
-        "Device.QoS.Classification.{i}.Protocol";
-    }
-    leaf protocol-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.ProtocolExclude";
-      reference
-        "Device.QoS.Classification.{i}.ProtocolExclude";
-    }
-    leaf dest-port {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestPort";
-      reference
-        "Device.QoS.Classification.{i}.DestPort";
-    }
-    leaf dest-port-range-max {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestPortRangeMax";
-      reference
-        "Device.QoS.Classification.{i}.DestPortRangeMax";
-    }
-    leaf dest-port-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.DestPortExclude";
-      reference
-        "Device.QoS.Classification.{i}.DestPortExclude";
-    }
-    leaf source-port {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourcePort";
-      reference
-        "Device.QoS.Classification.{i}.SourcePort";
-    }
-    leaf source-port-range-max {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourcePortRangeMax";
-      reference
-        "Device.QoS.Classification.{i}.SourcePortRangeMax";
-    }
-    leaf source-port-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.SourcePortExclude";
-      reference
-        "Device.QoS.Classification.{i}.SourcePortExclude";
-    }
-    leaf source-mac-address {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourceMACAddress";
-      reference
-        "Device.QoS.Classification.{i}.SourceMACAddress";
-    }
-    leaf source-mac-mask {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourceMACMask";
-      reference
-        "Device.QoS.Classification.{i}.SourceMACMask";
-    }
-    leaf source-mac-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.SourceMACExclude";
-      reference
-        "Device.QoS.Classification.{i}.SourceMACExclude";
-    }
-    leaf dest-mac-address {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestMACAddress";
-      reference
-        "Device.QoS.Classification.{i}.DestMACAddress";
-    }
-    leaf dest-mac-mask {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestMACMask";
-      reference
-        "Device.QoS.Classification.{i}.DestMACMask";
-    }
-    leaf dest-mac-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.DestMACExclude";
-      reference
-        "Device.QoS.Classification.{i}.DestMACExclude";
-    }
-    leaf ethertype {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.Ethertype";
-      reference
-        "Device.QoS.Classification.{i}.Ethertype";
-    }
-    leaf ethertype-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.EthertypeExclude";
-      reference
-        "Device.QoS.Classification.{i}.EthertypeExclude";
-    }
-    leaf ssap {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.SSAP";
-      reference
-        "Device.QoS.Classification.{i}.SSAP";
-    }
-    leaf ssap-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.SSAPExclude";
-      reference
-        "Device.QoS.Classification.{i}.SSAPExclude";
-    }
-    leaf dsap {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.DSAP";
-      reference
-        "Device.QoS.Classification.{i}.DSAP";
-    }
-    leaf dsap-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.DSAPExclude";
-      reference
-        "Device.QoS.Classification.{i}.DSAPExclude";
-    }
-    leaf llc-control {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.LLCControl";
-      reference
-        "Device.QoS.Classification.{i}.LLCControl";
-    }
-    leaf llc-control-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.LLCControlExclude";
-      reference
-        "Device.QoS.Classification.{i}.LLCControlExclude";
-    }
-    leaf snapoui {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.SNAPOUI";
-      reference
-        "Device.QoS.Classification.{i}.SNAPOUI";
-    }
-    leaf snapoui-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.SNAPOUIExclude";
-      reference
-        "Device.QoS.Classification.{i}.SNAPOUIExclude";
-    }
-    leaf source-vendor-class-id {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourceVendorClassID";
-      reference
-        "Device.QoS.Classification.{i}.SourceVendorClassID";
-    }
-    leaf source-vendor-class-idv6 {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourceVendorClassIDv6";
-      reference
-        "Device.QoS.Classification.{i}.SourceVendorClassIDv6";
-    }
-    leaf source-vendor-class-id-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.SourceVendorClassIDExclude";
-      reference
-        "Device.QoS.Classification.{i}.SourceVendorClassIDExclude";
-    }
-    leaf source-vendor-class-id-mode {
-      type enumeration {
-        enum Exact {
-          description
-            "Enum Value - Exact";
-        }
-        enum Prefix {
-          description
-            "Enum Value - Prefix";
-        }
-        enum Suffix {
-          description
-            "Enum Value - Suffix";
-        }
-        enum Substring {
-          description
-            "Enum Value - Substring";
-        }
-      }
-      description
-        "Device.QoS.Classification.{i}.SourceVendorClassIDMode";
-      reference
-        "Device.QoS.Classification.{i}.SourceVendorClassIDMode";
-    }
-    leaf dest-vendor-class-id {
-      type string {
-        length "min..255";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestVendorClassID";
-      reference
-        "Device.QoS.Classification.{i}.DestVendorClassID";
-    }
-    leaf dest-vendor-class-idv6 {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestVendorClassIDv6";
-      reference
-        "Device.QoS.Classification.{i}.DestVendorClassIDv6";
-    }
-    leaf dest-vendor-class-id-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.DestVendorClassIDExclude";
-      reference
-        "Device.QoS.Classification.{i}.DestVendorClassIDExclude";
-    }
-    leaf dest-vendor-class-id-mode {
-      type enumeration {
-        enum Exact {
-          description
-            "Enum Value - Exact";
-        }
-        enum Prefix {
-          description
-            "Enum Value - Prefix";
-        }
-        enum Suffix {
-          description
-            "Enum Value - Suffix";
-        }
-        enum Substring {
-          description
-            "Enum Value - Substring";
-        }
-      }
-      description
-        "Device.QoS.Classification.{i}.DestVendorClassIDMode";
-      reference
-        "Device.QoS.Classification.{i}.DestVendorClassIDMode";
-    }
-    leaf source-client-id {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourceClientID";
-      reference
-        "Device.QoS.Classification.{i}.SourceClientID";
-    }
-    leaf source-client-id-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.SourceClientIDExclude";
-      reference
-        "Device.QoS.Classification.{i}.SourceClientIDExclude";
-    }
-    leaf dest-client-id {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestClientID";
-      reference
-        "Device.QoS.Classification.{i}.DestClientID";
-    }
-    leaf dest-client-id-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.DestClientIDExclude";
-      reference
-        "Device.QoS.Classification.{i}.DestClientIDExclude";
-    }
-    leaf source-user-class-id {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourceUserClassID";
-      reference
-        "Device.QoS.Classification.{i}.SourceUserClassID";
-    }
-    leaf source-user-class-id-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.SourceUserClassIDExclude";
-      reference
-        "Device.QoS.Classification.{i}.SourceUserClassIDExclude";
-    }
-    leaf dest-user-class-id {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestUserClassID";
-      reference
-        "Device.QoS.Classification.{i}.DestUserClassID";
-    }
-    leaf dest-user-class-id-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.DestUserClassIDExclude";
-      reference
-        "Device.QoS.Classification.{i}.DestUserClassIDExclude";
-    }
-    leaf source-vendor-specific-info {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourceVendorSpecificInfo";
-      reference
-        "Device.QoS.Classification.{i}.SourceVendorSpecificInfo";
-    }
-    leaf source-vendor-specific-info-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoExclude";
-      reference
-        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoExclude";
-    }
-    leaf source-vendor-specific-info-enterprise {
-      type uint32;
-      description
-        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoEnterprise";
-      reference
-        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoEnterprise";
-    }
-    leaf source-vendor-specific-info-sub-option {
-      type int32 {
-        range "0..255";
-      }
-      description
-        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoSubOption";
-      reference
-        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoSubOption";
-    }
-    leaf dest-vendor-specific-info {
-      type string {
-        length "min..65535";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestVendorSpecificInfo";
-      reference
-        "Device.QoS.Classification.{i}.DestVendorSpecificInfo";
-    }
-    leaf dest-vendor-specific-info-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.DestVendorSpecificInfoExclude";
-      reference
-        "Device.QoS.Classification.{i}.DestVendorSpecificInfoExclude";
-    }
-    leaf dest-vendor-specific-info-enterprise {
-      type uint32;
-      description
-        "Device.QoS.Classification.{i}.DestVendorSpecificInfoEnterprise";
-      reference
-        "Device.QoS.Classification.{i}.DestVendorSpecificInfoEnterprise";
-    }
-    leaf dest-vendor-specific-info-sub-option {
-      type int32 {
-        range "0..255";
-      }
-      description
-        "Device.QoS.Classification.{i}.DestVendorSpecificInfoSubOption";
-      reference
-        "Device.QoS.Classification.{i}.DestVendorSpecificInfoSubOption";
-    }
-    leaf tcpack {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.TCPACK";
-      reference
-        "Device.QoS.Classification.{i}.TCPACK";
-    }
-    leaf tcpack-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.TCPACKExclude";
-      reference
-        "Device.QoS.Classification.{i}.TCPACKExclude";
-    }
-    leaf ip-length-min {
-      type uint32;
-      description
-        "Device.QoS.Classification.{i}.IPLengthMin";
-      reference
-        "Device.QoS.Classification.{i}.IPLengthMin";
-    }
-    leaf ip-length-max {
-      type uint32;
-      description
-        "Device.QoS.Classification.{i}.IPLengthMax";
-      reference
-        "Device.QoS.Classification.{i}.IPLengthMax";
-    }
-    leaf ip-length-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.IPLengthExclude";
-      reference
-        "Device.QoS.Classification.{i}.IPLengthExclude";
-    }
-    leaf dscp-check {
-      type int32 {
-        range "-1..63";
-      }
-      description
-        "Device.QoS.Classification.{i}.DSCPCheck";
-      reference
-        "Device.QoS.Classification.{i}.DSCPCheck";
-    }
-    leaf dscp-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.DSCPExclude";
-      reference
-        "Device.QoS.Classification.{i}.DSCPExclude";
-    }
-    leaf dscp-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.DSCPMark";
-      reference
-        "Device.QoS.Classification.{i}.DSCPMark";
-    }
-    leaf ethernet-priority-check {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.EthernetPriorityCheck";
-      reference
-        "Device.QoS.Classification.{i}.EthernetPriorityCheck";
-    }
-    leaf ethernet-priority-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.EthernetPriorityExclude";
-      reference
-        "Device.QoS.Classification.{i}.EthernetPriorityExclude";
-    }
-    leaf ethernet-priority-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.EthernetPriorityMark";
-      reference
-        "Device.QoS.Classification.{i}.EthernetPriorityMark";
-    }
-    leaf inner-ethernet-priority-check {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.InnerEthernetPriorityCheck";
-      reference
-        "Device.QoS.Classification.{i}.InnerEthernetPriorityCheck";
-    }
-    leaf inner-ethernet-priority-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.InnerEthernetPriorityExclude";
-      reference
-        "Device.QoS.Classification.{i}.InnerEthernetPriorityExclude";
-    }
-    leaf inner-ethernet-priority-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.InnerEthernetPriorityMark";
-      reference
-        "Device.QoS.Classification.{i}.InnerEthernetPriorityMark";
-    }
-    leaf ethernet-dei-check {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.EthernetDEICheck";
-      reference
-        "Device.QoS.Classification.{i}.EthernetDEICheck";
-    }
-    leaf ethernet-dei-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.EthernetDEIExclude";
-      reference
-        "Device.QoS.Classification.{i}.EthernetDEIExclude";
-    }
-    leaf vlanid-check {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.VLANIDCheck";
-      reference
-        "Device.QoS.Classification.{i}.VLANIDCheck";
-    }
-    leaf vlanid-exclude {
-      type boolean;
-      description
-        "Device.QoS.Classification.{i}.VLANIDExclude";
-      reference
-        "Device.QoS.Classification.{i}.VLANIDExclude";
-    }
-    leaf out-of-band-info {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.OutOfBandInfo";
-      reference
-        "Device.QoS.Classification.{i}.OutOfBandInfo";
-    }
-    leaf forwarding-policy {
-      type uint32;
-      description
-        "Device.QoS.Classification.{i}.ForwardingPolicy";
-      reference
-        "Device.QoS.Classification.{i}.ForwardingPolicy";
-    }
-    leaf traffic-class {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Classification.{i}.TrafficClass";
-      reference
-        "Device.QoS.Classification.{i}.TrafficClass";
-    }
-    leaf policer {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.Classification.{i}.Policer";
-      reference
-        "Device.QoS.Classification.{i}.Policer";
-    }
-    leaf app {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.Classification.{i}.App";
-      reference
-        "Device.QoS.Classification.{i}.App";
-    }
-  }
-
-  grouping qo-s-flow-g {
-    description
-      "Grouping object for Device.QoS.Flow.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.QoS.Flow.{i}.Enable";
-      reference
-        "Device.QoS.Flow.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.QoS.Flow.{i}.Status";
-      reference
-        "Device.QoS.Flow.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.QoS.Flow.{i}.Alias";
-      reference
-        "Device.QoS.Flow.{i}.Alias";
-    }
-    leaf type {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.Flow.{i}.Type";
-      reference
-        "Device.QoS.Flow.{i}.Type";
-    }
-    leaf type-parameters {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.Flow.{i}.TypeParameters";
-      reference
-        "Device.QoS.Flow.{i}.TypeParameters";
-    }
-    leaf name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.QoS.Flow.{i}.Name";
-      reference
-        "Device.QoS.Flow.{i}.Name";
-    }
-    leaf app {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.Flow.{i}.App";
-      reference
-        "Device.QoS.Flow.{i}.App";
-    }
-    leaf forwarding-policy {
-      type uint32;
-      description
-        "Device.QoS.Flow.{i}.ForwardingPolicy";
-      reference
-        "Device.QoS.Flow.{i}.ForwardingPolicy";
-    }
-    leaf traffic-class {
-      type uint32;
-      description
-        "Device.QoS.Flow.{i}.TrafficClass";
-      reference
-        "Device.QoS.Flow.{i}.TrafficClass";
-    }
-    leaf policer {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.Flow.{i}.Policer";
-      reference
-        "Device.QoS.Flow.{i}.Policer";
-    }
-    leaf dscp-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.Flow.{i}.DSCPMark";
-      reference
-        "Device.QoS.Flow.{i}.DSCPMark";
-    }
-    leaf ethernet-priority-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.Flow.{i}.EthernetPriorityMark";
-      reference
-        "Device.QoS.Flow.{i}.EthernetPriorityMark";
-    }
-    leaf inner-ethernet-priority-mark {
-      type int32 {
-        range "-2..max";
-      }
-      description
-        "Device.QoS.Flow.{i}.InnerEthernetPriorityMark";
-      reference
-        "Device.QoS.Flow.{i}.InnerEthernetPriorityMark";
-    }
-  }
-
-  grouping qo-s-policer-g {
-    description
-      "Grouping object for Device.QoS.Policer.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.QoS.Policer.{i}.Enable";
-      reference
-        "Device.QoS.Policer.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.QoS.Policer.{i}.Status";
-      reference
-        "Device.QoS.Policer.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.QoS.Policer.{i}.Alias";
-      reference
-        "Device.QoS.Policer.{i}.Alias";
-    }
-    leaf committed-rate {
-      type uint32;
-      description
-        "Device.QoS.Policer.{i}.CommittedRate";
-      reference
-        "Device.QoS.Policer.{i}.CommittedRate";
-    }
-    leaf committed-burst-size {
-      type uint32;
-      description
-        "Device.QoS.Policer.{i}.CommittedBurstSize";
-      reference
-        "Device.QoS.Policer.{i}.CommittedBurstSize";
-    }
-    leaf excess-burst-size {
-      type uint32;
-      description
-        "Device.QoS.Policer.{i}.ExcessBurstSize";
-      reference
-        "Device.QoS.Policer.{i}.ExcessBurstSize";
-    }
-    leaf peak-rate {
-      type uint32;
-      description
-        "Device.QoS.Policer.{i}.PeakRate";
-      reference
-        "Device.QoS.Policer.{i}.PeakRate";
-    }
-    leaf peak-burst-size {
-      type uint32;
-      description
-        "Device.QoS.Policer.{i}.PeakBurstSize";
-      reference
-        "Device.QoS.Policer.{i}.PeakBurstSize";
-    }
-    leaf meter-type {
-      type string;
-      description
-        "Device.QoS.Policer.{i}.MeterType";
-      reference
-        "Device.QoS.Policer.{i}.MeterType";
-    }
-    leaf possible-meter-types {
-      type string;
-      config false;
-      description
-        "Device.QoS.Policer.{i}.PossibleMeterTypes";
-      reference
-        "Device.QoS.Policer.{i}.PossibleMeterTypes";
-    }
-    leaf conforming-action {
-      type string;
-      description
-        "Device.QoS.Policer.{i}.ConformingAction";
-      reference
-        "Device.QoS.Policer.{i}.ConformingAction";
-    }
-    leaf partial-conforming-action {
-      type string;
-      description
-        "Device.QoS.Policer.{i}.PartialConformingAction";
-      reference
-        "Device.QoS.Policer.{i}.PartialConformingAction";
-    }
-    leaf non-conforming-action {
-      type string;
-      description
-        "Device.QoS.Policer.{i}.NonConformingAction";
-      reference
-        "Device.QoS.Policer.{i}.NonConformingAction";
-    }
-    leaf total-counted-packets {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.Policer.{i}.TotalCountedPackets";
-      reference
-        "Device.QoS.Policer.{i}.TotalCountedPackets";
-    }
-    leaf total-counted-bytes {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.Policer.{i}.TotalCountedBytes";
-      reference
-        "Device.QoS.Policer.{i}.TotalCountedBytes";
-    }
-    leaf conforming-counted-packets {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.Policer.{i}.ConformingCountedPackets";
-      reference
-        "Device.QoS.Policer.{i}.ConformingCountedPackets";
-    }
-    leaf conforming-counted-bytes {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.Policer.{i}.ConformingCountedBytes";
-      reference
-        "Device.QoS.Policer.{i}.ConformingCountedBytes";
-    }
-    leaf partially-conforming-counted-packets {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.Policer.{i}.PartiallyConformingCountedPackets";
-      reference
-        "Device.QoS.Policer.{i}.PartiallyConformingCountedPackets";
-    }
-    leaf partially-conforming-counted-bytes {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.Policer.{i}.PartiallyConformingCountedBytes";
-      reference
-        "Device.QoS.Policer.{i}.PartiallyConformingCountedBytes";
-    }
-    leaf non-conforming-counted-packets {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.Policer.{i}.NonConformingCountedPackets";
-      reference
-        "Device.QoS.Policer.{i}.NonConformingCountedPackets";
-    }
-    leaf non-conforming-counted-bytes {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.Policer.{i}.NonConformingCountedBytes";
-      reference
-        "Device.QoS.Policer.{i}.NonConformingCountedBytes";
-    }
-  }
-
-  grouping qo-s-queue-g {
-    description
-      "Grouping object for Device.QoS.Queue.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.QoS.Queue.{i}.Enable";
-      reference
-        "Device.QoS.Queue.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.QoS.Queue.{i}.Status";
-      reference
-        "Device.QoS.Queue.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.QoS.Queue.{i}.Alias";
-      reference
-        "Device.QoS.Queue.{i}.Alias";
-    }
-    leaf traffic-classes {
-      type uint32;
-      description
-        "Device.QoS.Queue.{i}.TrafficClasses";
-      reference
-        "Device.QoS.Queue.{i}.TrafficClasses";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.Queue.{i}.Interface";
-      reference
-        "Device.QoS.Queue.{i}.Interface";
-    }
-    leaf all-interfaces {
-      type boolean;
-      description
-        "Device.QoS.Queue.{i}.AllInterfaces";
-      reference
-        "Device.QoS.Queue.{i}.AllInterfaces";
-    }
-    leaf hardware-assisted {
-      type boolean;
-      config false;
-      description
-        "Device.QoS.Queue.{i}.HardwareAssisted";
-      reference
-        "Device.QoS.Queue.{i}.HardwareAssisted";
-    }
-    leaf buffer-length {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.Queue.{i}.BufferLength";
-      reference
-        "Device.QoS.Queue.{i}.BufferLength";
-    }
-    leaf weight {
-      type uint32;
-      description
-        "Device.QoS.Queue.{i}.Weight";
-      reference
-        "Device.QoS.Queue.{i}.Weight";
-    }
-    leaf precedence {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.QoS.Queue.{i}.Precedence";
-      reference
-        "Device.QoS.Queue.{i}.Precedence";
-    }
-    leaf red-threshold {
-      type uint32 {
-        range "min..100";
-      }
-      description
-        "Device.QoS.Queue.{i}.REDThreshold";
-      reference
-        "Device.QoS.Queue.{i}.REDThreshold";
-    }
-    leaf red-percentage {
-      type uint32 {
-        range "min..100";
-      }
-      description
-        "Device.QoS.Queue.{i}.REDPercentage";
-      reference
-        "Device.QoS.Queue.{i}.REDPercentage";
-    }
-    leaf drop-algorithm {
-      type enumeration {
-        enum RED {
-          description
-            "Enum Value - RED";
-        }
-        enum DT {
-          description
-            "Enum Value - DT";
-        }
-        enum WRED {
-          description
-            "Enum Value - WRED";
-        }
-        enum BLUE {
-          description
-            "Enum Value - BLUE";
-        }
-      }
-      description
-        "Device.QoS.Queue.{i}.DropAlgorithm";
-      reference
-        "Device.QoS.Queue.{i}.DropAlgorithm";
-    }
-    leaf scheduler-algorithm {
-      type enumeration {
-        enum WFQ {
-          description
-            "Enum Value - WFQ";
-        }
-        enum WRR {
-          description
-            "Enum Value - WRR";
-        }
-        enum SP {
-          description
-            "Enum Value - SP";
-        }
-      }
-      description
-        "Device.QoS.Queue.{i}.SchedulerAlgorithm";
-      reference
-        "Device.QoS.Queue.{i}.SchedulerAlgorithm";
-    }
-    leaf shaping-rate {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Queue.{i}.ShapingRate";
-      reference
-        "Device.QoS.Queue.{i}.ShapingRate";
-    }
-    leaf shaping-burst-size {
-      type uint32;
-      description
-        "Device.QoS.Queue.{i}.ShapingBurstSize";
-      reference
-        "Device.QoS.Queue.{i}.ShapingBurstSize";
-    }
-  }
-
-  grouping qo-s-queue-stats-g {
-    description
-      "Grouping object for Device.QoS.QueueStats.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.QoS.QueueStats.{i}.Enable";
-      reference
-        "Device.QoS.QueueStats.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.QoS.QueueStats.{i}.Status";
-      reference
-        "Device.QoS.QueueStats.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.QoS.QueueStats.{i}.Alias";
-      reference
-        "Device.QoS.QueueStats.{i}.Alias";
-    }
-    leaf queue {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.QueueStats.{i}.Queue";
-      reference
-        "Device.QoS.QueueStats.{i}.Queue";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.QueueStats.{i}.Interface";
-      reference
-        "Device.QoS.QueueStats.{i}.Interface";
-    }
-    leaf output-packets {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.QueueStats.{i}.OutputPackets";
-      reference
-        "Device.QoS.QueueStats.{i}.OutputPackets";
-    }
-    leaf output-bytes {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.QueueStats.{i}.OutputBytes";
-      reference
-        "Device.QoS.QueueStats.{i}.OutputBytes";
-    }
-    leaf dropped-packets {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.QueueStats.{i}.DroppedPackets";
-      reference
-        "Device.QoS.QueueStats.{i}.DroppedPackets";
-    }
-    leaf dropped-bytes {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.QueueStats.{i}.DroppedBytes";
-      reference
-        "Device.QoS.QueueStats.{i}.DroppedBytes";
-    }
-    leaf queue-occupancy-packets {
-      type uint32;
-      config false;
-      description
-        "Device.QoS.QueueStats.{i}.QueueOccupancyPackets";
-      reference
-        "Device.QoS.QueueStats.{i}.QueueOccupancyPackets";
-    }
-    leaf queue-occupancy-percentage {
-      type uint32 {
-        range "0..100";
-      }
-      config false;
-      description
-        "Device.QoS.QueueStats.{i}.QueueOccupancyPercentage";
-      reference
-        "Device.QoS.QueueStats.{i}.QueueOccupancyPercentage";
-    }
-  }
-
-  grouping qo-s-shaper-g {
-    description
-      "Grouping object for Device.QoS.Shaper.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.QoS.Shaper.{i}.Enable";
-      reference
-        "Device.QoS.Shaper.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.QoS.Shaper.{i}.Status";
-      reference
-        "Device.QoS.Shaper.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.QoS.Shaper.{i}.Alias";
-      reference
-        "Device.QoS.Shaper.{i}.Alias";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.QoS.Shaper.{i}.Interface";
-      reference
-        "Device.QoS.Shaper.{i}.Interface";
-    }
-    leaf shaping-rate {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.QoS.Shaper.{i}.ShapingRate";
-      reference
-        "Device.QoS.Shaper.{i}.ShapingRate";
-    }
-    leaf shaping-burst-size {
-      type uint32;
-      description
-        "Device.QoS.Shaper.{i}.ShapingBurstSize";
-      reference
-        "Device.QoS.Shaper.{i}.ShapingBurstSize";
-    }
-  }
-
-  grouping device-router-advertisement-g {
-    description
-      "Grouping object for Device.RouterAdvertisement.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.RouterAdvertisement.Enable";
-      reference
-        "Device.RouterAdvertisement.Enable";
-    }
-    leaf interface-setting-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.RouterAdvertisement.InterfaceSettingNumberOfEntries";
-      reference
-        "Device.RouterAdvertisement.InterfaceSettingNumberOfEntries";
-    }
-  }
-
-  grouping router-advertisement-interface-setting-g {
-    description
-      "Grouping object for Device.RouterAdvertisement.InterfaceSetting.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Enable";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Status";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Alias";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Alias";
-    }
-    leaf interface {
-      type string;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Interface";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Interface";
-    }
-    leaf manual-prefixes {
-      type string;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.ManualPrefixes";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.ManualPrefixes";
-    }
-    leaf prefixes {
-      type string;
-      config false;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Prefixes";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Prefixes";
-    }
-    leaf max-rtr-adv-interval {
-      type uint32 {
-        range "4..1800";
-      }
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.MaxRtrAdvInterval";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.MaxRtrAdvInterval";
-    }
-    leaf min-rtr-adv-interval {
-      type uint32 {
-        range "3..1350";
-      }
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.MinRtrAdvInterval";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.MinRtrAdvInterval";
-    }
-    leaf adv-default-lifetime {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvDefaultLifetime";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvDefaultLifetime";
-    }
-    leaf adv-managed-flag {
-      type boolean;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvManagedFlag";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvManagedFlag";
-    }
-    leaf adv-other-config-flag {
-      type boolean;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvOtherConfigFlag";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvOtherConfigFlag";
-    }
-    leaf adv-mobile-agent-flag {
-      type boolean;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvMobileAgentFlag";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvMobileAgentFlag";
-    }
-    leaf adv-preferred-router-flag {
-      type enumeration {
-        enum High {
-          description
-            "Enum Value - High";
-        }
-        enum Medium {
-          description
-            "Enum Value - Medium";
-        }
-        enum Low {
-          description
-            "Enum Value - Low";
-        }
-      }
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvPreferredRouterFlag";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvPreferredRouterFlag";
-    }
-    leaf adv-nd-proxy-flag {
-      type boolean;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvNDProxyFlag";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvNDProxyFlag";
-    }
-    leaf adv-link-mtu {
-      type uint32;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvLinkMTU";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvLinkMTU";
-    }
-    leaf adv-reachable-time {
-      type uint32 {
-        range "min..3600000";
-      }
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvReachableTime";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvReachableTime";
-    }
-    leaf adv-retrans-timer {
-      type uint32;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvRetransTimer";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvRetransTimer";
-    }
-    leaf adv-cur-hop-limit {
-      type uint32 {
-        range "min..255";
-      }
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvCurHopLimit";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvCurHopLimit";
-    }
-    leaf option-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.OptionNumberOfEntries";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.OptionNumberOfEntries";
-    }
-  }
-
-  grouping interface-setting-option-g {
-    description
-      "Grouping object for Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Enable";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Alias";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Alias";
-    }
-    leaf tag {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Tag";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Tag";
-    }
-    leaf value {
-      type string {
-        length "0..65535";
-      }
-      description
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Value";
-      reference
-        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Value";
-    }
-  }
-
-  grouping device-routing-g {
-    description
-      "Grouping object for Device.Routing.";
-    leaf router-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Routing.RouterNumberOfEntries";
-      reference
-        "Device.Routing.RouterNumberOfEntries";
-    }
-  }
-
-  grouping routing-rip-g {
-    description
-      "Grouping object for Device.Routing.RIP.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.Routing.RIP.Enable";
-      reference
-        "Device.Routing.RIP.Enable";
-    }
-    leaf supported-modes {
-      type string;
-      config false;
-      description
-        "Device.Routing.RIP.SupportedModes";
-      reference
-        "Device.Routing.RIP.SupportedModes";
-    }
-    leaf interface-setting-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Routing.RIP.InterfaceSettingNumberOfEntries";
-      reference
-        "Device.Routing.RIP.InterfaceSettingNumberOfEntries";
-    }
-  }
-
-  grouping rip-interface-setting-g {
-    description
-      "Grouping object for Device.Routing.RIP.InterfaceSetting.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Routing.RIP.InterfaceSetting.{i}.Enable";
-      reference
-        "Device.Routing.RIP.InterfaceSetting.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Routing.RIP.InterfaceSetting.{i}.Status";
-      reference
-        "Device.Routing.RIP.InterfaceSetting.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Routing.RIP.InterfaceSetting.{i}.Alias";
-      reference
-        "Device.Routing.RIP.InterfaceSetting.{i}.Alias";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Routing.RIP.InterfaceSetting.{i}.Interface";
-      reference
-        "Device.Routing.RIP.InterfaceSetting.{i}.Interface";
-    }
-    leaf accept-ra {
-      type boolean;
-      description
-        "Device.Routing.RIP.InterfaceSetting.{i}.AcceptRA";
-      reference
-        "Device.Routing.RIP.InterfaceSetting.{i}.AcceptRA";
-    }
-    leaf send-ra {
-      type boolean;
-      description
-        "Device.Routing.RIP.InterfaceSetting.{i}.SendRA";
-      reference
-        "Device.Routing.RIP.InterfaceSetting.{i}.SendRA";
-    }
-  }
-
-  grouping routing-route-information-g {
-    description
-      "Grouping object for Device.Routing.RouteInformation.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.Routing.RouteInformation.Enable";
-      reference
-        "Device.Routing.RouteInformation.Enable";
-    }
-    leaf interface-setting-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Routing.RouteInformation.InterfaceSettingNumberOfEntries";
-      reference
-        "Device.Routing.RouteInformation.InterfaceSettingNumberOfEntries";
-    }
-  }
-
-  grouping route-information-interface-setting-g {
-    description
-      "Grouping object for Device.Routing.RouteInformation.InterfaceSetting.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Status";
-      reference
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Status";
-    }
-    leaf interface {
-      type string;
-      config false;
-      description
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Interface";
-      reference
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Interface";
-    }
-    leaf source-router {
-      type string {
-        length "min..45";
-      }
-      config false;
-      description
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.SourceRouter";
-      reference
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.SourceRouter";
-    }
-    leaf preferred-route-flag {
-      type string;
-      config false;
-      description
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.PreferredRouteFlag";
-      reference
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.PreferredRouteFlag";
-    }
-    leaf prefix {
-      type string {
-        length "min..49";
-      }
-      config false;
-      description
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Prefix";
-      reference
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Prefix";
-    }
-    leaf route-lifetime {
-      type string;
-      config false;
-      description
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.RouteLifetime";
-      reference
-        "Device.Routing.RouteInformation.InterfaceSetting.{i}.RouteLifetime";
-    }
-  }
-
-  grouping routing-router-g {
-    description
-      "Grouping object for Device.Routing.Router.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Routing.Router.{i}.Enable";
-      reference
-        "Device.Routing.Router.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Routing.Router.{i}.Status";
-      reference
-        "Device.Routing.Router.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Routing.Router.{i}.Alias";
-      reference
-        "Device.Routing.Router.{i}.Alias";
-    }
-    leaf ipv4-forwarding-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Routing.Router.{i}.IPv4ForwardingNumberOfEntries";
-      reference
-        "Device.Routing.Router.{i}.IPv4ForwardingNumberOfEntries";
-    }
-    leaf ipv6-forwarding-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Routing.Router.{i}.IPv6ForwardingNumberOfEntries";
-      reference
-        "Device.Routing.Router.{i}.IPv6ForwardingNumberOfEntries";
-    }
-  }
-
-  grouping router-ipv4-forwarding-g {
-    description
-      "Grouping object for Device.Routing.Router.{i}.IPv4Forwarding.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Enable";
-      reference
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Status";
-      reference
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Alias";
-      reference
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Alias";
-    }
-    leaf static-route {
-      type boolean;
-      config false;
-      description
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.StaticRoute";
-      reference
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.StaticRoute";
-    }
-    leaf dest-ip-address {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.DestIPAddress";
-      reference
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.DestIPAddress";
-    }
-    leaf dest-subnet-mask {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.DestSubnetMask";
-      reference
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.DestSubnetMask";
-    }
-    leaf forwarding-policy {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.ForwardingPolicy";
-      reference
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.ForwardingPolicy";
-    }
-    leaf gateway-ip-address {
-      type string {
-        length "min..15";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.GatewayIPAddress";
-      reference
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.GatewayIPAddress";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Interface";
-      reference
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Interface";
-    }
-    leaf origin {
-      type string;
-      config false;
-      description
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Origin";
-      reference
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Origin";
-    }
-    leaf forwarding-metric {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.ForwardingMetric";
-      reference
-        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.ForwardingMetric";
-    }
-  }
-
-  grouping router-ipv6-forwarding-g {
-    description
-      "Grouping object for Device.Routing.Router.{i}.IPv6Forwarding.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Enable";
-      reference
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Status";
-      reference
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Alias";
-      reference
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Alias";
-    }
-    leaf dest-ip-prefix {
-      type string {
-        length "min..49";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.DestIPPrefix";
-      reference
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.DestIPPrefix";
-    }
-    leaf forwarding-policy {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ForwardingPolicy";
-      reference
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ForwardingPolicy";
-    }
-    leaf next-hop {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.NextHop";
-      reference
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.NextHop";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Interface";
-      reference
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Interface";
-    }
-    leaf origin {
-      type string;
-      config false;
-      description
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Origin";
-      reference
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Origin";
-    }
-    leaf forwarding-metric {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ForwardingMetric";
-      reference
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ForwardingMetric";
-    }
-    leaf expiration-time {
-      type string;
-      config false;
-      description
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ExpirationTime";
-      reference
-        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ExpirationTime";
-    }
-  }
-
-  grouping device-security-g {
-    description
-      "Grouping object for Device.Security.";
-    leaf certificate-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Security.CertificateNumberOfEntries";
-      reference
-        "Device.Security.CertificateNumberOfEntries";
-    }
-  }
-
-  grouping security-certificate-g {
-    description
-      "Grouping object for Device.Security.Certificate.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Security.Certificate.{i}.Enable";
-      reference
-        "Device.Security.Certificate.{i}.Enable";
-    }
-    leaf last-modif {
-      type string;
-      config false;
-      description
-        "Device.Security.Certificate.{i}.LastModif";
-      reference
-        "Device.Security.Certificate.{i}.LastModif";
-    }
-    leaf serial-number {
-      type string;
-      config false;
-      description
-        "Device.Security.Certificate.{i}.SerialNumber";
-      reference
-        "Device.Security.Certificate.{i}.SerialNumber";
-    }
-    leaf issuer {
-      type string;
-      config false;
-      description
-        "Device.Security.Certificate.{i}.Issuer";
-      reference
-        "Device.Security.Certificate.{i}.Issuer";
-    }
-    leaf not-before {
-      type string;
-      config false;
-      description
-        "Device.Security.Certificate.{i}.NotBefore";
-      reference
-        "Device.Security.Certificate.{i}.NotBefore";
-    }
-    leaf not-after {
-      type string;
-      config false;
-      description
-        "Device.Security.Certificate.{i}.NotAfter";
-      reference
-        "Device.Security.Certificate.{i}.NotAfter";
-    }
-    leaf subject {
-      type string;
-      config false;
-      description
-        "Device.Security.Certificate.{i}.Subject";
-      reference
-        "Device.Security.Certificate.{i}.Subject";
-    }
-    leaf subject-alt {
-      type string;
-      config false;
-      description
-        "Device.Security.Certificate.{i}.SubjectAlt";
-      reference
-        "Device.Security.Certificate.{i}.SubjectAlt";
-    }
-    leaf signature-algorithm {
-      type string;
-      config false;
-      description
-        "Device.Security.Certificate.{i}.SignatureAlgorithm";
-      reference
-        "Device.Security.Certificate.{i}.SignatureAlgorithm";
-    }
-  }
-
-  grouping device-self-test-diagnostics-g {
-    description
-      "Grouping object for Device.SelfTestDiagnostics.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error_Internal {
-          description
-            "Enum Value - Error_Internal";
-        }
-        enum Error_Other {
-          description
-            "Enum Value - Error_Other";
-        }
-      }
-      description
-        "Device.SelfTestDiagnostics.DiagnosticsState";
-      reference
-        "Device.SelfTestDiagnostics.DiagnosticsState";
-    }
-    leaf results {
-      type string;
-      config false;
-      description
-        "Device.SelfTestDiagnostics.Results";
-      reference
-        "Device.SelfTestDiagnostics.Results";
-    }
-  }
-
-  grouping device-smart-card-readers-g {
-    description
-      "Grouping object for Device.SmartCardReaders.";
-    leaf smart-card-reader-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.SmartCardReaders.SmartCardReaderNumberOfEntries";
-      reference
-        "Device.SmartCardReaders.SmartCardReaderNumberOfEntries";
-    }
-  }
-
-  grouping smart-card-readers-smart-card-reader-g {
-    description
-      "Grouping object for Device.SmartCardReaders.SmartCardReader.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.Alias";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.Enable";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.Status";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.Status";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.Name";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.Name";
-    }
-    leaf reset-time {
-      type string;
-      config false;
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.ResetTime";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.ResetTime";
-    }
-    leaf decryption-failed-counter {
-      type uint32;
-      config false;
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.DecryptionFailedCounter";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.DecryptionFailedCounter";
-    }
-    leaf decryption-failed-no-key-counter {
-      type uint32;
-      config false;
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.DecryptionFailedNoKeyCounter";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.DecryptionFailedNoKeyCounter";
-    }
-  }
-
-  grouping smart-card-reader-smart-card-g {
-    description
-      "Grouping object for Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.";
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Status";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Status";
-    }
-    leaf type {
-      type string;
-      config false;
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Type";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Type";
-    }
-    leaf application {
-      type string;
-      config false;
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Application";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Application";
-    }
-    leaf serial-number {
-      type string;
-      config false;
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.SerialNumber";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.SerialNumber";
-    }
-    leaf atr {
-      type string;
-      config false;
-      description
-        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.ATR";
-      reference
-        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.ATR";
-    }
-  }
-
-  grouping device-software-modules-g {
-    description
-      "Grouping object for Device.SoftwareModules.";
-    leaf exec-env-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnvNumberOfEntries";
-      reference
-        "Device.SoftwareModules.ExecEnvNumberOfEntries";
-    }
-    leaf deployment-unit-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnitNumberOfEntries";
-      reference
-        "Device.SoftwareModules.DeploymentUnitNumberOfEntries";
-    }
-    leaf execution-unit-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnitNumberOfEntries";
-      reference
-        "Device.SoftwareModules.ExecutionUnitNumberOfEntries";
-    }
-  }
-
-  grouping software-modules-deployment-unit-g {
-    description
-      "Grouping object for Device.SoftwareModules.DeploymentUnit.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf uuid {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.UUID";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.UUID";
-    }
-    leaf duid {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.DUID";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.DUID";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.Alias";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.Name";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.Name";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.Status";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.Status";
-    }
-    leaf resolved {
-      type boolean;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.Resolved";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.Resolved";
-    }
-    leaf url {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.URL";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.URL";
-    }
-    leaf description {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.Description";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.Description";
-    }
-    leaf vendor {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.Vendor";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.Vendor";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.Version";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.Version";
-    }
-    leaf vendor-log-list {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.VendorLogList";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.VendorLogList";
-    }
-    leaf vendor-config-list {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.VendorConfigList";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.VendorConfigList";
-    }
-    leaf execution-unit-list {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.ExecutionUnitList";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.ExecutionUnitList";
-    }
-    leaf execution-env-ref {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.DeploymentUnit.{i}.ExecutionEnvRef";
-      reference
-        "Device.SoftwareModules.DeploymentUnit.{i}.ExecutionEnvRef";
-    }
-  }
-
-  grouping software-modules-exec-env-g {
-    description
-      "Grouping object for Device.SoftwareModules.ExecEnv.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.Enable";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.Status";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.Alias";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.Name";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.Name";
-    }
-    leaf type {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.Type";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.Type";
-    }
-    leaf initial-run-level {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.InitialRunLevel";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.InitialRunLevel";
-    }
-    leaf current-run-level {
-      type int32 {
-        range "-1..65535";
-      }
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.CurrentRunLevel";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.CurrentRunLevel";
-    }
-    leaf initial-execution-unit-run-level {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.InitialExecutionUnitRunLevel";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.InitialExecutionUnitRunLevel";
-    }
-    leaf vendor {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.Vendor";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.Vendor";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.Version";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.Version";
-    }
-    leaf parent-exec-env {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.ParentExecEnv";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.ParentExecEnv";
-    }
-    leaf allocated-disk-space {
-      type int32;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.AllocatedDiskSpace";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.AllocatedDiskSpace";
-    }
-    leaf available-disk-space {
-      type int32;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.AvailableDiskSpace";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.AvailableDiskSpace";
-    }
-    leaf allocated-memory {
-      type int32;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.AllocatedMemory";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.AllocatedMemory";
-    }
-    leaf available-memory {
-      type int32;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.AvailableMemory";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.AvailableMemory";
-    }
-    leaf active-execution-units {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.ActiveExecutionUnits";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.ActiveExecutionUnits";
-    }
-    leaf processor-ref-list {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecEnv.{i}.ProcessorRefList";
-      reference
-        "Device.SoftwareModules.ExecEnv.{i}.ProcessorRefList";
-    }
-  }
-
-  grouping software-modules-execution-unit-g {
-    description
-      "Grouping object for Device.SoftwareModules.ExecutionUnit.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf euid {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.EUID";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.EUID";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.Alias";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.Name";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.Name";
-    }
-    leaf exec-env-label {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.ExecEnvLabel";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.ExecEnvLabel";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.Status";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.Status";
-    }
-    leaf execution-fault-code {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionFaultCode";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionFaultCode";
-    }
-    leaf execution-fault-message {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionFaultMessage";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionFaultMessage";
-    }
-    leaf auto-start {
-      type boolean;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.AutoStart";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.AutoStart";
-    }
-    leaf run-level {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.RunLevel";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.RunLevel";
-    }
-    leaf vendor {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.Vendor";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.Vendor";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.Version";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.Version";
-    }
-    leaf description {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.Description";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.Description";
-    }
-    leaf disk-space-in-use {
-      type int32;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.DiskSpaceInUse";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.DiskSpaceInUse";
-    }
-    leaf memory-in-use {
-      type int32;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.MemoryInUse";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.MemoryInUse";
-    }
-    leaf references {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.References";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.References";
-    }
-    leaf associated-process-list {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.AssociatedProcessList";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.AssociatedProcessList";
-    }
-    leaf vendor-log-list {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.VendorLogList";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.VendorLogList";
-    }
-    leaf vendor-config-list {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.VendorConfigList";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.VendorConfigList";
-    }
-    leaf supported-data-model-list {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.SupportedDataModelList";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.SupportedDataModelList";
-    }
-    leaf execution-env-ref {
-      type string;
-      config false;
-      description
-        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionEnvRef";
-      reference
-        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionEnvRef";
-    }
-  }
-
-  grouping device-time-g {
-    description
-      "Grouping object for Device.Time.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.Time.Enable";
-      reference
-        "Device.Time.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.Time.Status";
-      reference
-        "Device.Time.Status";
-    }
-    leaf ntp-server1 {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Time.NTPServer1";
-      reference
-        "Device.Time.NTPServer1";
-    }
-    leaf ntp-server2 {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Time.NTPServer2";
-      reference
-        "Device.Time.NTPServer2";
-    }
-    leaf ntp-server3 {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Time.NTPServer3";
-      reference
-        "Device.Time.NTPServer3";
-    }
-    leaf ntp-server4 {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Time.NTPServer4";
-      reference
-        "Device.Time.NTPServer4";
-    }
-    leaf ntp-server5 {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Time.NTPServer5";
-      reference
-        "Device.Time.NTPServer5";
-    }
-    leaf current-local-time {
-      type string;
-      config false;
-      description
-        "Device.Time.CurrentLocalTime";
-      reference
-        "Device.Time.CurrentLocalTime";
-    }
-    leaf local-time-zone {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.Time.LocalTimeZone";
-      reference
-        "Device.Time.LocalTimeZone";
-    }
-  }
-
-  grouping device-upa-g {
-    description
-      "Grouping object for Device.UPA.";
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.InterfaceNumberOfEntries";
-      reference
-        "Device.UPA.InterfaceNumberOfEntries";
-    }
-  }
-
-  grouping diagnostics-interface-measurement-g {
-    description
-      "Grouping object for Device.UPA.Diagnostics.InterfaceMeasurement.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Canceled {
-          description
-            "Enum Value - Canceled";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error {
-          description
-            "Enum Value - Error";
-        }
-        enum Error_InvalidPort {
-          description
-            "Enum Value - Error_InvalidPort";
-        }
-      }
-      description
-        "Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState";
-      reference
-        "Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState";
-    }
-    leaf type {
-      type enumeration {
-        enum SNR {
-          description
-            "Enum Value - SNR";
-        }
-        enum CFR {
-          description
-            "Enum Value - CFR";
-        }
-      }
-      description
-        "Device.UPA.Diagnostics.InterfaceMeasurement.Type";
-      reference
-        "Device.UPA.Diagnostics.InterfaceMeasurement.Type";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.UPA.Diagnostics.InterfaceMeasurement.Interface";
-      reference
-        "Device.UPA.Diagnostics.InterfaceMeasurement.Interface";
-    }
-    leaf port {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.UPA.Diagnostics.InterfaceMeasurement.Port";
-      reference
-        "Device.UPA.Diagnostics.InterfaceMeasurement.Port";
-    }
-    leaf measurements {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Diagnostics.InterfaceMeasurement.Measurements";
-      reference
-        "Device.UPA.Diagnostics.InterfaceMeasurement.Measurements";
-    }
-    leaf rx-gain {
-      type int32;
-      config false;
-      description
-        "Device.UPA.Diagnostics.InterfaceMeasurement.RxGain";
-      reference
-        "Device.UPA.Diagnostics.InterfaceMeasurement.RxGain";
-    }
-  }
-
-  grouping upa-interface-g {
-    description
-      "Grouping object for Device.UPA.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.UPA.Interface.{i}.Enable";
-      reference
-        "Device.UPA.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Status";
-      reference
-        "Device.UPA.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.UPA.Interface.{i}.Alias";
-      reference
-        "Device.UPA.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Name";
-      reference
-        "Device.UPA.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.LastChange";
-      reference
-        "Device.UPA.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.UPA.Interface.{i}.LowerLayers";
-      reference
-        "Device.UPA.Interface.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Upstream";
-      reference
-        "Device.UPA.Interface.{i}.Upstream";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.UPA.Interface.{i}.MACAddress";
-      reference
-        "Device.UPA.Interface.{i}.MACAddress";
-    }
-    leaf firmware-version {
-      type string;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.FirmwareVersion";
-      reference
-        "Device.UPA.Interface.{i}.FirmwareVersion";
-    }
-    leaf max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.MaxBitRate";
-      reference
-        "Device.UPA.Interface.{i}.MaxBitRate";
-    }
-    leaf node-type {
-      type enumeration {
-        enum AP {
-          description
-            "Enum Value - AP";
-        }
-        enum EP {
-          description
-            "Enum Value - EP";
-        }
-      }
-      description
-        "Device.UPA.Interface.{i}.NodeType";
-      reference
-        "Device.UPA.Interface.{i}.NodeType";
-    }
-    leaf logical-network {
-      type string {
-        length "min..20";
-      }
-      description
-        "Device.UPA.Interface.{i}.LogicalNetwork";
-      reference
-        "Device.UPA.Interface.{i}.LogicalNetwork";
-    }
-    leaf encryption-method {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum DES {
-          description
-            "Enum Value - DES";
-        }
-        enum 3DES {
-          description
-            "Enum Value - 3DES";
-        }
-        enum AES128 {
-          description
-            "Enum Value - AES128";
-        }
-        enum AES256 {
-          description
-            "Enum Value - AES256";
-        }
-      }
-      description
-        "Device.UPA.Interface.{i}.EncryptionMethod";
-      reference
-        "Device.UPA.Interface.{i}.EncryptionMethod";
-    }
-    leaf power-backoff-enabled {
-      type boolean;
-      description
-        "Device.UPA.Interface.{i}.PowerBackoffEnabled";
-      reference
-        "Device.UPA.Interface.{i}.PowerBackoffEnabled";
-    }
-    leaf power-backoff-mechanism-active {
-      type boolean;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.PowerBackoffMechanismActive";
-      reference
-        "Device.UPA.Interface.{i}.PowerBackoffMechanismActive";
-    }
-    leaf est-application-throughput {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.EstApplicationThroughput";
-      reference
-        "Device.UPA.Interface.{i}.EstApplicationThroughput";
-    }
-    leaf active-notch-enable {
-      type boolean;
-      description
-        "Device.UPA.Interface.{i}.ActiveNotchEnable";
-      reference
-        "Device.UPA.Interface.{i}.ActiveNotchEnable";
-    }
-    leaf active-notch-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.ActiveNotchNumberOfEntries";
-      reference
-        "Device.UPA.Interface.{i}.ActiveNotchNumberOfEntries";
-    }
-    leaf associated-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDeviceNumberOfEntries";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDeviceNumberOfEntries";
-    }
-    leaf bridge-for-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.BridgeForNumberOfEntries";
-      reference
-        "Device.UPA.Interface.{i}.BridgeForNumberOfEntries";
-    }
-  }
-
-  grouping interface-active-notch-g {
-    description
-      "Grouping object for Device.UPA.Interface.{i}.ActiveNotch.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Enable";
-      reference
-        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Alias";
-      reference
-        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Alias";
-    }
-    leaf start-freq {
-      type uint32;
-      description
-        "Device.UPA.Interface.{i}.ActiveNotch.{i}.StartFreq";
-      reference
-        "Device.UPA.Interface.{i}.ActiveNotch.{i}.StartFreq";
-    }
-    leaf stop-freq {
-      type uint32;
-      description
-        "Device.UPA.Interface.{i}.ActiveNotch.{i}.StopFreq";
-      reference
-        "Device.UPA.Interface.{i}.ActiveNotch.{i}.StopFreq";
-    }
-    leaf depth {
-      type uint32;
-      description
-        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Depth";
-      reference
-        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Depth";
-    }
-  }
-
-  grouping upa-interface-associated-device-g {
-    description
-      "Grouping object for Device.UPA.Interface.{i}.AssociatedDevice.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.MACAddress";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.MACAddress";
-    }
-    leaf port {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.Port";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.Port";
-    }
-    leaf logical-network {
-      type string;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.LogicalNetwork";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.LogicalNetwork";
-    }
-    leaf phy-tx-throughput {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.PhyTxThroughput";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.PhyTxThroughput";
-    }
-    leaf phy-rx-throughput {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.PhyRxThroughput";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.PhyRxThroughput";
-    }
-    leaf real-phy-rx-throughput {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.RealPhyRxThroughput";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.RealPhyRxThroughput";
-    }
-    leaf estimated-plr {
-      type uint32 {
-        range "0..100";
-      }
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.EstimatedPLR";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.EstimatedPLR";
-    }
-    leaf mean-estimated-att {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.MeanEstimatedAtt";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.MeanEstimatedAtt";
-    }
-    leaf smart-route-intermediate-plcmac {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.SmartRouteIntermediatePLCMAC";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.SmartRouteIntermediatePLCMAC";
-    }
-    leaf direct-route {
-      type boolean;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.DirectRoute";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.DirectRoute";
-    }
-    leaf active {
-      type boolean;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.Active";
-      reference
-        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.Active";
-    }
-  }
-
-  grouping interface-bridge-for-g {
-    description
-      "Grouping object for Device.UPA.Interface.{i}.BridgeFor.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.UPA.Interface.{i}.BridgeFor.{i}.Alias";
-      reference
-        "Device.UPA.Interface.{i}.BridgeFor.{i}.Alias";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.UPA.Interface.{i}.BridgeFor.{i}.MACAddress";
-      reference
-        "Device.UPA.Interface.{i}.BridgeFor.{i}.MACAddress";
-    }
-    leaf port {
-      type uint32 {
-        range "0..65535";
-      }
-      config false;
-      description
-        "Device.UPA.Interface.{i}.BridgeFor.{i}.Port";
-      reference
-        "Device.UPA.Interface.{i}.BridgeFor.{i}.Port";
-    }
-  }
-
-  grouping upa-interface-stats-g {
-    description
-      "Grouping object for Device.UPA.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.UPA.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.UPA.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.UPA.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.UPA.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.UPA.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.UPA.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.UPA.Interface.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.UPA.Interface.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.UPA.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.UPA.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.UPA.Interface.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.UPA.Interface.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.UPA.Interface.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.UPA.Interface.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.UPA.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.UPA.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping u-pn-p-description-g {
-    description
-      "Grouping object for Device.UPnP.Description.";
-    leaf device-description-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceDescriptionNumberOfEntries";
-      reference
-        "Device.UPnP.Description.DeviceDescriptionNumberOfEntries";
-    }
-    leaf device-instance-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstanceNumberOfEntries";
-      reference
-        "Device.UPnP.Description.DeviceInstanceNumberOfEntries";
-    }
-    leaf service-instance-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Description.ServiceInstanceNumberOfEntries";
-      reference
-        "Device.UPnP.Description.ServiceInstanceNumberOfEntries";
-    }
-  }
-
-  grouping description-device-description-g {
-    description
-      "Grouping object for Device.UPnP.Description.DeviceDescription.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf url-base {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceDescription.{i}.URLBase";
-      reference
-        "Device.UPnP.Description.DeviceDescription.{i}.URLBase";
-    }
-    leaf spec-version {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceDescription.{i}.SpecVersion";
-      reference
-        "Device.UPnP.Description.DeviceDescription.{i}.SpecVersion";
-    }
-    leaf host {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceDescription.{i}.Host";
-      reference
-        "Device.UPnP.Description.DeviceDescription.{i}.Host";
-    }
-  }
-
-  grouping description-device-instance-g {
-    description
-      "Grouping object for Device.UPnP.Description.DeviceInstance.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf udn {
-      type string {
-        length "min..36";
-      }
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.UDN";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.UDN";
-    }
-    leaf parent-device {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.ParentDevice";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.ParentDevice";
-    }
-    leaf discovery-device {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.DiscoveryDevice";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.DiscoveryDevice";
-    }
-    leaf device-type {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.DeviceType";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.DeviceType";
-    }
-    leaf friendly-name {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.FriendlyName";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.FriendlyName";
-    }
-    leaf device-category {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.DeviceCategory";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.DeviceCategory";
-    }
-    leaf manufacturer {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.Manufacturer";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.Manufacturer";
-    }
-    leaf manufacturer-oui {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.ManufacturerOUI";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.ManufacturerOUI";
-    }
-    leaf manufacturer-url {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.ManufacturerURL";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.ManufacturerURL";
-    }
-    leaf model-description {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.ModelDescription";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.ModelDescription";
-    }
-    leaf model-name {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.ModelName";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.ModelName";
-    }
-    leaf model-number {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.ModelNumber";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.ModelNumber";
-    }
-    leaf model-url {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.ModelURL";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.ModelURL";
-    }
-    leaf serial-number {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.SerialNumber";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.SerialNumber";
-    }
-    leaf upc {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.UPC";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.UPC";
-    }
-    leaf presentation-url {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.DeviceInstance.{i}.PresentationURL";
-      reference
-        "Device.UPnP.Description.DeviceInstance.{i}.PresentationURL";
-    }
-  }
-
-  grouping description-service-instance-g {
-    description
-      "Grouping object for Device.UPnP.Description.ServiceInstance.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf parent-device {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.ServiceInstance.{i}.ParentDevice";
-      reference
-        "Device.UPnP.Description.ServiceInstance.{i}.ParentDevice";
-    }
-    leaf service-id {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.ServiceInstance.{i}.ServiceId";
-      reference
-        "Device.UPnP.Description.ServiceInstance.{i}.ServiceId";
-    }
-    leaf service-discovery {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.ServiceInstance.{i}.ServiceDiscovery";
-      reference
-        "Device.UPnP.Description.ServiceInstance.{i}.ServiceDiscovery";
-    }
-    leaf service-type {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.ServiceInstance.{i}.ServiceType";
-      reference
-        "Device.UPnP.Description.ServiceInstance.{i}.ServiceType";
-    }
-    leaf scpdurl {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.ServiceInstance.{i}.SCPDURL";
-      reference
-        "Device.UPnP.Description.ServiceInstance.{i}.SCPDURL";
-    }
-    leaf control-url {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.ServiceInstance.{i}.ControlURL";
-      reference
-        "Device.UPnP.Description.ServiceInstance.{i}.ControlURL";
-    }
-    leaf event-sub-url {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Description.ServiceInstance.{i}.EventSubURL";
-      reference
-        "Device.UPnP.Description.ServiceInstance.{i}.EventSubURL";
-    }
-  }
-
-  grouping u-pn-p-device-g {
-    description
-      "Grouping object for Device.UPnP.Device.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.UPnP.Device.Enable";
-      reference
-        "Device.UPnP.Device.Enable";
-    }
-    leaf u-pn-p-media-server {
-      type boolean;
-      description
-        "Device.UPnP.Device.UPnPMediaServer";
-      reference
-        "Device.UPnP.Device.UPnPMediaServer";
-    }
-    leaf u-pn-p-media-renderer {
-      type boolean;
-      description
-        "Device.UPnP.Device.UPnPMediaRenderer";
-      reference
-        "Device.UPnP.Device.UPnPMediaRenderer";
-    }
-    leaf u-pn-pwlan-access-point {
-      type boolean;
-      description
-        "Device.UPnP.Device.UPnPWLANAccessPoint";
-      reference
-        "Device.UPnP.Device.UPnPWLANAccessPoint";
-    }
-    leaf u-pn-p-qo-s-device {
-      type boolean;
-      description
-        "Device.UPnP.Device.UPnPQoSDevice";
-      reference
-        "Device.UPnP.Device.UPnPQoSDevice";
-    }
-    leaf u-pn-p-qo-s-policy-holder {
-      type boolean;
-      description
-        "Device.UPnP.Device.UPnPQoSPolicyHolder";
-      reference
-        "Device.UPnP.Device.UPnPQoSPolicyHolder";
-    }
-    leaf u-pn-pigd {
-      type boolean;
-      description
-        "Device.UPnP.Device.UPnPIGD";
-      reference
-        "Device.UPnP.Device.UPnPIGD";
-    }
-    leaf u-pn-pdm-basic-mgmt {
-      type boolean;
-      description
-        "Device.UPnP.Device.UPnPDMBasicMgmt";
-      reference
-        "Device.UPnP.Device.UPnPDMBasicMgmt";
-    }
-    leaf u-pn-pdm-configuration-mgmt {
-      type boolean;
-      description
-        "Device.UPnP.Device.UPnPDMConfigurationMgmt";
-      reference
-        "Device.UPnP.Device.UPnPDMConfigurationMgmt";
-    }
-    leaf u-pn-pdm-software-mgmt {
-      type boolean;
-      description
-        "Device.UPnP.Device.UPnPDMSoftwareMgmt";
-      reference
-        "Device.UPnP.Device.UPnPDMSoftwareMgmt";
-    }
-  }
-
-  grouping device-capabilities-g {
-    description
-      "Grouping object for Device.UPnP.Device.Capabilities.";
-    leaf u-pn-p-architecture {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPArchitecture";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPArchitecture";
-    }
-    leaf u-pn-p-architecture-minor-ver {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPArchitectureMinorVer";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPArchitectureMinorVer";
-    }
-    leaf u-pn-p-media-server {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPMediaServer";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPMediaServer";
-    }
-    leaf u-pn-p-media-renderer {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPMediaRenderer";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPMediaRenderer";
-    }
-    leaf u-pn-pwlan-access-point {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPWLANAccessPoint";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPWLANAccessPoint";
-    }
-    leaf u-pn-p-basic-device {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPBasicDevice";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPBasicDevice";
-    }
-    leaf u-pn-p-qo-s-device {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPQoSDevice";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPQoSDevice";
-    }
-    leaf u-pn-p-qo-s-policy-holder {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPQoSPolicyHolder";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPQoSPolicyHolder";
-    }
-    leaf u-pn-pigd {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPIGD";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPIGD";
-    }
-    leaf u-pn-pdm-basic-mgmt {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPDMBasicMgmt";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPDMBasicMgmt";
-    }
-    leaf u-pn-pdm-configuration-mgmt {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPDMConfigurationMgmt";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPDMConfigurationMgmt";
-    }
-    leaf u-pn-pdm-software-mgmt {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Device.Capabilities.UPnPDMSoftwareMgmt";
-      reference
-        "Device.UPnP.Device.Capabilities.UPnPDMSoftwareMgmt";
-    }
-  }
-
-  grouping u-pn-p-discovery-g {
-    description
-      "Grouping object for Device.UPnP.Discovery.";
-    leaf root-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Discovery.RootDeviceNumberOfEntries";
-      reference
-        "Device.UPnP.Discovery.RootDeviceNumberOfEntries";
-    }
-    leaf device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Discovery.DeviceNumberOfEntries";
-      reference
-        "Device.UPnP.Discovery.DeviceNumberOfEntries";
-    }
-    leaf service-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Discovery.ServiceNumberOfEntries";
-      reference
-        "Device.UPnP.Discovery.ServiceNumberOfEntries";
-    }
-  }
-
-  grouping u-pn-p-discovery-device-g {
-    description
-      "Grouping object for Device.UPnP.Discovery.Device.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Device.{i}.Status";
-      reference
-        "Device.UPnP.Discovery.Device.{i}.Status";
-    }
-    leaf uuid {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Device.{i}.UUID";
-      reference
-        "Device.UPnP.Discovery.Device.{i}.UUID";
-    }
-    leaf usn {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Device.{i}.USN";
-      reference
-        "Device.UPnP.Discovery.Device.{i}.USN";
-    }
-    leaf lease-time {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Discovery.Device.{i}.LeaseTime";
-      reference
-        "Device.UPnP.Discovery.Device.{i}.LeaseTime";
-    }
-    leaf location {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Device.{i}.Location";
-      reference
-        "Device.UPnP.Discovery.Device.{i}.Location";
-    }
-    leaf server {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Device.{i}.Server";
-      reference
-        "Device.UPnP.Discovery.Device.{i}.Server";
-    }
-    leaf host {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Device.{i}.Host";
-      reference
-        "Device.UPnP.Discovery.Device.{i}.Host";
-    }
-    leaf last-update {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Device.{i}.LastUpdate";
-      reference
-        "Device.UPnP.Discovery.Device.{i}.LastUpdate";
-    }
-  }
-
-  grouping discovery-root-device-g {
-    description
-      "Grouping object for Device.UPnP.Discovery.RootDevice.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.RootDevice.{i}.Status";
-      reference
-        "Device.UPnP.Discovery.RootDevice.{i}.Status";
-    }
-    leaf uuid {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.RootDevice.{i}.UUID";
-      reference
-        "Device.UPnP.Discovery.RootDevice.{i}.UUID";
-    }
-    leaf usn {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.RootDevice.{i}.USN";
-      reference
-        "Device.UPnP.Discovery.RootDevice.{i}.USN";
-    }
-    leaf lease-time {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Discovery.RootDevice.{i}.LeaseTime";
-      reference
-        "Device.UPnP.Discovery.RootDevice.{i}.LeaseTime";
-    }
-    leaf location {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.RootDevice.{i}.Location";
-      reference
-        "Device.UPnP.Discovery.RootDevice.{i}.Location";
-    }
-    leaf server {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.RootDevice.{i}.Server";
-      reference
-        "Device.UPnP.Discovery.RootDevice.{i}.Server";
-    }
-    leaf host {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.RootDevice.{i}.Host";
-      reference
-        "Device.UPnP.Discovery.RootDevice.{i}.Host";
-    }
-    leaf last-update {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.RootDevice.{i}.LastUpdate";
-      reference
-        "Device.UPnP.Discovery.RootDevice.{i}.LastUpdate";
-    }
-  }
-
-  grouping discovery-service-g {
-    description
-      "Grouping object for Device.UPnP.Discovery.Service.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Service.{i}.Status";
-      reference
-        "Device.UPnP.Discovery.Service.{i}.Status";
-    }
-    leaf usn {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Service.{i}.USN";
-      reference
-        "Device.UPnP.Discovery.Service.{i}.USN";
-    }
-    leaf lease-time {
-      type uint32;
-      config false;
-      description
-        "Device.UPnP.Discovery.Service.{i}.LeaseTime";
-      reference
-        "Device.UPnP.Discovery.Service.{i}.LeaseTime";
-    }
-    leaf location {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Service.{i}.Location";
-      reference
-        "Device.UPnP.Discovery.Service.{i}.Location";
-    }
-    leaf server {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Service.{i}.Server";
-      reference
-        "Device.UPnP.Discovery.Service.{i}.Server";
-    }
-    leaf host {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Service.{i}.Host";
-      reference
-        "Device.UPnP.Discovery.Service.{i}.Host";
-    }
-    leaf last-update {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Service.{i}.LastUpdate";
-      reference
-        "Device.UPnP.Discovery.Service.{i}.LastUpdate";
-    }
-    leaf parent-device {
-      type string;
-      config false;
-      description
-        "Device.UPnP.Discovery.Service.{i}.ParentDevice";
-      reference
-        "Device.UPnP.Discovery.Service.{i}.ParentDevice";
-    }
-  }
-
-  grouping device-usb-g {
-    description
-      "Grouping object for Device.USB.";
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.USB.InterfaceNumberOfEntries";
-      reference
-        "Device.USB.InterfaceNumberOfEntries";
-    }
-    leaf port-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.USB.PortNumberOfEntries";
-      reference
-        "Device.USB.PortNumberOfEntries";
-    }
-  }
-
-  grouping usb-interface-g {
-    description
-      "Grouping object for Device.USB.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.USB.Interface.{i}.Enable";
-      reference
-        "Device.USB.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Status";
-      reference
-        "Device.USB.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.USB.Interface.{i}.Alias";
-      reference
-        "Device.USB.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Name";
-      reference
-        "Device.USB.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.USB.Interface.{i}.LastChange";
-      reference
-        "Device.USB.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.USB.Interface.{i}.LowerLayers";
-      reference
-        "Device.USB.Interface.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Upstream";
-      reference
-        "Device.USB.Interface.{i}.Upstream";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.USB.Interface.{i}.MACAddress";
-      reference
-        "Device.USB.Interface.{i}.MACAddress";
-    }
-    leaf max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.USB.Interface.{i}.MaxBitRate";
-      reference
-        "Device.USB.Interface.{i}.MaxBitRate";
-    }
-    leaf port {
-      type string;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Port";
-      reference
-        "Device.USB.Interface.{i}.Port";
-    }
-  }
-
-  grouping usb-interface-stats-g {
-    description
-      "Grouping object for Device.USB.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.USB.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.USB.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.USB.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.USB.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.USB.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.USB.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.USB.Interface.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.USB.Interface.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.USB.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.USB.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.USB.Interface.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.USB.Interface.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.USB.Interface.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.USB.Interface.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.USB.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.USB.Interface.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping usb-port-g {
-    description
-      "Grouping object for Device.USB.Port.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.USB.Port.{i}.Alias";
-      reference
-        "Device.USB.Port.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.USB.Port.{i}.Name";
-      reference
-        "Device.USB.Port.{i}.Name";
-    }
-    leaf standard {
-      type string;
-      config false;
-      description
-        "Device.USB.Port.{i}.Standard";
-      reference
-        "Device.USB.Port.{i}.Standard";
-    }
-    leaf type {
-      type string;
-      config false;
-      description
-        "Device.USB.Port.{i}.Type";
-      reference
-        "Device.USB.Port.{i}.Type";
-    }
-    leaf receptacle {
-      type string;
-      config false;
-      description
-        "Device.USB.Port.{i}.Receptacle";
-      reference
-        "Device.USB.Port.{i}.Receptacle";
-    }
-    leaf rate {
-      type string;
-      config false;
-      description
-        "Device.USB.Port.{i}.Rate";
-      reference
-        "Device.USB.Port.{i}.Rate";
-    }
-    leaf power {
-      type string;
-      config false;
-      description
-        "Device.USB.Port.{i}.Power";
-      reference
-        "Device.USB.Port.{i}.Power";
-    }
-  }
-
-  grouping usb-usb-hosts-g {
-    description
-      "Grouping object for Device.USB.USBHosts.";
-    leaf host-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.HostNumberOfEntries";
-      reference
-        "Device.USB.USBHosts.HostNumberOfEntries";
-    }
-  }
-
-  grouping usb-hosts-host-g {
-    description
-      "Grouping object for Device.USB.USBHosts.Host.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.USB.USBHosts.Host.{i}.Alias";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.USB.USBHosts.Host.{i}.Enable";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Enable";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Name";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Name";
-    }
-    leaf type {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Type";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Type";
-    }
-    leaf power-management-enable {
-      type boolean;
-      description
-        "Device.USB.USBHosts.Host.{i}.PowerManagementEnable";
-      reference
-        "Device.USB.USBHosts.Host.{i}.PowerManagementEnable";
-    }
-    leaf usb-version {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.USBVersion";
-      reference
-        "Device.USB.USBHosts.Host.{i}.USBVersion";
-    }
-    leaf device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.DeviceNumberOfEntries";
-      reference
-        "Device.USB.USBHosts.Host.{i}.DeviceNumberOfEntries";
-    }
-  }
-
-  grouping host-device-g {
-    description
-      "Grouping object for Device.USB.USBHosts.Host.{i}.Device.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf device-number {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceNumber";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceNumber";
-    }
-    leaf usb-version {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.USBVersion";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.USBVersion";
-    }
-    leaf device-class {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceClass";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceClass";
-    }
-    leaf device-sub-class {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceSubClass";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceSubClass";
-    }
-    leaf device-version {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceVersion";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceVersion";
-    }
-    leaf device-protocol {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceProtocol";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceProtocol";
-    }
-    leaf product-id {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.ProductID";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.ProductID";
-    }
-    leaf vendor-id {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.VendorID";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.VendorID";
-    }
-    leaf manufacturer {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Manufacturer";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Manufacturer";
-    }
-    leaf product-class {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.ProductClass";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.ProductClass";
-    }
-    leaf serial-number {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.SerialNumber";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.SerialNumber";
-    }
-    leaf port {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Port";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Port";
-    }
-    leaf usb-port {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.USBPort";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.USBPort";
-    }
-    leaf rate {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Rate";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Rate";
-    }
-    leaf parent {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Parent";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Parent";
-    }
-    leaf max-children {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.MaxChildren";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.MaxChildren";
-    }
-    leaf is-suspended {
-      type boolean;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.IsSuspended";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.IsSuspended";
-    }
-    leaf is-self-powered {
-      type boolean;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.IsSelfPowered";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.IsSelfPowered";
-    }
-    leaf configuration-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.ConfigurationNumberOfEntries";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.ConfigurationNumberOfEntries";
-    }
-  }
-
-  grouping device-configuration-g {
-    description
-      "Grouping object for Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf configuration-number {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.ConfigurationNumber";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.ConfigurationNumber";
-    }
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.InterfaceNumberOfEntries";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.InterfaceNumberOfEntries";
-    }
-  }
-
-  grouping configuration-interface-g {
-    description
-      "Grouping object for Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf interface-number {
-      type uint32;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceNumber";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceNumber";
-    }
-    leaf interface-class {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceClass";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceClass";
-    }
-    leaf interface-sub-class {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceSubClass";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceSubClass";
-    }
-    leaf interface-protocol {
-      type string;
-      config false;
-      description
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceProtocol";
-      reference
-        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceProtocol";
-    }
-  }
-
-  grouping device-user-interface-g {
-    description
-      "Grouping object for Device.UserInterface.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.UserInterface.Enable";
-      reference
-        "Device.UserInterface.Enable";
-    }
-    leaf password-required {
-      type boolean;
-      description
-        "Device.UserInterface.PasswordRequired";
-      reference
-        "Device.UserInterface.PasswordRequired";
-    }
-    leaf password-user-selectable {
-      type boolean;
-      description
-        "Device.UserInterface.PasswordUserSelectable";
-      reference
-        "Device.UserInterface.PasswordUserSelectable";
-    }
-    leaf upgrade-available {
-      type boolean;
-      description
-        "Device.UserInterface.UpgradeAvailable";
-      reference
-        "Device.UserInterface.UpgradeAvailable";
-    }
-    leaf warranty-date {
-      type string;
-      description
-        "Device.UserInterface.WarrantyDate";
-      reference
-        "Device.UserInterface.WarrantyDate";
-    }
-    leaf isp-name {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.UserInterface.ISPName";
-      reference
-        "Device.UserInterface.ISPName";
-    }
-    leaf isp-help-desk {
-      type string {
-        length "min..32";
-      }
-      description
-        "Device.UserInterface.ISPHelpDesk";
-      reference
-        "Device.UserInterface.ISPHelpDesk";
-    }
-    leaf isp-home-page {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.UserInterface.ISPHomePage";
-      reference
-        "Device.UserInterface.ISPHomePage";
-    }
-    leaf isp-help-page {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.UserInterface.ISPHelpPage";
-      reference
-        "Device.UserInterface.ISPHelpPage";
-    }
-    leaf isp-logo {
-      type string {
-        length "0..4095";
-      }
-      description
-        "Device.UserInterface.ISPLogo";
-      reference
-        "Device.UserInterface.ISPLogo";
-    }
-    leaf isp-logo-size {
-      type uint32 {
-        range "0..4095";
-      }
-      description
-        "Device.UserInterface.ISPLogoSize";
-      reference
-        "Device.UserInterface.ISPLogoSize";
-    }
-    leaf isp-mail-server {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.UserInterface.ISPMailServer";
-      reference
-        "Device.UserInterface.ISPMailServer";
-    }
-    leaf isp-news-server {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.UserInterface.ISPNewsServer";
-      reference
-        "Device.UserInterface.ISPNewsServer";
-    }
-    leaf text-color {
-      type string {
-        length "3";
-      }
-      description
-        "Device.UserInterface.TextColor";
-      reference
-        "Device.UserInterface.TextColor";
-    }
-    leaf background-color {
-      type string {
-        length "3";
-      }
-      description
-        "Device.UserInterface.BackgroundColor";
-      reference
-        "Device.UserInterface.BackgroundColor";
-    }
-    leaf button-color {
-      type string {
-        length "3";
-      }
-      description
-        "Device.UserInterface.ButtonColor";
-      reference
-        "Device.UserInterface.ButtonColor";
-    }
-    leaf button-text-color {
-      type string {
-        length "3";
-      }
-      description
-        "Device.UserInterface.ButtonTextColor";
-      reference
-        "Device.UserInterface.ButtonTextColor";
-    }
-    leaf auto-update-server {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.UserInterface.AutoUpdateServer";
-      reference
-        "Device.UserInterface.AutoUpdateServer";
-    }
-    leaf user-update-server {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.UserInterface.UserUpdateServer";
-      reference
-        "Device.UserInterface.UserUpdateServer";
-    }
-    leaf available-languages {
-      type string;
-      config false;
-      description
-        "Device.UserInterface.AvailableLanguages";
-      reference
-        "Device.UserInterface.AvailableLanguages";
-    }
-    leaf current-language {
-      type string {
-        length "min..16";
-      }
-      description
-        "Device.UserInterface.CurrentLanguage";
-      reference
-        "Device.UserInterface.CurrentLanguage";
-    }
-  }
-
-  grouping user-interface-local-display-g {
-    description
-      "Grouping object for Device.UserInterface.LocalDisplay.";
-    leaf movable {
-      type boolean;
-      description
-        "Device.UserInterface.LocalDisplay.Movable";
-      reference
-        "Device.UserInterface.LocalDisplay.Movable";
-    }
-    leaf resizable {
-      type boolean;
-      description
-        "Device.UserInterface.LocalDisplay.Resizable";
-      reference
-        "Device.UserInterface.LocalDisplay.Resizable";
-    }
-    leaf pos-x {
-      type int32;
-      description
-        "Device.UserInterface.LocalDisplay.PosX";
-      reference
-        "Device.UserInterface.LocalDisplay.PosX";
-    }
-    leaf pos-y {
-      type int32;
-      description
-        "Device.UserInterface.LocalDisplay.PosY";
-      reference
-        "Device.UserInterface.LocalDisplay.PosY";
-    }
-    leaf width {
-      type uint32;
-      description
-        "Device.UserInterface.LocalDisplay.Width";
-      reference
-        "Device.UserInterface.LocalDisplay.Width";
-    }
-    leaf height {
-      type uint32;
-      description
-        "Device.UserInterface.LocalDisplay.Height";
-      reference
-        "Device.UserInterface.LocalDisplay.Height";
-    }
-    leaf display-width {
-      type uint32;
-      config false;
-      description
-        "Device.UserInterface.LocalDisplay.DisplayWidth";
-      reference
-        "Device.UserInterface.LocalDisplay.DisplayWidth";
-    }
-    leaf display-height {
-      type uint32;
-      config false;
-      description
-        "Device.UserInterface.LocalDisplay.DisplayHeight";
-      reference
-        "Device.UserInterface.LocalDisplay.DisplayHeight";
-    }
-  }
-
-  grouping user-interface-messages-g {
-    description
-      "Grouping object for Device.UserInterface.Messages.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.UserInterface.Messages.Enable";
-      reference
-        "Device.UserInterface.Messages.Enable";
-    }
-    leaf title {
-      type string {
-        length "min..128";
-      }
-      description
-        "Device.UserInterface.Messages.Title";
-      reference
-        "Device.UserInterface.Messages.Title";
-    }
-    leaf sub-title {
-      type string {
-        length "min..128";
-      }
-      description
-        "Device.UserInterface.Messages.SubTitle";
-      reference
-        "Device.UserInterface.Messages.SubTitle";
-    }
-    leaf text {
-      type string;
-      description
-        "Device.UserInterface.Messages.Text";
-      reference
-        "Device.UserInterface.Messages.Text";
-    }
-    leaf icon-type {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Greeting {
-          description
-            "Enum Value - Greeting";
-        }
-        enum Information {
-          description
-            "Enum Value - Information";
-        }
-        enum Warning {
-          description
-            "Enum Value - Warning";
-        }
-        enum Important {
-          description
-            "Enum Value - Important";
-        }
-        enum Urgent {
-          description
-            "Enum Value - Urgent";
-        }
-        enum Advertisement {
-          description
-            "Enum Value - Advertisement";
-        }
-      }
-      description
-        "Device.UserInterface.Messages.IconType";
-      reference
-        "Device.UserInterface.Messages.IconType";
-    }
-    leaf message-color {
-      type string {
-        length "3";
-      }
-      description
-        "Device.UserInterface.Messages.MessageColor";
-      reference
-        "Device.UserInterface.Messages.MessageColor";
-    }
-    leaf background-color {
-      type string {
-        length "3";
-      }
-      description
-        "Device.UserInterface.Messages.BackgroundColor";
-      reference
-        "Device.UserInterface.Messages.BackgroundColor";
-    }
-    leaf title-color {
-      type string {
-        length "3";
-      }
-      description
-        "Device.UserInterface.Messages.TitleColor";
-      reference
-        "Device.UserInterface.Messages.TitleColor";
-    }
-    leaf sub-title-color {
-      type string {
-        length "3";
-      }
-      description
-        "Device.UserInterface.Messages.SubTitleColor";
-      reference
-        "Device.UserInterface.Messages.SubTitleColor";
-    }
-    leaf requested-number-of-repetitions {
-      type uint32;
-      description
-        "Device.UserInterface.Messages.RequestedNumberOfRepetitions";
-      reference
-        "Device.UserInterface.Messages.RequestedNumberOfRepetitions";
-    }
-    leaf executed-number-of-repetitions {
-      type uint32;
-      config false;
-      description
-        "Device.UserInterface.Messages.ExecutedNumberOfRepetitions";
-      reference
-        "Device.UserInterface.Messages.ExecutedNumberOfRepetitions";
-    }
-  }
-
-  grouping user-interface-remote-access-g {
-    description
-      "Grouping object for Device.UserInterface.RemoteAccess.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.UserInterface.RemoteAccess.Enable";
-      reference
-        "Device.UserInterface.RemoteAccess.Enable";
-    }
-    leaf port {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.UserInterface.RemoteAccess.Port";
-      reference
-        "Device.UserInterface.RemoteAccess.Port";
-    }
-    leaf supported-protocols {
-      type string;
-      config false;
-      description
-        "Device.UserInterface.RemoteAccess.SupportedProtocols";
-      reference
-        "Device.UserInterface.RemoteAccess.SupportedProtocols";
-    }
-    leaf protocol {
-      type string;
-      description
-        "Device.UserInterface.RemoteAccess.Protocol";
-      reference
-        "Device.UserInterface.RemoteAccess.Protocol";
-    }
-  }
-
-  grouping device-users-g {
-    description
-      "Grouping object for Device.Users.";
-    leaf user-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.Users.UserNumberOfEntries";
-      reference
-        "Device.Users.UserNumberOfEntries";
-    }
-  }
-
-  grouping users-user-g {
-    description
-      "Grouping object for Device.Users.User.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Users.User.{i}.Alias";
-      reference
-        "Device.Users.User.{i}.Alias";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.Users.User.{i}.Enable";
-      reference
-        "Device.Users.User.{i}.Enable";
-    }
-    leaf remote-access-capable {
-      type boolean;
-      description
-        "Device.Users.User.{i}.RemoteAccessCapable";
-      reference
-        "Device.Users.User.{i}.RemoteAccessCapable";
-    }
-    leaf username {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.Users.User.{i}.Username";
-      reference
-        "Device.Users.User.{i}.Username";
-    }
-    leaf language {
-      type string {
-        length "min..16";
-      }
-      description
-        "Device.Users.User.{i}.Language";
-      reference
-        "Device.Users.User.{i}.Language";
-    }
-  }
-
-  grouping device-vxlan-g {
-    description
-      "Grouping object for Device.VXLAN.";
-    leaf tunnel-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.TunnelNumberOfEntries";
-      reference
-        "Device.VXLAN.TunnelNumberOfEntries";
-    }
-    leaf filter-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.FilterNumberOfEntries";
-      reference
-        "Device.VXLAN.FilterNumberOfEntries";
-    }
-  }
-
-  grouping vxlan-filter-g {
-    description
-      "Grouping object for Device.VXLAN.Filter.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.VXLAN.Filter.{i}.Enable";
-      reference
-        "Device.VXLAN.Filter.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.VXLAN.Filter.{i}.Status";
-      reference
-        "Device.VXLAN.Filter.{i}.Status";
-    }
-    leaf order {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.VXLAN.Filter.{i}.Order";
-      reference
-        "Device.VXLAN.Filter.{i}.Order";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.VXLAN.Filter.{i}.Alias";
-      reference
-        "Device.VXLAN.Filter.{i}.Alias";
-    }
-    leaf interface {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.VXLAN.Filter.{i}.Interface";
-      reference
-        "Device.VXLAN.Filter.{i}.Interface";
-    }
-    leaf all-interfaces {
-      type boolean;
-      description
-        "Device.VXLAN.Filter.{i}.AllInterfaces";
-      reference
-        "Device.VXLAN.Filter.{i}.AllInterfaces";
-    }
-    leaf vlanid-check {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.VXLAN.Filter.{i}.VLANIDCheck";
-      reference
-        "Device.VXLAN.Filter.{i}.VLANIDCheck";
-    }
-    leaf vlanid-exclude {
-      type boolean;
-      description
-        "Device.VXLAN.Filter.{i}.VLANIDExclude";
-      reference
-        "Device.VXLAN.Filter.{i}.VLANIDExclude";
-    }
-    leaf dscp-mark-policy {
-      type int32 {
-        range "-2..63";
-      }
-      description
-        "Device.VXLAN.Filter.{i}.DSCPMarkPolicy";
-      reference
-        "Device.VXLAN.Filter.{i}.DSCPMarkPolicy";
-    }
-  }
-
-  grouping vxlan-tunnel-g {
-    description
-      "Grouping object for Device.VXLAN.Tunnel.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.VXLAN.Tunnel.{i}.Enable";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Status";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.VXLAN.Tunnel.{i}.Alias";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Alias";
-    }
-    leaf remote-endpoints {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.VXLAN.Tunnel.{i}.RemoteEndpoints";
-      reference
-        "Device.VXLAN.Tunnel.{i}.RemoteEndpoints";
-    }
-    leaf keep-alive-policy {
-      type enumeration {
-        enum ICMP {
-          description
-            "Enum Value - ICMP";
-        }
-        enum None {
-          description
-            "Enum Value - None";
-        }
-      }
-      description
-        "Device.VXLAN.Tunnel.{i}.KeepAlivePolicy";
-      reference
-        "Device.VXLAN.Tunnel.{i}.KeepAlivePolicy";
-    }
-    leaf keep-alive-timeout {
-      type uint32;
-      description
-        "Device.VXLAN.Tunnel.{i}.KeepAliveTimeout";
-      reference
-        "Device.VXLAN.Tunnel.{i}.KeepAliveTimeout";
-    }
-    leaf keep-alive-threshold {
-      type uint32;
-      description
-        "Device.VXLAN.Tunnel.{i}.KeepAliveThreshold";
-      reference
-        "Device.VXLAN.Tunnel.{i}.KeepAliveThreshold";
-    }
-    leaf delivery-header-protocol {
-      type enumeration {
-        enum IPv4 {
-          description
-            "Enum Value - IPv4";
-        }
-        enum IPv6 {
-          description
-            "Enum Value - IPv6";
-        }
-      }
-      description
-        "Device.VXLAN.Tunnel.{i}.DeliveryHeaderProtocol";
-      reference
-        "Device.VXLAN.Tunnel.{i}.DeliveryHeaderProtocol";
-    }
-    leaf default-dscp-mark {
-      type uint32;
-      description
-        "Device.VXLAN.Tunnel.{i}.DefaultDSCPMark";
-      reference
-        "Device.VXLAN.Tunnel.{i}.DefaultDSCPMark";
-    }
-    leaf connected-remote-endpoint {
-      type string;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.ConnectedRemoteEndpoint";
-      reference
-        "Device.VXLAN.Tunnel.{i}.ConnectedRemoteEndpoint";
-    }
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.InterfaceNumberOfEntries";
-      reference
-        "Device.VXLAN.Tunnel.{i}.InterfaceNumberOfEntries";
-    }
-    leaf source-port {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.VXLAN.Tunnel.{i}.SourcePort";
-      reference
-        "Device.VXLAN.Tunnel.{i}.SourcePort";
-    }
-    leaf remote-port {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.VXLAN.Tunnel.{i}.RemotePort";
-      reference
-        "Device.VXLAN.Tunnel.{i}.RemotePort";
-    }
-  }
-
-  grouping vxlan-tunnel-interface-g {
-    description
-      "Grouping object for Device.VXLAN.Tunnel.{i}.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Enable";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Status";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Alias";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Name";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.LastChange";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.LowerLayers";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.LowerLayers";
-    }
-    leaf vni {
-      type int32 {
-        range "-1 | 0..16777215";
-      }
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.VNI";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.VNI";
-    }
-  }
-
-  grouping vxlan-tunnel-interface-stats-g {
-    description
-      "Grouping object for Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf discard-checksum-received {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";
-    }
-    leaf discard-sequence-number-received {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";
-    }
-  }
-
-  grouping vxlan-tunnel-stats-g {
-    description
-      "Grouping object for Device.VXLAN.Tunnel.{i}.Stats.";
-    leaf keep-alive-sent {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Stats.KeepAliveSent";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Stats.KeepAliveSent";
-    }
-    leaf keep-alive-received {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Stats.KeepAliveReceived";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Stats.KeepAliveReceived";
-    }
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Stats.BytesSent";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Stats.BytesReceived";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Stats.PacketsSent";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Stats.PacketsReceived";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Stats.ErrorsSent";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.VXLAN.Tunnel.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.VXLAN.Tunnel.{i}.Stats.ErrorsReceived";
-    }
-  }
-
-  grouping device-wi-fi-g {
-    description
-      "Grouping object for Device.WiFi.";
-    leaf radio-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.RadioNumberOfEntries";
-      reference
-        "Device.WiFi.RadioNumberOfEntries";
-    }
-    leaf ssid-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSIDNumberOfEntries";
-      reference
-        "Device.WiFi.SSIDNumberOfEntries";
-    }
-    leaf access-point-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPointNumberOfEntries";
-      reference
-        "Device.WiFi.AccessPointNumberOfEntries";
-    }
-    leaf end-point-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.EndPointNumberOfEntries";
-      reference
-        "Device.WiFi.EndPointNumberOfEntries";
-    }
-    leaf reset-counter {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.ResetCounter";
-      reference
-        "Device.WiFi.ResetCounter";
-    }
-  }
-
-  grouping wi-fi-access-point-g {
-    description
-      "Grouping object for Device.WiFi.AccessPoint.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.WiFi.AccessPoint.{i}.Enable";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.Status";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.Alias";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Alias";
-    }
-    leaf ssid-reference {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.SSIDReference";
-      reference
-        "Device.WiFi.AccessPoint.{i}.SSIDReference";
-    }
-    leaf ssid-advertisement-enabled {
-      type boolean;
-      description
-        "Device.WiFi.AccessPoint.{i}.SSIDAdvertisementEnabled";
-      reference
-        "Device.WiFi.AccessPoint.{i}.SSIDAdvertisementEnabled";
-    }
-    leaf retry-limit {
-      type uint32 {
-        range "0..7";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.RetryLimit";
-      reference
-        "Device.WiFi.AccessPoint.{i}.RetryLimit";
-    }
-    leaf wmm-capability {
-      type boolean;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.WMMCapability";
-      reference
-        "Device.WiFi.AccessPoint.{i}.WMMCapability";
-    }
-    leaf uapsd-capability {
-      type boolean;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.UAPSDCapability";
-      reference
-        "Device.WiFi.AccessPoint.{i}.UAPSDCapability";
-    }
-    leaf wmm-enable {
-      type boolean;
-      description
-        "Device.WiFi.AccessPoint.{i}.WMMEnable";
-      reference
-        "Device.WiFi.AccessPoint.{i}.WMMEnable";
-    }
-    leaf uapsd-enable {
-      type boolean;
-      description
-        "Device.WiFi.AccessPoint.{i}.UAPSDEnable";
-      reference
-        "Device.WiFi.AccessPoint.{i}.UAPSDEnable";
-    }
-    leaf associated-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDeviceNumberOfEntries";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDeviceNumberOfEntries";
-    }
-    leaf max-associated-devices {
-      type uint32;
-      description
-        "Device.WiFi.AccessPoint.{i}.MaxAssociatedDevices";
-      reference
-        "Device.WiFi.AccessPoint.{i}.MaxAssociatedDevices";
-    }
-    leaf isolation-enable {
-      type boolean;
-      description
-        "Device.WiFi.AccessPoint.{i}.IsolationEnable";
-      reference
-        "Device.WiFi.AccessPoint.{i}.IsolationEnable";
-    }
-    leaf mac-address-control-enabled {
-      type boolean;
-      description
-        "Device.WiFi.AccessPoint.{i}.MACAddressControlEnabled";
-      reference
-        "Device.WiFi.AccessPoint.{i}.MACAddressControlEnabled";
-    }
-    leaf allowed-mac-address {
-      type string {
-        length "min..17";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.AllowedMACAddress";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AllowedMACAddress";
-    }
-    leaf max-allowed-associations {
-      type uint32;
-      description
-        "Device.WiFi.AccessPoint.{i}.MaxAllowedAssociations";
-      reference
-        "Device.WiFi.AccessPoint.{i}.MaxAllowedAssociations";
-    }
-  }
-
-  grouping access-point-ac-g {
-    description
-      "Grouping object for Device.WiFi.AccessPoint.{i}.AC.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf access-category {
-      type string;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.AccessCategory";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.AccessCategory";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Alias";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Alias";
-    }
-    leaf aifsn {
-      type uint32 {
-        range "2..15";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.AIFSN";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.AIFSN";
-    }
-    leaf ecw-min {
-      type uint32 {
-        range "0..15";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.ECWMin";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.ECWMin";
-    }
-    leaf ecw-max {
-      type uint32 {
-        range "0..15";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.ECWMax";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.ECWMax";
-    }
-    leaf tx-op-max {
-      type uint32 {
-        range "0..255";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.TxOpMax";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.TxOpMax";
-    }
-    leaf ack-policy {
-      type boolean;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.AckPolicy";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.AckPolicy";
-    }
-    leaf out-q-len-histogram-intervals {
-      type string;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.OutQLenHistogramIntervals";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.OutQLenHistogramIntervals";
-    }
-    leaf out-q-len-histogram-sample-interval {
-      type uint32;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.OutQLenHistogramSampleInterval";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.OutQLenHistogramSampleInterval";
-    }
-  }
-
-  grouping ac-stats-g {
-    description
-      "Grouping object for Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.BytesSent";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.BytesReceived";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.PacketsSent";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.PacketsReceived";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.ErrorsSent";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.ErrorsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf retrans-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.RetransCount";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.RetransCount";
-    }
-    leaf out-q-len-histogram {
-      type string;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.OutQLenHistogram";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.OutQLenHistogram";
-    }
-  }
-
-  grouping access-point-accounting-g {
-    description
-      "Grouping object for Device.WiFi.AccessPoint.{i}.Accounting.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.WiFi.AccessPoint.{i}.Accounting.Enable";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Accounting.Enable";
-    }
-    leaf server-ip-addr {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.Accounting.ServerIPAddr";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Accounting.ServerIPAddr";
-    }
-    leaf secondary-server-ip-addr {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.Accounting.SecondaryServerIPAddr";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Accounting.SecondaryServerIPAddr";
-    }
-    leaf server-port {
-      type uint32;
-      description
-        "Device.WiFi.AccessPoint.{i}.Accounting.ServerPort";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Accounting.ServerPort";
-    }
-    leaf secondary-server-port {
-      type uint32;
-      description
-        "Device.WiFi.AccessPoint.{i}.Accounting.SecondaryServerPort";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Accounting.SecondaryServerPort";
-    }
-    leaf interim-interval {
-      type uint32 {
-        range "0..60";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.Accounting.InterimInterval";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Accounting.InterimInterval";
-    }
-  }
-
-  grouping access-point-associated-device-g {
-    description
-      "Grouping object for Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.MACAddress";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.MACAddress";
-    }
-    leaf operating-standard {
-      type string;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.OperatingStandard";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.OperatingStandard";
-    }
-    leaf authentication-state {
-      type boolean;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.AuthenticationState";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.AuthenticationState";
-    }
-    leaf last-data-downlink-rate {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataDownlinkRate";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataDownlinkRate";
-    }
-    leaf last-data-uplink-rate {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataUplinkRate";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataUplinkRate";
-    }
-    leaf association-time {
-      type string;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.AssociationTime";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.AssociationTime";
-    }
-    leaf signal-strength {
-      type int32 {
-        range "-200..0";
-      }
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.SignalStrength";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.SignalStrength";
-    }
-    leaf noise {
-      type int32 {
-        range "-200..0";
-      }
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Noise";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Noise";
-    }
-    leaf retransmissions {
-      type uint32 {
-        range "0..100";
-      }
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Retransmissions";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Retransmissions";
-    }
-    leaf active {
-      type boolean;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Active";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Active";
-    }
-  }
-
-  grouping associated-device-stats-g {
-    description
-      "Grouping object for Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.BytesSent";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.BytesReceived";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.PacketsSent";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.PacketsReceived";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.ErrorsSent";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.ErrorsSent";
-    }
-    leaf retrans-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.RetransCount";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.RetransCount";
-    }
-    leaf failed-retrans-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.FailedRetransCount";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.FailedRetransCount";
-    }
-    leaf retry-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.RetryCount";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.RetryCount";
-    }
-    leaf multiple-retry-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.MultipleRetryCount";
-      reference
-        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.MultipleRetryCount";
-    }
-  }
-
-  grouping access-point-security-g {
-    description
-      "Grouping object for Device.WiFi.AccessPoint.{i}.Security.";
-    leaf modes-supported {
-      type string;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.Security.ModesSupported";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Security.ModesSupported";
-    }
-    leaf mode-enabled {
-      type string;
-      description
-        "Device.WiFi.AccessPoint.{i}.Security.ModeEnabled";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Security.ModeEnabled";
-    }
-    leaf rekeying-interval {
-      type uint32;
-      description
-        "Device.WiFi.AccessPoint.{i}.Security.RekeyingInterval";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Security.RekeyingInterval";
-    }
-    leaf radius-server-ip-addr {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.Security.RadiusServerIPAddr";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Security.RadiusServerIPAddr";
-    }
-    leaf secondary-radius-server-ip-addr {
-      type string {
-        length "min..45";
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.Security.SecondaryRadiusServerIPAddr";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Security.SecondaryRadiusServerIPAddr";
-    }
-    leaf radius-server-port {
-      type uint32;
-      description
-        "Device.WiFi.AccessPoint.{i}.Security.RadiusServerPort";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Security.RadiusServerPort";
-    }
-    leaf secondary-radius-server-port {
-      type uint32;
-      description
-        "Device.WiFi.AccessPoint.{i}.Security.SecondaryRadiusServerPort";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Security.SecondaryRadiusServerPort";
-    }
-    leaf mfp-config {
-      type enumeration {
-        enum Disabled {
-          description
-            "Enum Value - Disabled";
-        }
-        enum Optional {
-          description
-            "Enum Value - Optional";
-        }
-        enum Required {
-          description
-            "Enum Value - Required";
-        }
-      }
-      description
-        "Device.WiFi.AccessPoint.{i}.Security.MFPConfig";
-      reference
-        "Device.WiFi.AccessPoint.{i}.Security.MFPConfig";
-    }
-  }
-
-  grouping access-point-wps-g {
-    description
-      "Grouping object for Device.WiFi.AccessPoint.{i}.WPS.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.WiFi.AccessPoint.{i}.WPS.Enable";
-      reference
-        "Device.WiFi.AccessPoint.{i}.WPS.Enable";
-    }
-    leaf config-methods-supported {
-      type string;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsSupported";
-      reference
-        "Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsSupported";
-    }
-    leaf config-methods-enabled {
-      type string;
-      description
-        "Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsEnabled";
-      reference
-        "Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsEnabled";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.WPS.Status";
-      reference
-        "Device.WiFi.AccessPoint.{i}.WPS.Status";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.WiFi.AccessPoint.{i}.WPS.Version";
-      reference
-        "Device.WiFi.AccessPoint.{i}.WPS.Version";
-    }
-  }
-
-  grouping wi-fi-end-point-g {
-    description
-      "Grouping object for Device.WiFi.EndPoint.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.WiFi.EndPoint.{i}.Enable";
-      reference
-        "Device.WiFi.EndPoint.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.Status";
-      reference
-        "Device.WiFi.EndPoint.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.WiFi.EndPoint.{i}.Alias";
-      reference
-        "Device.WiFi.EndPoint.{i}.Alias";
-    }
-    leaf profile-reference {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.WiFi.EndPoint.{i}.ProfileReference";
-      reference
-        "Device.WiFi.EndPoint.{i}.ProfileReference";
-    }
-    leaf ssid-reference {
-      type string;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.SSIDReference";
-      reference
-        "Device.WiFi.EndPoint.{i}.SSIDReference";
-    }
-    leaf profile-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.ProfileNumberOfEntries";
-      reference
-        "Device.WiFi.EndPoint.{i}.ProfileNumberOfEntries";
-    }
-  }
-
-  grouping end-point-ac-g {
-    description
-      "Grouping object for Device.WiFi.EndPoint.{i}.AC.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf access-category {
-      type string;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.AccessCategory";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.AccessCategory";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Alias";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Alias";
-    }
-    leaf aifsn {
-      type uint32 {
-        range "2..15";
-      }
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.AIFSN";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.AIFSN";
-    }
-    leaf ecw-min {
-      type uint32 {
-        range "0..15";
-      }
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.ECWMin";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.ECWMin";
-    }
-    leaf ecw-max {
-      type uint32 {
-        range "0..15";
-      }
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.ECWMax";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.ECWMax";
-    }
-    leaf tx-op-max {
-      type uint32 {
-        range "0..255";
-      }
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.TxOpMax";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.TxOpMax";
-    }
-    leaf ack-policy {
-      type boolean;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.AckPolicy";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.AckPolicy";
-    }
-    leaf out-q-len-histogram-intervals {
-      type string;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.OutQLenHistogramIntervals";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.OutQLenHistogramIntervals";
-    }
-    leaf out-q-len-histogram-sample-interval {
-      type uint32;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.OutQLenHistogramSampleInterval";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.OutQLenHistogramSampleInterval";
-    }
-  }
-
-  grouping end-point-ac-stats-g {
-    description
-      "Grouping object for Device.WiFi.EndPoint.{i}.AC.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.BytesSent";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.BytesReceived";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.PacketsSent";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.PacketsReceived";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.ErrorsSent";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.ErrorsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf retrans-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.RetransCount";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.RetransCount";
-    }
-    leaf out-q-len-histogram {
-      type string;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.OutQLenHistogram";
-      reference
-        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.OutQLenHistogram";
-    }
-  }
-
-  grouping end-point-profile-g {
-    description
-      "Grouping object for Device.WiFi.EndPoint.{i}.Profile.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Enable";
-      reference
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Status";
-      reference
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Alias";
-      reference
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Alias";
-    }
-    leaf ssid {
-      type string {
-        length "min..32";
-      }
-      description
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.SSID";
-      reference
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.SSID";
-    }
-    leaf location {
-      type string;
-      description
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Location";
-      reference
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Location";
-    }
-    leaf priority {
-      type uint32 {
-        range "min..255";
-      }
-      description
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Priority";
-      reference
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Priority";
-    }
-  }
-
-  grouping profile-security-g {
-    description
-      "Grouping object for Device.WiFi.EndPoint.{i}.Profile.{i}.Security.";
-    leaf mode-enabled {
-      type string;
-      description
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Security.ModeEnabled";
-      reference
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Security.ModeEnabled";
-    }
-    leaf mfp-config {
-      type enumeration {
-        enum Disabled {
-          description
-            "Enum Value - Disabled";
-        }
-        enum Optional {
-          description
-            "Enum Value - Optional";
-        }
-        enum Required {
-          description
-            "Enum Value - Required";
-        }
-      }
-      description
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Security.MFPConfig";
-      reference
-        "Device.WiFi.EndPoint.{i}.Profile.{i}.Security.MFPConfig";
-    }
-  }
-
-  grouping end-point-security-g {
-    description
-      "Grouping object for Device.WiFi.EndPoint.{i}.Security.";
-    leaf modes-supported {
-      type string;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.Security.ModesSupported";
-      reference
-        "Device.WiFi.EndPoint.{i}.Security.ModesSupported";
-    }
-  }
-
-  grouping end-point-stats-g {
-    description
-      "Grouping object for Device.WiFi.EndPoint.{i}.Stats.";
-    leaf last-data-downlink-rate {
-      type uint32 {
-        range "1000..600000";
-      }
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.Stats.LastDataDownlinkRate";
-      reference
-        "Device.WiFi.EndPoint.{i}.Stats.LastDataDownlinkRate";
-    }
-    leaf last-data-uplink-rate {
-      type uint32 {
-        range "1000..600000";
-      }
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.Stats.LastDataUplinkRate";
-      reference
-        "Device.WiFi.EndPoint.{i}.Stats.LastDataUplinkRate";
-    }
-    leaf signal-strength {
-      type int32 {
-        range "-200..0";
-      }
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.Stats.SignalStrength";
-      reference
-        "Device.WiFi.EndPoint.{i}.Stats.SignalStrength";
-    }
-    leaf retransmissions {
-      type uint32 {
-        range "0..100";
-      }
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.Stats.Retransmissions";
-      reference
-        "Device.WiFi.EndPoint.{i}.Stats.Retransmissions";
-    }
-  }
-
-  grouping end-point-wps-g {
-    description
-      "Grouping object for Device.WiFi.EndPoint.{i}.WPS.";
-    leaf enable {
-      type boolean;
-      description
-        "Device.WiFi.EndPoint.{i}.WPS.Enable";
-      reference
-        "Device.WiFi.EndPoint.{i}.WPS.Enable";
-    }
-    leaf config-methods-supported {
-      type string;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.WPS.ConfigMethodsSupported";
-      reference
-        "Device.WiFi.EndPoint.{i}.WPS.ConfigMethodsSupported";
-    }
-    leaf config-methods-enabled {
-      type string;
-      description
-        "Device.WiFi.EndPoint.{i}.WPS.ConfigMethodsEnabled";
-      reference
-        "Device.WiFi.EndPoint.{i}.WPS.ConfigMethodsEnabled";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.WPS.Status";
-      reference
-        "Device.WiFi.EndPoint.{i}.WPS.Status";
-    }
-    leaf version {
-      type string;
-      config false;
-      description
-        "Device.WiFi.EndPoint.{i}.WPS.Version";
-      reference
-        "Device.WiFi.EndPoint.{i}.WPS.Version";
-    }
-  }
-
-  grouping wi-fi-neighboring-wi-fi-diagnostic-g {
-    description
-      "Grouping object for Device.WiFi.NeighboringWiFiDiagnostic.";
-    leaf diagnostics-state {
-      type enumeration {
-        enum None {
-          description
-            "Enum Value - None";
-        }
-        enum Requested {
-          description
-            "Enum Value - Requested";
-        }
-        enum Canceled {
-          description
-            "Enum Value - Canceled";
-        }
-        enum Complete {
-          description
-            "Enum Value - Complete";
-        }
-        enum Error {
-          description
-            "Enum Value - Error";
-        }
-        enum Completed {
-          description
-            "Enum Value - Completed";
-        }
-      }
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState";
-    }
-    leaf result-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.ResultNumberOfEntries";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.ResultNumberOfEntries";
-    }
-  }
-
-  grouping neighboring-wi-fi-diagnostic-result-g {
-    description
-      "Grouping object for Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf radio {
-      type string;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Radio";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Radio";
-    }
-    leaf ssid {
-      type string;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SSID";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SSID";
-    }
-    leaf bssid {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BSSID";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BSSID";
-    }
-    leaf mode {
-      type string;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Mode";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Mode";
-    }
-    leaf channel {
-      type uint32 {
-        range "1..255";
-      }
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Channel";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Channel";
-    }
-    leaf signal-strength {
-      type int32 {
-        range "-200..0";
-      }
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SignalStrength";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SignalStrength";
-    }
-    leaf security-mode-enabled {
-      type string;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SecurityModeEnabled";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SecurityModeEnabled";
-    }
-    leaf encryption-mode {
-      type string;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.EncryptionMode";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.EncryptionMode";
-    }
-    leaf operating-frequency-band {
-      type string;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingFrequencyBand";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingFrequencyBand";
-    }
-    leaf supported-standards {
-      type string;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SupportedStandards";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SupportedStandards";
-    }
-    leaf operating-standards {
-      type string;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingStandards";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingStandards";
-    }
-    leaf operating-channel-bandwidth {
-      type string;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingChannelBandwidth";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingChannelBandwidth";
-    }
-    leaf beacon-period {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BeaconPeriod";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BeaconPeriod";
-    }
-    leaf noise {
-      type int32 {
-        range "-200..0";
-      }
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Noise";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Noise";
-    }
-    leaf basic-data-transfer-rates {
-      type string;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BasicDataTransferRates";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BasicDataTransferRates";
-    }
-    leaf supported-data-transfer-rates {
-      type string;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SupportedDataTransferRates";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SupportedDataTransferRates";
-    }
-    leaf dtim-period {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.DTIMPeriod";
-      reference
-        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.DTIMPeriod";
-    }
-  }
-
-  grouping wi-fi-radio-g {
-    description
-      "Grouping object for Device.WiFi.Radio.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.WiFi.Radio.{i}.Enable";
-      reference
-        "Device.WiFi.Radio.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Status";
-      reference
-        "Device.WiFi.Radio.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.WiFi.Radio.{i}.Alias";
-      reference
-        "Device.WiFi.Radio.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Name";
-      reference
-        "Device.WiFi.Radio.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.LastChange";
-      reference
-        "Device.WiFi.Radio.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.WiFi.Radio.{i}.LowerLayers";
-      reference
-        "Device.WiFi.Radio.{i}.LowerLayers";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Upstream";
-      reference
-        "Device.WiFi.Radio.{i}.Upstream";
-    }
-    leaf max-bit-rate {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.MaxBitRate";
-      reference
-        "Device.WiFi.Radio.{i}.MaxBitRate";
-    }
-    leaf supported-frequency-bands {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.SupportedFrequencyBands";
-      reference
-        "Device.WiFi.Radio.{i}.SupportedFrequencyBands";
-    }
-    leaf operating-frequency-band {
-      type string;
-      description
-        "Device.WiFi.Radio.{i}.OperatingFrequencyBand";
-      reference
-        "Device.WiFi.Radio.{i}.OperatingFrequencyBand";
-    }
-    leaf supported-standards {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.SupportedStandards";
-      reference
-        "Device.WiFi.Radio.{i}.SupportedStandards";
-    }
-    leaf operating-standards {
-      type string;
-      description
-        "Device.WiFi.Radio.{i}.OperatingStandards";
-      reference
-        "Device.WiFi.Radio.{i}.OperatingStandards";
-    }
-    leaf possible-channels {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.PossibleChannels";
-      reference
-        "Device.WiFi.Radio.{i}.PossibleChannels";
-    }
-    leaf channels-in-use {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.ChannelsInUse";
-      reference
-        "Device.WiFi.Radio.{i}.ChannelsInUse";
-    }
-    leaf channel {
-      type uint32 {
-        range "1..255";
-      }
-      description
-        "Device.WiFi.Radio.{i}.Channel";
-      reference
-        "Device.WiFi.Radio.{i}.Channel";
-    }
-    leaf auto-channel-supported {
-      type boolean;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.AutoChannelSupported";
-      reference
-        "Device.WiFi.Radio.{i}.AutoChannelSupported";
-    }
-    leaf auto-channel-enable {
-      type boolean;
-      description
-        "Device.WiFi.Radio.{i}.AutoChannelEnable";
-      reference
-        "Device.WiFi.Radio.{i}.AutoChannelEnable";
-    }
-    leaf auto-channel-refresh-period {
-      type uint32;
-      description
-        "Device.WiFi.Radio.{i}.AutoChannelRefreshPeriod";
-      reference
-        "Device.WiFi.Radio.{i}.AutoChannelRefreshPeriod";
-    }
-    leaf channel-last-change {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.ChannelLastChange";
-      reference
-        "Device.WiFi.Radio.{i}.ChannelLastChange";
-    }
-    leaf channel-last-selection-reason {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.ChannelLastSelectionReason";
-      reference
-        "Device.WiFi.Radio.{i}.ChannelLastSelectionReason";
-    }
-    leaf max-supported-ssi-ds {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.MaxSupportedSSIDs";
-      reference
-        "Device.WiFi.Radio.{i}.MaxSupportedSSIDs";
-    }
-    leaf max-supported-associations {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.MaxSupportedAssociations";
-      reference
-        "Device.WiFi.Radio.{i}.MaxSupportedAssociations";
-    }
-    leaf firmware-version {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.FirmwareVersion";
-      reference
-        "Device.WiFi.Radio.{i}.FirmwareVersion";
-    }
-    leaf supported-operating-channel-bandwidths {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.SupportedOperatingChannelBandwidths";
-      reference
-        "Device.WiFi.Radio.{i}.SupportedOperatingChannelBandwidths";
-    }
-    leaf operating-channel-bandwidth {
-      type string;
-      description
-        "Device.WiFi.Radio.{i}.OperatingChannelBandwidth";
-      reference
-        "Device.WiFi.Radio.{i}.OperatingChannelBandwidth";
-    }
-    leaf current-operating-channel-bandwidth {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.CurrentOperatingChannelBandwidth";
-      reference
-        "Device.WiFi.Radio.{i}.CurrentOperatingChannelBandwidth";
-    }
-    leaf extension-channel {
-      type enumeration {
-        enum AboveControlChannel {
-          description
-            "Enum Value - AboveControlChannel";
-        }
-        enum BelowControlChannel {
-          description
-            "Enum Value - BelowControlChannel";
-        }
-        enum Auto {
-          description
-            "Enum Value - Auto";
-        }
-      }
-      description
-        "Device.WiFi.Radio.{i}.ExtensionChannel";
-      reference
-        "Device.WiFi.Radio.{i}.ExtensionChannel";
-    }
-    leaf guard-interval {
-      type enumeration {
-        enum 400nsec {
-          description
-            "Enum Value - 400nsec";
-        }
-        enum 800nsec {
-          description
-            "Enum Value - 800nsec";
-        }
-        enum Auto {
-          description
-            "Enum Value - Auto";
-        }
-      }
-      description
-        "Device.WiFi.Radio.{i}.GuardInterval";
-      reference
-        "Device.WiFi.Radio.{i}.GuardInterval";
-    }
-    leaf mcs {
-      type int32 {
-        range "-1..15 | 16..31";
-      }
-      description
-        "Device.WiFi.Radio.{i}.MCS";
-      reference
-        "Device.WiFi.Radio.{i}.MCS";
-    }
-    leaf transmit-power-supported {
-      type int32 {
-        range "-1..100";
-      }
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.TransmitPowerSupported";
-      reference
-        "Device.WiFi.Radio.{i}.TransmitPowerSupported";
-    }
-    leaf transmit-power {
-      type int32 {
-        range "-1..100";
-      }
-      description
-        "Device.WiFi.Radio.{i}.TransmitPower";
-      reference
-        "Device.WiFi.Radio.{i}.TransmitPower";
-    }
-    leaf ieee80211h-supported {
-      type boolean;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.IEEE80211hSupported";
-      reference
-        "Device.WiFi.Radio.{i}.IEEE80211hSupported";
-    }
-    leaf ieee80211h-enabled {
-      type boolean;
-      description
-        "Device.WiFi.Radio.{i}.IEEE80211hEnabled";
-      reference
-        "Device.WiFi.Radio.{i}.IEEE80211hEnabled";
-    }
-    leaf regulatory-domain {
-      type string {
-        length "3";
-      }
-      description
-        "Device.WiFi.Radio.{i}.RegulatoryDomain";
-      reference
-        "Device.WiFi.Radio.{i}.RegulatoryDomain";
-    }
-    leaf retry-limit {
-      type uint32 {
-        range "0..7";
-      }
-      description
-        "Device.WiFi.Radio.{i}.RetryLimit";
-      reference
-        "Device.WiFi.Radio.{i}.RetryLimit";
-    }
-    leaf cca-request {
-      type string {
-        length "11";
-      }
-      description
-        "Device.WiFi.Radio.{i}.CCARequest";
-      reference
-        "Device.WiFi.Radio.{i}.CCARequest";
-    }
-    leaf cca-report {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.CCAReport";
-      reference
-        "Device.WiFi.Radio.{i}.CCAReport";
-    }
-    leaf rpi-histogram-request {
-      type string {
-        length "11";
-      }
-      description
-        "Device.WiFi.Radio.{i}.RPIHistogramRequest";
-      reference
-        "Device.WiFi.Radio.{i}.RPIHistogramRequest";
-    }
-    leaf rpi-histogram-report {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.RPIHistogramReport";
-      reference
-        "Device.WiFi.Radio.{i}.RPIHistogramReport";
-    }
-    leaf fragmentation-threshold {
-      type uint32;
-      description
-        "Device.WiFi.Radio.{i}.FragmentationThreshold";
-      reference
-        "Device.WiFi.Radio.{i}.FragmentationThreshold";
-    }
-    leaf rts-threshold {
-      type uint32;
-      description
-        "Device.WiFi.Radio.{i}.RTSThreshold";
-      reference
-        "Device.WiFi.Radio.{i}.RTSThreshold";
-    }
-    leaf long-retry-limit {
-      type uint32;
-      description
-        "Device.WiFi.Radio.{i}.LongRetryLimit";
-      reference
-        "Device.WiFi.Radio.{i}.LongRetryLimit";
-    }
-    leaf beacon-period {
-      type uint32;
-      description
-        "Device.WiFi.Radio.{i}.BeaconPeriod";
-      reference
-        "Device.WiFi.Radio.{i}.BeaconPeriod";
-    }
-    leaf dtim-period {
-      type uint32;
-      description
-        "Device.WiFi.Radio.{i}.DTIMPeriod";
-      reference
-        "Device.WiFi.Radio.{i}.DTIMPeriod";
-    }
-    leaf packet-aggregation-enable {
-      type boolean;
-      description
-        "Device.WiFi.Radio.{i}.PacketAggregationEnable";
-      reference
-        "Device.WiFi.Radio.{i}.PacketAggregationEnable";
-    }
-    leaf preamble-type {
-      type enumeration {
-        enum short {
-          description
-            "Enum Value - short";
-        }
-        enum auto {
-          description
-            "Enum Value - auto";
-        }
-      }
-      description
-        "Device.WiFi.Radio.{i}.PreambleType";
-      reference
-        "Device.WiFi.Radio.{i}.PreambleType";
-    }
-    leaf basic-data-transmit-rates {
-      type string;
-      description
-        "Device.WiFi.Radio.{i}.BasicDataTransmitRates";
-      reference
-        "Device.WiFi.Radio.{i}.BasicDataTransmitRates";
-    }
-    leaf operational-data-transmit-rates {
-      type string;
-      description
-        "Device.WiFi.Radio.{i}.OperationalDataTransmitRates";
-      reference
-        "Device.WiFi.Radio.{i}.OperationalDataTransmitRates";
-    }
-    leaf supported-data-transmit-rates {
-      type string;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.SupportedDataTransmitRates";
-      reference
-        "Device.WiFi.Radio.{i}.SupportedDataTransmitRates";
-    }
-  }
-
-  grouping radio-stats-g {
-    description
-      "Grouping object for Device.WiFi.Radio.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.BytesSent";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.BytesReceived";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.PacketsSent";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.PacketsReceived";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.ErrorsSent";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.ErrorsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf plcp-error-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.PLCPErrorCount";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.PLCPErrorCount";
-    }
-    leaf fcs-error-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.FCSErrorCount";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.FCSErrorCount";
-    }
-    leaf invalid-mac-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.InvalidMACCount";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.InvalidMACCount";
-    }
-    leaf packets-other-received {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.PacketsOtherReceived";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.PacketsOtherReceived";
-    }
-    leaf noise {
-      type int32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.Noise";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.Noise";
-    }
-    leaf total-channel-change-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.TotalChannelChangeCount";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.TotalChannelChangeCount";
-    }
-    leaf manual-channel-change-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.ManualChannelChangeCount";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.ManualChannelChangeCount";
-    }
-    leaf auto-startup-channel-change-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.AutoStartupChannelChangeCount";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.AutoStartupChannelChangeCount";
-    }
-    leaf auto-user-channel-change-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.AutoUserChannelChangeCount";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.AutoUserChannelChangeCount";
-    }
-    leaf auto-refresh-channel-change-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.AutoRefreshChannelChangeCount";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.AutoRefreshChannelChangeCount";
-    }
-    leaf auto-dynamic-channel-change-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.AutoDynamicChannelChangeCount";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.AutoDynamicChannelChangeCount";
-    }
-    leaf auto-dfs-channel-change-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.Radio.{i}.Stats.AutoDFSChannelChangeCount";
-      reference
-        "Device.WiFi.Radio.{i}.Stats.AutoDFSChannelChangeCount";
-    }
-  }
-
-  grouping wi-fi-ssid-g {
-    description
-      "Grouping object for Device.WiFi.SSID.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.WiFi.SSID.{i}.Enable";
-      reference
-        "Device.WiFi.SSID.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Status";
-      reference
-        "Device.WiFi.SSID.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.WiFi.SSID.{i}.Alias";
-      reference
-        "Device.WiFi.SSID.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Name";
-      reference
-        "Device.WiFi.SSID.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.LastChange";
-      reference
-        "Device.WiFi.SSID.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.WiFi.SSID.{i}.LowerLayers";
-      reference
-        "Device.WiFi.SSID.{i}.LowerLayers";
-    }
-    leaf bssid {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.BSSID";
-      reference
-        "Device.WiFi.SSID.{i}.BSSID";
-    }
-    leaf mac-address {
-      type string {
-        length "min..17";
-      }
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.MACAddress";
-      reference
-        "Device.WiFi.SSID.{i}.MACAddress";
-    }
-    leaf ssid {
-      type string {
-        length "min..32";
-      }
-      description
-        "Device.WiFi.SSID.{i}.SSID";
-      reference
-        "Device.WiFi.SSID.{i}.SSID";
-    }
-    leaf upstream {
-      type boolean;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Upstream";
-      reference
-        "Device.WiFi.SSID.{i}.Upstream";
-    }
-  }
-
-  grouping ssid-stats-g {
-    description
-      "Grouping object for Device.WiFi.SSID.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.BytesSent";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.BytesReceived";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.PacketsSent";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.PacketsReceived";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.ErrorsSent";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.ErrorsSent";
-    }
-    leaf retrans-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.RetransCount";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.RetransCount";
-    }
-    leaf failed-retrans-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.FailedRetransCount";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.FailedRetransCount";
-    }
-    leaf retry-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.RetryCount";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.RetryCount";
-    }
-    leaf multiple-retry-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.MultipleRetryCount";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.MultipleRetryCount";
-    }
-    leaf ack-failure-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.ACKFailureCount";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.ACKFailureCount";
-    }
-    leaf aggregated-packet-count {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.AggregatedPacketCount";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.AggregatedPacketCount";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-proto-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.WiFi.SSID.{i}.Stats.UnknownProtoPacketsReceived";
-      reference
-        "Device.WiFi.SSID.{i}.Stats.UnknownProtoPacketsReceived";
-    }
-  }
-
-  grouping device-xmpp-g {
-    description
-      "Grouping object for Device.XMPP.";
-    leaf connection-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.XMPP.ConnectionNumberOfEntries";
-      reference
-        "Device.XMPP.ConnectionNumberOfEntries";
-    }
-    leaf supported-server-connect-algorithms {
-      type string;
-      config false;
-      description
-        "Device.XMPP.SupportedServerConnectAlgorithms";
-      reference
-        "Device.XMPP.SupportedServerConnectAlgorithms";
-    }
-  }
-
-  grouping xmpp-connection-g {
-    description
-      "Grouping object for Device.XMPP.Connection.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.XMPP.Connection.{i}.Enable";
-      reference
-        "Device.XMPP.Connection.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.XMPP.Connection.{i}.Alias";
-      reference
-        "Device.XMPP.Connection.{i}.Alias";
-    }
-    leaf username {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.XMPP.Connection.{i}.Username";
-      reference
-        "Device.XMPP.Connection.{i}.Username";
-    }
-    leaf domain {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.XMPP.Connection.{i}.Domain";
-      reference
-        "Device.XMPP.Connection.{i}.Domain";
-    }
-    leaf resource {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.XMPP.Connection.{i}.Resource";
-      reference
-        "Device.XMPP.Connection.{i}.Resource";
-    }
-    leaf jabber-id {
-      type string;
-      config false;
-      description
-        "Device.XMPP.Connection.{i}.JabberID";
-      reference
-        "Device.XMPP.Connection.{i}.JabberID";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.XMPP.Connection.{i}.Status";
-      reference
-        "Device.XMPP.Connection.{i}.Status";
-    }
-    leaf last-change-date {
-      type string;
-      config false;
-      description
-        "Device.XMPP.Connection.{i}.LastChangeDate";
-      reference
-        "Device.XMPP.Connection.{i}.LastChangeDate";
-    }
-    leaf server-connect-algorithm {
-      type string;
-      description
-        "Device.XMPP.Connection.{i}.ServerConnectAlgorithm";
-      reference
-        "Device.XMPP.Connection.{i}.ServerConnectAlgorithm";
-    }
-    leaf keep-alive-interval {
-      type int32 {
-        range "-1..max";
-      }
-      description
-        "Device.XMPP.Connection.{i}.KeepAliveInterval";
-      reference
-        "Device.XMPP.Connection.{i}.KeepAliveInterval";
-    }
-    leaf server-connect-attempts {
-      type uint32;
-      description
-        "Device.XMPP.Connection.{i}.ServerConnectAttempts";
-      reference
-        "Device.XMPP.Connection.{i}.ServerConnectAttempts";
-    }
-    leaf server-retry-initial-interval {
-      type uint32 {
-        range "1..65535";
-      }
-      description
-        "Device.XMPP.Connection.{i}.ServerRetryInitialInterval";
-      reference
-        "Device.XMPP.Connection.{i}.ServerRetryInitialInterval";
-    }
-    leaf server-retry-interval-multiplier {
-      type uint32 {
-        range "1000..65535";
-      }
-      description
-        "Device.XMPP.Connection.{i}.ServerRetryIntervalMultiplier";
-      reference
-        "Device.XMPP.Connection.{i}.ServerRetryIntervalMultiplier";
-    }
-    leaf server-retry-max-interval {
-      type uint32 {
-        range "1..max";
-      }
-      description
-        "Device.XMPP.Connection.{i}.ServerRetryMaxInterval";
-      reference
-        "Device.XMPP.Connection.{i}.ServerRetryMaxInterval";
-    }
-    leaf use-tls {
-      type boolean;
-      description
-        "Device.XMPP.Connection.{i}.UseTLS";
-      reference
-        "Device.XMPP.Connection.{i}.UseTLS";
-    }
-    leaf tls-established {
-      type boolean;
-      config false;
-      description
-        "Device.XMPP.Connection.{i}.TLSEstablished";
-      reference
-        "Device.XMPP.Connection.{i}.TLSEstablished";
-    }
-    leaf server-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.XMPP.Connection.{i}.ServerNumberOfEntries";
-      reference
-        "Device.XMPP.Connection.{i}.ServerNumberOfEntries";
-    }
-  }
-
-  grouping connection-server-g {
-    description
-      "Grouping object for Device.XMPP.Connection.{i}.Server.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.XMPP.Connection.{i}.Server.{i}.Enable";
-      reference
-        "Device.XMPP.Connection.{i}.Server.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.XMPP.Connection.{i}.Server.{i}.Alias";
-      reference
-        "Device.XMPP.Connection.{i}.Server.{i}.Alias";
-    }
-    leaf priority {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.XMPP.Connection.{i}.Server.{i}.Priority";
-      reference
-        "Device.XMPP.Connection.{i}.Server.{i}.Priority";
-    }
-    leaf weight {
-      type int32 {
-        range "-1..65535";
-      }
-      description
-        "Device.XMPP.Connection.{i}.Server.{i}.Weight";
-      reference
-        "Device.XMPP.Connection.{i}.Server.{i}.Weight";
-    }
-    leaf server-address {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.XMPP.Connection.{i}.Server.{i}.ServerAddress";
-      reference
-        "Device.XMPP.Connection.{i}.Server.{i}.ServerAddress";
-    }
-    leaf port {
-      type uint32 {
-        range "0..65535";
-      }
-      description
-        "Device.XMPP.Connection.{i}.Server.{i}.Port";
-      reference
-        "Device.XMPP.Connection.{i}.Server.{i}.Port";
-    }
-  }
-
-  grouping connection-stats-g {
-    description
-      "Grouping object for Device.XMPP.Connection.{i}.Stats.";
-    leaf received-messages {
-      type uint32;
-      config false;
-      description
-        "Device.XMPP.Connection.{i}.Stats.ReceivedMessages";
-      reference
-        "Device.XMPP.Connection.{i}.Stats.ReceivedMessages";
-    }
-    leaf transmitted-messages {
-      type uint32;
-      config false;
-      description
-        "Device.XMPP.Connection.{i}.Stats.TransmittedMessages";
-      reference
-        "Device.XMPP.Connection.{i}.Stats.TransmittedMessages";
-    }
-    leaf received-error-messages {
-      type uint32;
-      config false;
-      description
-        "Device.XMPP.Connection.{i}.Stats.ReceivedErrorMessages";
-      reference
-        "Device.XMPP.Connection.{i}.Stats.ReceivedErrorMessages";
-    }
-    leaf transmitted-error-messages {
-      type uint32;
-      config false;
-      description
-        "Device.XMPP.Connection.{i}.Stats.TransmittedErrorMessages";
-      reference
-        "Device.XMPP.Connection.{i}.Stats.TransmittedErrorMessages";
-    }
-  }
-
-  grouping device-zig-bee-g {
-    description
-      "Grouping object for Device.ZigBee.";
-    leaf interface-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.InterfaceNumberOfEntries";
-      reference
-        "Device.ZigBee.InterfaceNumberOfEntries";
-    }
-    leaf zdo-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDONumberOfEntries";
-      reference
-        "Device.ZigBee.ZDONumberOfEntries";
-    }
-  }
-
-  grouping zig-bee-discovery-g {
-    description
-      "Grouping object for Device.ZigBee.Discovery.";
-    leaf area-network-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Discovery.AreaNetworkNumberOfEntries";
-      reference
-        "Device.ZigBee.Discovery.AreaNetworkNumberOfEntries";
-    }
-  }
-
-  grouping discovery-area-network-g {
-    description
-      "Grouping object for Device.ZigBee.Discovery.AreaNetwork.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.Enable";
-      reference
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.Enable";
-    }
-    leaf last-update {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.LastUpdate";
-      reference
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.LastUpdate";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.Status";
-      reference
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.Alias";
-      reference
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.Alias";
-    }
-    leaf coordinator {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.Coordinator";
-      reference
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.Coordinator";
-    }
-    leaf zdo-reference {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.ZDOReference";
-      reference
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.ZDOReference";
-    }
-    leaf zdo-list {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.ZDOList";
-      reference
-        "Device.ZigBee.Discovery.AreaNetwork.{i}.ZDOList";
-    }
-  }
-
-  grouping zig-bee-interface-g {
-    description
-      "Grouping object for Device.ZigBee.Interface.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ZigBee.Interface.{i}.Enable";
-      reference
-        "Device.ZigBee.Interface.{i}.Enable";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Status";
-      reference
-        "Device.ZigBee.Interface.{i}.Status";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ZigBee.Interface.{i}.Alias";
-      reference
-        "Device.ZigBee.Interface.{i}.Alias";
-    }
-    leaf name {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Name";
-      reference
-        "Device.ZigBee.Interface.{i}.Name";
-    }
-    leaf last-change {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.LastChange";
-      reference
-        "Device.ZigBee.Interface.{i}.LastChange";
-    }
-    leaf lower-layers {
-      type string {
-        length "min..1024";
-      }
-      description
-        "Device.ZigBee.Interface.{i}.LowerLayers";
-      reference
-        "Device.ZigBee.Interface.{i}.LowerLayers";
-    }
-    leaf ieee-address {
-      type string {
-        length "min..23";
-      }
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.IEEEAddress";
-      reference
-        "Device.ZigBee.Interface.{i}.IEEEAddress";
-    }
-    leaf network-address {
-      type string {
-        length "min..4";
-      }
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.NetworkAddress";
-      reference
-        "Device.ZigBee.Interface.{i}.NetworkAddress";
-    }
-    leaf zdo-reference {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.ZDOReference";
-      reference
-        "Device.ZigBee.Interface.{i}.ZDOReference";
-    }
-    leaf associated-device-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.AssociatedDeviceNumberOfEntries";
-      reference
-        "Device.ZigBee.Interface.{i}.AssociatedDeviceNumberOfEntries";
-    }
-  }
-
-  grouping zig-bee-interface-associated-device-g {
-    description
-      "Grouping object for Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf ieee-address {
-      type string {
-        length "min..23";
-      }
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.IEEEAddress";
-      reference
-        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.IEEEAddress";
-    }
-    leaf network-address {
-      type string {
-        length "min..4";
-      }
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.NetworkAddress";
-      reference
-        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.NetworkAddress";
-    }
-    leaf active {
-      type boolean;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.Active";
-      reference
-        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.Active";
-    }
-    leaf zdo-reference {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.ZDOReference";
-      reference
-        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.ZDOReference";
-    }
-  }
-
-  grouping zig-bee-interface-stats-g {
-    description
-      "Grouping object for Device.ZigBee.Interface.{i}.Stats.";
-    leaf bytes-sent {
-      type uint64;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.BytesSent";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.BytesSent";
-    }
-    leaf bytes-received {
-      type uint64;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.BytesReceived";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.BytesReceived";
-    }
-    leaf packets-sent {
-      type uint64;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.PacketsSent";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.PacketsSent";
-    }
-    leaf packets-received {
-      type uint64;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.PacketsReceived";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.PacketsReceived";
-    }
-    leaf errors-sent {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.ErrorsSent";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.ErrorsSent";
-    }
-    leaf errors-received {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.ErrorsReceived";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.ErrorsReceived";
-    }
-    leaf unicast-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.UnicastPacketsSent";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.UnicastPacketsSent";
-    }
-    leaf unicast-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.UnicastPacketsReceived";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.UnicastPacketsReceived";
-    }
-    leaf discard-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.DiscardPacketsSent";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.DiscardPacketsSent";
-    }
-    leaf discard-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.DiscardPacketsReceived";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.DiscardPacketsReceived";
-    }
-    leaf multicast-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.MulticastPacketsSent";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.MulticastPacketsSent";
-    }
-    leaf multicast-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.MulticastPacketsReceived";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.MulticastPacketsReceived";
-    }
-    leaf broadcast-packets-sent {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.BroadcastPacketsSent";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.BroadcastPacketsSent";
-    }
-    leaf broadcast-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.BroadcastPacketsReceived";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.BroadcastPacketsReceived";
-    }
-    leaf unknown-packets-received {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.Interface.{i}.Stats.UnknownPacketsReceived";
-      reference
-        "Device.ZigBee.Interface.{i}.Stats.UnknownPacketsReceived";
-    }
-  }
-
-  grouping zig-bee-zdo-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Alias";
-      reference
-        "Device.ZigBee.ZDO.{i}.Alias";
-    }
-    leaf ieee-address {
-      type string {
-        length "min..23";
-      }
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.IEEEAddress";
-      reference
-        "Device.ZigBee.ZDO.{i}.IEEEAddress";
-    }
-    leaf network-address {
-      type string {
-        length "min..4";
-      }
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NetworkAddress";
-      reference
-        "Device.ZigBee.ZDO.{i}.NetworkAddress";
-    }
-    leaf binding-table-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.BindingTableNumberOfEntries";
-      reference
-        "Device.ZigBee.ZDO.{i}.BindingTableNumberOfEntries";
-    }
-    leaf group-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.GroupNumberOfEntries";
-      reference
-        "Device.ZigBee.ZDO.{i}.GroupNumberOfEntries";
-    }
-    leaf application-endpoint-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpointNumberOfEntries";
-      reference
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpointNumberOfEntries";
-    }
-  }
-
-  grouping zdo-application-endpoint-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.Enable";
-      reference
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.Alias";
-      reference
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.Alias";
-    }
-    leaf endpoint-id {
-      type uint32 {
-        range "min..240";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.EndpointId";
-      reference
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.EndpointId";
-    }
-  }
-
-  grouping application-endpoint-simple-descriptor-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.";
-    leaf profile-id {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.ProfileId";
-      reference
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.ProfileId";
-    }
-    leaf device-id {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.DeviceId";
-      reference
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.DeviceId";
-    }
-    leaf device-version {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.DeviceVersion";
-      reference
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.DeviceVersion";
-    }
-    leaf input-cluster-list {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.InputClusterList";
-      reference
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.InputClusterList";
-    }
-    leaf output-cluster-list {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.OutputClusterList";
-      reference
-        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.OutputClusterList";
-    }
-  }
-
-  grouping zdo-binding-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.Binding.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.Enable";
-      reference
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.Alias";
-      reference
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.Alias";
-    }
-    leaf source-endpoint {
-      type uint32 {
-        range "min..240";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.SourceEndpoint";
-      reference
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.SourceEndpoint";
-    }
-    leaf source-address {
-      type string {
-        length "min..23";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.SourceAddress";
-      reference
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.SourceAddress";
-    }
-    leaf cluster-id {
-      type uint32 {
-        range "min..65535";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.ClusterId";
-      reference
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.ClusterId";
-    }
-    leaf destination-address-mode {
-      type enumeration {
-        enum Group {
-          description
-            "Enum Value - Group";
-        }
-        enum Endpoint {
-          description
-            "Enum Value - Endpoint";
-        }
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.DestinationAddressMode";
-      reference
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.DestinationAddressMode";
-    }
-    leaf destination-endpoint {
-      type uint32 {
-        range "min..240";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.DestinationEndpoint";
-      reference
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.DestinationEndpoint";
-    }
-    leaf ieee-destination-address {
-      type string {
-        length "min..23";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.IEEEDestinationAddress";
-      reference
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.IEEEDestinationAddress";
-    }
-    leaf group-destination-address {
-      type string {
-        length "min..4";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.GroupDestinationAddress";
-      reference
-        "Device.ZigBee.ZDO.{i}.Binding.{i}.GroupDestinationAddress";
-    }
-  }
-
-  grouping zdo-complex-descriptor-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.ComplexDescriptor.";
-    leaf descriptor-available {
-      type boolean;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.DescriptorAvailable";
-      reference
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.DescriptorAvailable";
-    }
-    leaf language {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.Language";
-      reference
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.Language";
-    }
-    leaf character-set {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.CharacterSet";
-      reference
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.CharacterSet";
-    }
-    leaf manufacturer-name {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.ManufacturerName";
-      reference
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.ManufacturerName";
-    }
-    leaf model-name {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.ModelName";
-      reference
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.ModelName";
-    }
-    leaf serial-number {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.SerialNumber";
-      reference
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.SerialNumber";
-    }
-    leaf device-url {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.DeviceURL";
-      reference
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.DeviceURL";
-    }
-    leaf icon {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.Icon";
-      reference
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.Icon";
-    }
-    leaf icon-url {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.IconURL";
-      reference
-        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.IconURL";
-    }
-  }
-
-  grouping zdo-group-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.Group.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf enable {
-      type boolean;
-      description
-        "Device.ZigBee.ZDO.{i}.Group.{i}.Enable";
-      reference
-        "Device.ZigBee.ZDO.{i}.Group.{i}.Enable";
-    }
-    leaf alias {
-      type string {
-        length "min..64";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Group.{i}.Alias";
-      reference
-        "Device.ZigBee.ZDO.{i}.Group.{i}.Alias";
-    }
-    leaf group-id {
-      type string {
-        length "min..4";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Group.{i}.GroupId";
-      reference
-        "Device.ZigBee.ZDO.{i}.Group.{i}.GroupId";
-    }
-    leaf endpoint-list {
-      type string {
-        length "min..256";
-      }
-      description
-        "Device.ZigBee.ZDO.{i}.Group.{i}.EndpointList";
-      reference
-        "Device.ZigBee.ZDO.{i}.Group.{i}.EndpointList";
-    }
-  }
-
-  grouping zdo-network-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.Network.";
-    leaf neighbor-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.Network.NeighborNumberOfEntries";
-      reference
-        "Device.ZigBee.ZDO.{i}.Network.NeighborNumberOfEntries";
-    }
-  }
-
-  grouping network-neighbor-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf neighbor {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Neighbor";
-      reference
-        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Neighbor";
-    }
-    leaf lqi {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.LQI";
-      reference
-        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.LQI";
-    }
-    leaf relationship {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Relationship";
-      reference
-        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Relationship";
-    }
-    leaf permit-join {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.PermitJoin";
-      reference
-        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.PermitJoin";
-    }
-    leaf depth {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Depth";
-      reference
-        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Depth";
-    }
-  }
-
-  grouping zdo-node-descriptor-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.NodeDescriptor.";
-    leaf logical-type {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.LogicalType";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.LogicalType";
-    }
-    leaf complex-descriptor-supported {
-      type boolean;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ComplexDescriptorSupported";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ComplexDescriptorSupported";
-    }
-    leaf user-descriptor-supported {
-      type boolean;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.UserDescriptorSupported";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.UserDescriptorSupported";
-    }
-    leaf frequency-band {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.FrequencyBand";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.FrequencyBand";
-    }
-    leaf mac-capability {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MACCapability";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MACCapability";
-    }
-    leaf manufacture-code {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ManufactureCode";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ManufactureCode";
-    }
-    leaf maximum-buffer-size {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumBufferSize";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumBufferSize";
-    }
-    leaf maximum-incoming-transfer-size {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumIncomingTransferSize";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumIncomingTransferSize";
-    }
-    leaf maximum-outgoing-transfer-size {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumOutgoingTransferSize";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumOutgoingTransferSize";
-    }
-    leaf server-mask {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ServerMask";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ServerMask";
-    }
-    leaf descriptor-capability {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.DescriptorCapability";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeDescriptor.DescriptorCapability";
-    }
-  }
-
-  grouping zdo-node-manager-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.NodeManager.";
-    leaf routing-table-number-of-entries {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTableNumberOfEntries";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTableNumberOfEntries";
-    }
-  }
-
-  grouping node-manager-routing-table-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.";
-    leaf index {
-      type uint16;
-      description
-        "Index attribute";
-    }
-    leaf destination-address {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.DestinationAddress";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.DestinationAddress";
-    }
-    leaf next-hop-address {
-      type string {
-        length "min..4";
-      }
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.NextHopAddress";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.NextHopAddress";
-    }
-    leaf status {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.Status";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.Status";
-    }
-    leaf memory-constrained {
-      type boolean;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.MemoryConstrained";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.MemoryConstrained";
-    }
-    leaf many-to-one {
-      type boolean;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.ManyToOne";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.ManyToOne";
-    }
-    leaf route-record-required {
-      type boolean;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.RouteRecordRequired";
-      reference
-        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.RouteRecordRequired";
-    }
-  }
-
-  grouping zdo-power-descriptor-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.PowerDescriptor.";
-    leaf current-power-mode {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerMode";
-      reference
-        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerMode";
-    }
-    leaf available-power-source {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.PowerDescriptor.AvailablePowerSource";
-      reference
-        "Device.ZigBee.ZDO.{i}.PowerDescriptor.AvailablePowerSource";
-    }
-    leaf current-power-source {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerSource";
-      reference
-        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerSource";
-    }
-    leaf current-power-source-level {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerSourceLevel";
-      reference
-        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerSourceLevel";
-    }
-  }
-
-  grouping zdo-security-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.Security.";
-    leaf trust-center-address {
-      type string {
-        length "min..23";
-      }
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.Security.TrustCenterAddress";
-      reference
-        "Device.ZigBee.ZDO.{i}.Security.TrustCenterAddress";
-    }
-    leaf security-level {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.Security.SecurityLevel";
-      reference
-        "Device.ZigBee.ZDO.{i}.Security.SecurityLevel";
-    }
-    leaf time-out-period {
-      type uint32;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.Security.TimeOutPeriod";
-      reference
-        "Device.ZigBee.ZDO.{i}.Security.TimeOutPeriod";
-    }
-  }
-
-  grouping zdo-user-descriptor-g {
-    description
-      "Grouping object for Device.ZigBee.ZDO.{i}.UserDescriptor.";
-    leaf descriptor-available {
-      type boolean;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.UserDescriptor.DescriptorAvailable";
-      reference
-        "Device.ZigBee.ZDO.{i}.UserDescriptor.DescriptorAvailable";
-    }
-    leaf description {
-      type string;
-      config false;
-      description
-        "Device.ZigBee.ZDO.{i}.UserDescriptor.Description";
-      reference
-        "Device.ZigBee.ZDO.{i}.UserDescriptor.Description";
-    }
-  }
-
-  grouping atm-diagnostics-g {
-    description
-      "Grouping object";
-  }
-
-  grouping device-dlna-g {
-    description
-      "Grouping object";
-  }
-
-  grouping dns-diagnostics-g {
-    description
-      "Grouping object";
-  }
-
-  grouping bonded-channel-ethernet-g {
-    description
-      "Grouping object";
-  }
-
-  grouping bonding-group-ethernet-g {
-    description
-      "Grouping object";
-  }
-
-  grouping dsl-diagnostics-g {
-    description
-      "Grouping object";
-  }
-
-  grouping device-fap-g {
-    description
-      "Grouping object";
-  }
-
-  grouping ghn-diagnostics-g {
-    description
-      "Grouping object";
-  }
-
-  grouping hpna-diagnostics-g {
-    description
-      "Grouping object";
-  }
-
-  grouping device-lan-config-security-g {
-    description
-      "Grouping object";
-  }
-
-  grouping device-lldp-g {
-    description
-      "Grouping object";
-  }
-
-  grouping management-server-download-availability-g {
-    description
-      "Grouping object";
-  }
-
-  grouping interface-pp-po-a-g {
-    description
-      "Grouping object";
-  }
-
-  grouping device-services-g {
-    description
-      "Grouping object";
-  }
-
-  grouping execution-unit-extensions-g {
-    description
-      "Grouping object";
-  }
-
-  grouping upa-diagnostics-g {
-    description
-      "Grouping object";
-  }
-
-  grouping device-u-pn-p-g {
-    description
-      "Grouping object";
-  }
-
-  container device {
-    description
-      "Container for object class Device.";
-    reference
-      "Device.";
-    uses device-g;
-    container atm {
-      description
-        "Container for object class Device.ATM.";
-      reference
-        "Device.ATM.";
-      uses device-atm-g;
-      container diagnostics {
-        description
-          "Container for object class Device.ATM.Diagnostics.";
-        reference
-          "Device.ATM.Diagnostics.";
-        uses atm-diagnostics-g;
-        container f5-loopback {
-          description
-            "Container for object class Device.ATM.Diagnostics.F5Loopback.";
-          reference
-            "Device.ATM.Diagnostics.F5Loopback.";
-          uses diagnostics-f5-loopback-g;
-        }
-      }
-      list link {
-        key "index";
-        description
-          "Device.ATM.Link.{i}.";
-        reference
-          "Device.ATM.Link.{i}.";
-        uses atm-link-g;
-        container qo-s {
-          description
-            "Container for object class Device.ATM.Link.{i}.QoS.";
-          reference
-            "Device.ATM.Link.{i}.QoS.";
-          uses link-qo-s-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.ATM.Link.{i}.Stats.";
-          reference
-            "Device.ATM.Link.{i}.Stats.";
-          uses link-stats-g;
-        }
-      }
-    }
-    container basapm {
-      description
-        "Container for object class Device.BASAPM.";
-      reference
-        "Device.BASAPM.";
-      uses device-basapm-g;
-      list measurement-endpoint {
-        key "index";
-        description
-          "Device.BASAPM.MeasurementEndpoint.{i}.";
-        reference
-          "Device.BASAPM.MeasurementEndpoint.{i}.";
-        uses basapm-measurement-endpoint-g;
-        container customer-device {
-          description
-            "Container for object class Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.";
-          reference
-            "Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.";
-          uses measurement-endpoint-customer-device-g;
-        }
-        container isp-device {
-          description
-            "Container for object class Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.";
-          reference
-            "Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.";
-          uses measurement-endpoint-isp-device-g;
-        }
-      }
-    }
-    container bridging {
-      description
-        "Container for object class Device.Bridging.";
-      reference
-        "Device.Bridging.";
-      uses device-bridging-g;
-      list bridge {
-        key "index";
-        description
-          "Device.Bridging.Bridge.{i}.";
-        reference
-          "Device.Bridging.Bridge.{i}.";
-        uses bridging-bridge-g;
-        list port {
-          key "index";
-          description
-            "Device.Bridging.Bridge.{i}.Port.{i}.";
-          reference
-            "Device.Bridging.Bridge.{i}.Port.{i}.";
-          uses bridge-port-g;
-          container priority-code-point {
-            description
-              "Container for object class Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.";
-            reference
-              "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.";
-            uses port-priority-code-point-g;
-          }
-          container stats {
-            description
-              "Container for object class Device.Bridging.Bridge.{i}.Port.{i}.Stats.";
-            reference
-              "Device.Bridging.Bridge.{i}.Port.{i}.Stats.";
-            uses port-stats-g;
-          }
-        }
-        list vlan {
-          key "index";
-          description
-            "Device.Bridging.Bridge.{i}.VLAN.{i}.";
-          reference
-            "Device.Bridging.Bridge.{i}.VLAN.{i}.";
-          uses bridge-vlan-g;
-        }
-        list vlan-port {
-          key "index";
-          description
-            "Device.Bridging.Bridge.{i}.VLANPort.{i}.";
-          reference
-            "Device.Bridging.Bridge.{i}.VLANPort.{i}.";
-          uses bridge-vlan-port-g;
-        }
-      }
-      list filter {
-        key "index";
-        description
-          "Device.Bridging.Filter.{i}.";
-        reference
-          "Device.Bridging.Filter.{i}.";
-        uses bridging-filter-g;
-      }
-      list provider-bridge {
-        key "index";
-        description
-          "Device.Bridging.ProviderBridge.{i}.";
-        reference
-          "Device.Bridging.ProviderBridge.{i}.";
-        uses bridging-provider-bridge-g;
-      }
-    }
-    container bulk-data {
-      description
-        "Container for object class Device.BulkData.";
-      reference
-        "Device.BulkData.";
-      uses device-bulk-data-g;
-      list profile {
-        key "index";
-        description
-          "Device.BulkData.Profile.{i}.";
-        reference
-          "Device.BulkData.Profile.{i}.";
-        uses bulk-data-profile-g;
-        container csv-encoding {
-          description
-            "Container for object class Device.BulkData.Profile.{i}.CSVEncoding.";
-          reference
-            "Device.BulkData.Profile.{i}.CSVEncoding.";
-          uses profile-csv-encoding-g;
-        }
-        container http {
-          description
-            "Container for object class Device.BulkData.Profile.{i}.HTTP.";
-          reference
-            "Device.BulkData.Profile.{i}.HTTP.";
-          uses profile-http-g;
-          list request-uri-parameter {
-            key "index";
-            description
-              "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.";
-            reference
-              "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.";
-            uses http-request-uri-parameter-g;
-          }
-        }
-        container json-encoding {
-          description
-            "Container for object class Device.BulkData.Profile.{i}.JSONEncoding.";
-          reference
-            "Device.BulkData.Profile.{i}.JSONEncoding.";
-          uses profile-json-encoding-g;
-        }
-        list parameter {
-          key "index";
-          description
-            "Device.BulkData.Profile.{i}.Parameter.{i}.";
-          reference
-            "Device.BulkData.Profile.{i}.Parameter.{i}.";
-          uses profile-parameter-g;
-        }
-      }
-    }
-    container captive-portal {
-      description
-        "Container for object class Device.CaptivePortal.";
-      reference
-        "Device.CaptivePortal.";
-      uses device-captive-portal-g;
-    }
-    container cellular {
-      description
-        "Container for object class Device.Cellular.";
-      reference
-        "Device.Cellular.";
-      uses device-cellular-g;
-      list access-point {
-        key "index";
-        description
-          "Device.Cellular.AccessPoint.{i}.";
-        reference
-          "Device.Cellular.AccessPoint.{i}.";
-        uses cellular-access-point-g;
-      }
-      list interface {
-        key "index";
-        description
-          "Device.Cellular.Interface.{i}.";
-        reference
-          "Device.Cellular.Interface.{i}.";
-        uses cellular-interface-g;
-        container stats {
-          description
-            "Container for object class Device.Cellular.Interface.{i}.Stats.";
-          reference
-            "Device.Cellular.Interface.{i}.Stats.";
-          uses interface-stats-g;
-        }
-        container usim {
-          description
-            "Container for object class Device.Cellular.Interface.{i}.USIM.";
-          reference
-            "Device.Cellular.Interface.{i}.USIM.";
-          uses interface-usim-g;
-        }
-      }
-    }
-    container dhcpv4 {
-      description
-        "Container for object class Device.DHCPv4.";
-      reference
-        "Device.DHCPv4.";
-      uses device-dhcpv4-g;
-      list client {
-        key "index";
-        description
-          "Device.DHCPv4.Client.{i}.";
-        reference
-          "Device.DHCPv4.Client.{i}.";
-        uses dhcpv4-client-g;
-        list req-option {
-          key "index";
-          description
-            "Device.DHCPv4.Client.{i}.ReqOption.{i}.";
-          reference
-            "Device.DHCPv4.Client.{i}.ReqOption.{i}.";
-          uses client-req-option-g;
-        }
-        list sent-option {
-          key "index";
-          description
-            "Device.DHCPv4.Client.{i}.SentOption.{i}.";
-          reference
-            "Device.DHCPv4.Client.{i}.SentOption.{i}.";
-          uses client-sent-option-g;
-        }
-      }
-      container relay {
-        description
-          "Container for object class Device.DHCPv4.Relay.";
-        reference
-          "Device.DHCPv4.Relay.";
-        uses dhcpv4-relay-g;
-        list forwarding {
-          key "index";
-          description
-            "Device.DHCPv4.Relay.Forwarding.{i}.";
-          reference
-            "Device.DHCPv4.Relay.Forwarding.{i}.";
-          uses relay-forwarding-g;
-        }
-      }
-      container server {
-        description
-          "Container for object class Device.DHCPv4.Server.";
-        reference
-          "Device.DHCPv4.Server.";
-        uses dhcpv4-server-g;
-        list pool {
-          key "index";
-          description
-            "Device.DHCPv4.Server.Pool.{i}.";
-          reference
-            "Device.DHCPv4.Server.Pool.{i}.";
-          uses server-pool-g;
-          list client {
-            key "index";
-            description
-              "Device.DHCPv4.Server.Pool.{i}.Client.{i}.";
-            reference
-              "Device.DHCPv4.Server.Pool.{i}.Client.{i}.";
-            uses pool-client-g;
-            list ipv4-address {
-              key "index";
-              description
-                "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.";
-              reference
-                "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.";
-              uses client-ipv4-address-g;
-            }
-            list option {
-              key "index";
-              description
-                "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.";
-              reference
-                "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.";
-              uses client-option-g;
-            }
-          }
-          list option {
-            key "index";
-            description
-              "Device.DHCPv4.Server.Pool.{i}.Option.{i}.";
-            reference
-              "Device.DHCPv4.Server.Pool.{i}.Option.{i}.";
-            uses pool-option-g;
-          }
-          list static-address {
-            key "index";
-            description
-              "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.";
-            reference
-              "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.";
-            uses pool-static-address-g;
-          }
-        }
-      }
-    }
-    container dhcpv6 {
-      description
-        "Container for object class Device.DHCPv6.";
-      reference
-        "Device.DHCPv6.";
-      uses device-dhcpv6-g;
-      list client {
-        key "index";
-        description
-          "Device.DHCPv6.Client.{i}.";
-        reference
-          "Device.DHCPv6.Client.{i}.";
-        uses dhcpv6-client-g;
-        list received-option {
-          key "index";
-          description
-            "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.";
-          reference
-            "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.";
-          uses client-received-option-g;
-        }
-        list sent-option {
-          key "index";
-          description
-            "Device.DHCPv6.Client.{i}.SentOption.{i}.";
-          reference
-            "Device.DHCPv6.Client.{i}.SentOption.{i}.";
-          uses dhcpv6-client-sent-option-g;
-        }
-        list server {
-          key "index";
-          description
-            "Device.DHCPv6.Client.{i}.Server.{i}.";
-          reference
-            "Device.DHCPv6.Client.{i}.Server.{i}.";
-          uses client-server-g;
-        }
-      }
-      container server {
-        description
-          "Container for object class Device.DHCPv6.Server.";
-        reference
-          "Device.DHCPv6.Server.";
-        uses dhcpv6-server-g;
-        list pool {
-          key "index";
-          description
-            "Device.DHCPv6.Server.Pool.{i}.";
-          reference
-            "Device.DHCPv6.Server.Pool.{i}.";
-          uses dhcpv6-server-pool-g;
-          list client {
-            key "index";
-            description
-              "Device.DHCPv6.Server.Pool.{i}.Client.{i}.";
-            reference
-              "Device.DHCPv6.Server.Pool.{i}.Client.{i}.";
-            uses server-pool-client-g;
-            list ipv6-address {
-              key "index";
-              description
-                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.";
-              reference
-                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.";
-              uses client-ipv6-address-g;
-            }
-            list ipv6-prefix {
-              key "index";
-              description
-                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.";
-              reference
-                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.";
-              uses client-ipv6-prefix-g;
-            }
-            list option {
-              key "index";
-              description
-                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.";
-              reference
-                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.";
-              uses pool-client-option-g;
-            }
-          }
-          list option {
-            key "index";
-            description
-              "Device.DHCPv6.Server.Pool.{i}.Option.{i}.";
-            reference
-              "Device.DHCPv6.Server.Pool.{i}.Option.{i}.";
-            uses server-pool-option-g;
-          }
-        }
-      }
-    }
-    container dlna {
-      description
-        "Container for object class Device.DLNA.";
-      reference
-        "Device.DLNA.";
-      uses device-dlna-g;
-      container capabilities {
-        description
-          "Container for object class Device.DLNA.Capabilities.";
-        reference
-          "Device.DLNA.Capabilities.";
-        uses dlna-capabilities-g;
-      }
-    }
-    container dns {
-      description
-        "Container for object class Device.DNS.";
-      reference
-        "Device.DNS.";
-      uses device-dns-g;
-      container client {
-        description
-          "Container for object class Device.DNS.Client.";
-        reference
-          "Device.DNS.Client.";
-        uses dns-client-g;
-        list server {
-          key "index";
-          description
-            "Device.DNS.Client.Server.{i}.";
-          reference
-            "Device.DNS.Client.Server.{i}.";
-          uses dns-client-server-g;
-        }
-      }
-      container diagnostics {
-        description
-          "Container for object class Device.DNS.Diagnostics.";
-        reference
-          "Device.DNS.Diagnostics.";
-        uses dns-diagnostics-g;
-        container ns-lookup-diagnostics {
-          description
-            "Container for object class Device.DNS.Diagnostics.NSLookupDiagnostics.";
-          reference
-            "Device.DNS.Diagnostics.NSLookupDiagnostics.";
-          uses diagnostics-ns-lookup-diagnostics-g;
-          list result {
-            key "index";
-            description
-              "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.";
-            reference
-              "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.";
-            uses ns-lookup-diagnostics-result-g;
-          }
-        }
-      }
-      container relay {
-        description
-          "Container for object class Device.DNS.Relay.";
-        reference
-          "Device.DNS.Relay.";
-        uses dns-relay-g;
-        list forwarding {
-          key "index";
-          description
-            "Device.DNS.Relay.Forwarding.{i}.";
-          reference
-            "Device.DNS.Relay.Forwarding.{i}.";
-          uses dns-relay-forwarding-g;
-        }
-      }
-      container sd {
-        description
-          "Container for object class Device.DNS.SD.";
-        reference
-          "Device.DNS.SD.";
-        uses dns-sd-g;
-        list service {
-          key "index";
-          description
-            "Device.DNS.SD.Service.{i}.";
-          reference
-            "Device.DNS.SD.Service.{i}.";
-          uses sd-service-g;
-          list text-record {
-            key "index";
-            description
-              "Device.DNS.SD.Service.{i}.TextRecord.{i}.";
-            reference
-              "Device.DNS.SD.Service.{i}.TextRecord.{i}.";
-            uses service-text-record-g;
-          }
-        }
-      }
-    }
-    container dsl {
-      description
-        "Container for object class Device.DSL.";
-      reference
-        "Device.DSL.";
-      uses device-dsl-g;
-      list bonding-group {
-        key "index";
-        description
-          "Device.DSL.BondingGroup.{i}.";
-        reference
-          "Device.DSL.BondingGroup.{i}.";
-        uses dsl-bonding-group-g;
-        list bonded-channel {
-          key "index";
-          description
-            "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.";
-          reference
-            "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.";
-          uses bonding-group-bonded-channel-g;
-          container ethernet {
-            description
-              "Container for object class Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.";
-            reference
-              "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.";
-            uses bonded-channel-ethernet-g;
-            container stats {
-              description
-                "Container for object class Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.";
-              reference
-                "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.";
-              uses ethernet-stats-g;
-            }
-          }
-        }
-        container ethernet {
-          description
-            "Container for object class Device.DSL.BondingGroup.{i}.Ethernet.";
-          reference
-            "Device.DSL.BondingGroup.{i}.Ethernet.";
-          uses bonding-group-ethernet-g;
-          container stats {
-            description
-              "Container for object class Device.DSL.BondingGroup.{i}.Ethernet.Stats.";
-            reference
-              "Device.DSL.BondingGroup.{i}.Ethernet.Stats.";
-            uses bonding-group-ethernet-stats-g;
-          }
-        }
-        container stats {
-          description
-            "Container for object class Device.DSL.BondingGroup.{i}.Stats.";
-          reference
-            "Device.DSL.BondingGroup.{i}.Stats.";
-          uses bonding-group-stats-g;
-          container current-day {
-            description
-              "Container for object class Device.DSL.BondingGroup.{i}.Stats.CurrentDay.";
-            reference
-              "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.";
-            uses stats-current-day-g;
-          }
-          container quarter-hour {
-            description
-              "Container for object class Device.DSL.BondingGroup.{i}.Stats.QuarterHour.";
-            reference
-              "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.";
-            uses stats-quarter-hour-g;
-          }
-          container total {
-            description
-              "Container for object class Device.DSL.BondingGroup.{i}.Stats.Total.";
-            reference
-              "Device.DSL.BondingGroup.{i}.Stats.Total.";
-            uses stats-total-g;
-          }
-        }
-      }
-      list channel {
-        key "index";
-        description
-          "Device.DSL.Channel.{i}.";
-        reference
-          "Device.DSL.Channel.{i}.";
-        uses dsl-channel-g;
-        container stats {
-          description
-            "Container for object class Device.DSL.Channel.{i}.Stats.";
-          reference
-            "Device.DSL.Channel.{i}.Stats.";
-          uses channel-stats-g;
-          container current-day {
-            description
-              "Container for object class Device.DSL.Channel.{i}.Stats.CurrentDay.";
-            reference
-              "Device.DSL.Channel.{i}.Stats.CurrentDay.";
-            uses channel-stats-current-day-g;
-          }
-          container last-showtime {
-            description
-              "Container for object class Device.DSL.Channel.{i}.Stats.LastShowtime.";
-            reference
-              "Device.DSL.Channel.{i}.Stats.LastShowtime.";
-            uses stats-last-showtime-g;
-          }
-          container quarter-hour {
-            description
-              "Container for object class Device.DSL.Channel.{i}.Stats.QuarterHour.";
-            reference
-              "Device.DSL.Channel.{i}.Stats.QuarterHour.";
-            uses channel-stats-quarter-hour-g;
-          }
-          container showtime {
-            description
-              "Container for object class Device.DSL.Channel.{i}.Stats.Showtime.";
-            reference
-              "Device.DSL.Channel.{i}.Stats.Showtime.";
-            uses stats-showtime-g;
-          }
-          container total {
-            description
-              "Container for object class Device.DSL.Channel.{i}.Stats.Total.";
-            reference
-              "Device.DSL.Channel.{i}.Stats.Total.";
-            uses channel-stats-total-g;
-          }
-        }
-      }
-      container diagnostics {
-        description
-          "Container for object class Device.DSL.Diagnostics.";
-        reference
-          "Device.DSL.Diagnostics.";
-        uses dsl-diagnostics-g;
-        container adsl-line-test {
-          description
-            "Container for object class Device.DSL.Diagnostics.ADSLLineTest.";
-          reference
-            "Device.DSL.Diagnostics.ADSLLineTest.";
-          uses diagnostics-adsl-line-test-g;
-        }
-      }
-      list line {
-        key "index";
-        description
-          "Device.DSL.Line.{i}.";
-        reference
-          "Device.DSL.Line.{i}.";
-        uses dsl-line-g;
-        container data-gathering {
-          description
-            "Container for object class Device.DSL.Line.{i}.DataGathering.";
-          reference
-            "Device.DSL.Line.{i}.DataGathering.";
-          uses line-data-gathering-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.DSL.Line.{i}.Stats.";
-          reference
-            "Device.DSL.Line.{i}.Stats.";
-          uses line-stats-g;
-          container current-day {
-            description
-              "Container for object class Device.DSL.Line.{i}.Stats.CurrentDay.";
-            reference
-              "Device.DSL.Line.{i}.Stats.CurrentDay.";
-            uses line-stats-current-day-g;
-          }
-          container last-showtime {
-            description
-              "Container for object class Device.DSL.Line.{i}.Stats.LastShowtime.";
-            reference
-              "Device.DSL.Line.{i}.Stats.LastShowtime.";
-            uses line-stats-last-showtime-g;
-          }
-          container quarter-hour {
-            description
-              "Container for object class Device.DSL.Line.{i}.Stats.QuarterHour.";
-            reference
-              "Device.DSL.Line.{i}.Stats.QuarterHour.";
-            uses line-stats-quarter-hour-g;
-          }
-          container showtime {
-            description
-              "Container for object class Device.DSL.Line.{i}.Stats.Showtime.";
-            reference
-              "Device.DSL.Line.{i}.Stats.Showtime.";
-            uses line-stats-showtime-g;
-          }
-          container total {
-            description
-              "Container for object class Device.DSL.Line.{i}.Stats.Total.";
-            reference
-              "Device.DSL.Line.{i}.Stats.Total.";
-            uses line-stats-total-g;
-          }
-        }
-        container test-params {
-          description
-            "Container for object class Device.DSL.Line.{i}.TestParams.";
-          reference
-            "Device.DSL.Line.{i}.TestParams.";
-          uses line-test-params-g;
-        }
-      }
-    }
-    container ds-lite {
-      description
-        "Container for object class Device.DSLite.";
-      reference
-        "Device.DSLite.";
-      uses device-ds-lite-g;
-      list interface-setting {
-        key "index";
-        description
-          "Device.DSLite.InterfaceSetting.{i}.";
-        reference
-          "Device.DSLite.InterfaceSetting.{i}.";
-        uses ds-lite-interface-setting-g;
-      }
-    }
-    container device-info {
-      description
-        "Container for object class Device.DeviceInfo.";
-      reference
-        "Device.DeviceInfo.";
-      uses device-device-info-g;
-      list device-image-file {
-        key "index";
-        description
-          "Device.DeviceInfo.DeviceImageFile.{i}.";
-        reference
-          "Device.DeviceInfo.DeviceImageFile.{i}.";
-        uses device-info-device-image-file-g;
-      }
-      list firmware-image {
-        key "index";
-        description
-          "Device.DeviceInfo.FirmwareImage.{i}.";
-        reference
-          "Device.DeviceInfo.FirmwareImage.{i}.";
-        uses device-info-firmware-image-g;
-      }
-      list location {
-        key "index";
-        description
-          "Device.DeviceInfo.Location.{i}.";
-        reference
-          "Device.DeviceInfo.Location.{i}.";
-        uses device-info-location-g;
-      }
-      container memory-status {
-        description
-          "Container for object class Device.DeviceInfo.MemoryStatus.";
-        reference
-          "Device.DeviceInfo.MemoryStatus.";
-        uses device-info-memory-status-g;
-      }
-      container network-properties {
-        description
-          "Container for object class Device.DeviceInfo.NetworkProperties.";
-        reference
-          "Device.DeviceInfo.NetworkProperties.";
-        uses device-info-network-properties-g;
-      }
-      container process-status {
-        description
-          "Container for object class Device.DeviceInfo.ProcessStatus.";
-        reference
-          "Device.DeviceInfo.ProcessStatus.";
-        uses device-info-process-status-g;
-        list process {
-          key "index";
-          description
-            "Device.DeviceInfo.ProcessStatus.Process.{i}.";
-          reference
-            "Device.DeviceInfo.ProcessStatus.Process.{i}.";
-          uses process-status-process-g;
-        }
-      }
-      list processor {
-        key "index";
-        description
-          "Device.DeviceInfo.Processor.{i}.";
-        reference
-          "Device.DeviceInfo.Processor.{i}.";
-        uses device-info-processor-g;
-      }
-      container proxier-info {
-        description
-          "Container for object class Device.DeviceInfo.ProxierInfo.";
-        reference
-          "Device.DeviceInfo.ProxierInfo.";
-        uses device-info-proxier-info-g;
-      }
-      list supported-data-model {
-        key "index";
-        description
-          "Device.DeviceInfo.SupportedDataModel.{i}.";
-        reference
-          "Device.DeviceInfo.SupportedDataModel.{i}.";
-        uses device-info-supported-data-model-g;
-      }
-      container temperature-status {
-        description
-          "Container for object class Device.DeviceInfo.TemperatureStatus.";
-        reference
-          "Device.DeviceInfo.TemperatureStatus.";
-        uses device-info-temperature-status-g;
-        list temperature-sensor {
-          key "index";
-          description
-            "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.";
-          reference
-            "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.";
-          uses temperature-status-temperature-sensor-g;
-        }
-      }
-      list vendor-config-file {
-        key "index";
-        description
-          "Device.DeviceInfo.VendorConfigFile.{i}.";
-        reference
-          "Device.DeviceInfo.VendorConfigFile.{i}.";
-        uses device-info-vendor-config-file-g;
-      }
-      list vendor-log-file {
-        key "index";
-        description
-          "Device.DeviceInfo.VendorLogFile.{i}.";
-        reference
-          "Device.DeviceInfo.VendorLogFile.{i}.";
-        uses device-info-vendor-log-file-g;
-      }
-    }
-    container dynamic-dns {
-      description
-        "Container for object class Device.DynamicDNS.";
-      reference
-        "Device.DynamicDNS.";
-      uses device-dynamic-dns-g;
-      list client {
-        key "index";
-        description
-          "Device.DynamicDNS.Client.{i}.";
-        reference
-          "Device.DynamicDNS.Client.{i}.";
-        uses dynamic-dns-client-g;
-        list hostname {
-          key "index";
-          description
-            "Device.DynamicDNS.Client.{i}.Hostname.{i}.";
-          reference
-            "Device.DynamicDNS.Client.{i}.Hostname.{i}.";
-          uses client-hostname-g;
-        }
-      }
-      list server {
-        key "index";
-        description
-          "Device.DynamicDNS.Server.{i}.";
-        reference
-          "Device.DynamicDNS.Server.{i}.";
-        uses dynamic-dns-server-g;
-      }
-    }
-    container etsi-m2-m {
-      description
-        "Container for object class Device.ETSIM2M.";
-      reference
-        "Device.ETSIM2M.";
-      uses device-etsi-m2-m-g;
-      list scl {
-        key "index";
-        description
-          "Device.ETSIM2M.SCL.{i}.";
-        reference
-          "Device.ETSIM2M.SCL.{i}.";
-        uses etsi-m2-m-scl-g;
-        list area-nwk-device-info-instance {
-          key "index";
-          description
-            "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.";
-          reference
-            "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.";
-          uses scl-area-nwk-device-info-instance-g;
-          list property {
-            key "index";
-            description
-              "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.";
-            reference
-              "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.";
-            uses area-nwk-device-info-instance-property-g;
-          }
-        }
-        list area-nwk-instance {
-          key "index";
-          description
-            "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.";
-          reference
-            "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.";
-          uses scl-area-nwk-instance-g;
-          list property {
-            key "index";
-            description
-              "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.";
-            reference
-              "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.";
-            uses area-nwk-instance-property-g;
-          }
-        }
-        container discovery {
-          description
-            "Container for object class Device.ETSIM2M.SCL.{i}.Discovery.";
-          reference
-            "Device.ETSIM2M.SCL.{i}.Discovery.";
-          uses scl-discovery-g;
-        }
-        container reregistration {
-          description
-            "Container for object class Device.ETSIM2M.SCL.{i}.Reregistration.";
-          reference
-            "Device.ETSIM2M.SCL.{i}.Reregistration.";
-          uses scl-reregistration-g;
-          container action-status {
-            description
-              "Container for object class Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.";
-            reference
-              "Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.";
-            uses reregistration-action-status-g;
-          }
-        }
-        list saf-policy-set {
-          key "index";
-          description
-            "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.";
-          reference
-            "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.";
-          uses scl-saf-policy-set-g;
-          list anp-policy {
-            key "index";
-            description
-              "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.";
-            reference
-              "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.";
-            uses saf-policy-set-anp-policy-g;
-            list block-period {
-              key "index";
-              description
-                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.";
-              reference
-                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.";
-              uses anp-policy-block-period-g;
-            }
-            list request-category {
-              key "index";
-              description
-                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.";
-              reference
-                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.";
-              uses anp-policy-request-category-g;
-              list schedule {
-                key "index";
-                description
-                  "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.";
-                reference
-                  "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.";
-                uses request-category-schedule-g;
-                list abs-time-span {
-                  key "index";
-                  description
-                    "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.";
-                  reference
-                    "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.";
-                  uses schedule-abs-time-span-g;
-                }
-              }
-            }
-          }
-          container m2-msp-policy {
-            description
-              "Container for object class Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.";
-            reference
-              "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.";
-            uses saf-policy-set-m2-msp-policy-g;
-            list request-category {
-              key "index";
-              description
-                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.";
-              reference
-                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.";
-              uses m2-msp-policy-request-category-g;
-            }
-          }
-        }
-      }
-    }
-    container ethernet {
-      description
-        "Container for object class Device.Ethernet.";
-      reference
-        "Device.Ethernet.";
-      uses device-ethernet-g;
-      list interface {
-        key "index";
-        description
-          "Device.Ethernet.Interface.{i}.";
-        reference
-          "Device.Ethernet.Interface.{i}.";
-        uses ethernet-interface-g;
-        container stats {
-          description
-            "Container for object class Device.Ethernet.Interface.{i}.Stats.";
-          reference
-            "Device.Ethernet.Interface.{i}.Stats.";
-          uses ethernet-interface-stats-g;
-        }
-      }
-      list lag {
-        key "index";
-        description
-          "Device.Ethernet.LAG.{i}.";
-        reference
-          "Device.Ethernet.LAG.{i}.";
-        uses ethernet-lag-g;
-        container stats {
-          description
-            "Container for object class Device.Ethernet.LAG.{i}.Stats.";
-          reference
-            "Device.Ethernet.LAG.{i}.Stats.";
-          uses lag-stats-g;
-        }
-      }
-      list link {
-        key "index";
-        description
-          "Device.Ethernet.Link.{i}.";
-        reference
-          "Device.Ethernet.Link.{i}.";
-        uses ethernet-link-g;
-        container stats {
-          description
-            "Container for object class Device.Ethernet.Link.{i}.Stats.";
-          reference
-            "Device.Ethernet.Link.{i}.Stats.";
-          uses ethernet-link-stats-g;
-        }
-      }
-      list rmon-stats {
-        key "index";
-        description
-          "Device.Ethernet.RMONStats.{i}.";
-        reference
-          "Device.Ethernet.RMONStats.{i}.";
-        uses ethernet-rmon-stats-g;
-      }
-      list vlan-termination {
-        key "index";
-        description
-          "Device.Ethernet.VLANTermination.{i}.";
-        reference
-          "Device.Ethernet.VLANTermination.{i}.";
-        uses ethernet-vlan-termination-g;
-        container stats {
-          description
-            "Container for object class Device.Ethernet.VLANTermination.{i}.Stats.";
-          reference
-            "Device.Ethernet.VLANTermination.{i}.Stats.";
-          uses vlan-termination-stats-g;
-        }
-      }
-    }
-    container fap {
-      description
-        "Container for object class Device.FAP.";
-      reference
-        "Device.FAP.";
-      uses device-fap-g;
-      container application-platform {
-        description
-          "Container for object class Device.FAP.ApplicationPlatform.";
-        reference
-          "Device.FAP.ApplicationPlatform.";
-        uses fap-application-platform-g;
-        container capabilities {
-          description
-            "Container for object class Device.FAP.ApplicationPlatform.Capabilities.";
-          reference
-            "Device.FAP.ApplicationPlatform.Capabilities.";
-          uses application-platform-capabilities-g;
-        }
-        container control {
-          description
-            "Container for object class Device.FAP.ApplicationPlatform.Control.";
-          reference
-            "Device.FAP.ApplicationPlatform.Control.";
-          uses application-platform-control-g;
-          container femto-awareness {
-            description
-              "Container for object class Device.FAP.ApplicationPlatform.Control.FemtoAwareness.";
-            reference
-              "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.";
-            uses control-femto-awareness-g;
-          }
-          container mms {
-            description
-              "Container for object class Device.FAP.ApplicationPlatform.Control.MMS.";
-            reference
-              "Device.FAP.ApplicationPlatform.Control.MMS.";
-            uses control-mms-g;
-          }
-          container sms {
-            description
-              "Container for object class Device.FAP.ApplicationPlatform.Control.SMS.";
-            reference
-              "Device.FAP.ApplicationPlatform.Control.SMS.";
-            uses control-sms-g;
-          }
-          container terminal-location {
-            description
-              "Container for object class Device.FAP.ApplicationPlatform.Control.TerminalLocation.";
-            reference
-              "Device.FAP.ApplicationPlatform.Control.TerminalLocation.";
-            uses control-terminal-location-g;
-          }
-        }
-        container monitoring {
-          description
-            "Container for object class Device.FAP.ApplicationPlatform.Monitoring.";
-          reference
-            "Device.FAP.ApplicationPlatform.Monitoring.";
-          uses application-platform-monitoring-g;
-          container femto-awareness {
-            description
-              "Container for object class Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.";
-            reference
-              "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.";
-            uses monitoring-femto-awareness-g;
-          }
-          container mms {
-            description
-              "Container for object class Device.FAP.ApplicationPlatform.Monitoring.MMS.";
-            reference
-              "Device.FAP.ApplicationPlatform.Monitoring.MMS.";
-            uses monitoring-mms-g;
-          }
-          container sms {
-            description
-              "Container for object class Device.FAP.ApplicationPlatform.Monitoring.SMS.";
-            reference
-              "Device.FAP.ApplicationPlatform.Monitoring.SMS.";
-            uses monitoring-sms-g;
-          }
-          container terminal-location {
-            description
-              "Container for object class Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.";
-            reference
-              "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.";
-            uses monitoring-terminal-location-g;
-          }
-        }
-      }
-      container gps {
-        description
-          "Container for object class Device.FAP.GPS.";
-        reference
-          "Device.FAP.GPS.";
-        uses fap-gps-g;
-        container agps-server-config {
-          description
-            "Container for object class Device.FAP.GPS.AGPSServerConfig.";
-          reference
-            "Device.FAP.GPS.AGPSServerConfig.";
-          uses gps-agps-server-config-g;
-        }
-        container continuous-gps-status {
-          description
-            "Container for object class Device.FAP.GPS.ContinuousGPSStatus.";
-          reference
-            "Device.FAP.GPS.ContinuousGPSStatus.";
-          uses gps-continuous-gps-status-g;
-        }
-      }
-      container perf-mgmt {
-        description
-          "Container for object class Device.FAP.PerfMgmt.";
-        reference
-          "Device.FAP.PerfMgmt.";
-        uses fap-perf-mgmt-g;
-        list config {
-          key "index";
-          description
-            "Device.FAP.PerfMgmt.Config.{i}.";
-          reference
-            "Device.FAP.PerfMgmt.Config.{i}.";
-          uses perf-mgmt-config-g;
-        }
-      }
-    }
-    container fast {
-      description
-        "Container for object class Device.FAST.";
-      reference
-        "Device.FAST.";
-      uses device-fast-g;
-      list line {
-        key "index";
-        description
-          "Device.FAST.Line.{i}.";
-        reference
-          "Device.FAST.Line.{i}.";
-        uses fast-line-g;
-        container stats {
-          description
-            "Container for object class Device.FAST.Line.{i}.Stats.";
-          reference
-            "Device.FAST.Line.{i}.Stats.";
-          uses fast-line-stats-g;
-          container current-day {
-            description
-              "Container for object class Device.FAST.Line.{i}.Stats.CurrentDay.";
-            reference
-              "Device.FAST.Line.{i}.Stats.CurrentDay.";
-            uses fast-line-stats-current-day-g;
-          }
-          container last-showtime {
-            description
-              "Container for object class Device.FAST.Line.{i}.Stats.LastShowtime.";
-            reference
-              "Device.FAST.Line.{i}.Stats.LastShowtime.";
-            uses fast-line-stats-last-showtime-g;
-          }
-          container quarter-hour {
-            description
-              "Container for object class Device.FAST.Line.{i}.Stats.QuarterHour.";
-            reference
-              "Device.FAST.Line.{i}.Stats.QuarterHour.";
-            uses fast-line-stats-quarter-hour-g;
-          }
-          container showtime {
-            description
-              "Container for object class Device.FAST.Line.{i}.Stats.Showtime.";
-            reference
-              "Device.FAST.Line.{i}.Stats.Showtime.";
-            uses fast-line-stats-showtime-g;
-          }
-          container total {
-            description
-              "Container for object class Device.FAST.Line.{i}.Stats.Total.";
-            reference
-              "Device.FAST.Line.{i}.Stats.Total.";
-            uses fast-line-stats-total-g;
-          }
-        }
-        container test-params {
-          description
-            "Container for object class Device.FAST.Line.{i}.TestParams.";
-          reference
-            "Device.FAST.Line.{i}.TestParams.";
-          uses fast-line-test-params-g;
-        }
-      }
-    }
-    container fault-mgmt {
-      description
-        "Container for object class Device.FaultMgmt.";
-      reference
-        "Device.FaultMgmt.";
-      uses device-fault-mgmt-g;
-      list current-alarm {
-        key "index";
-        description
-          "Device.FaultMgmt.CurrentAlarm.{i}.";
-        reference
-          "Device.FaultMgmt.CurrentAlarm.{i}.";
-        uses fault-mgmt-current-alarm-g;
-      }
-      list expedited-event {
-        key "index";
-        description
-          "Device.FaultMgmt.ExpeditedEvent.{i}.";
-        reference
-          "Device.FaultMgmt.ExpeditedEvent.{i}.";
-        uses fault-mgmt-expedited-event-g;
-      }
-      list history-event {
-        key "index";
-        description
-          "Device.FaultMgmt.HistoryEvent.{i}.";
-        reference
-          "Device.FaultMgmt.HistoryEvent.{i}.";
-        uses fault-mgmt-history-event-g;
-      }
-      list queued-event {
-        key "index";
-        description
-          "Device.FaultMgmt.QueuedEvent.{i}.";
-        reference
-          "Device.FaultMgmt.QueuedEvent.{i}.";
-        uses fault-mgmt-queued-event-g;
-      }
-      list supported-alarm {
-        key "index";
-        description
-          "Device.FaultMgmt.SupportedAlarm.{i}.";
-        reference
-          "Device.FaultMgmt.SupportedAlarm.{i}.";
-        uses fault-mgmt-supported-alarm-g;
-      }
-    }
-    container firewall {
-      description
-        "Container for object class Device.Firewall.";
-      reference
-        "Device.Firewall.";
-      uses device-firewall-g;
-      list chain {
-        key "index";
-        description
-          "Device.Firewall.Chain.{i}.";
-        reference
-          "Device.Firewall.Chain.{i}.";
-        uses firewall-chain-g;
-        list rule {
-          key "index";
-          description
-            "Device.Firewall.Chain.{i}.Rule.{i}.";
-          reference
-            "Device.Firewall.Chain.{i}.Rule.{i}.";
-          uses chain-rule-g;
-        }
-      }
-      list level {
-        key "index";
-        description
-          "Device.Firewall.Level.{i}.";
-        reference
-          "Device.Firewall.Level.{i}.";
-        uses firewall-level-g;
-      }
-    }
-    container gre {
-      description
-        "Container for object class Device.GRE.";
-      reference
-        "Device.GRE.";
-      uses device-gre-g;
-      list filter {
-        key "index";
-        description
-          "Device.GRE.Filter.{i}.";
-        reference
-          "Device.GRE.Filter.{i}.";
-        uses gre-filter-g;
-      }
-      list tunnel {
-        key "index";
-        description
-          "Device.GRE.Tunnel.{i}.";
-        reference
-          "Device.GRE.Tunnel.{i}.";
-        uses gre-tunnel-g;
-        list interface {
-          key "index";
-          description
-            "Device.GRE.Tunnel.{i}.Interface.{i}.";
-          reference
-            "Device.GRE.Tunnel.{i}.Interface.{i}.";
-          uses tunnel-interface-g;
-          container stats {
-            description
-              "Container for object class Device.GRE.Tunnel.{i}.Interface.{i}.Stats.";
-            reference
-              "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.";
-            uses tunnel-interface-stats-g;
-          }
-        }
-        container stats {
-          description
-            "Container for object class Device.GRE.Tunnel.{i}.Stats.";
-          reference
-            "Device.GRE.Tunnel.{i}.Stats.";
-          uses tunnel-stats-g;
-        }
-      }
-    }
-    container gateway-info {
-      description
-        "Container for object class Device.GatewayInfo.";
-      reference
-        "Device.GatewayInfo.";
-      uses device-gateway-info-g;
-    }
-    container ghn {
-      description
-        "Container for object class Device.Ghn.";
-      reference
-        "Device.Ghn.";
-      uses device-ghn-g;
-      container diagnostics {
-        description
-          "Container for object class Device.Ghn.Diagnostics.";
-        reference
-          "Device.Ghn.Diagnostics.";
-        uses ghn-diagnostics-g;
-        container phy-throughput {
-          description
-            "Container for object class Device.Ghn.Diagnostics.PHYThroughput.";
-          reference
-            "Device.Ghn.Diagnostics.PHYThroughput.";
-          uses diagnostics-phy-throughput-g;
-          list result {
-            key "index";
-            description
-              "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.";
-            reference
-              "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.";
-            uses phy-throughput-result-g;
-          }
-        }
-        container performance-monitoring {
-          description
-            "Container for object class Device.Ghn.Diagnostics.PerformanceMonitoring.";
-          reference
-            "Device.Ghn.Diagnostics.PerformanceMonitoring.";
-          uses diagnostics-performance-monitoring-g;
-          container channels {
-            description
-              "Container for object class Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.";
-            reference
-              "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.";
-            uses performance-monitoring-channels-g;
-            list channel {
-              key "index";
-              description
-                "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";
-              reference
-                "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";
-              uses channels-channel-g;
-            }
-          }
-          container nodes {
-            description
-              "Container for object class Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.";
-            reference
-              "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.";
-            uses performance-monitoring-nodes-g;
-            list node {
-              key "index";
-              description
-                "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";
-              reference
-                "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";
-              uses nodes-node-g;
-            }
-          }
-        }
-      }
-      list interface {
-        key "index";
-        description
-          "Device.Ghn.Interface.{i}.";
-        reference
-          "Device.Ghn.Interface.{i}.";
-        uses ghn-interface-g;
-        list associated-device {
-          key "index";
-          description
-            "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.";
-          reference
-            "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.";
-          uses interface-associated-device-g;
-        }
-        container dm-info {
-          description
-            "Container for object class Device.Ghn.Interface.{i}.DMInfo.";
-          reference
-            "Device.Ghn.Interface.{i}.DMInfo.";
-          uses interface-dm-info-g;
-        }
-        container sc-info {
-          description
-            "Container for object class Device.Ghn.Interface.{i}.SCInfo.";
-          reference
-            "Device.Ghn.Interface.{i}.SCInfo.";
-          uses interface-sc-info-g;
-        }
-        list sm-masked-band {
-          key "index";
-          description
-            "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.";
-          reference
-            "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.";
-          uses interface-sm-masked-band-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.Ghn.Interface.{i}.Stats.";
-          reference
-            "Device.Ghn.Interface.{i}.Stats.";
-          uses ghn-interface-stats-g;
-        }
-      }
-    }
-    container hpna {
-      description
-        "Container for object class Device.HPNA.";
-      reference
-        "Device.HPNA.";
-      uses device-hpna-g;
-      container diagnostics {
-        description
-          "Container for object class Device.HPNA.Diagnostics.";
-        reference
-          "Device.HPNA.Diagnostics.";
-        uses hpna-diagnostics-g;
-        container phy-throughput {
-          description
-            "Container for object class Device.HPNA.Diagnostics.PHYThroughput.";
-          reference
-            "Device.HPNA.Diagnostics.PHYThroughput.";
-          uses hpna-diagnostics-phy-throughput-g;
-          list result {
-            key "index";
-            description
-              "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.";
-            reference
-              "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.";
-            uses diagnostics-phy-throughput-result-g;
-          }
-        }
-        container performance-monitoring {
-          description
-            "Container for object class Device.HPNA.Diagnostics.PerformanceMonitoring.";
-          reference
-            "Device.HPNA.Diagnostics.PerformanceMonitoring.";
-          uses hpna-diagnostics-performance-monitoring-g;
-          container channels {
-            description
-              "Container for object class Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.";
-            reference
-              "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.";
-            uses diagnostics-performance-monitoring-channels-g;
-            list channel {
-              key "index";
-              description
-                "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";
-              reference
-                "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";
-              uses performance-monitoring-channels-channel-g;
-            }
-          }
-          container nodes {
-            description
-              "Container for object class Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.";
-            reference
-              "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.";
-            uses diagnostics-performance-monitoring-nodes-g;
-            list node {
-              key "index";
-              description
-                "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";
-              reference
-                "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";
-              uses performance-monitoring-nodes-node-g;
-            }
-          }
-        }
-      }
-      list interface {
-        key "index";
-        description
-          "Device.HPNA.Interface.{i}.";
-        reference
-          "Device.HPNA.Interface.{i}.";
-        uses hpna-interface-g;
-        list associated-device {
-          key "index";
-          description
-            "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.";
-          reference
-            "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.";
-          uses hpna-interface-associated-device-g;
-        }
-        container qo-s {
-          description
-            "Container for object class Device.HPNA.Interface.{i}.QoS.";
-          reference
-            "Device.HPNA.Interface.{i}.QoS.";
-          uses interface-qo-s-g;
-          list flow-spec {
-            key "index";
-            description
-              "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.";
-            reference
-              "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.";
-            uses qo-s-flow-spec-g;
-          }
-        }
-        container stats {
-          description
-            "Container for object class Device.HPNA.Interface.{i}.Stats.";
-          reference
-            "Device.HPNA.Interface.{i}.Stats.";
-          uses hpna-interface-stats-g;
-        }
-      }
-    }
-    container home-plug {
-      description
-        "Container for object class Device.HomePlug.";
-      reference
-        "Device.HomePlug.";
-      uses device-home-plug-g;
-      list interface {
-        key "index";
-        description
-          "Device.HomePlug.Interface.{i}.";
-        reference
-          "Device.HomePlug.Interface.{i}.";
-        uses home-plug-interface-g;
-        list associated-device {
-          key "index";
-          description
-            "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.";
-          reference
-            "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.";
-          uses home-plug-interface-associated-device-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.HomePlug.Interface.{i}.Stats.";
-          reference
-            "Device.HomePlug.Interface.{i}.Stats.";
-          uses home-plug-interface-stats-g;
-        }
-      }
-    }
-    container hosts {
-      description
-        "Container for object class Device.Hosts.";
-      reference
-        "Device.Hosts.";
-      uses device-hosts-g;
-      list host {
-        key "index";
-        description
-          "Device.Hosts.Host.{i}.";
-        reference
-          "Device.Hosts.Host.{i}.";
-        uses hosts-host-g;
-        list ipv4-address {
-          key "index";
-          description
-            "Device.Hosts.Host.{i}.IPv4Address.{i}.";
-          reference
-            "Device.Hosts.Host.{i}.IPv4Address.{i}.";
-          uses host-ipv4-address-g;
-        }
-        list ipv6-address {
-          key "index";
-          description
-            "Device.Hosts.Host.{i}.IPv6Address.{i}.";
-          reference
-            "Device.Hosts.Host.{i}.IPv6Address.{i}.";
-          uses host-ipv6-address-g;
-        }
-        container wan-stats {
-          description
-            "Container for object class Device.Hosts.Host.{i}.WANStats.";
-          reference
-            "Device.Hosts.Host.{i}.WANStats.";
-          uses host-wan-stats-g;
-        }
-      }
-    }
-    container ieee1905 {
-      description
-        "Container for object class Device.IEEE1905.";
-      reference
-        "Device.IEEE1905.";
-      uses device-ieee1905-g;
-      container al {
-        description
-          "Container for object class Device.IEEE1905.AL.";
-        reference
-          "Device.IEEE1905.AL.";
-        uses ieee1905-al-g;
-        container forwarding-table {
-          description
-            "Container for object class Device.IEEE1905.AL.ForwardingTable.";
-          reference
-            "Device.IEEE1905.AL.ForwardingTable.";
-          uses al-forwarding-table-g;
-          list forwarding-rule {
-            key "index";
-            description
-              "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.";
-            reference
-              "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.";
-            uses forwarding-table-forwarding-rule-g;
-          }
-        }
-        list interface {
-          key "index";
-          description
-            "Device.IEEE1905.AL.Interface.{i}.";
-          reference
-            "Device.IEEE1905.AL.Interface.{i}.";
-          uses al-interface-g;
-          list link {
-            key "index";
-            description
-              "Device.IEEE1905.AL.Interface.{i}.Link.{i}.";
-            reference
-              "Device.IEEE1905.AL.Interface.{i}.Link.{i}.";
-            uses interface-link-g;
-            container metric {
-              description
-                "Container for object class Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.";
-              reference
-                "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.";
-              uses link-metric-g;
-            }
-          }
-          list vendor-properties {
-            key "index";
-            description
-              "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.";
-            reference
-              "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.";
-            uses interface-vendor-properties-g;
-          }
-        }
-        container network-topology {
-          description
-            "Container for object class Device.IEEE1905.AL.NetworkTopology.";
-          reference
-            "Device.IEEE1905.AL.NetworkTopology.";
-          uses al-network-topology-g;
-          list change-log {
-            key "index";
-            description
-              "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.";
-            reference
-              "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.";
-            uses network-topology-change-log-g;
-          }
-          list ieee1905-device {
-            key "index";
-            description
-              "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.";
-            reference
-              "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.";
-            uses network-topology-ieee1905-device-g;
-            list bridging-tuple {
-              key "index";
-              description
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.";
-              reference
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.";
-              uses ieee1905-device-bridging-tuple-g;
-            }
-            list ieee1905-neighbor {
-              key "index";
-              description
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.";
-              reference
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.";
-              uses ieee1905-device-ieee1905-neighbor-g;
-              list metric {
-                key "index";
-                description
-                  "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.";
-                reference
-                  "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.";
-                uses ieee1905-neighbor-metric-g;
-              }
-            }
-            list ipv4-address {
-              key "index";
-              description
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.";
-              reference
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.";
-              uses ieee1905-device-ipv4-address-g;
-            }
-            list ipv6-address {
-              key "index";
-              description
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.";
-              reference
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.";
-              uses ieee1905-device-ipv6-address-g;
-            }
-            list interface {
-              key "index";
-              description
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.";
-              reference
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.";
-              uses ieee1905-device-interface-g;
-            }
-            list l2-neighbor {
-              key "index";
-              description
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.";
-              reference
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.";
-              uses ieee1905-device-l2-neighbor-g;
-            }
-            list non-ieee1905-neighbor {
-              key "index";
-              description
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.";
-              reference
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.";
-              uses ieee1905-device-non-ieee1905-neighbor-g;
-            }
-            list vendor-properties {
-              key "index";
-              description
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.";
-              reference
-                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.";
-              uses ieee1905-device-vendor-properties-g;
-            }
-          }
-        }
-        container networking-registrar {
-          description
-            "Container for object class Device.IEEE1905.AL.NetworkingRegistrar.";
-          reference
-            "Device.IEEE1905.AL.NetworkingRegistrar.";
-          uses al-networking-registrar-g;
-        }
-        container security {
-          description
-            "Container for object class Device.IEEE1905.AL.Security.";
-          reference
-            "Device.IEEE1905.AL.Security.";
-          uses al-security-g;
-        }
-      }
-    }
-    container ieee8021x {
-      description
-        "Container for object class Device.IEEE8021x.";
-      reference
-        "Device.IEEE8021x.";
-      uses device-ieee8021x-g;
-      list supplicant {
-        key "index";
-        description
-          "Device.IEEE8021x.Supplicant.{i}.";
-        reference
-          "Device.IEEE8021x.Supplicant.{i}.";
-        uses ieee8021x-supplicant-g;
-        container eapm-d5 {
-          description
-            "Container for object class Device.IEEE8021x.Supplicant.{i}.EAPMD5.";
-          reference
-            "Device.IEEE8021x.Supplicant.{i}.EAPMD5.";
-          uses supplicant-eapm-d5-g;
-        }
-        container eaptls {
-          description
-            "Container for object class Device.IEEE8021x.Supplicant.{i}.EAPTLS.";
-          reference
-            "Device.IEEE8021x.Supplicant.{i}.EAPTLS.";
-          uses supplicant-eaptls-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.IEEE8021x.Supplicant.{i}.Stats.";
-          reference
-            "Device.IEEE8021x.Supplicant.{i}.Stats.";
-          uses supplicant-stats-g;
-        }
-      }
-    }
-    container ip {
-      description
-        "Container for object class Device.IP.";
-      reference
-        "Device.IP.";
-      uses device-ip-g;
-      list active-port {
-        key "index";
-        description
-          "Device.IP.ActivePort.{i}.";
-        reference
-          "Device.IP.ActivePort.{i}.";
-        uses ip-active-port-g;
-      }
-      container diagnostics {
-        description
-          "Container for object class Device.IP.Diagnostics.";
-        reference
-          "Device.IP.Diagnostics.";
-        uses ip-diagnostics-g;
-        container download-diagnostics {
-          description
-            "Container for object class Device.IP.Diagnostics.DownloadDiagnostics.";
-          reference
-            "Device.IP.Diagnostics.DownloadDiagnostics.";
-          uses diagnostics-download-diagnostics-g;
-          list incremental-result {
-            key "index";
-            description
-              "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.";
-            reference
-              "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.";
-            uses download-diagnostics-incremental-result-g;
-          }
-          list per-connection-result {
-            key "index";
-            description
-              "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.";
-            reference
-              "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.";
-            uses download-diagnostics-per-connection-result-g;
-          }
-        }
-        container ip-ping {
-          description
-            "Container for object class Device.IP.Diagnostics.IPPing.";
-          reference
-            "Device.IP.Diagnostics.IPPing.";
-          uses diagnostics-ip-ping-g;
-        }
-        container server-selection-diagnostics {
-          description
-            "Container for object class Device.IP.Diagnostics.ServerSelectionDiagnostics.";
-          reference
-            "Device.IP.Diagnostics.ServerSelectionDiagnostics.";
-          uses diagnostics-server-selection-diagnostics-g;
-        }
-        container trace-route {
-          description
-            "Container for object class Device.IP.Diagnostics.TraceRoute.";
-          reference
-            "Device.IP.Diagnostics.TraceRoute.";
-          uses diagnostics-trace-route-g;
-          list route-hops {
-            key "index";
-            description
-              "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.";
-            reference
-              "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.";
-            uses trace-route-route-hops-g;
-          }
-        }
-        container udp-echo-config {
-          description
-            "Container for object class Device.IP.Diagnostics.UDPEchoConfig.";
-          reference
-            "Device.IP.Diagnostics.UDPEchoConfig.";
-          uses diagnostics-udp-echo-config-g;
-        }
-        container udp-echo-diagnostics {
-          description
-            "Container for object class Device.IP.Diagnostics.UDPEchoDiagnostics.";
-          reference
-            "Device.IP.Diagnostics.UDPEchoDiagnostics.";
-          uses diagnostics-udp-echo-diagnostics-g;
-          list individual-packet-result {
-            key "index";
-            description
-              "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.";
-            reference
-              "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.";
-            uses udp-echo-diagnostics-individual-packet-result-g;
-          }
-        }
-        container upload-diagnostics {
-          description
-            "Container for object class Device.IP.Diagnostics.UploadDiagnostics.";
-          reference
-            "Device.IP.Diagnostics.UploadDiagnostics.";
-          uses diagnostics-upload-diagnostics-g;
-          list incremental-result {
-            key "index";
-            description
-              "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.";
-            reference
-              "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.";
-            uses upload-diagnostics-incremental-result-g;
-          }
-          list per-connection-result {
-            key "index";
-            description
-              "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.";
-            reference
-              "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.";
-            uses upload-diagnostics-per-connection-result-g;
-          }
-        }
-      }
-      list interface {
-        key "index";
-        description
-          "Device.IP.Interface.{i}.";
-        reference
-          "Device.IP.Interface.{i}.";
-        uses ip-interface-g;
-        list ipv4-address {
-          key "index";
-          description
-            "Device.IP.Interface.{i}.IPv4Address.{i}.";
-          reference
-            "Device.IP.Interface.{i}.IPv4Address.{i}.";
-          uses interface-ipv4-address-g;
-        }
-        list ipv6-address {
-          key "index";
-          description
-            "Device.IP.Interface.{i}.IPv6Address.{i}.";
-          reference
-            "Device.IP.Interface.{i}.IPv6Address.{i}.";
-          uses interface-ipv6-address-g;
-        }
-        list ipv6-prefix {
-          key "index";
-          description
-            "Device.IP.Interface.{i}.IPv6Prefix.{i}.";
-          reference
-            "Device.IP.Interface.{i}.IPv6Prefix.{i}.";
-          uses interface-ipv6-prefix-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.IP.Interface.{i}.Stats.";
-          reference
-            "Device.IP.Interface.{i}.Stats.";
-          uses ip-interface-stats-g;
-        }
-        list twamp-reflector {
-          key "index";
-          description
-            "Device.IP.Interface.{i}.TWAMPReflector.{i}.";
-          reference
-            "Device.IP.Interface.{i}.TWAMPReflector.{i}.";
-          uses interface-twamp-reflector-g;
-        }
-      }
-    }
-    container i-psec {
-      description
-        "Container for object class Device.IPsec.";
-      reference
-        "Device.IPsec.";
-      uses device-i-psec-g;
-      list filter {
-        key "index";
-        description
-          "Device.IPsec.Filter.{i}.";
-        reference
-          "Device.IPsec.Filter.{i}.";
-        uses i-psec-filter-g;
-      }
-      list ikev2-sa {
-        key "index";
-        description
-          "Device.IPsec.IKEv2SA.{i}.";
-        reference
-          "Device.IPsec.IKEv2SA.{i}.";
-        uses i-psec-ikev2-sa-g;
-        list child-sa {
-          key "index";
-          description
-            "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.";
-          reference
-            "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.";
-          uses ikev2-sa-child-sa-g;
-          container stats {
-            description
-              "Container for object class Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.";
-            reference
-              "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.";
-            uses child-sa-stats-g;
-          }
-        }
-        list received-cp-attr {
-          key "index";
-          description
-            "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.";
-          reference
-            "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.";
-          uses ikev2-sa-received-cp-attr-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.IPsec.IKEv2SA.{i}.Stats.";
-          reference
-            "Device.IPsec.IKEv2SA.{i}.Stats.";
-          uses ikev2-sa-stats-g;
-        }
-      }
-      list profile {
-        key "index";
-        description
-          "Device.IPsec.Profile.{i}.";
-        reference
-          "Device.IPsec.Profile.{i}.";
-        uses i-psec-profile-g;
-        list sent-cp-attr {
-          key "index";
-          description
-            "Device.IPsec.Profile.{i}.SentCPAttr.{i}.";
-          reference
-            "Device.IPsec.Profile.{i}.SentCPAttr.{i}.";
-          uses profile-sent-cp-attr-g;
-        }
-      }
-      container stats {
-        description
-          "Container for object class Device.IPsec.Stats.";
-        reference
-          "Device.IPsec.Stats.";
-        uses i-psec-stats-g;
-      }
-      list tunnel {
-        key "index";
-        description
-          "Device.IPsec.Tunnel.{i}.";
-        reference
-          "Device.IPsec.Tunnel.{i}.";
-        uses i-psec-tunnel-g;
-        container stats {
-          description
-            "Container for object class Device.IPsec.Tunnel.{i}.Stats.";
-          reference
-            "Device.IPsec.Tunnel.{i}.Stats.";
-          uses i-psec-tunnel-stats-g;
-        }
-      }
-    }
-    container ipv6rd {
-      description
-        "Container for object class Device.IPv6rd.";
-      reference
-        "Device.IPv6rd.";
-      uses device-ipv6rd-g;
-      list interface-setting {
-        key "index";
-        description
-          "Device.IPv6rd.InterfaceSetting.{i}.";
-        reference
-          "Device.IPv6rd.InterfaceSetting.{i}.";
-        uses ipv6rd-interface-setting-g;
-      }
-    }
-    list interface-stack {
-      key "index";
-      description
-        "Device.InterfaceStack.{i}.";
-      reference
-        "Device.InterfaceStack.{i}.";
-      uses device-interface-stack-g;
-    }
-    container l2-tpv3 {
-      description
-        "Container for object class Device.L2TPv3.";
-      reference
-        "Device.L2TPv3.";
-      uses device-l2-tpv3-g;
-      list filter {
-        key "index";
-        description
-          "Device.L2TPv3.Filter.{i}.";
-        reference
-          "Device.L2TPv3.Filter.{i}.";
-        uses l2-tpv3-filter-g;
-      }
-      list tunnel {
-        key "index";
-        description
-          "Device.L2TPv3.Tunnel.{i}.";
-        reference
-          "Device.L2TPv3.Tunnel.{i}.";
-        uses l2-tpv3-tunnel-g;
-        list interface {
-          key "index";
-          description
-            "Device.L2TPv3.Tunnel.{i}.Interface.{i}.";
-          reference
-            "Device.L2TPv3.Tunnel.{i}.Interface.{i}.";
-          uses l2-tpv3-tunnel-interface-g;
-          container stats {
-            description
-              "Container for object class Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.";
-            reference
-              "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.";
-            uses l2-tpv3-tunnel-interface-stats-g;
-          }
-        }
-        container stats {
-          description
-            "Container for object class Device.L2TPv3.Tunnel.{i}.Stats.";
-          reference
-            "Device.L2TPv3.Tunnel.{i}.Stats.";
-          uses l2-tpv3-tunnel-stats-g;
-        }
-        container udp {
-          description
-            "Container for object class Device.L2TPv3.Tunnel.{i}.UDP.";
-          reference
-            "Device.L2TPv3.Tunnel.{i}.UDP.";
-          uses tunnel-udp-g;
-        }
-      }
-    }
-    container lan-config-security {
-      description
-        "Container for object class Device.LANConfigSecurity.";
-      reference
-        "Device.LANConfigSecurity.";
-      uses device-lan-config-security-g;
-    }
-    container le-ds {
-      description
-        "Container for object class Device.LEDs.";
-      reference
-        "Device.LEDs.";
-      uses device-le-ds-g;
-      list led {
-        key "index";
-        description
-          "Device.LEDs.LED.{i}.";
-        reference
-          "Device.LEDs.LED.{i}.";
-        uses le-ds-led-g;
-        container current-cycle-element {
-          description
-            "Container for object class Device.LEDs.LED.{i}.CurrentCycleElement.";
-          reference
-            "Device.LEDs.LED.{i}.CurrentCycleElement.";
-          uses led-current-cycle-element-g;
-        }
-        list cycle-element {
-          key "index";
-          description
-            "Device.LEDs.LED.{i}.CycleElement.{i}.";
-          reference
-            "Device.LEDs.LED.{i}.CycleElement.{i}.";
-          uses led-cycle-element-g;
-        }
-      }
-    }
-    container lldp {
-      description
-        "Container for object class Device.LLDP.";
-      reference
-        "Device.LLDP.";
-      uses device-lldp-g;
-      container discovery {
-        description
-          "Container for object class Device.LLDP.Discovery.";
-        reference
-          "Device.LLDP.Discovery.";
-        uses lldp-discovery-g;
-        list device {
-          key "index";
-          description
-            "Device.LLDP.Discovery.Device.{i}.";
-          reference
-            "Device.LLDP.Discovery.Device.{i}.";
-          uses discovery-device-g;
-          container device-information {
-            description
-              "Container for object class Device.LLDP.Discovery.Device.{i}.DeviceInformation.";
-            reference
-              "Device.LLDP.Discovery.Device.{i}.DeviceInformation.";
-            uses device-device-information-g;
-            list vendor-specific {
-              key "index";
-              description
-                "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.";
-              reference
-                "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.";
-              uses device-information-vendor-specific-g;
-            }
-          }
-          list port {
-            key "index";
-            description
-              "Device.LLDP.Discovery.Device.{i}.Port.{i}.";
-            reference
-              "Device.LLDP.Discovery.Device.{i}.Port.{i}.";
-            uses device-port-g;
-            container link-information {
-              description
-                "Container for object class Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.";
-              reference
-                "Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.";
-              uses port-link-information-g;
-            }
-          }
-        }
-      }
-    }
-    container lmap {
-      description
-        "Container for object class Device.LMAP.";
-      reference
-        "Device.LMAP.";
-      uses device-lmap-g;
-      list event {
-        key "index";
-        description
-          "Device.LMAP.Event.{i}.";
-        reference
-          "Device.LMAP.Event.{i}.";
-        uses lmap-event-g;
-        container calendar-timer {
-          description
-            "Container for object class Device.LMAP.Event.{i}.CalendarTimer.";
-          reference
-            "Device.LMAP.Event.{i}.CalendarTimer.";
-          uses event-calendar-timer-g;
-        }
-        container one-off {
-          description
-            "Container for object class Device.LMAP.Event.{i}.OneOff.";
-          reference
-            "Device.LMAP.Event.{i}.OneOff.";
-          uses event-one-off-g;
-        }
-        container periodic-timer {
-          description
-            "Container for object class Device.LMAP.Event.{i}.PeriodicTimer.";
-          reference
-            "Device.LMAP.Event.{i}.PeriodicTimer.";
-          uses event-periodic-timer-g;
-        }
-      }
-      list measurement-agent {
-        key "index";
-        description
-          "Device.LMAP.MeasurementAgent.{i}.";
-        reference
-          "Device.LMAP.MeasurementAgent.{i}.";
-        uses lmap-measurement-agent-g;
-        list communication-channel {
-          key "index";
-          description
-            "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.";
-          reference
-            "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.";
-          uses measurement-agent-communication-channel-g;
-        }
-        container controller {
-          description
-            "Container for object class Device.LMAP.MeasurementAgent.{i}.Controller.";
-          reference
-            "Device.LMAP.MeasurementAgent.{i}.Controller.";
-          uses measurement-agent-controller-g;
-        }
-        list instruction {
-          key "index";
-          description
-            "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.";
-          reference
-            "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.";
-          uses measurement-agent-instruction-g;
-          list measurement-suppression {
-            key "index";
-            description
-              "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.";
-            reference
-              "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.";
-            uses instruction-measurement-suppression-g;
-          }
-        }
-        list schedule {
-          key "index";
-          description
-            "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.";
-          reference
-            "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.";
-          uses measurement-agent-schedule-g;
-          list action {
-            key "index";
-            description
-              "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.";
-            reference
-              "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.";
-            uses schedule-action-g;
-            list option {
-              key "index";
-              description
-                "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.";
-              reference
-                "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.";
-              uses action-option-g;
-            }
-            container stats {
-              description
-                "Container for object class Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.";
-              reference
-                "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.";
-              uses action-stats-g;
-            }
-          }
-          container stats {
-            description
-              "Container for object class Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.";
-            reference
-              "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.";
-            uses schedule-stats-g;
-          }
-        }
-        list task {
-          key "index";
-          description
-            "Device.LMAP.MeasurementAgent.{i}.Task.{i}.";
-          reference
-            "Device.LMAP.MeasurementAgent.{i}.Task.{i}.";
-          uses measurement-agent-task-g;
-          list option {
-            key "index";
-            description
-              "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.";
-            reference
-              "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.";
-            uses task-option-g;
-          }
-          list registry {
-            key "index";
-            description
-              "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.";
-            reference
-              "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.";
-            uses task-registry-g;
-          }
-        }
-        list task-capability {
-          key "index";
-          description
-            "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.";
-          reference
-            "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.";
-          uses measurement-agent-task-capability-g;
-          list registry {
-            key "index";
-            description
-              "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.";
-            reference
-              "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.";
-            uses task-capability-registry-g;
-          }
-        }
-      }
-      list report {
-        key "index";
-        description
-          "Device.LMAP.Report.{i}.";
-        reference
-          "Device.LMAP.Report.{i}.";
-        uses lmap-report-g;
-        list result {
-          key "index";
-          description
-            "Device.LMAP.Report.{i}.Result.{i}.";
-          reference
-            "Device.LMAP.Report.{i}.Result.{i}.";
-          uses report-result-g;
-          list conflict {
-            key "index";
-            description
-              "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.";
-            reference
-              "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.";
-            uses result-conflict-g;
-          }
-          list option {
-            key "index";
-            description
-              "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.";
-            reference
-              "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.";
-            uses result-option-g;
-          }
-          list report-table {
-            key "index";
-            description
-              "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.";
-            reference
-              "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.";
-            uses result-report-table-g;
-            list registry {
-              key "index";
-              description
-                "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.";
-              reference
-                "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.";
-              uses report-table-registry-g;
-            }
-            list result-row {
-              key "index";
-              description
-                "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.";
-              reference
-                "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.";
-              uses report-table-result-row-g;
-            }
-          }
-        }
-      }
-    }
-    container map {
-      description
-        "Container for object class Device.MAP.";
-      reference
-        "Device.MAP.";
-      uses device-map-g;
-      list domain {
-        key "index";
-        description
-          "Device.MAP.Domain.{i}.";
-        reference
-          "Device.MAP.Domain.{i}.";
-        uses map-domain-g;
-        container interface {
-          description
-            "Container for object class Device.MAP.Domain.{i}.Interface.";
-          reference
-            "Device.MAP.Domain.{i}.Interface.";
-          uses domain-interface-g;
-          container stats {
-            description
-              "Container for object class Device.MAP.Domain.{i}.Interface.Stats.";
-            reference
-              "Device.MAP.Domain.{i}.Interface.Stats.";
-            uses domain-interface-stats-g;
-          }
-        }
-        list rule {
-          key "index";
-          description
-            "Device.MAP.Domain.{i}.Rule.{i}.";
-          reference
-            "Device.MAP.Domain.{i}.Rule.{i}.";
-          uses domain-rule-g;
-        }
-      }
-    }
-    container mqtt {
-      description
-        "Container for object class Device.MQTT.";
-      reference
-        "Device.MQTT.";
-      uses device-mqtt-g;
-      list broker {
-        key "index";
-        description
-          "Device.MQTT.Broker.{i}.";
-        reference
-          "Device.MQTT.Broker.{i}.";
-        uses mqtt-broker-g;
-        list bridge {
-          key "index";
-          description
-            "Device.MQTT.Broker.{i}.Bridge.{i}.";
-          reference
-            "Device.MQTT.Broker.{i}.Bridge.{i}.";
-          uses broker-bridge-g;
-          list server {
-            key "index";
-            description
-              "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.";
-            reference
-              "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.";
-            uses bridge-server-g;
-          }
-          list subscription {
-            key "index";
-            description
-              "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.";
-            reference
-              "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.";
-            uses bridge-subscription-g;
-          }
-        }
-        container stats {
-          description
-            "Container for object class Device.MQTT.Broker.{i}.Stats.";
-          reference
-            "Device.MQTT.Broker.{i}.Stats.";
-          uses broker-stats-g;
-        }
-      }
-      container capabilities {
-        description
-          "Container for object class Device.MQTT.Capabilities.";
-        reference
-          "Device.MQTT.Capabilities.";
-        uses mqtt-capabilities-g;
-      }
-      list client {
-        key "index";
-        description
-          "Device.MQTT.Client.{i}.";
-        reference
-          "Device.MQTT.Client.{i}.";
-        uses mqtt-client-g;
-        container stats {
-          description
-            "Container for object class Device.MQTT.Client.{i}.Stats.";
-          reference
-            "Device.MQTT.Client.{i}.Stats.";
-          uses client-stats-g;
-        }
-        list subscription {
-          key "index";
-          description
-            "Device.MQTT.Client.{i}.Subscription.{i}.";
-          reference
-            "Device.MQTT.Client.{i}.Subscription.{i}.";
-          uses client-subscription-g;
-        }
-      }
-    }
-    container management-server {
-      description
-        "Container for object class Device.ManagementServer.";
-      reference
-        "Device.ManagementServer.";
-      uses device-management-server-g;
-      container autonomous-transfer-complete-policy {
-        description
-          "Container for object class Device.ManagementServer.AutonomousTransferCompletePolicy.";
-        reference
-          "Device.ManagementServer.AutonomousTransferCompletePolicy.";
-        uses management-server-autonomous-transfer-complete-policy-g;
-      }
-      container du-state-change-compl-policy {
-        description
-          "Container for object class Device.ManagementServer.DUStateChangeComplPolicy.";
-        reference
-          "Device.ManagementServer.DUStateChangeComplPolicy.";
-        uses management-server-du-state-change-compl-policy-g;
-      }
-      container download-availability {
-        description
-          "Container for object class Device.ManagementServer.DownloadAvailability.";
-        reference
-          "Device.ManagementServer.DownloadAvailability.";
-        uses management-server-download-availability-g;
-        container announcement {
-          description
-            "Container for object class Device.ManagementServer.DownloadAvailability.Announcement.";
-          reference
-            "Device.ManagementServer.DownloadAvailability.Announcement.";
-          uses download-availability-announcement-g;
-          list group {
-            key "index";
-            description
-              "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.";
-            reference
-              "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.";
-            uses announcement-group-g;
-          }
-        }
-        container query {
-          description
-            "Container for object class Device.ManagementServer.DownloadAvailability.Query.";
-          reference
-            "Device.ManagementServer.DownloadAvailability.Query.";
-          uses download-availability-query-g;
-        }
-      }
-      list embedded-device {
-        key "index";
-        description
-          "Device.ManagementServer.EmbeddedDevice.{i}.";
-        reference
-          "Device.ManagementServer.EmbeddedDevice.{i}.";
-        uses management-server-embedded-device-g;
-      }
-      container heartbeat-policy {
-        description
-          "Container for object class Device.ManagementServer.HeartbeatPolicy.";
-        reference
-          "Device.ManagementServer.HeartbeatPolicy.";
-        uses management-server-heartbeat-policy-g;
-      }
-      list inform-parameter {
-        key "index";
-        description
-          "Device.ManagementServer.InformParameter.{i}.";
-        reference
-          "Device.ManagementServer.InformParameter.{i}.";
-        uses management-server-inform-parameter-g;
-      }
-      list manageable-device {
-        key "index";
-        description
-          "Device.ManagementServer.ManageableDevice.{i}.";
-        reference
-          "Device.ManagementServer.ManageableDevice.{i}.";
-        uses management-server-manageable-device-g;
-      }
-      container standby-policy {
-        description
-          "Container for object class Device.ManagementServer.StandbyPolicy.";
-        reference
-          "Device.ManagementServer.StandbyPolicy.";
-        uses management-server-standby-policy-g;
-      }
-      list virtual-device {
-        key "index";
-        description
-          "Device.ManagementServer.VirtualDevice.{i}.";
-        reference
-          "Device.ManagementServer.VirtualDevice.{i}.";
-        uses management-server-virtual-device-g;
-      }
-    }
-    container mo-ca {
-      description
-        "Container for object class Device.MoCA.";
-      reference
-        "Device.MoCA.";
-      uses device-mo-ca-g;
-      list interface {
-        key "index";
-        description
-          "Device.MoCA.Interface.{i}.";
-        reference
-          "Device.MoCA.Interface.{i}.";
-        uses mo-ca-interface-g;
-        list associated-device {
-          key "index";
-          description
-            "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.";
-          reference
-            "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.";
-          uses mo-ca-interface-associated-device-g;
-        }
-        container qo-s {
-          description
-            "Container for object class Device.MoCA.Interface.{i}.QoS.";
-          reference
-            "Device.MoCA.Interface.{i}.QoS.";
-          uses mo-ca-interface-qo-s-g;
-          list flow-stats {
-            key "index";
-            description
-              "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.";
-            reference
-              "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.";
-            uses qo-s-flow-stats-g;
-          }
-        }
-        container stats {
-          description
-            "Container for object class Device.MoCA.Interface.{i}.Stats.";
-          reference
-            "Device.MoCA.Interface.{i}.Stats.";
-          uses mo-ca-interface-stats-g;
-        }
-      }
-    }
-    container nat {
-      description
-        "Container for object class Device.NAT.";
-      reference
-        "Device.NAT.";
-      uses device-nat-g;
-      list interface-setting {
-        key "index";
-        description
-          "Device.NAT.InterfaceSetting.{i}.";
-        reference
-          "Device.NAT.InterfaceSetting.{i}.";
-        uses nat-interface-setting-g;
-      }
-      list port-mapping {
-        key "index";
-        description
-          "Device.NAT.PortMapping.{i}.";
-        reference
-          "Device.NAT.PortMapping.{i}.";
-        uses nat-port-mapping-g;
-      }
-    }
-    container neighbor-discovery {
-      description
-        "Container for object class Device.NeighborDiscovery.";
-      reference
-        "Device.NeighborDiscovery.";
-      uses device-neighbor-discovery-g;
-      list interface-setting {
-        key "index";
-        description
-          "Device.NeighborDiscovery.InterfaceSetting.{i}.";
-        reference
-          "Device.NeighborDiscovery.InterfaceSetting.{i}.";
-        uses neighbor-discovery-interface-setting-g;
-      }
-    }
-    container optical {
-      description
-        "Container for object class Device.Optical.";
-      reference
-        "Device.Optical.";
-      uses device-optical-g;
-      list interface {
-        key "index";
-        description
-          "Device.Optical.Interface.{i}.";
-        reference
-          "Device.Optical.Interface.{i}.";
-        uses optical-interface-g;
-        container stats {
-          description
-            "Container for object class Device.Optical.Interface.{i}.Stats.";
-          reference
-            "Device.Optical.Interface.{i}.Stats.";
-          uses optical-interface-stats-g;
-        }
-      }
-    }
-    container pcp {
-      description
-        "Container for object class Device.PCP.";
-      reference
-        "Device.PCP.";
-      uses device-pcp-g;
-      list client {
-        key "index";
-        description
-          "Device.PCP.Client.{i}.";
-        reference
-          "Device.PCP.Client.{i}.";
-        uses pcp-client-g;
-        container pcp-proxy {
-          description
-            "Container for object class Device.PCP.Client.{i}.PCPProxy.";
-          reference
-            "Device.PCP.Client.{i}.PCPProxy.";
-          uses client-pcp-proxy-g;
-        }
-        list server {
-          key "index";
-          description
-            "Device.PCP.Client.{i}.Server.{i}.";
-          reference
-            "Device.PCP.Client.{i}.Server.{i}.";
-          uses pcp-client-server-g;
-          list inbound-mapping {
-            key "index";
-            description
-              "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.";
-            reference
-              "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.";
-            uses server-inbound-mapping-g;
-            list filter {
-              key "index";
-              description
-                "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.";
-              reference
-                "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.";
-              uses inbound-mapping-filter-g;
-            }
-          }
-          list outbound-mapping {
-            key "index";
-            description
-              "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.";
-            reference
-              "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.";
-            uses server-outbound-mapping-g;
-          }
-        }
-        container u-pn-piwf {
-          description
-            "Container for object class Device.PCP.Client.{i}.UPnPIWF.";
-          reference
-            "Device.PCP.Client.{i}.UPnPIWF.";
-          uses client-u-pn-piwf-g;
-        }
-      }
-    }
-    container ppp {
-      description
-        "Container for object class Device.PPP.";
-      reference
-        "Device.PPP.";
-      uses device-ppp-g;
-      list interface {
-        key "index";
-        description
-          "Device.PPP.Interface.{i}.";
-        reference
-          "Device.PPP.Interface.{i}.";
-        uses ppp-interface-g;
-        container ipcp {
-          description
-            "Container for object class Device.PPP.Interface.{i}.IPCP.";
-          reference
-            "Device.PPP.Interface.{i}.IPCP.";
-          uses interface-ipcp-g;
-        }
-        container ipv6-cp {
-          description
-            "Container for object class Device.PPP.Interface.{i}.IPv6CP.";
-          reference
-            "Device.PPP.Interface.{i}.IPv6CP.";
-          uses interface-ipv6-cp-g;
-        }
-        container pp-po-a {
-          description
-            "Container for object class Device.PPP.Interface.{i}.PPPoA.";
-          reference
-            "Device.PPP.Interface.{i}.PPPoA.";
-          uses interface-pp-po-a-g;
-        }
-        container pp-po-e {
-          description
-            "Container for object class Device.PPP.Interface.{i}.PPPoE.";
-          reference
-            "Device.PPP.Interface.{i}.PPPoE.";
-          uses interface-pp-po-e-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.PPP.Interface.{i}.Stats.";
-          reference
-            "Device.PPP.Interface.{i}.Stats.";
-          uses ppp-interface-stats-g;
-        }
-      }
-    }
-    container ptm {
-      description
-        "Container for object class Device.PTM.";
-      reference
-        "Device.PTM.";
-      uses device-ptm-g;
-      list link {
-        key "index";
-        description
-          "Device.PTM.Link.{i}.";
-        reference
-          "Device.PTM.Link.{i}.";
-        uses ptm-link-g;
-        container stats {
-          description
-            "Container for object class Device.PTM.Link.{i}.Stats.";
-          reference
-            "Device.PTM.Link.{i}.Stats.";
-          uses ptm-link-stats-g;
-        }
-      }
-    }
-    container periodic-statistics {
-      description
-        "Container for object class Device.PeriodicStatistics.";
-      reference
-        "Device.PeriodicStatistics.";
-      uses device-periodic-statistics-g;
-      list sample-set {
-        key "index";
-        description
-          "Device.PeriodicStatistics.SampleSet.{i}.";
-        reference
-          "Device.PeriodicStatistics.SampleSet.{i}.";
-        uses periodic-statistics-sample-set-g;
-        list parameter {
-          key "index";
-          description
-            "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.";
-          reference
-            "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.";
-          uses sample-set-parameter-g;
-        }
-      }
-    }
-    container qo-s {
-      description
-        "Container for object class Device.QoS.";
-      reference
-        "Device.QoS.";
-      uses device-qo-s-g;
-      list app {
-        key "index";
-        description
-          "Device.QoS.App.{i}.";
-        reference
-          "Device.QoS.App.{i}.";
-        uses qo-s-app-g;
-      }
-      list classification {
-        key "index";
-        description
-          "Device.QoS.Classification.{i}.";
-        reference
-          "Device.QoS.Classification.{i}.";
-        uses qo-s-classification-g;
-      }
-      list flow {
-        key "index";
-        description
-          "Device.QoS.Flow.{i}.";
-        reference
-          "Device.QoS.Flow.{i}.";
-        uses qo-s-flow-g;
-      }
-      list policer {
-        key "index";
-        description
-          "Device.QoS.Policer.{i}.";
-        reference
-          "Device.QoS.Policer.{i}.";
-        uses qo-s-policer-g;
-      }
-      list queue {
-        key "index";
-        description
-          "Device.QoS.Queue.{i}.";
-        reference
-          "Device.QoS.Queue.{i}.";
-        uses qo-s-queue-g;
-      }
-      list queue-stats {
-        key "index";
-        description
-          "Device.QoS.QueueStats.{i}.";
-        reference
-          "Device.QoS.QueueStats.{i}.";
-        uses qo-s-queue-stats-g;
-      }
-      list shaper {
-        key "index";
-        description
-          "Device.QoS.Shaper.{i}.";
-        reference
-          "Device.QoS.Shaper.{i}.";
-        uses qo-s-shaper-g;
-      }
-    }
-    container router-advertisement {
-      description
-        "Container for object class Device.RouterAdvertisement.";
-      reference
-        "Device.RouterAdvertisement.";
-      uses device-router-advertisement-g;
-      list interface-setting {
-        key "index";
-        description
-          "Device.RouterAdvertisement.InterfaceSetting.{i}.";
-        reference
-          "Device.RouterAdvertisement.InterfaceSetting.{i}.";
-        uses router-advertisement-interface-setting-g;
-        list option {
-          key "index";
-          description
-            "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.";
-          reference
-            "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.";
-          uses interface-setting-option-g;
-        }
-      }
-    }
-    container routing {
-      description
-        "Container for object class Device.Routing.";
-      reference
-        "Device.Routing.";
-      uses device-routing-g;
-      container rip {
-        description
-          "Container for object class Device.Routing.RIP.";
-        reference
-          "Device.Routing.RIP.";
-        uses routing-rip-g;
-        list interface-setting {
-          key "index";
-          description
-            "Device.Routing.RIP.InterfaceSetting.{i}.";
-          reference
-            "Device.Routing.RIP.InterfaceSetting.{i}.";
-          uses rip-interface-setting-g;
-        }
-      }
-      container route-information {
-        description
-          "Container for object class Device.Routing.RouteInformation.";
-        reference
-          "Device.Routing.RouteInformation.";
-        uses routing-route-information-g;
-        list interface-setting {
-          key "index";
-          description
-            "Device.Routing.RouteInformation.InterfaceSetting.{i}.";
-          reference
-            "Device.Routing.RouteInformation.InterfaceSetting.{i}.";
-          uses route-information-interface-setting-g;
-        }
-      }
-      list router {
-        key "index";
-        description
-          "Device.Routing.Router.{i}.";
-        reference
-          "Device.Routing.Router.{i}.";
-        uses routing-router-g;
-        list ipv4-forwarding {
-          key "index";
-          description
-            "Device.Routing.Router.{i}.IPv4Forwarding.{i}.";
-          reference
-            "Device.Routing.Router.{i}.IPv4Forwarding.{i}.";
-          uses router-ipv4-forwarding-g;
-        }
-        list ipv6-forwarding {
-          key "index";
-          description
-            "Device.Routing.Router.{i}.IPv6Forwarding.{i}.";
-          reference
-            "Device.Routing.Router.{i}.IPv6Forwarding.{i}.";
-          uses router-ipv6-forwarding-g;
-        }
-      }
-    }
-    container security {
-      description
-        "Container for object class Device.Security.";
-      reference
-        "Device.Security.";
-      uses device-security-g;
-      list certificate {
-        key "index";
-        description
-          "Device.Security.Certificate.{i}.";
-        reference
-          "Device.Security.Certificate.{i}.";
-        uses security-certificate-g;
-      }
-    }
-    container self-test-diagnostics {
-      description
-        "Container for object class Device.SelfTestDiagnostics.";
-      reference
-        "Device.SelfTestDiagnostics.";
-      uses device-self-test-diagnostics-g;
-    }
-    container services {
-      description
-        "Container for object class Device.Services.";
-      reference
-        "Device.Services.";
-      uses device-services-g;
-    }
-    container smart-card-readers {
-      description
-        "Container for object class Device.SmartCardReaders.";
-      reference
-        "Device.SmartCardReaders.";
-      uses device-smart-card-readers-g;
-      list smart-card-reader {
-        key "index";
-        description
-          "Device.SmartCardReaders.SmartCardReader.{i}.";
-        reference
-          "Device.SmartCardReaders.SmartCardReader.{i}.";
-        uses smart-card-readers-smart-card-reader-g;
-        container smart-card {
-          description
-            "Container for object class Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.";
-          reference
-            "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.";
-          uses smart-card-reader-smart-card-g;
-        }
-      }
-    }
-    container software-modules {
-      description
-        "Container for object class Device.SoftwareModules.";
-      reference
-        "Device.SoftwareModules.";
-      uses device-software-modules-g;
-      list deployment-unit {
-        key "index";
-        description
-          "Device.SoftwareModules.DeploymentUnit.{i}.";
-        reference
-          "Device.SoftwareModules.DeploymentUnit.{i}.";
-        uses software-modules-deployment-unit-g;
-      }
-      list exec-env {
-        key "index";
-        description
-          "Device.SoftwareModules.ExecEnv.{i}.";
-        reference
-          "Device.SoftwareModules.ExecEnv.{i}.";
-        uses software-modules-exec-env-g;
-      }
-      list execution-unit {
-        key "index";
-        description
-          "Device.SoftwareModules.ExecutionUnit.{i}.";
-        reference
-          "Device.SoftwareModules.ExecutionUnit.{i}.";
-        uses software-modules-execution-unit-g;
-        container extensions {
-          description
-            "Container for object class Device.SoftwareModules.ExecutionUnit.{i}.Extensions.";
-          reference
-            "Device.SoftwareModules.ExecutionUnit.{i}.Extensions.";
-          uses execution-unit-extensions-g;
-        }
-      }
-    }
-    container time {
-      description
-        "Container for object class Device.Time.";
-      reference
-        "Device.Time.";
-      uses device-time-g;
-    }
-    container upa {
-      description
-        "Container for object class Device.UPA.";
-      reference
-        "Device.UPA.";
-      uses device-upa-g;
-      container diagnostics {
-        description
-          "Container for object class Device.UPA.Diagnostics.";
-        reference
-          "Device.UPA.Diagnostics.";
-        uses upa-diagnostics-g;
-        container interface-measurement {
-          description
-            "Container for object class Device.UPA.Diagnostics.InterfaceMeasurement.";
-          reference
-            "Device.UPA.Diagnostics.InterfaceMeasurement.";
-          uses diagnostics-interface-measurement-g;
-        }
-      }
-      list interface {
-        key "index";
-        description
-          "Device.UPA.Interface.{i}.";
-        reference
-          "Device.UPA.Interface.{i}.";
-        uses upa-interface-g;
-        list active-notch {
-          key "index";
-          description
-            "Device.UPA.Interface.{i}.ActiveNotch.{i}.";
-          reference
-            "Device.UPA.Interface.{i}.ActiveNotch.{i}.";
-          uses interface-active-notch-g;
-        }
-        list associated-device {
-          key "index";
-          description
-            "Device.UPA.Interface.{i}.AssociatedDevice.{i}.";
-          reference
-            "Device.UPA.Interface.{i}.AssociatedDevice.{i}.";
-          uses upa-interface-associated-device-g;
-        }
-        list bridge-for {
-          key "index";
-          description
-            "Device.UPA.Interface.{i}.BridgeFor.{i}.";
-          reference
-            "Device.UPA.Interface.{i}.BridgeFor.{i}.";
-          uses interface-bridge-for-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.UPA.Interface.{i}.Stats.";
-          reference
-            "Device.UPA.Interface.{i}.Stats.";
-          uses upa-interface-stats-g;
-        }
-      }
-    }
-    container u-pn-p {
-      description
-        "Container for object class Device.UPnP.";
-      reference
-        "Device.UPnP.";
-      uses device-u-pn-p-g;
-      container description {
-        description
-          "Container for object class Device.UPnP.Description.";
-        reference
-          "Device.UPnP.Description.";
-        uses u-pn-p-description-g;
-        list device-description {
-          key "index";
-          description
-            "Device.UPnP.Description.DeviceDescription.{i}.";
-          reference
-            "Device.UPnP.Description.DeviceDescription.{i}.";
-          uses description-device-description-g;
-        }
-        list device-instance {
-          key "index";
-          description
-            "Device.UPnP.Description.DeviceInstance.{i}.";
-          reference
-            "Device.UPnP.Description.DeviceInstance.{i}.";
-          uses description-device-instance-g;
-        }
-        list service-instance {
-          key "index";
-          description
-            "Device.UPnP.Description.ServiceInstance.{i}.";
-          reference
-            "Device.UPnP.Description.ServiceInstance.{i}.";
-          uses description-service-instance-g;
-        }
-      }
-      container device {
-        description
-          "Container for object class Device.UPnP.Device.";
-        reference
-          "Device.UPnP.Device.";
-        uses u-pn-p-device-g;
-        container capabilities {
-          description
-            "Container for object class Device.UPnP.Device.Capabilities.";
-          reference
-            "Device.UPnP.Device.Capabilities.";
-          uses device-capabilities-g;
-        }
-      }
-      container discovery {
-        description
-          "Container for object class Device.UPnP.Discovery.";
-        reference
-          "Device.UPnP.Discovery.";
-        uses u-pn-p-discovery-g;
-        list device {
-          key "index";
-          description
-            "Device.UPnP.Discovery.Device.{i}.";
-          reference
-            "Device.UPnP.Discovery.Device.{i}.";
-          uses u-pn-p-discovery-device-g;
-        }
-        list root-device {
-          key "index";
-          description
-            "Device.UPnP.Discovery.RootDevice.{i}.";
-          reference
-            "Device.UPnP.Discovery.RootDevice.{i}.";
-          uses discovery-root-device-g;
-        }
-        list service {
-          key "index";
-          description
-            "Device.UPnP.Discovery.Service.{i}.";
-          reference
-            "Device.UPnP.Discovery.Service.{i}.";
-          uses discovery-service-g;
-        }
-      }
-    }
-    container usb {
-      description
-        "Container for object class Device.USB.";
-      reference
-        "Device.USB.";
-      uses device-usb-g;
-      list interface {
-        key "index";
-        description
-          "Device.USB.Interface.{i}.";
-        reference
-          "Device.USB.Interface.{i}.";
-        uses usb-interface-g;
-        container stats {
-          description
-            "Container for object class Device.USB.Interface.{i}.Stats.";
-          reference
-            "Device.USB.Interface.{i}.Stats.";
-          uses usb-interface-stats-g;
-        }
-      }
-      list port {
-        key "index";
-        description
-          "Device.USB.Port.{i}.";
-        reference
-          "Device.USB.Port.{i}.";
-        uses usb-port-g;
-      }
-      container usb-hosts {
-        description
-          "Container for object class Device.USB.USBHosts.";
-        reference
-          "Device.USB.USBHosts.";
-        uses usb-usb-hosts-g;
-        list host {
-          key "index";
-          description
-            "Device.USB.USBHosts.Host.{i}.";
-          reference
-            "Device.USB.USBHosts.Host.{i}.";
-          uses usb-hosts-host-g;
-          list device {
-            key "index";
-            description
-              "Device.USB.USBHosts.Host.{i}.Device.{i}.";
-            reference
-              "Device.USB.USBHosts.Host.{i}.Device.{i}.";
-            uses host-device-g;
-            list configuration {
-              key "index";
-              description
-                "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.";
-              reference
-                "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.";
-              uses device-configuration-g;
-              list interface {
-                key "index";
-                description
-                  "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.";
-                reference
-                  "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.";
-                uses configuration-interface-g;
-              }
-            }
-          }
-        }
-      }
-    }
-    container user-interface {
-      description
-        "Container for object class Device.UserInterface.";
-      reference
-        "Device.UserInterface.";
-      uses device-user-interface-g;
-      container local-display {
-        description
-          "Container for object class Device.UserInterface.LocalDisplay.";
-        reference
-          "Device.UserInterface.LocalDisplay.";
-        uses user-interface-local-display-g;
-      }
-      container messages {
-        description
-          "Container for object class Device.UserInterface.Messages.";
-        reference
-          "Device.UserInterface.Messages.";
-        uses user-interface-messages-g;
-      }
-      container remote-access {
-        description
-          "Container for object class Device.UserInterface.RemoteAccess.";
-        reference
-          "Device.UserInterface.RemoteAccess.";
-        uses user-interface-remote-access-g;
-      }
-    }
-    container users {
-      description
-        "Container for object class Device.Users.";
-      reference
-        "Device.Users.";
-      uses device-users-g;
-      list user {
-        key "index";
-        description
-          "Device.Users.User.{i}.";
-        reference
-          "Device.Users.User.{i}.";
-        uses users-user-g;
-      }
-    }
-    container vxlan {
-      description
-        "Container for object class Device.VXLAN.";
-      reference
-        "Device.VXLAN.";
-      uses device-vxlan-g;
-      list filter {
-        key "index";
-        description
-          "Device.VXLAN.Filter.{i}.";
-        reference
-          "Device.VXLAN.Filter.{i}.";
-        uses vxlan-filter-g;
-      }
-      list tunnel {
-        key "index";
-        description
-          "Device.VXLAN.Tunnel.{i}.";
-        reference
-          "Device.VXLAN.Tunnel.{i}.";
-        uses vxlan-tunnel-g;
-        list interface {
-          key "index";
-          description
-            "Device.VXLAN.Tunnel.{i}.Interface.{i}.";
-          reference
-            "Device.VXLAN.Tunnel.{i}.Interface.{i}.";
-          uses vxlan-tunnel-interface-g;
-          container stats {
-            description
-              "Container for object class Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.";
-            reference
-              "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.";
-            uses vxlan-tunnel-interface-stats-g;
-          }
-        }
-        container stats {
-          description
-            "Container for object class Device.VXLAN.Tunnel.{i}.Stats.";
-          reference
-            "Device.VXLAN.Tunnel.{i}.Stats.";
-          uses vxlan-tunnel-stats-g;
-        }
-      }
-    }
-    container wi-fi {
-      description
-        "Container for object class Device.WiFi.";
-      reference
-        "Device.WiFi.";
-      uses device-wi-fi-g;
-      list access-point {
-        key "index";
-        description
-          "Device.WiFi.AccessPoint.{i}.";
-        reference
-          "Device.WiFi.AccessPoint.{i}.";
-        uses wi-fi-access-point-g;
-        list ac {
-          key "index";
-          description
-            "Device.WiFi.AccessPoint.{i}.AC.{i}.";
-          reference
-            "Device.WiFi.AccessPoint.{i}.AC.{i}.";
-          uses access-point-ac-g;
-          container stats {
-            description
-              "Container for object class Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.";
-            reference
-              "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.";
-            uses ac-stats-g;
-          }
-        }
-        container accounting {
-          description
-            "Container for object class Device.WiFi.AccessPoint.{i}.Accounting.";
-          reference
-            "Device.WiFi.AccessPoint.{i}.Accounting.";
-          uses access-point-accounting-g;
-        }
-        list associated-device {
-          key "index";
-          description
-            "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.";
-          reference
-            "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.";
-          uses access-point-associated-device-g;
-          container stats {
-            description
-              "Container for object class Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.";
-            reference
-              "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.";
-            uses associated-device-stats-g;
-          }
-        }
-        container security {
-          description
-            "Container for object class Device.WiFi.AccessPoint.{i}.Security.";
-          reference
-            "Device.WiFi.AccessPoint.{i}.Security.";
-          uses access-point-security-g;
-        }
-        container wps {
-          description
-            "Container for object class Device.WiFi.AccessPoint.{i}.WPS.";
-          reference
-            "Device.WiFi.AccessPoint.{i}.WPS.";
-          uses access-point-wps-g;
-        }
-      }
-      list end-point {
-        key "index";
-        description
-          "Device.WiFi.EndPoint.{i}.";
-        reference
-          "Device.WiFi.EndPoint.{i}.";
-        uses wi-fi-end-point-g;
-        list ac {
-          key "index";
-          description
-            "Device.WiFi.EndPoint.{i}.AC.{i}.";
-          reference
-            "Device.WiFi.EndPoint.{i}.AC.{i}.";
-          uses end-point-ac-g;
-          container stats {
-            description
-              "Container for object class Device.WiFi.EndPoint.{i}.AC.{i}.Stats.";
-            reference
-              "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.";
-            uses end-point-ac-stats-g;
-          }
-        }
-        list profile {
-          key "index";
-          description
-            "Device.WiFi.EndPoint.{i}.Profile.{i}.";
-          reference
-            "Device.WiFi.EndPoint.{i}.Profile.{i}.";
-          uses end-point-profile-g;
-          container security {
-            description
-              "Container for object class Device.WiFi.EndPoint.{i}.Profile.{i}.Security.";
-            reference
-              "Device.WiFi.EndPoint.{i}.Profile.{i}.Security.";
-            uses profile-security-g;
-          }
-        }
-        container security {
-          description
-            "Container for object class Device.WiFi.EndPoint.{i}.Security.";
-          reference
-            "Device.WiFi.EndPoint.{i}.Security.";
-          uses end-point-security-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.WiFi.EndPoint.{i}.Stats.";
-          reference
-            "Device.WiFi.EndPoint.{i}.Stats.";
-          uses end-point-stats-g;
-        }
-        container wps {
-          description
-            "Container for object class Device.WiFi.EndPoint.{i}.WPS.";
-          reference
-            "Device.WiFi.EndPoint.{i}.WPS.";
-          uses end-point-wps-g;
-        }
-      }
-      container neighboring-wi-fi-diagnostic {
-        description
-          "Container for object class Device.WiFi.NeighboringWiFiDiagnostic.";
-        reference
-          "Device.WiFi.NeighboringWiFiDiagnostic.";
-        uses wi-fi-neighboring-wi-fi-diagnostic-g;
-        list result {
-          key "index";
-          description
-            "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.";
-          reference
-            "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.";
-          uses neighboring-wi-fi-diagnostic-result-g;
-        }
-      }
-      list radio {
-        key "index";
-        description
-          "Device.WiFi.Radio.{i}.";
-        reference
-          "Device.WiFi.Radio.{i}.";
-        uses wi-fi-radio-g;
-        container stats {
-          description
-            "Container for object class Device.WiFi.Radio.{i}.Stats.";
-          reference
-            "Device.WiFi.Radio.{i}.Stats.";
-          uses radio-stats-g;
-        }
-      }
-      list ssid {
-        key "index";
-        description
-          "Device.WiFi.SSID.{i}.";
-        reference
-          "Device.WiFi.SSID.{i}.";
-        uses wi-fi-ssid-g;
-        container stats {
-          description
-            "Container for object class Device.WiFi.SSID.{i}.Stats.";
-          reference
-            "Device.WiFi.SSID.{i}.Stats.";
-          uses ssid-stats-g;
-        }
-      }
-    }
-    container xmpp {
-      description
-        "Container for object class Device.XMPP.";
-      reference
-        "Device.XMPP.";
-      uses device-xmpp-g;
-      list connection {
-        key "index";
-        description
-          "Device.XMPP.Connection.{i}.";
-        reference
-          "Device.XMPP.Connection.{i}.";
-        uses xmpp-connection-g;
-        list server {
-          key "index";
-          description
-            "Device.XMPP.Connection.{i}.Server.{i}.";
-          reference
-            "Device.XMPP.Connection.{i}.Server.{i}.";
-          uses connection-server-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.XMPP.Connection.{i}.Stats.";
-          reference
-            "Device.XMPP.Connection.{i}.Stats.";
-          uses connection-stats-g;
-        }
-      }
-    }
-    container zig-bee {
-      description
-        "Container for object class Device.ZigBee.";
-      reference
-        "Device.ZigBee.";
-      uses device-zig-bee-g;
-      container discovery {
-        description
-          "Container for object class Device.ZigBee.Discovery.";
-        reference
-          "Device.ZigBee.Discovery.";
-        uses zig-bee-discovery-g;
-        list area-network {
-          key "index";
-          description
-            "Device.ZigBee.Discovery.AreaNetwork.{i}.";
-          reference
-            "Device.ZigBee.Discovery.AreaNetwork.{i}.";
-          uses discovery-area-network-g;
-        }
-      }
-      list interface {
-        key "index";
-        description
-          "Device.ZigBee.Interface.{i}.";
-        reference
-          "Device.ZigBee.Interface.{i}.";
-        uses zig-bee-interface-g;
-        list associated-device {
-          key "index";
-          description
-            "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.";
-          reference
-            "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.";
-          uses zig-bee-interface-associated-device-g;
-        }
-        container stats {
-          description
-            "Container for object class Device.ZigBee.Interface.{i}.Stats.";
-          reference
-            "Device.ZigBee.Interface.{i}.Stats.";
-          uses zig-bee-interface-stats-g;
-        }
-      }
-      list zdo {
-        key "index";
-        description
-          "Device.ZigBee.ZDO.{i}.";
-        reference
-          "Device.ZigBee.ZDO.{i}.";
-        uses zig-bee-zdo-g;
-        list application-endpoint {
-          key "index";
-          description
-            "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.";
-          reference
-            "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.";
-          uses zdo-application-endpoint-g;
-          container simple-descriptor {
-            description
-              "Container for object class Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.";
-            reference
-              "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.";
-            uses application-endpoint-simple-descriptor-g;
-          }
-        }
-        list binding {
-          key "index";
-          description
-            "Device.ZigBee.ZDO.{i}.Binding.{i}.";
-          reference
-            "Device.ZigBee.ZDO.{i}.Binding.{i}.";
-          uses zdo-binding-g;
-        }
-        container complex-descriptor {
-          description
-            "Container for object class Device.ZigBee.ZDO.{i}.ComplexDescriptor.";
-          reference
-            "Device.ZigBee.ZDO.{i}.ComplexDescriptor.";
-          uses zdo-complex-descriptor-g;
-        }
-        list group {
-          key "index";
-          description
-            "Device.ZigBee.ZDO.{i}.Group.{i}.";
-          reference
-            "Device.ZigBee.ZDO.{i}.Group.{i}.";
-          uses zdo-group-g;
-        }
-        container network {
-          description
-            "Container for object class Device.ZigBee.ZDO.{i}.Network.";
-          reference
-            "Device.ZigBee.ZDO.{i}.Network.";
-          uses zdo-network-g;
-          list neighbor {
-            key "index";
-            description
-              "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.";
-            reference
-              "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.";
-            uses network-neighbor-g;
-          }
-        }
-        container node-descriptor {
-          description
-            "Container for object class Device.ZigBee.ZDO.{i}.NodeDescriptor.";
-          reference
-            "Device.ZigBee.ZDO.{i}.NodeDescriptor.";
-          uses zdo-node-descriptor-g;
-        }
-        container node-manager {
-          description
-            "Container for object class Device.ZigBee.ZDO.{i}.NodeManager.";
-          reference
-            "Device.ZigBee.ZDO.{i}.NodeManager.";
-          uses zdo-node-manager-g;
-          list routing-table {
-            key "index";
-            description
-              "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.";
-            reference
-              "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.";
-            uses node-manager-routing-table-g;
-          }
-        }
-        container power-descriptor {
-          description
-            "Container for object class Device.ZigBee.ZDO.{i}.PowerDescriptor.";
-          reference
-            "Device.ZigBee.ZDO.{i}.PowerDescriptor.";
-          uses zdo-power-descriptor-g;
-        }
-        container security {
-          description
-            "Container for object class Device.ZigBee.ZDO.{i}.Security.";
-          reference
-            "Device.ZigBee.ZDO.{i}.Security.";
-          uses zdo-security-g;
-        }
-        container user-descriptor {
-          description
-            "Container for object class Device.ZigBee.ZDO.{i}.UserDescriptor.";
-          reference
-            "Device.ZigBee.ZDO.{i}.UserDescriptor.";
-          uses zdo-user-descriptor-g;
-        }
-      }
-    }
-  }
-}
+module tr-181-2-12-0-cwmp-full {\r
+  namespace "urn:onf:otcc:wireless:yang:radio-access-186";\r
+  prefix ran;\r
+\r
+  organization\r
+    "CommScope Inc";\r
+  contact\r
+    "Radio access OneCell <5g@commscope.com>\r
+\r
+     CommScope Inc\r
+     1100 10th Ave Ct SE,\r
+     Hickory,\r
+     NC 28602,\r
+     USA";\r
+  description\r
+    "This module contains a collection of YANG definitions for managing tr069 radio access network (RAN) devices.\r
+\r
+     Licensed under the Apache License, Version 2.0 (the 'License');\r
+     you may not use this file except in compliance with the License.\r
+     You may obtain a copy of the License at\r
+\r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+       Unless required by applicable law or agreed to in writing, software\r
+       distributed under the License is distributed on an 'AS IS' BASIS,\r
+       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+       See the License for the specific language governing permissions and\r
+       limitations under the License.";\r
+\r
+  revision 2020-06-24 {\r
+    description\r
+      "Initial version, used only for ONAP PoC 2018-06-25";\r
+    reference\r
+      "ONF TR ???: A YANG Data Model for Radio Access Networks.\r
+       BBF TR-181-2-12-0 full";\r
+  }\r
+\r
+  grouping device-g {\r
+    description\r
+      "Grouping object for Device.";\r
+    leaf root-data-model-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.RootDataModelVersion";\r
+      reference\r
+        "Device.RootDataModelVersion";\r
+    }\r
+    leaf interface-stack-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.InterfaceStackNumberOfEntries";\r
+      reference\r
+        "Device.InterfaceStackNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping device-atm-g {\r
+    description\r
+      "Grouping object for Device.ATM.";\r
+    leaf link-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.LinkNumberOfEntries";\r
+      reference\r
+        "Device.ATM.LinkNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-f5-loopback-g {\r
+    description\r
+      "Grouping object for Device.ATM.Diagnostics.F5Loopback.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Canceled {\r
+          description\r
+            "Enum Value - Canceled";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error {\r
+          description\r
+            "Enum Value - Error";\r
+        }\r
+      }\r
+      description\r
+        "Device.ATM.Diagnostics.F5Loopback.DiagnosticsState";\r
+      reference\r
+        "Device.ATM.Diagnostics.F5Loopback.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ATM.Diagnostics.F5Loopback.Interface";\r
+      reference\r
+        "Device.ATM.Diagnostics.F5Loopback.Interface";\r
+    }\r
+    leaf number-of-repetitions {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.ATM.Diagnostics.F5Loopback.NumberOfRepetitions";\r
+      reference\r
+        "Device.ATM.Diagnostics.F5Loopback.NumberOfRepetitions";\r
+    }\r
+    leaf timeout {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.ATM.Diagnostics.F5Loopback.Timeout";\r
+      reference\r
+        "Device.ATM.Diagnostics.F5Loopback.Timeout";\r
+    }\r
+    leaf success-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Diagnostics.F5Loopback.SuccessCount";\r
+      reference\r
+        "Device.ATM.Diagnostics.F5Loopback.SuccessCount";\r
+    }\r
+    leaf failure-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Diagnostics.F5Loopback.FailureCount";\r
+      reference\r
+        "Device.ATM.Diagnostics.F5Loopback.FailureCount";\r
+    }\r
+    leaf average-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Diagnostics.F5Loopback.AverageResponseTime";\r
+      reference\r
+        "Device.ATM.Diagnostics.F5Loopback.AverageResponseTime";\r
+    }\r
+    leaf minimum-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Diagnostics.F5Loopback.MinimumResponseTime";\r
+      reference\r
+        "Device.ATM.Diagnostics.F5Loopback.MinimumResponseTime";\r
+    }\r
+    leaf maximum-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Diagnostics.F5Loopback.MaximumResponseTime";\r
+      reference\r
+        "Device.ATM.Diagnostics.F5Loopback.MaximumResponseTime";\r
+    }\r
+  }\r
+\r
+  grouping atm-link-g {\r
+    description\r
+      "Grouping object for Device.ATM.Link.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ATM.Link.{i}.Enable";\r
+      reference\r
+        "Device.ATM.Link.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Status";\r
+      reference\r
+        "Device.ATM.Link.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ATM.Link.{i}.Alias";\r
+      reference\r
+        "Device.ATM.Link.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Name";\r
+      reference\r
+        "Device.ATM.Link.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.LastChange";\r
+      reference\r
+        "Device.ATM.Link.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.ATM.Link.{i}.LowerLayers";\r
+      reference\r
+        "Device.ATM.Link.{i}.LowerLayers";\r
+    }\r
+    leaf link-type {\r
+      type enumeration {\r
+        enum EoA {\r
+          description\r
+            "Enum Value - EoA";\r
+        }\r
+        enum IPoA {\r
+          description\r
+            "Enum Value - IPoA";\r
+        }\r
+        enum PPPoA {\r
+          description\r
+            "Enum Value - PPPoA";\r
+        }\r
+        enum CIP {\r
+          description\r
+            "Enum Value - CIP";\r
+        }\r
+        enum Unconfigured {\r
+          description\r
+            "Enum Value - Unconfigured";\r
+        }\r
+      }\r
+      description\r
+        "Device.ATM.Link.{i}.LinkType";\r
+      reference\r
+        "Device.ATM.Link.{i}.LinkType";\r
+    }\r
+    leaf auto-config {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.AutoConfig";\r
+      reference\r
+        "Device.ATM.Link.{i}.AutoConfig";\r
+    }\r
+    leaf destination-address {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ATM.Link.{i}.DestinationAddress";\r
+      reference\r
+        "Device.ATM.Link.{i}.DestinationAddress";\r
+    }\r
+    leaf encapsulation {\r
+      type enumeration {\r
+        enum LLC {\r
+          description\r
+            "Enum Value - LLC";\r
+        }\r
+        enum VCMUX {\r
+          description\r
+            "Enum Value - VCMUX";\r
+        }\r
+      }\r
+      description\r
+        "Device.ATM.Link.{i}.Encapsulation";\r
+      reference\r
+        "Device.ATM.Link.{i}.Encapsulation";\r
+    }\r
+    leaf fcs-preserved {\r
+      type boolean;\r
+      description\r
+        "Device.ATM.Link.{i}.FCSPreserved";\r
+      reference\r
+        "Device.ATM.Link.{i}.FCSPreserved";\r
+    }\r
+    leaf vc-search-list {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ATM.Link.{i}.VCSearchList";\r
+      reference\r
+        "Device.ATM.Link.{i}.VCSearchList";\r
+    }\r
+    leaf aal {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.AAL";\r
+      reference\r
+        "Device.ATM.Link.{i}.AAL";\r
+    }\r
+  }\r
+\r
+  grouping link-qo-s-g {\r
+    description\r
+      "Grouping object for Device.ATM.Link.{i}.QoS.";\r
+    leaf qo-s-class {\r
+      type enumeration {\r
+        enum UBR {\r
+          description\r
+            "Enum Value - UBR";\r
+        }\r
+        enum CBR {\r
+          description\r
+            "Enum Value - CBR";\r
+        }\r
+        enum GFR {\r
+          description\r
+            "Enum Value - GFR";\r
+        }\r
+        enum VBR-nrt {\r
+          description\r
+            "Enum Value - VBR-nrt";\r
+        }\r
+        enum VBR-rt {\r
+          description\r
+            "Enum Value - VBR-rt";\r
+        }\r
+        enum UBR+ {\r
+          description\r
+            "Enum Value - UBR+";\r
+        }\r
+        enum ABR {\r
+          description\r
+            "Enum Value - ABR";\r
+        }\r
+      }\r
+      description\r
+        "Device.ATM.Link.{i}.QoS.QoSClass";\r
+      reference\r
+        "Device.ATM.Link.{i}.QoS.QoSClass";\r
+    }\r
+    leaf peak-cell-rate {\r
+      type uint32;\r
+      description\r
+        "Device.ATM.Link.{i}.QoS.PeakCellRate";\r
+      reference\r
+        "Device.ATM.Link.{i}.QoS.PeakCellRate";\r
+    }\r
+    leaf maximum-burst-size {\r
+      type uint32;\r
+      description\r
+        "Device.ATM.Link.{i}.QoS.MaximumBurstSize";\r
+      reference\r
+        "Device.ATM.Link.{i}.QoS.MaximumBurstSize";\r
+    }\r
+    leaf sustainable-cell-rate {\r
+      type uint32;\r
+      description\r
+        "Device.ATM.Link.{i}.QoS.SustainableCellRate";\r
+      reference\r
+        "Device.ATM.Link.{i}.QoS.SustainableCellRate";\r
+    }\r
+  }\r
+\r
+  grouping link-stats-g {\r
+    description\r
+      "Grouping object for Device.ATM.Link.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+    leaf transmitted-blocks {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.TransmittedBlocks";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.TransmittedBlocks";\r
+    }\r
+    leaf received-blocks {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.ReceivedBlocks";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.ReceivedBlocks";\r
+    }\r
+    leaf crc-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.CRCErrors";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.CRCErrors";\r
+    }\r
+    leaf hec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ATM.Link.{i}.Stats.HECErrors";\r
+      reference\r
+        "Device.ATM.Link.{i}.Stats.HECErrors";\r
+    }\r
+  }\r
+\r
+  grouping device-basapm-g {\r
+    description\r
+      "Grouping object for Device.BASAPM.";\r
+    leaf measurement-endpoint-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.BASAPM.MeasurementEndpointNumberOfEntries";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpointNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping basapm-measurement-endpoint-g {\r
+    description\r
+      "Grouping object for Device.BASAPM.MeasurementEndpoint.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.Alias";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.Enable";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.Enable";\r
+    }\r
+    leaf measurement-agent {\r
+      type string;\r
+      description\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.MeasurementAgent";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.MeasurementAgent";\r
+    }\r
+    leaf device-ownership {\r
+      type enumeration {\r
+        enum ISP {\r
+          description\r
+            "Enum Value - ISP";\r
+        }\r
+        enum Customer {\r
+          description\r
+            "Enum Value - Customer";\r
+        }\r
+      }\r
+      description\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.DeviceOwnership";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.DeviceOwnership";\r
+    }\r
+    leaf operational-domain {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.OperationalDomain";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.OperationalDomain";\r
+    }\r
+    leaf internet-domain {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.InternetDomain";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.InternetDomain";\r
+    }\r
+    leaf use-measurement-endpoint-in-reports {\r
+      type boolean;\r
+      description\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.UseMeasurementEndpointInReports";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.UseMeasurementEndpointInReports";\r
+    }\r
+  }\r
+\r
+  grouping measurement-endpoint-customer-device-g {\r
+    description\r
+      "Grouping object for Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.";\r
+    leaf equipment-identifier {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.EquipmentIdentifier";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.EquipmentIdentifier";\r
+    }\r
+    leaf customer-identifier {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.CustomerIdentifier";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.CustomerIdentifier";\r
+    }\r
+  }\r
+\r
+  grouping measurement-endpoint-isp-device-g {\r
+    description\r
+      "Grouping object for Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.";\r
+    leaf reference-point {\r
+      type enumeration {\r
+        enum STP {\r
+          description\r
+            "Enum Value - STP";\r
+        }\r
+        enum IDTP {\r
+          description\r
+            "Enum Value - IDTP";\r
+        }\r
+        enum RNTP {\r
+          description\r
+            "Enum Value - RNTP";\r
+        }\r
+        enum IRTP {\r
+          description\r
+            "Enum Value - IRTP";\r
+        }\r
+        enum MTP {\r
+          description\r
+            "Enum Value - MTP";\r
+        }\r
+        enum IATP {\r
+          description\r
+            "Enum Value - IATP";\r
+        }\r
+        enum UNITP {\r
+          description\r
+            "Enum Value - UNITP";\r
+        }\r
+        enum CEDTP {\r
+          description\r
+            "Enum Value - CEDTP";\r
+        }\r
+      }\r
+      description\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.ReferencePoint";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.ReferencePoint";\r
+    }\r
+    leaf geographical-location {\r
+      type string;\r
+      description\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.GeographicalLocation";\r
+      reference\r
+        "Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.GeographicalLocation";\r
+    }\r
+  }\r
+\r
+  grouping device-bridging-g {\r
+    description\r
+      "Grouping object for Device.Bridging.";\r
+    leaf max-bridge-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.MaxBridgeEntries";\r
+      reference\r
+        "Device.Bridging.MaxBridgeEntries";\r
+    }\r
+    leaf max-d-bridge-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.MaxDBridgeEntries";\r
+      reference\r
+        "Device.Bridging.MaxDBridgeEntries";\r
+    }\r
+    leaf max-q-bridge-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.MaxQBridgeEntries";\r
+      reference\r
+        "Device.Bridging.MaxQBridgeEntries";\r
+    }\r
+    leaf max-vlan-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.MaxVLANEntries";\r
+      reference\r
+        "Device.Bridging.MaxVLANEntries";\r
+    }\r
+    leaf max-provider-bridge-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.MaxProviderBridgeEntries";\r
+      reference\r
+        "Device.Bridging.MaxProviderBridgeEntries";\r
+    }\r
+    leaf provider-bridge-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.ProviderBridgeNumberOfEntries";\r
+      reference\r
+        "Device.Bridging.ProviderBridgeNumberOfEntries";\r
+    }\r
+    leaf max-filter-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.MaxFilterEntries";\r
+      reference\r
+        "Device.Bridging.MaxFilterEntries";\r
+    }\r
+    leaf bridge-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.BridgeNumberOfEntries";\r
+      reference\r
+        "Device.Bridging.BridgeNumberOfEntries";\r
+    }\r
+    leaf filter-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.FilterNumberOfEntries";\r
+      reference\r
+        "Device.Bridging.FilterNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping bridging-bridge-g {\r
+    description\r
+      "Grouping object for Device.Bridging.Bridge.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Enable";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Status";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Alias";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Alias";\r
+    }\r
+    leaf standard {\r
+      type enumeration {\r
+        enum 802.1D-2004 {\r
+          description\r
+            "Enum Value - 802.1D-2004";\r
+        }\r
+        enum 802.1Q-2005 {\r
+          description\r
+            "Enum Value - 802.1Q-2005";\r
+        }\r
+        enum 802.1Q-2011 {\r
+          description\r
+            "Enum Value - 802.1Q-2011";\r
+        }\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Standard";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Standard";\r
+    }\r
+    leaf port-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.PortNumberOfEntries";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.PortNumberOfEntries";\r
+    }\r
+    leaf vlan-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.VLANNumberOfEntries";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.VLANNumberOfEntries";\r
+    }\r
+    leaf vlan-port-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.VLANPortNumberOfEntries";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.VLANPortNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping bridge-port-g {\r
+    description\r
+      "Grouping object for Device.Bridging.Bridge.{i}.Port.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Enable";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Status";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Alias";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Name";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.LastChange";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.LowerLayers";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.LowerLayers";\r
+    }\r
+    leaf management-port {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.ManagementPort";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.ManagementPort";\r
+    }\r
+    leaf type {\r
+      type enumeration {\r
+        enum ProviderNetworkPort {\r
+          description\r
+            "Enum Value - ProviderNetworkPort";\r
+        }\r
+        enum CustomerNetworkPort {\r
+          description\r
+            "Enum Value - CustomerNetworkPort";\r
+        }\r
+        enum CustomerEdgePort {\r
+          description\r
+            "Enum Value - CustomerEdgePort";\r
+        }\r
+        enum CustomerVLANPort {\r
+          description\r
+            "Enum Value - CustomerVLANPort";\r
+        }\r
+        enum VLANUnawarePort {\r
+          description\r
+            "Enum Value - VLANUnawarePort";\r
+        }\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Type";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Type";\r
+    }\r
+    leaf default-user-priority {\r
+      type uint32 {\r
+        range "0..7";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.DefaultUserPriority";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.DefaultUserPriority";\r
+    }\r
+    leaf priority-regeneration {\r
+      type uint32 {\r
+        range "0..7";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityRegeneration";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityRegeneration";\r
+    }\r
+    leaf port-state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PortState";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PortState";\r
+    }\r
+    leaf pvid {\r
+      type int32 {\r
+        range "1..4094";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PVID";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PVID";\r
+    }\r
+    leaf tpid {\r
+      type uint32;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.TPID";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.TPID";\r
+    }\r
+    leaf acceptable-frame-types {\r
+      type enumeration {\r
+        enum AdmitAll {\r
+          description\r
+            "Enum Value - AdmitAll";\r
+        }\r
+        enum AdmitOnlyVLANTagged {\r
+          description\r
+            "Enum Value - AdmitOnlyVLANTagged";\r
+        }\r
+        enum AdmitOnlyPrioUntagged {\r
+          description\r
+            "Enum Value - AdmitOnlyPrioUntagged";\r
+        }\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.AcceptableFrameTypes";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.AcceptableFrameTypes";\r
+    }\r
+    leaf ingress-filtering {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.IngressFiltering";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.IngressFiltering";\r
+    }\r
+    leaf service-access-priority-selection {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.ServiceAccessPrioritySelection";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.ServiceAccessPrioritySelection";\r
+    }\r
+    leaf service-access-priority-translation {\r
+      type uint32 {\r
+        range "0..7";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.ServiceAccessPriorityTranslation";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.ServiceAccessPriorityTranslation";\r
+    }\r
+    leaf priority-tagging {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityTagging";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityTagging";\r
+    }\r
+  }\r
+\r
+  grouping port-priority-code-point-g {\r
+    description\r
+      "Grouping object for Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.";\r
+    leaf pcp-selection {\r
+      type uint32 {\r
+        range "1..4";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPSelection";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPSelection";\r
+    }\r
+    leaf use-dei {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.UseDEI";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.UseDEI";\r
+    }\r
+    leaf require-drop-encoding {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.RequireDropEncoding";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.RequireDropEncoding";\r
+    }\r
+    leaf pcp-encoding {\r
+      type string {\r
+        length "31";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPEncoding";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPEncoding";\r
+    }\r
+    leaf pcp-decoding {\r
+      type string {\r
+        length "15";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPDecoding";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.PCPDecoding";\r
+    }\r
+  }\r
+\r
+  grouping port-stats-g {\r
+    description\r
+      "Grouping object for Device.Bridging.Bridge.{i}.Port.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.Port.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping bridge-vlan-g {\r
+    description\r
+      "Grouping object for Device.Bridging.Bridge.{i}.VLAN.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.VLAN.{i}.Enable";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.VLAN.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.VLAN.{i}.Alias";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.VLAN.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.VLAN.{i}.Name";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.VLAN.{i}.Name";\r
+    }\r
+    leaf vlanid {\r
+      type int32 {\r
+        range "1..4094";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.VLAN.{i}.VLANID";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.VLAN.{i}.VLANID";\r
+    }\r
+  }\r
+\r
+  grouping bridge-vlan-port-g {\r
+    description\r
+      "Grouping object for Device.Bridging.Bridge.{i}.VLANPort.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Enable";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Alias";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Alias";\r
+    }\r
+    leaf vlan {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.VLANPort.{i}.VLAN";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.VLANPort.{i}.VLAN";\r
+    }\r
+    leaf port {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Port";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Port";\r
+    }\r
+    leaf untagged {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Untagged";\r
+      reference\r
+        "Device.Bridging.Bridge.{i}.VLANPort.{i}.Untagged";\r
+    }\r
+  }\r
+\r
+  grouping bridging-filter-g {\r
+    description\r
+      "Grouping object for Device.Bridging.Filter.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.Enable";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.Alias";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.Alias";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Bridging.Filter.{i}.Status";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.Status";\r
+    }\r
+    leaf bridge {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.Bridge";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.Bridge";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.Order";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.Order";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.Interface";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.Interface";\r
+    }\r
+    leaf dhcp-type {\r
+      type enumeration {\r
+        enum DHCPv4 {\r
+          description\r
+            "Enum Value - DHCPv4";\r
+        }\r
+        enum DHCPv6 {\r
+          description\r
+            "Enum Value - DHCPv6";\r
+        }\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.DHCPType";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DHCPType";\r
+    }\r
+    leaf vlanid-filter {\r
+      type uint32 {\r
+        range "0..4094";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.VLANIDFilter";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.VLANIDFilter";\r
+    }\r
+    leaf ethertype-filter-list {\r
+      type uint32;\r
+      description\r
+        "Device.Bridging.Filter.{i}.EthertypeFilterList";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.EthertypeFilterList";\r
+    }\r
+    leaf ethertype-filter-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.EthertypeFilterExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.EthertypeFilterExclude";\r
+    }\r
+    leaf source-mac-address-filter-list {\r
+      type string {\r
+        length "min..512";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceMACAddressFilterList";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceMACAddressFilterList";\r
+    }\r
+    leaf source-mac-address-filter-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceMACAddressFilterExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceMACAddressFilterExclude";\r
+    }\r
+    leaf dest-mac-address-filter-list {\r
+      type string {\r
+        length "min..512";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestMACAddressFilterList";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestMACAddressFilterList";\r
+    }\r
+    leaf dest-mac-address-filter-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestMACAddressFilterExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestMACAddressFilterExclude";\r
+    }\r
+    leaf source-mac-from-vendor-class-id-filter {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilter";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilter";\r
+    }\r
+    leaf source-mac-from-vendor-class-id-filterv6 {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilterv6";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilterv6";\r
+    }\r
+    leaf source-mac-from-vendor-class-id-filter-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilterExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDFilterExclude";\r
+    }\r
+    leaf source-mac-from-vendor-class-id-mode {\r
+      type enumeration {\r
+        enum Exact {\r
+          description\r
+            "Enum Value - Exact";\r
+        }\r
+        enum Prefix {\r
+          description\r
+            "Enum Value - Prefix";\r
+        }\r
+        enum Suffix {\r
+          description\r
+            "Enum Value - Suffix";\r
+        }\r
+        enum Substring {\r
+          description\r
+            "Enum Value - Substring";\r
+        }\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDMode";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceMACFromVendorClassIDMode";\r
+    }\r
+    leaf dest-mac-from-vendor-class-id-filter {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilter";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilter";\r
+    }\r
+    leaf dest-mac-from-vendor-class-id-filterv6 {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilterv6";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilterv6";\r
+    }\r
+    leaf dest-mac-from-vendor-class-id-filter-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilterExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDFilterExclude";\r
+    }\r
+    leaf dest-mac-from-vendor-class-id-mode {\r
+      type enumeration {\r
+        enum Exact {\r
+          description\r
+            "Enum Value - Exact";\r
+        }\r
+        enum Prefix {\r
+          description\r
+            "Enum Value - Prefix";\r
+        }\r
+        enum Suffix {\r
+          description\r
+            "Enum Value - Suffix";\r
+        }\r
+        enum Substring {\r
+          description\r
+            "Enum Value - Substring";\r
+        }\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDMode";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestMACFromVendorClassIDMode";\r
+    }\r
+    leaf source-mac-from-client-id-filter {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceMACFromClientIDFilter";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceMACFromClientIDFilter";\r
+    }\r
+    leaf source-mac-from-client-id-filter-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceMACFromClientIDFilterExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceMACFromClientIDFilterExclude";\r
+    }\r
+    leaf dest-mac-from-client-id-filter {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestMACFromClientIDFilter";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestMACFromClientIDFilter";\r
+    }\r
+    leaf dest-mac-from-client-id-filter-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestMACFromClientIDFilterExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestMACFromClientIDFilterExclude";\r
+    }\r
+    leaf source-mac-from-user-class-id-filter {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceMACFromUserClassIDFilter";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceMACFromUserClassIDFilter";\r
+    }\r
+    leaf source-mac-from-user-class-id-filter-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceMACFromUserClassIDFilterExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceMACFromUserClassIDFilterExclude";\r
+    }\r
+    leaf dest-mac-from-user-class-id-filter {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestMACFromUserClassIDFilter";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestMACFromUserClassIDFilter";\r
+    }\r
+    leaf dest-mac-from-user-class-id-filter-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestMACFromUserClassIDFilterExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestMACFromUserClassIDFilterExclude";\r
+    }\r
+    leaf dest-ip {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestIP";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestIP";\r
+    }\r
+    leaf dest-mask {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestMask";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestMask";\r
+    }\r
+    leaf dest-ip-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestIPExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestIPExclude";\r
+    }\r
+    leaf source-ip {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceIP";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceIP";\r
+    }\r
+    leaf source-mask {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceMask";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceMask";\r
+    }\r
+    leaf source-ip-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourceIPExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourceIPExclude";\r
+    }\r
+    leaf protocol {\r
+      type int32 {\r
+        range "-1..255";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.Protocol";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.Protocol";\r
+    }\r
+    leaf protocol-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.ProtocolExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.ProtocolExclude";\r
+    }\r
+    leaf dest-port {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestPort";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestPort";\r
+    }\r
+    leaf dest-port-range-max {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestPortRangeMax";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestPortRangeMax";\r
+    }\r
+    leaf dest-port-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.DestPortExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.DestPortExclude";\r
+    }\r
+    leaf source-port {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourcePort";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourcePort";\r
+    }\r
+    leaf source-port-range-max {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourcePortRangeMax";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourcePortRangeMax";\r
+    }\r
+    leaf source-port-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.Filter.{i}.SourcePortExclude";\r
+      reference\r
+        "Device.Bridging.Filter.{i}.SourcePortExclude";\r
+    }\r
+  }\r
+\r
+  grouping bridging-provider-bridge-g {\r
+    description\r
+      "Grouping object for Device.Bridging.ProviderBridge.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Bridging.ProviderBridge.{i}.Enable";\r
+      reference\r
+        "Device.Bridging.ProviderBridge.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Bridging.ProviderBridge.{i}.Status";\r
+      reference\r
+        "Device.Bridging.ProviderBridge.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Bridging.ProviderBridge.{i}.Alias";\r
+      reference\r
+        "Device.Bridging.ProviderBridge.{i}.Alias";\r
+    }\r
+    leaf type {\r
+      type enumeration {\r
+        enum S-VLAN {\r
+          description\r
+            "Enum Value - S-VLAN";\r
+        }\r
+        enum PE {\r
+          description\r
+            "Enum Value - PE";\r
+        }\r
+      }\r
+      description\r
+        "Device.Bridging.ProviderBridge.{i}.Type";\r
+      reference\r
+        "Device.Bridging.ProviderBridge.{i}.Type";\r
+    }\r
+    leaf svla-ncomponent {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Bridging.ProviderBridge.{i}.SVLANcomponent";\r
+      reference\r
+        "Device.Bridging.ProviderBridge.{i}.SVLANcomponent";\r
+    }\r
+    leaf cvla-ncomponents {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Bridging.ProviderBridge.{i}.CVLANcomponents";\r
+      reference\r
+        "Device.Bridging.ProviderBridge.{i}.CVLANcomponents";\r
+    }\r
+  }\r
+\r
+  grouping device-bulk-data-g {\r
+    description\r
+      "Grouping object for Device.BulkData.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.BulkData.Enable";\r
+      reference\r
+        "Device.BulkData.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.BulkData.Status";\r
+      reference\r
+        "Device.BulkData.Status";\r
+    }\r
+    leaf min-reporting-interval {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.BulkData.MinReportingInterval";\r
+      reference\r
+        "Device.BulkData.MinReportingInterval";\r
+    }\r
+    leaf protocols {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.BulkData.Protocols";\r
+      reference\r
+        "Device.BulkData.Protocols";\r
+    }\r
+    leaf encoding-types {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.BulkData.EncodingTypes";\r
+      reference\r
+        "Device.BulkData.EncodingTypes";\r
+    }\r
+    leaf parameter-wild-card-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.BulkData.ParameterWildCardSupported";\r
+      reference\r
+        "Device.BulkData.ParameterWildCardSupported";\r
+    }\r
+    leaf max-number-of-profiles {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.BulkData.MaxNumberOfProfiles";\r
+      reference\r
+        "Device.BulkData.MaxNumberOfProfiles";\r
+    }\r
+    leaf max-number-of-parameter-references {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.BulkData.MaxNumberOfParameterReferences";\r
+      reference\r
+        "Device.BulkData.MaxNumberOfParameterReferences";\r
+    }\r
+    leaf profile-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.BulkData.ProfileNumberOfEntries";\r
+      reference\r
+        "Device.BulkData.ProfileNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping bulk-data-profile-g {\r
+    description\r
+      "Grouping object for Device.BulkData.Profile.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.BulkData.Profile.{i}.Enable";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.Alias";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.Name";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.Name";\r
+    }\r
+    leaf number-of-retained-failed-reports {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.NumberOfRetainedFailedReports";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.NumberOfRetainedFailedReports";\r
+    }\r
+    leaf protocol {\r
+      type string;\r
+      description\r
+        "Device.BulkData.Profile.{i}.Protocol";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.Protocol";\r
+    }\r
+    leaf encoding-type {\r
+      type string;\r
+      description\r
+        "Device.BulkData.Profile.{i}.EncodingType";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.EncodingType";\r
+    }\r
+    leaf reporting-interval {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.ReportingInterval";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.ReportingInterval";\r
+    }\r
+    leaf time-reference {\r
+      type string;\r
+      description\r
+        "Device.BulkData.Profile.{i}.TimeReference";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.TimeReference";\r
+    }\r
+    leaf streaming-host {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.StreamingHost";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.StreamingHost";\r
+    }\r
+    leaf streaming-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.StreamingPort";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.StreamingPort";\r
+    }\r
+    leaf streaming-session-id {\r
+      type uint32 {\r
+        range "48..57 | 65..90";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.StreamingSessionID";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.StreamingSessionID";\r
+    }\r
+    leaf file-transfer-url {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.FileTransferURL";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.FileTransferURL";\r
+    }\r
+    leaf file-transfer-username {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.FileTransferUsername";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.FileTransferUsername";\r
+    }\r
+    leaf control-file-format {\r
+      type string {\r
+        length "min..128";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.ControlFileFormat";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.ControlFileFormat";\r
+    }\r
+    leaf parameter-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.BulkData.Profile.{i}.ParameterNumberOfEntries";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.ParameterNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping profile-csv-encoding-g {\r
+    description\r
+      "Grouping object for Device.BulkData.Profile.{i}.CSVEncoding.";\r
+    leaf field-separator {\r
+      type string;\r
+      description\r
+        "Device.BulkData.Profile.{i}.CSVEncoding.FieldSeparator";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.CSVEncoding.FieldSeparator";\r
+    }\r
+    leaf row-separator {\r
+      type string;\r
+      description\r
+        "Device.BulkData.Profile.{i}.CSVEncoding.RowSeparator";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.CSVEncoding.RowSeparator";\r
+    }\r
+    leaf escape-character {\r
+      type string;\r
+      description\r
+        "Device.BulkData.Profile.{i}.CSVEncoding.EscapeCharacter";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.CSVEncoding.EscapeCharacter";\r
+    }\r
+    leaf report-format {\r
+      type enumeration {\r
+        enum ParameterPerRow {\r
+          description\r
+            "Enum Value - ParameterPerRow";\r
+        }\r
+        enum ParameterPerColumn {\r
+          description\r
+            "Enum Value - ParameterPerColumn";\r
+        }\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.CSVEncoding.ReportFormat";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.CSVEncoding.ReportFormat";\r
+    }\r
+    leaf row-timestamp {\r
+      type enumeration {\r
+        enum Unix-Epoch {\r
+          description\r
+            "Enum Value - Unix-Epoch";\r
+        }\r
+        enum ISO-8601 {\r
+          description\r
+            "Enum Value - ISO-8601";\r
+        }\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.CSVEncoding.RowTimestamp";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.CSVEncoding.RowTimestamp";\r
+    }\r
+  }\r
+\r
+  grouping profile-http-g {\r
+    description\r
+      "Grouping object for Device.BulkData.Profile.{i}.HTTP.";\r
+    leaf url {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.URL";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.URL";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.Username";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.Username";\r
+    }\r
+    leaf compressions-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.CompressionsSupported";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.CompressionsSupported";\r
+    }\r
+    leaf compression {\r
+      type string;\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.Compression";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.Compression";\r
+    }\r
+    leaf methods-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.MethodsSupported";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.MethodsSupported";\r
+    }\r
+    leaf method {\r
+      type string;\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.Method";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.Method";\r
+    }\r
+    leaf use-date-header {\r
+      type boolean;\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.UseDateHeader";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.UseDateHeader";\r
+    }\r
+    leaf retry-enable {\r
+      type boolean;\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.RetryEnable";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.RetryEnable";\r
+    }\r
+    leaf retry-minimum-wait-interval {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.RetryMinimumWaitInterval";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.RetryMinimumWaitInterval";\r
+    }\r
+    leaf retry-interval-multiplier {\r
+      type uint32 {\r
+        range "1000..65535";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.RetryIntervalMultiplier";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.RetryIntervalMultiplier";\r
+    }\r
+    leaf request-uri-parameter-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameterNumberOfEntries";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameterNumberOfEntries";\r
+    }\r
+    leaf persist-across-reboot {\r
+      type boolean;\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.PersistAcrossReboot";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.PersistAcrossReboot";\r
+    }\r
+  }\r
+\r
+  grouping http-request-uri-parameter-g {\r
+    description\r
+      "Grouping object for Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.Name";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.Name";\r
+    }\r
+    leaf reference {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.Reference";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.Reference";\r
+    }\r
+  }\r
+\r
+  grouping profile-json-encoding-g {\r
+    description\r
+      "Grouping object for Device.BulkData.Profile.{i}.JSONEncoding.";\r
+    leaf report-format {\r
+      type enumeration {\r
+        enum ObjectHierarchy {\r
+          description\r
+            "Enum Value - ObjectHierarchy";\r
+        }\r
+        enum NameValuePair {\r
+          description\r
+            "Enum Value - NameValuePair";\r
+        }\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.JSONEncoding.ReportFormat";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.JSONEncoding.ReportFormat";\r
+    }\r
+    leaf report-timestamp {\r
+      type enumeration {\r
+        enum Unix-Epoch {\r
+          description\r
+            "Enum Value - Unix-Epoch";\r
+        }\r
+        enum ISO-8601 {\r
+          description\r
+            "Enum Value - ISO-8601";\r
+        }\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.JSONEncoding.ReportTimestamp";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.JSONEncoding.ReportTimestamp";\r
+    }\r
+  }\r
+\r
+  grouping profile-parameter-g {\r
+    description\r
+      "Grouping object for Device.BulkData.Profile.{i}.Parameter.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.Parameter.{i}.Name";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.Parameter.{i}.Name";\r
+    }\r
+    leaf reference {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.BulkData.Profile.{i}.Parameter.{i}.Reference";\r
+      reference\r
+        "Device.BulkData.Profile.{i}.Parameter.{i}.Reference";\r
+    }\r
+  }\r
+\r
+  grouping device-captive-portal-g {\r
+    description\r
+      "Grouping object for Device.CaptivePortal.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.CaptivePortal.Enable";\r
+      reference\r
+        "Device.CaptivePortal.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.CaptivePortal.Status";\r
+      reference\r
+        "Device.CaptivePortal.Status";\r
+    }\r
+    leaf allowed-list {\r
+      type string {\r
+        length "min..10000";\r
+      }\r
+      description\r
+        "Device.CaptivePortal.AllowedList";\r
+      reference\r
+        "Device.CaptivePortal.AllowedList";\r
+    }\r
+    leaf url {\r
+      type string {\r
+        length "min..2000";\r
+      }\r
+      description\r
+        "Device.CaptivePortal.URL";\r
+      reference\r
+        "Device.CaptivePortal.URL";\r
+    }\r
+  }\r
+\r
+  grouping device-cellular-g {\r
+    description\r
+      "Grouping object for Device.Cellular.";\r
+    leaf roaming-enabled {\r
+      type boolean;\r
+      description\r
+        "Device.Cellular.RoamingEnabled";\r
+      reference\r
+        "Device.Cellular.RoamingEnabled";\r
+    }\r
+    leaf roaming-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.RoamingStatus";\r
+      reference\r
+        "Device.Cellular.RoamingStatus";\r
+    }\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Cellular.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.Cellular.InterfaceNumberOfEntries";\r
+    }\r
+    leaf access-point-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Cellular.AccessPointNumberOfEntries";\r
+      reference\r
+        "Device.Cellular.AccessPointNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping cellular-access-point-g {\r
+    description\r
+      "Grouping object for Device.Cellular.AccessPoint.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Cellular.AccessPoint.{i}.Enable";\r
+      reference\r
+        "Device.Cellular.AccessPoint.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Cellular.AccessPoint.{i}.Alias";\r
+      reference\r
+        "Device.Cellular.AccessPoint.{i}.Alias";\r
+    }\r
+    leaf apn {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Cellular.AccessPoint.{i}.APN";\r
+      reference\r
+        "Device.Cellular.AccessPoint.{i}.APN";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Cellular.AccessPoint.{i}.Username";\r
+      reference\r
+        "Device.Cellular.AccessPoint.{i}.Username";\r
+    }\r
+    leaf proxy {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.Cellular.AccessPoint.{i}.Proxy";\r
+      reference\r
+        "Device.Cellular.AccessPoint.{i}.Proxy";\r
+    }\r
+    leaf proxy-port {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.Cellular.AccessPoint.{i}.ProxyPort";\r
+      reference\r
+        "Device.Cellular.AccessPoint.{i}.ProxyPort";\r
+    }\r
+    leaf interface {\r
+      type string;\r
+      description\r
+        "Device.Cellular.AccessPoint.{i}.Interface";\r
+      reference\r
+        "Device.Cellular.AccessPoint.{i}.Interface";\r
+    }\r
+  }\r
+\r
+  grouping cellular-interface-g {\r
+    description\r
+      "Grouping object for Device.Cellular.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Enable";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Status";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Cellular.Interface.{i}.Alias";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Name";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.Cellular.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Upstream";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Upstream";\r
+    }\r
+    leaf imei {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.IMEI";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.IMEI";\r
+    }\r
+    leaf supported-access-technologies {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.SupportedAccessTechnologies";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.SupportedAccessTechnologies";\r
+    }\r
+    leaf preferred-access-technology {\r
+      type string;\r
+      description\r
+        "Device.Cellular.Interface.{i}.PreferredAccessTechnology";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.PreferredAccessTechnology";\r
+    }\r
+    leaf current-access-technology {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.CurrentAccessTechnology";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.CurrentAccessTechnology";\r
+    }\r
+    leaf available-networks {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.AvailableNetworks";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.AvailableNetworks";\r
+    }\r
+    leaf network-requested {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Cellular.Interface.{i}.NetworkRequested";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.NetworkRequested";\r
+    }\r
+    leaf network-in-use {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.NetworkInUse";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.NetworkInUse";\r
+    }\r
+    leaf rssi {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.RSSI";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.RSSI";\r
+    }\r
+    leaf upstream-max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.UpstreamMaxBitRate";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.UpstreamMaxBitRate";\r
+    }\r
+    leaf downstream-max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.DownstreamMaxBitRate";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.DownstreamMaxBitRate";\r
+    }\r
+  }\r
+\r
+  grouping interface-stats-g {\r
+    description\r
+      "Grouping object for Device.Cellular.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping interface-usim-g {\r
+    description\r
+      "Grouping object for Device.Cellular.Interface.{i}.USIM.";\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.USIM.Status";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.USIM.Status";\r
+    }\r
+    leaf imsi {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.USIM.IMSI";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.USIM.IMSI";\r
+    }\r
+    leaf iccid {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.USIM.ICCID";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.USIM.ICCID";\r
+    }\r
+    leaf msisdn {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Cellular.Interface.{i}.USIM.MSISDN";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.USIM.MSISDN";\r
+    }\r
+    leaf pin-check {\r
+      type enumeration {\r
+        enum OnNetworkAccess {\r
+          description\r
+            "Enum Value - OnNetworkAccess";\r
+        }\r
+        enum Reboot {\r
+          description\r
+            "Enum Value - Reboot";\r
+        }\r
+        enum Off {\r
+          description\r
+            "Enum Value - Off";\r
+        }\r
+      }\r
+      description\r
+        "Device.Cellular.Interface.{i}.USIM.PINCheck";\r
+      reference\r
+        "Device.Cellular.Interface.{i}.USIM.PINCheck";\r
+    }\r
+  }\r
+\r
+  grouping device-dhcpv4-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.";\r
+    leaf client-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.ClientNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv4.ClientNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping dhcpv4-client-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Client.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.Enable";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Client.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Client.{i}.Interface";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.Interface";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.Status";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.Status";\r
+    }\r
+    leaf dhcp-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.DHCPStatus";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.DHCPStatus";\r
+    }\r
+    leaf ip-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.IPAddress";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.IPAddress";\r
+    }\r
+    leaf subnet-mask {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.SubnetMask";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.SubnetMask";\r
+    }\r
+    leaf ip-routers {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.IPRouters";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.IPRouters";\r
+    }\r
+    leaf dns-servers {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.DNSServers";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.DNSServers";\r
+    }\r
+    leaf lease-time-remaining {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.LeaseTimeRemaining";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.LeaseTimeRemaining";\r
+    }\r
+    leaf dhcp-server {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.DHCPServer";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.DHCPServer";\r
+    }\r
+    leaf passthrough-enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.PassthroughEnable";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.PassthroughEnable";\r
+    }\r
+    leaf passthrough-dhcp-pool {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Client.{i}.PassthroughDHCPPool";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.PassthroughDHCPPool";\r
+    }\r
+    leaf sent-option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.SentOptionNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.SentOptionNumberOfEntries";\r
+    }\r
+    leaf req-option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.ReqOptionNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.ReqOptionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping client-req-option-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Client.{i}.ReqOption.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Enable";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Enable";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Order";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Order";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Alias";\r
+    }\r
+    leaf tag {\r
+      type uint32 {\r
+        range "1..254";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Tag";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Tag";\r
+    }\r
+    leaf value {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Value";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.ReqOption.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping client-sent-option-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Client.{i}.SentOption.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Client.{i}.SentOption.{i}.Enable";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.SentOption.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Client.{i}.SentOption.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.SentOption.{i}.Alias";\r
+    }\r
+    leaf tag {\r
+      type uint32 {\r
+        range "1..254";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Client.{i}.SentOption.{i}.Tag";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.SentOption.{i}.Tag";\r
+    }\r
+    leaf value {\r
+      type string {\r
+        length "0..255";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Client.{i}.SentOption.{i}.Value";\r
+      reference\r
+        "Device.DHCPv4.Client.{i}.SentOption.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping dhcpv4-relay-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Relay.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Relay.Enable";\r
+      reference\r
+        "Device.DHCPv4.Relay.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Relay.Status";\r
+      reference\r
+        "Device.DHCPv4.Relay.Status";\r
+    }\r
+    leaf forwarding-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Relay.ForwardingNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv4.Relay.ForwardingNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping relay-forwarding-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Relay.Forwarding.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Enable";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Status";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Alias";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Order";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Order";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Interface";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Interface";\r
+    }\r
+    leaf vendor-class-id {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassID";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassID";\r
+    }\r
+    leaf vendor-class-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassIDExclude";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassIDExclude";\r
+    }\r
+    leaf vendor-class-id-mode {\r
+      type enumeration {\r
+        enum Exact {\r
+          description\r
+            "Enum Value - Exact";\r
+        }\r
+        enum Prefix {\r
+          description\r
+            "Enum Value - Prefix";\r
+        }\r
+        enum Suffix {\r
+          description\r
+            "Enum Value - Suffix";\r
+        }\r
+        enum Substring {\r
+          description\r
+            "Enum Value - Substring";\r
+        }\r
+      }\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassIDMode";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.VendorClassIDMode";\r
+    }\r
+    leaf client-id {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.ClientID";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.ClientID";\r
+    }\r
+    leaf client-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.ClientIDExclude";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.ClientIDExclude";\r
+    }\r
+    leaf user-class-id {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.UserClassID";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.UserClassID";\r
+    }\r
+    leaf user-class-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.UserClassIDExclude";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.UserClassIDExclude";\r
+    }\r
+    leaf chaddr {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Chaddr";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.Chaddr";\r
+    }\r
+    leaf chaddr-mask {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.ChaddrMask";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.ChaddrMask";\r
+    }\r
+    leaf chaddr-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.ChaddrExclude";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.ChaddrExclude";\r
+    }\r
+    leaf locally-served {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.LocallyServed";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.LocallyServed";\r
+    }\r
+    leaf dhcp-server-ip-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.DHCPServerIPAddress";\r
+      reference\r
+        "Device.DHCPv4.Relay.Forwarding.{i}.DHCPServerIPAddress";\r
+    }\r
+  }\r
+\r
+  grouping dhcpv4-server-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Server.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Server.Enable";\r
+      reference\r
+        "Device.DHCPv4.Server.Enable";\r
+    }\r
+    leaf pool-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.PoolNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv4.Server.PoolNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping server-pool-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Server.Pool.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Enable";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Status";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Alias";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Order";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Order";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Interface";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Interface";\r
+    }\r
+    leaf vendor-class-id {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.VendorClassID";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.VendorClassID";\r
+    }\r
+    leaf vendor-class-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.VendorClassIDExclude";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.VendorClassIDExclude";\r
+    }\r
+    leaf vendor-class-id-mode {\r
+      type enumeration {\r
+        enum Exact {\r
+          description\r
+            "Enum Value - Exact";\r
+        }\r
+        enum Prefix {\r
+          description\r
+            "Enum Value - Prefix";\r
+        }\r
+        enum Suffix {\r
+          description\r
+            "Enum Value - Suffix";\r
+        }\r
+        enum Substring {\r
+          description\r
+            "Enum Value - Substring";\r
+        }\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.VendorClassIDMode";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.VendorClassIDMode";\r
+    }\r
+    leaf client-id {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.ClientID";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.ClientID";\r
+    }\r
+    leaf client-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.ClientIDExclude";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.ClientIDExclude";\r
+    }\r
+    leaf user-class-id {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.UserClassID";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.UserClassID";\r
+    }\r
+    leaf user-class-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.UserClassIDExclude";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.UserClassIDExclude";\r
+    }\r
+    leaf chaddr {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Chaddr";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Chaddr";\r
+    }\r
+    leaf chaddr-mask {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.ChaddrMask";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.ChaddrMask";\r
+    }\r
+    leaf chaddr-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.ChaddrExclude";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.ChaddrExclude";\r
+    }\r
+    leaf min-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.MinAddress";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.MinAddress";\r
+    }\r
+    leaf max-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.MaxAddress";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.MaxAddress";\r
+    }\r
+    leaf reserved-addresses {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.ReservedAddresses";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.ReservedAddresses";\r
+    }\r
+    leaf subnet-mask {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.SubnetMask";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.SubnetMask";\r
+    }\r
+    leaf dns-servers {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.DNSServers";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.DNSServers";\r
+    }\r
+    leaf domain-name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.DomainName";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.DomainName";\r
+    }\r
+    leaf ip-routers {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.IPRouters";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.IPRouters";\r
+    }\r
+    leaf lease-time {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.LeaseTime";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.LeaseTime";\r
+    }\r
+    leaf static-address-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.StaticAddressNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.StaticAddressNumberOfEntries";\r
+    }\r
+    leaf option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.OptionNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.OptionNumberOfEntries";\r
+    }\r
+    leaf client-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.ClientNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.ClientNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping pool-client-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Server.Pool.{i}.Client.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Alias";\r
+    }\r
+    leaf chaddr {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Chaddr";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Chaddr";\r
+    }\r
+    leaf active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Active";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Active";\r
+    }\r
+    leaf ipv4-address-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4AddressNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4AddressNumberOfEntries";\r
+    }\r
+    leaf option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.OptionNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.OptionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping client-ipv4-address-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf ip-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.IPAddress";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.IPAddress";\r
+    }\r
+    leaf lease-time-remaining {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.LeaseTimeRemaining";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.LeaseTimeRemaining";\r
+    }\r
+  }\r
+\r
+  grouping client-option-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf tag {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.Tag";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.Tag";\r
+    }\r
+    leaf value {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.Value";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping pool-option-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Server.Pool.{i}.Option.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Enable";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Alias";\r
+    }\r
+    leaf tag {\r
+      type uint32 {\r
+        range "1..254";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Tag";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Tag";\r
+    }\r
+    leaf value {\r
+      type string {\r
+        length "0..255";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Value";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.Option.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping pool-static-address-g {\r
+    description\r
+      "Grouping object for Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Enable";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Alias";\r
+    }\r
+    leaf chaddr {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Chaddr";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Chaddr";\r
+    }\r
+    leaf yiaddr {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Yiaddr";\r
+      reference\r
+        "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.Yiaddr";\r
+    }\r
+  }\r
+\r
+  grouping device-dhcpv6-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.";\r
+    leaf client-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.ClientNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv6.ClientNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping dhcpv6-client-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.Client.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.Enable";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Client.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Client.{i}.Interface";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.Interface";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.Status";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.Status";\r
+    }\r
+    leaf duid {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.DUID";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.DUID";\r
+    }\r
+    leaf request-addresses {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.RequestAddresses";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.RequestAddresses";\r
+    }\r
+    leaf request-prefixes {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.RequestPrefixes";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.RequestPrefixes";\r
+    }\r
+    leaf rapid-commit {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.RapidCommit";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.RapidCommit";\r
+    }\r
+    leaf suggested-t1 {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Client.{i}.SuggestedT1";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.SuggestedT1";\r
+    }\r
+    leaf suggested-t2 {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Client.{i}.SuggestedT2";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.SuggestedT2";\r
+    }\r
+    leaf supported-options {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.SupportedOptions";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.SupportedOptions";\r
+    }\r
+    leaf requested-options {\r
+      type uint32;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.RequestedOptions";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.RequestedOptions";\r
+    }\r
+    leaf server-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.ServerNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.ServerNumberOfEntries";\r
+    }\r
+    leaf sent-option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.SentOptionNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.SentOptionNumberOfEntries";\r
+    }\r
+    leaf received-option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.ReceivedOptionNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.ReceivedOptionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping client-received-option-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.Client.{i}.ReceivedOption.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf tag {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Tag";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Tag";\r
+    }\r
+    leaf value {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Value";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Value";\r
+    }\r
+    leaf server {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Server";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Server";\r
+    }\r
+  }\r
+\r
+  grouping dhcpv6-client-sent-option-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.Client.{i}.SentOption.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.SentOption.{i}.Enable";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.SentOption.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Client.{i}.SentOption.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.SentOption.{i}.Alias";\r
+    }\r
+    leaf tag {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Client.{i}.SentOption.{i}.Tag";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.SentOption.{i}.Tag";\r
+    }\r
+    leaf value {\r
+      type string {\r
+        length "0..65535";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Client.{i}.SentOption.{i}.Value";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.SentOption.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping client-server-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.Client.{i}.Server.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf source-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.Server.{i}.SourceAddress";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.Server.{i}.SourceAddress";\r
+    }\r
+    leaf duid {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.Server.{i}.DUID";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.Server.{i}.DUID";\r
+    }\r
+    leaf information-refresh-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Client.{i}.Server.{i}.InformationRefreshTime";\r
+      reference\r
+        "Device.DHCPv6.Client.{i}.Server.{i}.InformationRefreshTime";\r
+    }\r
+  }\r
+\r
+  grouping dhcpv6-server-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.Server.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Server.Enable";\r
+      reference\r
+        "Device.DHCPv6.Server.Enable";\r
+    }\r
+    leaf pool-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.PoolNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv6.Server.PoolNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping dhcpv6-server-pool-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.Server.Pool.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Enable";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Status";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Alias";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Order";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Order";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Interface";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Interface";\r
+    }\r
+    leaf duid {\r
+      type string {\r
+        length "min..130";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.DUID";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.DUID";\r
+    }\r
+    leaf duid-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.DUIDExclude";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.DUIDExclude";\r
+    }\r
+    leaf vendor-class-id {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.VendorClassID";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.VendorClassID";\r
+    }\r
+    leaf vendor-class-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.VendorClassIDExclude";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.VendorClassIDExclude";\r
+    }\r
+    leaf user-class-id {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.UserClassID";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.UserClassID";\r
+    }\r
+    leaf user-class-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.UserClassIDExclude";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.UserClassIDExclude";\r
+    }\r
+    leaf source-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.SourceAddress";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.SourceAddress";\r
+    }\r
+    leaf source-address-mask {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.SourceAddressMask";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.SourceAddressMask";\r
+    }\r
+    leaf source-address-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.SourceAddressExclude";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.SourceAddressExclude";\r
+    }\r
+    leaf iana-enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.IANAEnable";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.IANAEnable";\r
+    }\r
+    leaf iana-manual-prefixes {\r
+      type string;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.IANAManualPrefixes";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.IANAManualPrefixes";\r
+    }\r
+    leaf iana-prefixes {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.IANAPrefixes";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.IANAPrefixes";\r
+    }\r
+    leaf iapd-enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.IAPDEnable";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.IAPDEnable";\r
+    }\r
+    leaf iapd-manual-prefixes {\r
+      type string;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.IAPDManualPrefixes";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.IAPDManualPrefixes";\r
+    }\r
+    leaf iapd-prefixes {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.IAPDPrefixes";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.IAPDPrefixes";\r
+    }\r
+    leaf iapd-add-length {\r
+      type uint32 {\r
+        range "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.IAPDAddLength";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.IAPDAddLength";\r
+    }\r
+    leaf client-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.ClientNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.ClientNumberOfEntries";\r
+    }\r
+    leaf option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.OptionNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.OptionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping server-pool-client-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.Server.Pool.{i}.Client.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Alias";\r
+    }\r
+    leaf source-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.SourceAddress";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.SourceAddress";\r
+    }\r
+    leaf active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Active";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Active";\r
+    }\r
+    leaf ipv6-address-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6AddressNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6AddressNumberOfEntries";\r
+    }\r
+    leaf ipv6-prefix-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6PrefixNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6PrefixNumberOfEntries";\r
+    }\r
+    leaf option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.OptionNumberOfEntries";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.OptionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping client-ipv6-address-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.IPAddress";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.IPAddress";\r
+    }\r
+    leaf preferred-lifetime {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.PreferredLifetime";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.PreferredLifetime";\r
+    }\r
+    leaf valid-lifetime {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.ValidLifetime";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.ValidLifetime";\r
+    }\r
+  }\r
+\r
+  grouping client-ipv6-prefix-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf prefix {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.Prefix";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.Prefix";\r
+    }\r
+    leaf preferred-lifetime {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.PreferredLifetime";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.PreferredLifetime";\r
+    }\r
+    leaf valid-lifetime {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.ValidLifetime";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.ValidLifetime";\r
+    }\r
+  }\r
+\r
+  grouping pool-client-option-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf tag {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.Tag";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.Tag";\r
+    }\r
+    leaf value {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.Value";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping server-pool-option-g {\r
+    description\r
+      "Grouping object for Device.DHCPv6.Server.Pool.{i}.Option.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Enable";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Alias";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Alias";\r
+    }\r
+    leaf tag {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Tag";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Tag";\r
+    }\r
+    leaf value {\r
+      type string {\r
+        length "0..65535";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Value";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.Value";\r
+    }\r
+    leaf passthrough-client {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.PassthroughClient";\r
+      reference\r
+        "Device.DHCPv6.Server.Pool.{i}.Option.{i}.PassthroughClient";\r
+    }\r
+  }\r
+\r
+  grouping dlna-capabilities-g {\r
+    description\r
+      "Grouping object for Device.DLNA.Capabilities.";\r
+    leaf hnd-device-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DLNA.Capabilities.HNDDeviceClass";\r
+      reference\r
+        "Device.DLNA.Capabilities.HNDDeviceClass";\r
+    }\r
+    leaf device-capability {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DLNA.Capabilities.DeviceCapability";\r
+      reference\r
+        "Device.DLNA.Capabilities.DeviceCapability";\r
+    }\r
+    leaf hid-device-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DLNA.Capabilities.HIDDeviceClass";\r
+      reference\r
+        "Device.DLNA.Capabilities.HIDDeviceClass";\r
+    }\r
+    leaf image-class-profile-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DLNA.Capabilities.ImageClassProfileID";\r
+      reference\r
+        "Device.DLNA.Capabilities.ImageClassProfileID";\r
+    }\r
+    leaf audio-class-profile-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DLNA.Capabilities.AudioClassProfileID";\r
+      reference\r
+        "Device.DLNA.Capabilities.AudioClassProfileID";\r
+    }\r
+    leaf av-class-profile-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DLNA.Capabilities.AVClassProfileID";\r
+      reference\r
+        "Device.DLNA.Capabilities.AVClassProfileID";\r
+    }\r
+    leaf media-collection-profile-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DLNA.Capabilities.MediaCollectionProfileID";\r
+      reference\r
+        "Device.DLNA.Capabilities.MediaCollectionProfileID";\r
+    }\r
+    leaf printer-class-profile-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DLNA.Capabilities.PrinterClassProfileID";\r
+      reference\r
+        "Device.DLNA.Capabilities.PrinterClassProfileID";\r
+    }\r
+  }\r
+\r
+  grouping device-dns-g {\r
+    description\r
+      "Grouping object for Device.DNS.";\r
+    leaf supported-record-types {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.SupportedRecordTypes";\r
+      reference\r
+        "Device.DNS.SupportedRecordTypes";\r
+    }\r
+  }\r
+\r
+  grouping dns-client-g {\r
+    description\r
+      "Grouping object for Device.DNS.Client.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DNS.Client.Enable";\r
+      reference\r
+        "Device.DNS.Client.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.Client.Status";\r
+      reference\r
+        "Device.DNS.Client.Status";\r
+    }\r
+    leaf server-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DNS.Client.ServerNumberOfEntries";\r
+      reference\r
+        "Device.DNS.Client.ServerNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping dns-client-server-g {\r
+    description\r
+      "Grouping object for Device.DNS.Client.Server.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DNS.Client.Server.{i}.Enable";\r
+      reference\r
+        "Device.DNS.Client.Server.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.Client.Server.{i}.Status";\r
+      reference\r
+        "Device.DNS.Client.Server.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DNS.Client.Server.{i}.Alias";\r
+      reference\r
+        "Device.DNS.Client.Server.{i}.Alias";\r
+    }\r
+    leaf dns-server {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.DNS.Client.Server.{i}.DNSServer";\r
+      reference\r
+        "Device.DNS.Client.Server.{i}.DNSServer";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DNS.Client.Server.{i}.Interface";\r
+      reference\r
+        "Device.DNS.Client.Server.{i}.Interface";\r
+    }\r
+    leaf type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.Client.Server.{i}.Type";\r
+      reference\r
+        "Device.DNS.Client.Server.{i}.Type";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-ns-lookup-diagnostics-g {\r
+    description\r
+      "Grouping object for Device.DNS.Diagnostics.NSLookupDiagnostics.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error_DNSServerNotResolved {\r
+          description\r
+            "Enum Value - Error_DNSServerNotResolved";\r
+        }\r
+        enum Error_Internal {\r
+          description\r
+            "Enum Value - Error_Internal";\r
+        }\r
+        enum Error_Other {\r
+          description\r
+            "Enum Value - Error_Other";\r
+        }\r
+      }\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.DiagnosticsState";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Interface";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Interface";\r
+    }\r
+    leaf host-name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.HostName";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.HostName";\r
+    }\r
+    leaf dns-server {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.DNSServer";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.DNSServer";\r
+    }\r
+    leaf timeout {\r
+      type uint32;\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Timeout";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Timeout";\r
+    }\r
+    leaf number-of-repetitions {\r
+      type uint32;\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.NumberOfRepetitions";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.NumberOfRepetitions";\r
+    }\r
+    leaf success-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.SuccessCount";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.SuccessCount";\r
+    }\r
+    leaf result-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.ResultNumberOfEntries";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.ResultNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping ns-lookup-diagnostics-result-g {\r
+    description\r
+      "Grouping object for Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.Status";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.Status";\r
+    }\r
+    leaf answer-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.AnswerType";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.AnswerType";\r
+    }\r
+    leaf host-name-returned {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.HostNameReturned";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.HostNameReturned";\r
+    }\r
+    leaf ip-addresses {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.IPAddresses";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.IPAddresses";\r
+    }\r
+    leaf dns-server-ip {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.DNSServerIP";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.DNSServerIP";\r
+    }\r
+    leaf response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.ResponseTime";\r
+      reference\r
+        "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.ResponseTime";\r
+    }\r
+  }\r
+\r
+  grouping dns-relay-g {\r
+    description\r
+      "Grouping object for Device.DNS.Relay.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DNS.Relay.Enable";\r
+      reference\r
+        "Device.DNS.Relay.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.Relay.Status";\r
+      reference\r
+        "Device.DNS.Relay.Status";\r
+    }\r
+    leaf forward-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DNS.Relay.ForwardNumberOfEntries";\r
+      reference\r
+        "Device.DNS.Relay.ForwardNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping dns-relay-forwarding-g {\r
+    description\r
+      "Grouping object for Device.DNS.Relay.Forwarding.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DNS.Relay.Forwarding.{i}.Enable";\r
+      reference\r
+        "Device.DNS.Relay.Forwarding.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.Relay.Forwarding.{i}.Status";\r
+      reference\r
+        "Device.DNS.Relay.Forwarding.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DNS.Relay.Forwarding.{i}.Alias";\r
+      reference\r
+        "Device.DNS.Relay.Forwarding.{i}.Alias";\r
+    }\r
+    leaf dns-server {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.DNS.Relay.Forwarding.{i}.DNSServer";\r
+      reference\r
+        "Device.DNS.Relay.Forwarding.{i}.DNSServer";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DNS.Relay.Forwarding.{i}.Interface";\r
+      reference\r
+        "Device.DNS.Relay.Forwarding.{i}.Interface";\r
+    }\r
+    leaf type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.Relay.Forwarding.{i}.Type";\r
+      reference\r
+        "Device.DNS.Relay.Forwarding.{i}.Type";\r
+    }\r
+  }\r
+\r
+  grouping dns-sd-g {\r
+    description\r
+      "Grouping object for Device.DNS.SD.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DNS.SD.Enable";\r
+      reference\r
+        "Device.DNS.SD.Enable";\r
+    }\r
+    leaf service-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.ServiceNumberOfEntries";\r
+      reference\r
+        "Device.DNS.SD.ServiceNumberOfEntries";\r
+    }\r
+    leaf advertised-interfaces {\r
+      type string;\r
+      description\r
+        "Device.DNS.SD.AdvertisedInterfaces";\r
+      reference\r
+        "Device.DNS.SD.AdvertisedInterfaces";\r
+    }\r
+  }\r
+\r
+  grouping sd-service-g {\r
+    description\r
+      "Grouping object for Device.DNS.SD.Service.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf instance-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.InstanceName";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.InstanceName";\r
+    }\r
+    leaf application-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.ApplicationProtocol";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.ApplicationProtocol";\r
+    }\r
+    leaf transport-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.TransportProtocol";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.TransportProtocol";\r
+    }\r
+    leaf domain {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.Domain";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.Domain";\r
+    }\r
+    leaf port {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.Port";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.Port";\r
+    }\r
+    leaf target {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.Target";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.Target";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.Status";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.Status";\r
+    }\r
+    leaf last-update {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.LastUpdate";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.LastUpdate";\r
+    }\r
+    leaf host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.Host";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.Host";\r
+    }\r
+    leaf time-to-live {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.TimeToLive";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.TimeToLive";\r
+    }\r
+    leaf priority {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.Priority";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.Priority";\r
+    }\r
+    leaf weight {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.Weight";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.Weight";\r
+    }\r
+    leaf text-record-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.TextRecordNumberOfEntries";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.TextRecordNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping service-text-record-g {\r
+    description\r
+      "Grouping object for Device.DNS.SD.Service.{i}.TextRecord.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf key {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.TextRecord.{i}.Key";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.TextRecord.{i}.Key";\r
+    }\r
+    leaf value {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DNS.SD.Service.{i}.TextRecord.{i}.Value";\r
+      reference\r
+        "Device.DNS.SD.Service.{i}.TextRecord.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping device-dsl-g {\r
+    description\r
+      "Grouping object for Device.DSL.";\r
+    leaf line-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.LineNumberOfEntries";\r
+      reference\r
+        "Device.DSL.LineNumberOfEntries";\r
+    }\r
+    leaf channel-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.ChannelNumberOfEntries";\r
+      reference\r
+        "Device.DSL.ChannelNumberOfEntries";\r
+    }\r
+    leaf bonding-group-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroupNumberOfEntries";\r
+      reference\r
+        "Device.DSL.BondingGroupNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping dsl-bonding-group-g {\r
+    description\r
+      "Grouping object for Device.DSL.BondingGroup.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Enable";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Status";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Alias";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Name";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.LastChange";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.LowerLayers";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.LowerLayers";\r
+    }\r
+    leaf group-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.GroupStatus";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.GroupStatus";\r
+    }\r
+    leaf group-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.GroupID";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.GroupID";\r
+    }\r
+    leaf bond-schemes-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondSchemesSupported";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondSchemesSupported";\r
+    }\r
+    leaf bond-scheme {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondScheme";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondScheme";\r
+    }\r
+    leaf group-capacity {\r
+      type uint32 {\r
+        range "1..32";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.GroupCapacity";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.GroupCapacity";\r
+    }\r
+    leaf running-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.RunningTime";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.RunningTime";\r
+    }\r
+    leaf target-up-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.TargetUpRate";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.TargetUpRate";\r
+    }\r
+    leaf target-down-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.TargetDownRate";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.TargetDownRate";\r
+    }\r
+    leaf thresh-low-up-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.ThreshLowUpRate";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.ThreshLowUpRate";\r
+    }\r
+    leaf thresh-low-down-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.ThreshLowDownRate";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.ThreshLowDownRate";\r
+    }\r
+    leaf upstream-differential-delay-tolerance {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.UpstreamDifferentialDelayTolerance";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.UpstreamDifferentialDelayTolerance";\r
+    }\r
+    leaf downstream-differential-delay-tolerance {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.DownstreamDifferentialDelayTolerance";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.DownstreamDifferentialDelayTolerance";\r
+    }\r
+    leaf bonded-channel-number-of-entries {\r
+      type uint32 {\r
+        range "1..32";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondedChannelNumberOfEntries";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondedChannelNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping bonding-group-bonded-channel-g {\r
+    description\r
+      "Grouping object for Device.DSL.BondingGroup.{i}.BondedChannel.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Alias";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Alias";\r
+    }\r
+    leaf channel {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Channel";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Channel";\r
+    }\r
+  }\r
+\r
+  grouping ethernet-stats-g {\r
+    description\r
+      "Grouping object for Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.";\r
+    leaf underflow-errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.UnderflowErrorsSent";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.UnderflowErrorsSent";\r
+    }\r
+    leaf crc-errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.CRCErrorsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.CRCErrorsReceived";\r
+    }\r
+    leaf alignment-errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.AlignmentErrorsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.AlignmentErrorsReceived";\r
+    }\r
+    leaf short-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.ShortPacketsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.ShortPacketsReceived";\r
+    }\r
+    leaf long-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.LongPacketsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.LongPacketsReceived";\r
+    }\r
+    leaf overflow-errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.OverflowErrorsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.OverflowErrorsReceived";\r
+    }\r
+    leaf pause-frames-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.PauseFramesReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.PauseFramesReceived";\r
+    }\r
+    leaf frames-dropped {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.FramesDropped";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.FramesDropped";\r
+    }\r
+  }\r
+\r
+  grouping bonding-group-ethernet-stats-g {\r
+    description\r
+      "Grouping object for Device.DSL.BondingGroup.{i}.Ethernet.Stats.";\r
+    leaf paf-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFErrors";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFErrors";\r
+    }\r
+    leaf paf-small-fragments {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFSmallFragments";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFSmallFragments";\r
+    }\r
+    leaf paf-large-fragments {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLargeFragments";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLargeFragments";\r
+    }\r
+    leaf paf-bad-fragments {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFBadFragments";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFBadFragments";\r
+    }\r
+    leaf paf-lost-fragments {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostFragments";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostFragments";\r
+    }\r
+    leaf paf-late-fragments {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLateFragments";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLateFragments";\r
+    }\r
+    leaf paf-lost-starts {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostStarts";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostStarts";\r
+    }\r
+    leaf paf-lost-ends {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostEnds";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFLostEnds";\r
+    }\r
+    leaf paf-overflows {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFOverflows";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PAFOverflows";\r
+    }\r
+    leaf pause-frames-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PauseFramesSent";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.PauseFramesSent";\r
+    }\r
+    leaf crc-errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.CRCErrorsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.CRCErrorsReceived";\r
+    }\r
+    leaf alignment-errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.AlignmentErrorsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.AlignmentErrorsReceived";\r
+    }\r
+    leaf short-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.ShortPacketsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.ShortPacketsReceived";\r
+    }\r
+    leaf long-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.LongPacketsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.LongPacketsReceived";\r
+    }\r
+    leaf overflow-errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.OverflowErrorsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.OverflowErrorsReceived";\r
+    }\r
+    leaf frames-dropped {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.FramesDropped";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Ethernet.Stats.FramesDropped";\r
+    }\r
+  }\r
+\r
+  grouping bonding-group-stats-g {\r
+    description\r
+      "Grouping object for Device.DSL.BondingGroup.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+    leaf total-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.TotalStart";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.TotalStart";\r
+    }\r
+    leaf current-day-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDayStart";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDayStart";\r
+    }\r
+    leaf quarter-hour-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHourStart";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHourStart";\r
+    }\r
+  }\r
+\r
+  grouping stats-current-day-g {\r
+    description\r
+      "Grouping object for Device.DSL.BondingGroup.{i}.Stats.CurrentDay.";\r
+    leaf failure-reasons {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.FailureReasons";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.FailureReasons";\r
+    }\r
+    leaf upstream-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamRate";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamRate";\r
+    }\r
+    leaf downstream-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamRate";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamRate";\r
+    }\r
+    leaf upstream-packet-loss {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamPacketLoss";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamPacketLoss";\r
+    }\r
+    leaf downstream-packet-loss {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamPacketLoss";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamPacketLoss";\r
+    }\r
+    leaf upstream-differential-delay {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamDifferentialDelay";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UpstreamDifferentialDelay";\r
+    }\r
+    leaf downstream-differential-delay {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamDifferentialDelay";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.DownstreamDifferentialDelay";\r
+    }\r
+    leaf failure-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.FailureCount";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.FailureCount";\r
+    }\r
+    leaf errored-seconds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.ErroredSeconds";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.ErroredSeconds";\r
+    }\r
+    leaf severely-errored-seconds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.SeverelyErroredSeconds";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.SeverelyErroredSeconds";\r
+    }\r
+    leaf unavailable-seconds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UnavailableSeconds";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.UnavailableSeconds";\r
+    }\r
+  }\r
+\r
+  grouping stats-quarter-hour-g {\r
+    description\r
+      "Grouping object for Device.DSL.BondingGroup.{i}.Stats.QuarterHour.";\r
+    leaf failure-reasons {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.FailureReasons";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.FailureReasons";\r
+    }\r
+    leaf upstream-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamRate";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamRate";\r
+    }\r
+    leaf downstream-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamRate";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamRate";\r
+    }\r
+    leaf upstream-packet-loss {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamPacketLoss";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamPacketLoss";\r
+    }\r
+    leaf downstream-packet-loss {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamPacketLoss";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamPacketLoss";\r
+    }\r
+    leaf upstream-differential-delay {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamDifferentialDelay";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UpstreamDifferentialDelay";\r
+    }\r
+    leaf downstream-differential-delay {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamDifferentialDelay";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.DownstreamDifferentialDelay";\r
+    }\r
+    leaf failure-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.FailureCount";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.FailureCount";\r
+    }\r
+    leaf errored-seconds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.ErroredSeconds";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.ErroredSeconds";\r
+    }\r
+    leaf severely-errored-seconds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.SeverelyErroredSeconds";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.SeverelyErroredSeconds";\r
+    }\r
+    leaf unavailable-seconds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UnavailableSeconds";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.UnavailableSeconds";\r
+    }\r
+  }\r
+\r
+  grouping stats-total-g {\r
+    description\r
+      "Grouping object for Device.DSL.BondingGroup.{i}.Stats.Total.";\r
+    leaf failure-reasons {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.FailureReasons";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.FailureReasons";\r
+    }\r
+    leaf upstream-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamRate";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamRate";\r
+    }\r
+    leaf downstream-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamRate";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamRate";\r
+    }\r
+    leaf upstream-packet-loss {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamPacketLoss";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamPacketLoss";\r
+    }\r
+    leaf downstream-packet-loss {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamPacketLoss";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamPacketLoss";\r
+    }\r
+    leaf upstream-differential-delay {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamDifferentialDelay";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.UpstreamDifferentialDelay";\r
+    }\r
+    leaf downstream-differential-delay {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamDifferentialDelay";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.DownstreamDifferentialDelay";\r
+    }\r
+    leaf failure-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.FailureCount";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.FailureCount";\r
+    }\r
+    leaf errored-seconds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.ErroredSeconds";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.ErroredSeconds";\r
+    }\r
+    leaf severely-errored-seconds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.SeverelyErroredSeconds";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.SeverelyErroredSeconds";\r
+    }\r
+    leaf unavailable-seconds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.UnavailableSeconds";\r
+      reference\r
+        "Device.DSL.BondingGroup.{i}.Stats.Total.UnavailableSeconds";\r
+    }\r
+  }\r
+\r
+  grouping dsl-channel-g {\r
+    description\r
+      "Grouping object for Device.DSL.Channel.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DSL.Channel.{i}.Enable";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Status";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DSL.Channel.{i}.Alias";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Name";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.LastChange";\r
+      reference\r
+        "Device.DSL.Channel.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.LowerLayers";\r
+      reference\r
+        "Device.DSL.Channel.{i}.LowerLayers";\r
+    }\r
+    leaf link-encapsulation-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.LinkEncapsulationSupported";\r
+      reference\r
+        "Device.DSL.Channel.{i}.LinkEncapsulationSupported";\r
+    }\r
+    leaf link-encapsulation-used {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.LinkEncapsulationUsed";\r
+      reference\r
+        "Device.DSL.Channel.{i}.LinkEncapsulationUsed";\r
+    }\r
+    leaf lpath {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.LPATH";\r
+      reference\r
+        "Device.DSL.Channel.{i}.LPATH";\r
+    }\r
+    leaf intlvdepth {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.INTLVDEPTH";\r
+      reference\r
+        "Device.DSL.Channel.{i}.INTLVDEPTH";\r
+    }\r
+    leaf intlvblock {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.INTLVBLOCK";\r
+      reference\r
+        "Device.DSL.Channel.{i}.INTLVBLOCK";\r
+    }\r
+    leaf actual-interleaving-delay {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.ActualInterleavingDelay";\r
+      reference\r
+        "Device.DSL.Channel.{i}.ActualInterleavingDelay";\r
+    }\r
+    leaf actinp {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.ACTINP";\r
+      reference\r
+        "Device.DSL.Channel.{i}.ACTINP";\r
+    }\r
+    leaf inpreport {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.INPREPORT";\r
+      reference\r
+        "Device.DSL.Channel.{i}.INPREPORT";\r
+    }\r
+    leaf nfec {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.NFEC";\r
+      reference\r
+        "Device.DSL.Channel.{i}.NFEC";\r
+    }\r
+    leaf rfec {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.RFEC";\r
+      reference\r
+        "Device.DSL.Channel.{i}.RFEC";\r
+    }\r
+    leaf lsymb {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.LSYMB";\r
+      reference\r
+        "Device.DSL.Channel.{i}.LSYMB";\r
+    }\r
+    leaf upstream-curr-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.UpstreamCurrRate";\r
+      reference\r
+        "Device.DSL.Channel.{i}.UpstreamCurrRate";\r
+    }\r
+    leaf downstream-curr-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.DownstreamCurrRate";\r
+      reference\r
+        "Device.DSL.Channel.{i}.DownstreamCurrRate";\r
+    }\r
+    leaf actndr {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.ACTNDR";\r
+      reference\r
+        "Device.DSL.Channel.{i}.ACTNDR";\r
+    }\r
+    leaf actinprein {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.ACTINPREIN";\r
+      reference\r
+        "Device.DSL.Channel.{i}.ACTINPREIN";\r
+    }\r
+  }\r
+\r
+  grouping channel-stats-g {\r
+    description\r
+      "Grouping object for Device.DSL.Channel.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf total-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.TotalStart";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.TotalStart";\r
+    }\r
+    leaf showtime-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.ShowtimeStart";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.ShowtimeStart";\r
+    }\r
+    leaf last-showtime-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtimeStart";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtimeStart";\r
+    }\r
+    leaf current-day-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDayStart";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDayStart";\r
+    }\r
+    leaf quarter-hour-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHourStart";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHourStart";\r
+    }\r
+  }\r
+\r
+  grouping channel-stats-current-day-g {\r
+    description\r
+      "Grouping object for Device.DSL.Channel.{i}.Stats.CurrentDay.";\r
+    leaf xturfec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURFECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURFECErrors";\r
+    }\r
+    leaf xtucfec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCFECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCFECErrors";\r
+    }\r
+    leaf xturhec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURHECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURHECErrors";\r
+    }\r
+    leaf xtuchec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCHECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCHECErrors";\r
+    }\r
+    leaf xturcrc-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURCRCErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTURCRCErrors";\r
+    }\r
+    leaf xtuccrc-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCCRCErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.CurrentDay.XTUCCRCErrors";\r
+    }\r
+  }\r
+\r
+  grouping stats-last-showtime-g {\r
+    description\r
+      "Grouping object for Device.DSL.Channel.{i}.Stats.LastShowtime.";\r
+    leaf xturfec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURFECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURFECErrors";\r
+    }\r
+    leaf xtucfec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCFECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCFECErrors";\r
+    }\r
+    leaf xturhec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURHECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURHECErrors";\r
+    }\r
+    leaf xtuchec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCHECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCHECErrors";\r
+    }\r
+    leaf xturcrc-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURCRCErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTURCRCErrors";\r
+    }\r
+    leaf xtuccrc-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCCRCErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.LastShowtime.XTUCCRCErrors";\r
+    }\r
+  }\r
+\r
+  grouping channel-stats-quarter-hour-g {\r
+    description\r
+      "Grouping object for Device.DSL.Channel.{i}.Stats.QuarterHour.";\r
+    leaf xturfec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURFECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURFECErrors";\r
+    }\r
+    leaf xtucfec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCFECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCFECErrors";\r
+    }\r
+    leaf xturhec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURHECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURHECErrors";\r
+    }\r
+    leaf xtuchec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCHECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCHECErrors";\r
+    }\r
+    leaf xturcrc-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURCRCErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTURCRCErrors";\r
+    }\r
+    leaf xtuccrc-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCCRCErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.QuarterHour.XTUCCRCErrors";\r
+    }\r
+  }\r
+\r
+  grouping stats-showtime-g {\r
+    description\r
+      "Grouping object for Device.DSL.Channel.{i}.Stats.Showtime.";\r
+    leaf xturfec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTURFECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTURFECErrors";\r
+    }\r
+    leaf xtucfec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCFECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCFECErrors";\r
+    }\r
+    leaf xturhec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTURHECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTURHECErrors";\r
+    }\r
+    leaf xtuchec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCHECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCHECErrors";\r
+    }\r
+    leaf xturcrc-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTURCRCErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTURCRCErrors";\r
+    }\r
+    leaf xtuccrc-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCCRCErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Showtime.XTUCCRCErrors";\r
+    }\r
+  }\r
+\r
+  grouping channel-stats-total-g {\r
+    description\r
+      "Grouping object for Device.DSL.Channel.{i}.Stats.Total.";\r
+    leaf xturfec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTURFECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTURFECErrors";\r
+    }\r
+    leaf xtucfec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTUCFECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTUCFECErrors";\r
+    }\r
+    leaf xturhec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTURHECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTURHECErrors";\r
+    }\r
+    leaf xtuchec-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTUCHECErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTUCHECErrors";\r
+    }\r
+    leaf xturcrc-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTURCRCErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTURCRCErrors";\r
+    }\r
+    leaf xtuccrc-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTUCCRCErrors";\r
+      reference\r
+        "Device.DSL.Channel.{i}.Stats.Total.XTUCCRCErrors";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-adsl-line-test-g {\r
+    description\r
+      "Grouping object for Device.DSL.Diagnostics.ADSLLineTest.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Canceled {\r
+          description\r
+            "Enum Value - Canceled";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error {\r
+          description\r
+            "Enum Value - Error";\r
+        }\r
+        enum Error_Internal {\r
+          description\r
+            "Enum Value - Error_Internal";\r
+        }\r
+        enum Error_Other {\r
+          description\r
+            "Enum Value - Error_Other";\r
+        }\r
+      }\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.Interface";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.Interface";\r
+    }\r
+    leaf actps-dds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.ACTPSDds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.ACTPSDds";\r
+    }\r
+    leaf actps-dus {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.ACTPSDus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.ACTPSDus";\r
+    }\r
+    leaf actat-pds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.ACTATPds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.ACTATPds";\r
+    }\r
+    leaf actat-pus {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.ACTATPus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.ACTATPus";\r
+    }\r
+    leaf hlins-cds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINSCds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINSCds";\r
+    }\r
+    leaf hlins-cus {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINSCus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINSCus";\r
+    }\r
+    leaf hlin-gds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINGds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINGds";\r
+    }\r
+    leaf hlin-gus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINGus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINGus";\r
+    }\r
+    leaf hlog-gds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGGds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGGds";\r
+    }\r
+    leaf hlog-gus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGGus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGGus";\r
+    }\r
+    leaf hlo-gpsds {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGpsds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGpsds";\r
+    }\r
+    leaf hlo-gpsus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGpsus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGpsus";\r
+    }\r
+    leaf hlogm-tds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGMTds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGMTds";\r
+    }\r
+    leaf hlogm-tus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGMTus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLOGMTus";\r
+    }\r
+    leaf lat-npbds {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.LATNpbds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.LATNpbds";\r
+    }\r
+    leaf lat-npbus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.LATNpbus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.LATNpbus";\r
+    }\r
+    leaf sat-nds {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SATNds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SATNds";\r
+    }\r
+    leaf sat-nus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SATNus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SATNus";\r
+    }\r
+    leaf hli-npsds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINpsds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINpsds";\r
+    }\r
+    leaf hli-npsus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINpsus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.HLINpsus";\r
+    }\r
+    leaf qln-gds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNGds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNGds";\r
+    }\r
+    leaf qln-gus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNGus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNGus";\r
+    }\r
+    leaf ql-npsds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNpsds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNpsds";\r
+    }\r
+    leaf ql-npsus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNpsus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNpsus";\r
+    }\r
+    leaf qlnm-tds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNMTds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNMTds";\r
+    }\r
+    leaf qlnm-tus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNMTus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.QLNMTus";\r
+    }\r
+    leaf snr-gds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRGds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRGds";\r
+    }\r
+    leaf snr-gus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRGus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRGus";\r
+    }\r
+    leaf sn-rpsds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRpsds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRpsds";\r
+    }\r
+    leaf sn-rpsus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRpsus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRpsus";\r
+    }\r
+    leaf snrm-tds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRMTds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRMTds";\r
+    }\r
+    leaf snrm-tus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRMTus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.SNRMTus";\r
+    }\r
+    leaf bit-spsds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.BITSpsds";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.BITSpsds";\r
+    }\r
+    leaf bit-spsus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Diagnostics.ADSLLineTest.BITSpsus";\r
+      reference\r
+        "Device.DSL.Diagnostics.ADSLLineTest.BITSpsus";\r
+    }\r
+  }\r
+\r
+  grouping dsl-line-g {\r
+    description\r
+      "Grouping object for Device.DSL.Line.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DSL.Line.{i}.Enable";\r
+      reference\r
+        "Device.DSL.Line.{i}.Enable";\r
+    }\r
+    leaf enable-data-gathering {\r
+      type boolean;\r
+      description\r
+        "Device.DSL.Line.{i}.EnableDataGathering";\r
+      reference\r
+        "Device.DSL.Line.{i}.EnableDataGathering";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Status";\r
+      reference\r
+        "Device.DSL.Line.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DSL.Line.{i}.Alias";\r
+      reference\r
+        "Device.DSL.Line.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Name";\r
+      reference\r
+        "Device.DSL.Line.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.LastChange";\r
+      reference\r
+        "Device.DSL.Line.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.DSL.Line.{i}.LowerLayers";\r
+      reference\r
+        "Device.DSL.Line.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Upstream";\r
+      reference\r
+        "Device.DSL.Line.{i}.Upstream";\r
+    }\r
+    leaf firmware-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.FirmwareVersion";\r
+      reference\r
+        "Device.DSL.Line.{i}.FirmwareVersion";\r
+    }\r
+    leaf link-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.LinkStatus";\r
+      reference\r
+        "Device.DSL.Line.{i}.LinkStatus";\r
+    }\r
+    leaf standards-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.StandardsSupported";\r
+      reference\r
+        "Device.DSL.Line.{i}.StandardsSupported";\r
+    }\r
+    leaf xtse {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.XTSE";\r
+      reference\r
+        "Device.DSL.Line.{i}.XTSE";\r
+    }\r
+    leaf standard-used {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.StandardUsed";\r
+      reference\r
+        "Device.DSL.Line.{i}.StandardUsed";\r
+    }\r
+    leaf xts-used {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.XTSUsed";\r
+      reference\r
+        "Device.DSL.Line.{i}.XTSUsed";\r
+    }\r
+    leaf line-encoding {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.LineEncoding";\r
+      reference\r
+        "Device.DSL.Line.{i}.LineEncoding";\r
+    }\r
+    leaf allowed-profiles {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.AllowedProfiles";\r
+      reference\r
+        "Device.DSL.Line.{i}.AllowedProfiles";\r
+    }\r
+    leaf current-profile {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.CurrentProfile";\r
+      reference\r
+        "Device.DSL.Line.{i}.CurrentProfile";\r
+    }\r
+    leaf power-management-state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.PowerManagementState";\r
+      reference\r
+        "Device.DSL.Line.{i}.PowerManagementState";\r
+    }\r
+    leaf success-failure-cause {\r
+      type uint32 {\r
+        range "0..6";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.SuccessFailureCause";\r
+      reference\r
+        "Device.DSL.Line.{i}.SuccessFailureCause";\r
+    }\r
+    leaf upbokler {\r
+      type uint32 {\r
+        range "0..1280";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.UPBOKLER";\r
+      reference\r
+        "Device.DSL.Line.{i}.UPBOKLER";\r
+    }\r
+    leaf upbokle-pb {\r
+      type uint32 {\r
+        range "0..1280 | 2047";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.UPBOKLEPb";\r
+      reference\r
+        "Device.DSL.Line.{i}.UPBOKLEPb";\r
+    }\r
+    leaf upbokler-pb {\r
+      type uint32 {\r
+        range "0..1280 | 2047";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.UPBOKLERPb";\r
+      reference\r
+        "Device.DSL.Line.{i}.UPBOKLERPb";\r
+    }\r
+    leaf rxthrs-hds {\r
+      type int32 {\r
+        range "-640..0";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.RXTHRSHds";\r
+      reference\r
+        "Device.DSL.Line.{i}.RXTHRSHds";\r
+    }\r
+    leaf actramod-eds {\r
+      type uint32 {\r
+        range "1..4";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.ACTRAMODEds";\r
+      reference\r
+        "Device.DSL.Line.{i}.ACTRAMODEds";\r
+    }\r
+    leaf actramod-eus {\r
+      type uint32 {\r
+        range "1..4";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.ACTRAMODEus";\r
+      reference\r
+        "Device.DSL.Line.{i}.ACTRAMODEus";\r
+    }\r
+    leaf actinpro-cds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.ACTINPROCds";\r
+      reference\r
+        "Device.DSL.Line.{i}.ACTINPROCds";\r
+    }\r
+    leaf actinpro-cus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.ACTINPROCus";\r
+      reference\r
+        "Device.DSL.Line.{i}.ACTINPROCus";\r
+    }\r
+    leaf snrmro-cds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.SNRMROCds";\r
+      reference\r
+        "Device.DSL.Line.{i}.SNRMROCds";\r
+    }\r
+    leaf snrmro-cus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.SNRMROCus";\r
+      reference\r
+        "Device.DSL.Line.{i}.SNRMROCus";\r
+    }\r
+    leaf last-state-transmitted-downstream {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.LastStateTransmittedDownstream";\r
+      reference\r
+        "Device.DSL.Line.{i}.LastStateTransmittedDownstream";\r
+    }\r
+    leaf last-state-transmitted-upstream {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.LastStateTransmittedUpstream";\r
+      reference\r
+        "Device.DSL.Line.{i}.LastStateTransmittedUpstream";\r
+    }\r
+    leaf upbokle {\r
+      type uint32 {\r
+        range "0..1280";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.UPBOKLE";\r
+      reference\r
+        "Device.DSL.Line.{i}.UPBOKLE";\r
+    }\r
+    leaf mrefps-dds {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.MREFPSDds";\r
+      reference\r
+        "Device.DSL.Line.{i}.MREFPSDds";\r
+    }\r
+    leaf mrefps-dus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.MREFPSDus";\r
+      reference\r
+        "Device.DSL.Line.{i}.MREFPSDus";\r
+    }\r
+    leaf limitmask {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.LIMITMASK";\r
+      reference\r
+        "Device.DSL.Line.{i}.LIMITMASK";\r
+    }\r
+    leaf u-s0-mask {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.US0MASK";\r
+      reference\r
+        "Device.DSL.Line.{i}.US0MASK";\r
+    }\r
+    leaf trelli-sds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TRELLISds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TRELLISds";\r
+    }\r
+    leaf trelli-sus {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TRELLISus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TRELLISus";\r
+    }\r
+    leaf actsnrmod-eds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.ACTSNRMODEds";\r
+      reference\r
+        "Device.DSL.Line.{i}.ACTSNRMODEds";\r
+    }\r
+    leaf actsnrmod-eus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.ACTSNRMODEus";\r
+      reference\r
+        "Device.DSL.Line.{i}.ACTSNRMODEus";\r
+    }\r
+    leaf virtual-noise-ps-dds {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.VirtualNoisePSDds";\r
+      reference\r
+        "Device.DSL.Line.{i}.VirtualNoisePSDds";\r
+    }\r
+    leaf virtual-noise-ps-dus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.VirtualNoisePSDus";\r
+      reference\r
+        "Device.DSL.Line.{i}.VirtualNoisePSDus";\r
+    }\r
+    leaf actualce {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.ACTUALCE";\r
+      reference\r
+        "Device.DSL.Line.{i}.ACTUALCE";\r
+    }\r
+    leaf line-number {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.LineNumber";\r
+      reference\r
+        "Device.DSL.Line.{i}.LineNumber";\r
+    }\r
+    leaf upstream-max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.UpstreamMaxBitRate";\r
+      reference\r
+        "Device.DSL.Line.{i}.UpstreamMaxBitRate";\r
+    }\r
+    leaf downstream-max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.DownstreamMaxBitRate";\r
+      reference\r
+        "Device.DSL.Line.{i}.DownstreamMaxBitRate";\r
+    }\r
+    leaf upstream-noise-margin {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.UpstreamNoiseMargin";\r
+      reference\r
+        "Device.DSL.Line.{i}.UpstreamNoiseMargin";\r
+    }\r
+    leaf downstream-noise-margin {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.DownstreamNoiseMargin";\r
+      reference\r
+        "Device.DSL.Line.{i}.DownstreamNoiseMargin";\r
+    }\r
+    leaf snr-mpbus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.SNRMpbus";\r
+      reference\r
+        "Device.DSL.Line.{i}.SNRMpbus";\r
+    }\r
+    leaf snr-mpbds {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.SNRMpbds";\r
+      reference\r
+        "Device.DSL.Line.{i}.SNRMpbds";\r
+    }\r
+    leaf inmiat-ods {\r
+      type uint32 {\r
+        range "3..511";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.INMIATOds";\r
+      reference\r
+        "Device.DSL.Line.{i}.INMIATOds";\r
+    }\r
+    leaf inmiat-sds {\r
+      type uint32 {\r
+        range "0..7";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.INMIATSds";\r
+      reference\r
+        "Device.DSL.Line.{i}.INMIATSds";\r
+    }\r
+    leaf inmc-cds {\r
+      type uint32 {\r
+        range "0..64";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.INMCCds";\r
+      reference\r
+        "Device.DSL.Line.{i}.INMCCds";\r
+    }\r
+    leaf inminpeqmod-eds {\r
+      type uint32 {\r
+        range "0..3";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.INMINPEQMODEds";\r
+      reference\r
+        "Device.DSL.Line.{i}.INMINPEQMODEds";\r
+    }\r
+    leaf upstream-attenuation {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.UpstreamAttenuation";\r
+      reference\r
+        "Device.DSL.Line.{i}.UpstreamAttenuation";\r
+    }\r
+    leaf downstream-attenuation {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.DownstreamAttenuation";\r
+      reference\r
+        "Device.DSL.Line.{i}.DownstreamAttenuation";\r
+    }\r
+    leaf upstream-power {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.UpstreamPower";\r
+      reference\r
+        "Device.DSL.Line.{i}.UpstreamPower";\r
+    }\r
+    leaf downstream-power {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.DownstreamPower";\r
+      reference\r
+        "Device.DSL.Line.{i}.DownstreamPower";\r
+    }\r
+    leaf xtur-vendor {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.XTURVendor";\r
+      reference\r
+        "Device.DSL.Line.{i}.XTURVendor";\r
+    }\r
+    leaf xtur-country {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.XTURCountry";\r
+      reference\r
+        "Device.DSL.Line.{i}.XTURCountry";\r
+    }\r
+    leaf xturansi-std {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.XTURANSIStd";\r
+      reference\r
+        "Device.DSL.Line.{i}.XTURANSIStd";\r
+    }\r
+    leaf xturansi-rev {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.XTURANSIRev";\r
+      reference\r
+        "Device.DSL.Line.{i}.XTURANSIRev";\r
+    }\r
+    leaf xtuc-vendor {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.XTUCVendor";\r
+      reference\r
+        "Device.DSL.Line.{i}.XTUCVendor";\r
+    }\r
+    leaf xtuc-country {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.XTUCCountry";\r
+      reference\r
+        "Device.DSL.Line.{i}.XTUCCountry";\r
+    }\r
+    leaf xtucansi-std {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.XTUCANSIStd";\r
+      reference\r
+        "Device.DSL.Line.{i}.XTUCANSIStd";\r
+    }\r
+    leaf xtucansi-rev {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.XTUCANSIRev";\r
+      reference\r
+        "Device.DSL.Line.{i}.XTUCANSIRev";\r
+    }\r
+  }\r
+\r
+  grouping line-data-gathering-g {\r
+    description\r
+      "Grouping object for Device.DSL.Line.{i}.DataGathering.";\r
+    leaf logging-depth-r {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.DataGathering.LoggingDepthR";\r
+      reference\r
+        "Device.DSL.Line.{i}.DataGathering.LoggingDepthR";\r
+    }\r
+    leaf act-logging-depth-reporting-r {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.DataGathering.ActLoggingDepthReportingR";\r
+      reference\r
+        "Device.DSL.Line.{i}.DataGathering.ActLoggingDepthReportingR";\r
+    }\r
+    leaf event-trace-buffer-r {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.DataGathering.EventTraceBufferR";\r
+      reference\r
+        "Device.DSL.Line.{i}.DataGathering.EventTraceBufferR";\r
+    }\r
+  }\r
+\r
+  grouping line-stats-g {\r
+    description\r
+      "Grouping object for Device.DSL.Line.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf total-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.TotalStart";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.TotalStart";\r
+    }\r
+    leaf showtime-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.ShowtimeStart";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.ShowtimeStart";\r
+    }\r
+    leaf last-showtime-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.LastShowtimeStart";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.LastShowtimeStart";\r
+    }\r
+    leaf current-day-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.CurrentDayStart";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.CurrentDayStart";\r
+    }\r
+    leaf quarter-hour-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.QuarterHourStart";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.QuarterHourStart";\r
+    }\r
+  }\r
+\r
+  grouping line-stats-current-day-g {\r
+    description\r
+      "Grouping object for Device.DSL.Line.{i}.Stats.CurrentDay.";\r
+    leaf errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.CurrentDay.ErroredSecs";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.CurrentDay.ErroredSecs";\r
+    }\r
+    leaf severely-errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.CurrentDay.SeverelyErroredSecs";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.CurrentDay.SeverelyErroredSecs";\r
+    }\r
+  }\r
+\r
+  grouping line-stats-last-showtime-g {\r
+    description\r
+      "Grouping object for Device.DSL.Line.{i}.Stats.LastShowtime.";\r
+    leaf errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.LastShowtime.ErroredSecs";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.LastShowtime.ErroredSecs";\r
+    }\r
+    leaf severely-errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.LastShowtime.SeverelyErroredSecs";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.LastShowtime.SeverelyErroredSecs";\r
+    }\r
+  }\r
+\r
+  grouping line-stats-quarter-hour-g {\r
+    description\r
+      "Grouping object for Device.DSL.Line.{i}.Stats.QuarterHour.";\r
+    leaf errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.QuarterHour.ErroredSecs";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.QuarterHour.ErroredSecs";\r
+    }\r
+    leaf severely-errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.QuarterHour.SeverelyErroredSecs";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.QuarterHour.SeverelyErroredSecs";\r
+    }\r
+  }\r
+\r
+  grouping line-stats-showtime-g {\r
+    description\r
+      "Grouping object for Device.DSL.Line.{i}.Stats.Showtime.";\r
+    leaf errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.Showtime.ErroredSecs";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.Showtime.ErroredSecs";\r
+    }\r
+    leaf severely-errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.Showtime.SeverelyErroredSecs";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.Showtime.SeverelyErroredSecs";\r
+    }\r
+  }\r
+\r
+  grouping line-stats-total-g {\r
+    description\r
+      "Grouping object for Device.DSL.Line.{i}.Stats.Total.";\r
+    leaf errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.Total.ErroredSecs";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.Total.ErroredSecs";\r
+    }\r
+    leaf severely-errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.Stats.Total.SeverelyErroredSecs";\r
+      reference\r
+        "Device.DSL.Line.{i}.Stats.Total.SeverelyErroredSecs";\r
+    }\r
+  }\r
+\r
+  grouping line-test-params-g {\r
+    description\r
+      "Grouping object for Device.DSL.Line.{i}.TestParams.";\r
+    leaf hlog-gds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.HLOGGds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.HLOGGds";\r
+    }\r
+    leaf hlog-gus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.HLOGGus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.HLOGGus";\r
+    }\r
+    leaf hlo-gpsds {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.HLOGpsds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.HLOGpsds";\r
+    }\r
+    leaf hlo-gpsus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.HLOGpsus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.HLOGpsus";\r
+    }\r
+    leaf hlogm-tds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.HLOGMTds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.HLOGMTds";\r
+    }\r
+    leaf hlogm-tus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.HLOGMTus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.HLOGMTus";\r
+    }\r
+    leaf qln-gds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.QLNGds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.QLNGds";\r
+    }\r
+    leaf qln-gus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.QLNGus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.QLNGus";\r
+    }\r
+    leaf ql-npsds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.QLNpsds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.QLNpsds";\r
+    }\r
+    leaf ql-npsus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.QLNpsus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.QLNpsus";\r
+    }\r
+    leaf qlnm-tds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.QLNMTds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.QLNMTds";\r
+    }\r
+    leaf qlnm-tus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.QLNMTus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.QLNMTus";\r
+    }\r
+    leaf snr-gds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.SNRGds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.SNRGds";\r
+    }\r
+    leaf snr-gus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.SNRGus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.SNRGus";\r
+    }\r
+    leaf sn-rpsds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.SNRpsds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.SNRpsds";\r
+    }\r
+    leaf sn-rpsus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.SNRpsus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.SNRpsus";\r
+    }\r
+    leaf snrm-tds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.SNRMTds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.SNRMTds";\r
+    }\r
+    leaf snrm-tus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.SNRMTus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.SNRMTus";\r
+    }\r
+    leaf lat-nds {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.LATNds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.LATNds";\r
+    }\r
+    leaf lat-nus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.LATNus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.LATNus";\r
+    }\r
+    leaf sat-nds {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.SATNds";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.SATNds";\r
+    }\r
+    leaf sat-nus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSL.Line.{i}.TestParams.SATNus";\r
+      reference\r
+        "Device.DSL.Line.{i}.TestParams.SATNus";\r
+    }\r
+  }\r
+\r
+  grouping device-ds-lite-g {\r
+    description\r
+      "Grouping object for Device.DSLite.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DSLite.Enable";\r
+      reference\r
+        "Device.DSLite.Enable";\r
+    }\r
+    leaf interface-setting-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DSLite.InterfaceSettingNumberOfEntries";\r
+      reference\r
+        "Device.DSLite.InterfaceSettingNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping ds-lite-interface-setting-g {\r
+    description\r
+      "Grouping object for Device.DSLite.InterfaceSetting.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DSLite.InterfaceSetting.{i}.Enable";\r
+      reference\r
+        "Device.DSLite.InterfaceSetting.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSLite.InterfaceSetting.{i}.Status";\r
+      reference\r
+        "Device.DSLite.InterfaceSetting.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DSLite.InterfaceSetting.{i}.Alias";\r
+      reference\r
+        "Device.DSLite.InterfaceSetting.{i}.Alias";\r
+    }\r
+    leaf endpoint-assignment-precedence {\r
+      type enumeration {\r
+        enum DHCPv6 {\r
+          description\r
+            "Enum Value - DHCPv6";\r
+        }\r
+        enum Static {\r
+          description\r
+            "Enum Value - Static";\r
+        }\r
+      }\r
+      description\r
+        "Device.DSLite.InterfaceSetting.{i}.EndpointAssignmentPrecedence";\r
+      reference\r
+        "Device.DSLite.InterfaceSetting.{i}.EndpointAssignmentPrecedence";\r
+    }\r
+    leaf endpoint-address-type-precedence {\r
+      type enumeration {\r
+        enum FQDN {\r
+          description\r
+            "Enum Value - FQDN";\r
+        }\r
+        enum IPv6Address {\r
+          description\r
+            "Enum Value - IPv6Address";\r
+        }\r
+      }\r
+      description\r
+        "Device.DSLite.InterfaceSetting.{i}.EndpointAddressTypePrecedence";\r
+      reference\r
+        "Device.DSLite.InterfaceSetting.{i}.EndpointAddressTypePrecedence";\r
+    }\r
+    leaf endpoint-address-in-use {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DSLite.InterfaceSetting.{i}.EndpointAddressInUse";\r
+      reference\r
+        "Device.DSLite.InterfaceSetting.{i}.EndpointAddressInUse";\r
+    }\r
+    leaf endpoint-name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DSLite.InterfaceSetting.{i}.EndpointName";\r
+      reference\r
+        "Device.DSLite.InterfaceSetting.{i}.EndpointName";\r
+    }\r
+    leaf endpoint-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.DSLite.InterfaceSetting.{i}.EndpointAddress";\r
+      reference\r
+        "Device.DSLite.InterfaceSetting.{i}.EndpointAddress";\r
+    }\r
+    leaf origin {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSLite.InterfaceSetting.{i}.Origin";\r
+      reference\r
+        "Device.DSLite.InterfaceSetting.{i}.Origin";\r
+    }\r
+    leaf tunnel-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSLite.InterfaceSetting.{i}.TunnelInterface";\r
+      reference\r
+        "Device.DSLite.InterfaceSetting.{i}.TunnelInterface";\r
+    }\r
+    leaf tunneled-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DSLite.InterfaceSetting.{i}.TunneledInterface";\r
+      reference\r
+        "Device.DSLite.InterfaceSetting.{i}.TunneledInterface";\r
+    }\r
+  }\r
+\r
+  grouping device-device-info-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.";\r
+    leaf device-category {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.DeviceCategory";\r
+      reference\r
+        "Device.DeviceInfo.DeviceCategory";\r
+    }\r
+    leaf manufacturer {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.Manufacturer";\r
+      reference\r
+        "Device.DeviceInfo.Manufacturer";\r
+    }\r
+    leaf manufacturer-oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ManufacturerOUI";\r
+      reference\r
+        "Device.DeviceInfo.ManufacturerOUI";\r
+    }\r
+    leaf supported-data-model-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.SupportedDataModelNumberOfEntries";\r
+      reference\r
+        "Device.DeviceInfo.SupportedDataModelNumberOfEntries";\r
+    }\r
+    leaf model-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ModelName";\r
+      reference\r
+        "Device.DeviceInfo.ModelName";\r
+    }\r
+    leaf model-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ModelNumber";\r
+      reference\r
+        "Device.DeviceInfo.ModelNumber";\r
+    }\r
+    leaf description {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.Description";\r
+      reference\r
+        "Device.DeviceInfo.Description";\r
+    }\r
+    leaf product-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProductClass";\r
+      reference\r
+        "Device.DeviceInfo.ProductClass";\r
+    }\r
+    leaf serial-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.SerialNumber";\r
+      reference\r
+        "Device.DeviceInfo.SerialNumber";\r
+    }\r
+    leaf hardware-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.HardwareVersion";\r
+      reference\r
+        "Device.DeviceInfo.HardwareVersion";\r
+    }\r
+    leaf software-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.SoftwareVersion";\r
+      reference\r
+        "Device.DeviceInfo.SoftwareVersion";\r
+    }\r
+    leaf active-firmware-image {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ActiveFirmwareImage";\r
+      reference\r
+        "Device.DeviceInfo.ActiveFirmwareImage";\r
+    }\r
+    leaf boot-firmware-image {\r
+      type string;\r
+      description\r
+        "Device.DeviceInfo.BootFirmwareImage";\r
+      reference\r
+        "Device.DeviceInfo.BootFirmwareImage";\r
+    }\r
+    leaf additional-hardware-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.AdditionalHardwareVersion";\r
+      reference\r
+        "Device.DeviceInfo.AdditionalHardwareVersion";\r
+    }\r
+    leaf additional-software-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.AdditionalSoftwareVersion";\r
+      reference\r
+        "Device.DeviceInfo.AdditionalSoftwareVersion";\r
+    }\r
+    leaf provisioning-code {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DeviceInfo.ProvisioningCode";\r
+      reference\r
+        "Device.DeviceInfo.ProvisioningCode";\r
+    }\r
+    leaf up-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.UpTime";\r
+      reference\r
+        "Device.DeviceInfo.UpTime";\r
+    }\r
+    leaf first-use-date {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.FirstUseDate";\r
+      reference\r
+        "Device.DeviceInfo.FirstUseDate";\r
+    }\r
+    leaf firmware-image-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.FirmwareImageNumberOfEntries";\r
+      reference\r
+        "Device.DeviceInfo.FirmwareImageNumberOfEntries";\r
+    }\r
+    leaf vendor-config-file-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.VendorConfigFileNumberOfEntries";\r
+      reference\r
+        "Device.DeviceInfo.VendorConfigFileNumberOfEntries";\r
+    }\r
+    leaf processor-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProcessorNumberOfEntries";\r
+      reference\r
+        "Device.DeviceInfo.ProcessorNumberOfEntries";\r
+    }\r
+    leaf vendor-log-file-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.VendorLogFileNumberOfEntries";\r
+      reference\r
+        "Device.DeviceInfo.VendorLogFileNumberOfEntries";\r
+    }\r
+    leaf location-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.LocationNumberOfEntries";\r
+      reference\r
+        "Device.DeviceInfo.LocationNumberOfEntries";\r
+    }\r
+    leaf device-image-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.DeviceImageNumberOfEntries";\r
+      reference\r
+        "Device.DeviceInfo.DeviceImageNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping device-info-device-image-file-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.DeviceImageFile.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DeviceInfo.DeviceImageFile.{i}.Alias";\r
+      reference\r
+        "Device.DeviceInfo.DeviceImageFile.{i}.Alias";\r
+    }\r
+    leaf location {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.DeviceImageFile.{i}.Location";\r
+      reference\r
+        "Device.DeviceInfo.DeviceImageFile.{i}.Location";\r
+    }\r
+    leaf image {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.DeviceImageFile.{i}.Image";\r
+      reference\r
+        "Device.DeviceInfo.DeviceImageFile.{i}.Image";\r
+    }\r
+  }\r
+\r
+  grouping device-info-firmware-image-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.FirmwareImage.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DeviceInfo.FirmwareImage.{i}.Alias";\r
+      reference\r
+        "Device.DeviceInfo.FirmwareImage.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.FirmwareImage.{i}.Name";\r
+      reference\r
+        "Device.DeviceInfo.FirmwareImage.{i}.Name";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.FirmwareImage.{i}.Version";\r
+      reference\r
+        "Device.DeviceInfo.FirmwareImage.{i}.Version";\r
+    }\r
+    leaf available {\r
+      type boolean;\r
+      description\r
+        "Device.DeviceInfo.FirmwareImage.{i}.Available";\r
+      reference\r
+        "Device.DeviceInfo.FirmwareImage.{i}.Available";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.FirmwareImage.{i}.Status";\r
+      reference\r
+        "Device.DeviceInfo.FirmwareImage.{i}.Status";\r
+    }\r
+    leaf boot-failure-log {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.FirmwareImage.{i}.BootFailureLog";\r
+      reference\r
+        "Device.DeviceInfo.FirmwareImage.{i}.BootFailureLog";\r
+    }\r
+  }\r
+\r
+  grouping device-info-location-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.Location.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf source {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.Location.{i}.Source";\r
+      reference\r
+        "Device.DeviceInfo.Location.{i}.Source";\r
+    }\r
+    leaf acquired-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.Location.{i}.AcquiredTime";\r
+      reference\r
+        "Device.DeviceInfo.Location.{i}.AcquiredTime";\r
+    }\r
+    leaf external-source {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.Location.{i}.ExternalSource";\r
+      reference\r
+        "Device.DeviceInfo.Location.{i}.ExternalSource";\r
+    }\r
+    leaf external-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.Location.{i}.ExternalProtocol";\r
+      reference\r
+        "Device.DeviceInfo.Location.{i}.ExternalProtocol";\r
+    }\r
+    leaf data-object {\r
+      type string {\r
+        length "min..1200";\r
+      }\r
+      description\r
+        "Device.DeviceInfo.Location.{i}.DataObject";\r
+      reference\r
+        "Device.DeviceInfo.Location.{i}.DataObject";\r
+    }\r
+  }\r
+\r
+  grouping device-info-memory-status-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.MemoryStatus.";\r
+    leaf total {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.MemoryStatus.Total";\r
+      reference\r
+        "Device.DeviceInfo.MemoryStatus.Total";\r
+    }\r
+    leaf free {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.MemoryStatus.Free";\r
+      reference\r
+        "Device.DeviceInfo.MemoryStatus.Free";\r
+    }\r
+  }\r
+\r
+  grouping device-info-network-properties-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.NetworkProperties.";\r
+    leaf max-tcp-window-size {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.NetworkProperties.MaxTCPWindowSize";\r
+      reference\r
+        "Device.DeviceInfo.NetworkProperties.MaxTCPWindowSize";\r
+    }\r
+    leaf tcp-implementation {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.NetworkProperties.TCPImplementation";\r
+      reference\r
+        "Device.DeviceInfo.NetworkProperties.TCPImplementation";\r
+    }\r
+  }\r
+\r
+  grouping device-info-process-status-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.ProcessStatus.";\r
+    leaf cpu-usage {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProcessStatus.CPUUsage";\r
+      reference\r
+        "Device.DeviceInfo.ProcessStatus.CPUUsage";\r
+    }\r
+    leaf process-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProcessStatus.ProcessNumberOfEntries";\r
+      reference\r
+        "Device.DeviceInfo.ProcessStatus.ProcessNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping process-status-process-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.ProcessStatus.Process.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf pid {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.PID";\r
+      reference\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.PID";\r
+    }\r
+    leaf command {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.Command";\r
+      reference\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.Command";\r
+    }\r
+    leaf size {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.Size";\r
+      reference\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.Size";\r
+    }\r
+    leaf priority {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.Priority";\r
+      reference\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.Priority";\r
+    }\r
+    leaf cpu-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.CPUTime";\r
+      reference\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.CPUTime";\r
+    }\r
+    leaf state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.State";\r
+      reference\r
+        "Device.DeviceInfo.ProcessStatus.Process.{i}.State";\r
+    }\r
+  }\r
+\r
+  grouping device-info-processor-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.Processor.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DeviceInfo.Processor.{i}.Alias";\r
+      reference\r
+        "Device.DeviceInfo.Processor.{i}.Alias";\r
+    }\r
+    leaf architecture {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.Processor.{i}.Architecture";\r
+      reference\r
+        "Device.DeviceInfo.Processor.{i}.Architecture";\r
+    }\r
+  }\r
+\r
+  grouping device-info-proxier-info-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.ProxierInfo.";\r
+    leaf manufacturer-oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProxierInfo.ManufacturerOUI";\r
+      reference\r
+        "Device.DeviceInfo.ProxierInfo.ManufacturerOUI";\r
+    }\r
+    leaf product-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProxierInfo.ProductClass";\r
+      reference\r
+        "Device.DeviceInfo.ProxierInfo.ProductClass";\r
+    }\r
+    leaf serial-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProxierInfo.SerialNumber";\r
+      reference\r
+        "Device.DeviceInfo.ProxierInfo.SerialNumber";\r
+    }\r
+    leaf proxy-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.ProxierInfo.ProxyProtocol";\r
+      reference\r
+        "Device.DeviceInfo.ProxierInfo.ProxyProtocol";\r
+    }\r
+  }\r
+\r
+  grouping device-info-supported-data-model-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.SupportedDataModel.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DeviceInfo.SupportedDataModel.{i}.Alias";\r
+      reference\r
+        "Device.DeviceInfo.SupportedDataModel.{i}.Alias";\r
+    }\r
+    leaf url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.SupportedDataModel.{i}.URL";\r
+      reference\r
+        "Device.DeviceInfo.SupportedDataModel.{i}.URL";\r
+    }\r
+    leaf uuid {\r
+      type string {\r
+        length "min..36";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.SupportedDataModel.{i}.UUID";\r
+      reference\r
+        "Device.DeviceInfo.SupportedDataModel.{i}.UUID";\r
+    }\r
+    leaf urn {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.SupportedDataModel.{i}.URN";\r
+      reference\r
+        "Device.DeviceInfo.SupportedDataModel.{i}.URN";\r
+    }\r
+    leaf features {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.SupportedDataModel.{i}.Features";\r
+      reference\r
+        "Device.DeviceInfo.SupportedDataModel.{i}.Features";\r
+    }\r
+  }\r
+\r
+  grouping device-info-temperature-status-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.TemperatureStatus.";\r
+    leaf temperature-sensor-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensorNumberOfEntries";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensorNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping temperature-status-temperature-sensor-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Alias";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Enable";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Status";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Status";\r
+    }\r
+    leaf reset-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.ResetTime";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.ResetTime";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Name";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Name";\r
+    }\r
+    leaf value {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Value";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.Value";\r
+    }\r
+    leaf last-update {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LastUpdate";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LastUpdate";\r
+    }\r
+    leaf min-value {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MinValue";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MinValue";\r
+    }\r
+    leaf min-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MinTime";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MinTime";\r
+    }\r
+    leaf max-value {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MaxValue";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MaxValue";\r
+    }\r
+    leaf max-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MaxTime";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.MaxTime";\r
+    }\r
+    leaf low-alarm-value {\r
+      type int32 {\r
+        range "-274..max";\r
+      }\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LowAlarmValue";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LowAlarmValue";\r
+    }\r
+    leaf low-alarm-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LowAlarmTime";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.LowAlarmTime";\r
+    }\r
+    leaf high-alarm-value {\r
+      type int32 {\r
+        range "-274..max";\r
+      }\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.HighAlarmValue";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.HighAlarmValue";\r
+    }\r
+    leaf polling-interval {\r
+      type uint32;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.PollingInterval";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.PollingInterval";\r
+    }\r
+    leaf high-alarm-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.HighAlarmTime";\r
+      reference\r
+        "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.HighAlarmTime";\r
+    }\r
+  }\r
+\r
+  grouping device-info-vendor-config-file-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.VendorConfigFile.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.Alias";\r
+      reference\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.Name";\r
+      reference\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.Name";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.Version";\r
+      reference\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.Version";\r
+    }\r
+    leaf date {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.Date";\r
+      reference\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.Date";\r
+    }\r
+    leaf description {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.Description";\r
+      reference\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.Description";\r
+    }\r
+    leaf use-for-backup-restore {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.UseForBackupRestore";\r
+      reference\r
+        "Device.DeviceInfo.VendorConfigFile.{i}.UseForBackupRestore";\r
+    }\r
+  }\r
+\r
+  grouping device-info-vendor-log-file-g {\r
+    description\r
+      "Grouping object for Device.DeviceInfo.VendorLogFile.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DeviceInfo.VendorLogFile.{i}.Alias";\r
+      reference\r
+        "Device.DeviceInfo.VendorLogFile.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.VendorLogFile.{i}.Name";\r
+      reference\r
+        "Device.DeviceInfo.VendorLogFile.{i}.Name";\r
+    }\r
+    leaf maximum-size {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.VendorLogFile.{i}.MaximumSize";\r
+      reference\r
+        "Device.DeviceInfo.VendorLogFile.{i}.MaximumSize";\r
+    }\r
+    leaf persistent {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.DeviceInfo.VendorLogFile.{i}.Persistent";\r
+      reference\r
+        "Device.DeviceInfo.VendorLogFile.{i}.Persistent";\r
+    }\r
+  }\r
+\r
+  grouping device-dynamic-dns-g {\r
+    description\r
+      "Grouping object for Device.DynamicDNS.";\r
+    leaf client-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DynamicDNS.ClientNumberOfEntries";\r
+      reference\r
+        "Device.DynamicDNS.ClientNumberOfEntries";\r
+    }\r
+    leaf server-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DynamicDNS.ServerNumberOfEntries";\r
+      reference\r
+        "Device.DynamicDNS.ServerNumberOfEntries";\r
+    }\r
+    leaf supported-services {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DynamicDNS.SupportedServices";\r
+      reference\r
+        "Device.DynamicDNS.SupportedServices";\r
+    }\r
+  }\r
+\r
+  grouping dynamic-dns-client-g {\r
+    description\r
+      "Grouping object for Device.DynamicDNS.Client.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.Enable";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.Status";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.Alias";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.Alias";\r
+    }\r
+    leaf last-error {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.LastError";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.LastError";\r
+    }\r
+    leaf server {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.Server";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.Server";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.Interface";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.Interface";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.Username";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.Username";\r
+    }\r
+    leaf hostname-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.HostnameNumberOfEntries";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.HostnameNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping client-hostname-g {\r
+    description\r
+      "Grouping object for Device.DynamicDNS.Client.{i}.Hostname.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Enable";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Status";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Status";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Name";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.Hostname.{i}.Name";\r
+    }\r
+    leaf last-update {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DynamicDNS.Client.{i}.Hostname.{i}.LastUpdate";\r
+      reference\r
+        "Device.DynamicDNS.Client.{i}.Hostname.{i}.LastUpdate";\r
+    }\r
+  }\r
+\r
+  grouping dynamic-dns-server-g {\r
+    description\r
+      "Grouping object for Device.DynamicDNS.Server.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DynamicDNS.Server.{i}.Enable";\r
+      reference\r
+        "Device.DynamicDNS.Server.{i}.Enable";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DynamicDNS.Server.{i}.Name";\r
+      reference\r
+        "Device.DynamicDNS.Server.{i}.Name";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.DynamicDNS.Server.{i}.Alias";\r
+      reference\r
+        "Device.DynamicDNS.Server.{i}.Alias";\r
+    }\r
+    leaf service-name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DynamicDNS.Server.{i}.ServiceName";\r
+      reference\r
+        "Device.DynamicDNS.Server.{i}.ServiceName";\r
+    }\r
+    leaf server-address {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.DynamicDNS.Server.{i}.ServerAddress";\r
+      reference\r
+        "Device.DynamicDNS.Server.{i}.ServerAddress";\r
+    }\r
+    leaf server-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.DynamicDNS.Server.{i}.ServerPort";\r
+      reference\r
+        "Device.DynamicDNS.Server.{i}.ServerPort";\r
+    }\r
+    leaf supported-protocols {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.DynamicDNS.Server.{i}.SupportedProtocols";\r
+      reference\r
+        "Device.DynamicDNS.Server.{i}.SupportedProtocols";\r
+    }\r
+    leaf protocol {\r
+      type string;\r
+      description\r
+        "Device.DynamicDNS.Server.{i}.Protocol";\r
+      reference\r
+        "Device.DynamicDNS.Server.{i}.Protocol";\r
+    }\r
+    leaf check-interval {\r
+      type uint32;\r
+      description\r
+        "Device.DynamicDNS.Server.{i}.CheckInterval";\r
+      reference\r
+        "Device.DynamicDNS.Server.{i}.CheckInterval";\r
+    }\r
+    leaf retry-interval {\r
+      type uint32;\r
+      description\r
+        "Device.DynamicDNS.Server.{i}.RetryInterval";\r
+      reference\r
+        "Device.DynamicDNS.Server.{i}.RetryInterval";\r
+    }\r
+    leaf max-retries {\r
+      type uint32;\r
+      description\r
+        "Device.DynamicDNS.Server.{i}.MaxRetries";\r
+      reference\r
+        "Device.DynamicDNS.Server.{i}.MaxRetries";\r
+    }\r
+  }\r
+\r
+  grouping device-etsi-m2-m-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.";\r
+    leaf scl-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCLNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCLNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping etsi-m2-m-scl-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.Enable";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.Alias";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.Alias";\r
+    }\r
+    leaf announced-to-scl-list {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AnnouncedToSCLList";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AnnouncedToSCLList";\r
+    }\r
+    leaf saf-policy-set-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySetNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySetNumberOfEntries";\r
+    }\r
+    leaf area-nwk-instance-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstanceNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstanceNumberOfEntries";\r
+    }\r
+    leaf area-nwk-device-info-instance-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstanceNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstanceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping scl-area-nwk-device-info-instance-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf area-nwk-instance {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.AreaNwkInstance";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.AreaNwkInstance";\r
+    }\r
+    leaf host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Host";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Host";\r
+    }\r
+    leaf list-of-device-neighbors {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.ListOfDeviceNeighbors";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.ListOfDeviceNeighbors";\r
+    }\r
+    leaf list-of-device-applications {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.ListOfDeviceApplications";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.ListOfDeviceApplications";\r
+    }\r
+    leaf sleep-interval {\r
+      type uint32;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.SleepInterval";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.SleepInterval";\r
+    }\r
+    leaf sleep-duration {\r
+      type uint32;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.SleepDuration";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.SleepDuration";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Status";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Status";\r
+    }\r
+    leaf active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Active";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Active";\r
+    }\r
+    leaf property-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.PropertyNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.PropertyNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping area-nwk-device-info-instance-property-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.Name";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.Name";\r
+    }\r
+    leaf value {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.Value";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping scl-area-nwk-instance-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.ID";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.ID";\r
+    }\r
+    leaf area-nwk-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.AreaNwkType";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.AreaNwkType";\r
+    }\r
+    leaf list-of-devices {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.ListOfDevices";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.ListOfDevices";\r
+    }\r
+    leaf property-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.PropertyNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.PropertyNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping area-nwk-instance-property-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.Name";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.Name";\r
+    }\r
+    leaf value {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.Value";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping scl-discovery-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.Discovery.";\r
+    leaf max-number-of-discov-records {\r
+      type uint32;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.Discovery.MaxNumberOfDiscovRecords";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.Discovery.MaxNumberOfDiscovRecords";\r
+    }\r
+    leaf max-size-of-discov-answer {\r
+      type uint32;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.Discovery.MaxSizeOfDiscovAnswer";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.Discovery.MaxSizeOfDiscovAnswer";\r
+    }\r
+  }\r
+\r
+  grouping scl-reregistration-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.Reregistration.";\r
+    leaf reg-target-nscl-list {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.RegTargetNSCLList";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.RegTargetNSCLList";\r
+    }\r
+    leaf reg-search-strings {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.RegSearchStrings";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.RegSearchStrings";\r
+    }\r
+    leaf reg-access-right-id {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.RegAccessRightID";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.RegAccessRightID";\r
+    }\r
+    leaf reg-expiration-duration {\r
+      type int32;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.RegExpirationDuration";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.RegExpirationDuration";\r
+    }\r
+  }\r
+\r
+  grouping reregistration-action-status-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.";\r
+    leaf progress {\r
+      type uint32 {\r
+        range "0..100";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.Progress";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.Progress";\r
+    }\r
+    leaf final-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.FinalStatus";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.FinalStatus";\r
+    }\r
+  }\r
+\r
+  grouping scl-saf-policy-set-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.Enable";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.Alias";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.Alias";\r
+    }\r
+    leaf policy-scope {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.PolicyScope";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.PolicyScope";\r
+    }\r
+    leaf anp-policy-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicyNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicyNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping saf-policy-set-anp-policy-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.Enable";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.Alias";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.Alias";\r
+    }\r
+    leaf an-name {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.ANName";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.ANName";\r
+    }\r
+    leaf block-period-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriodNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriodNumberOfEntries";\r
+    }\r
+    leaf request-category-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategoryNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategoryNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping anp-policy-block-period-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.Enable";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.Alias";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.Alias";\r
+    }\r
+    leaf failed-attempts {\r
+      type uint32;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.FailedAttempts";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.FailedAttempts";\r
+    }\r
+    leaf block-duration {\r
+      type int32;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.BlockDuration";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.BlockDuration";\r
+    }\r
+  }\r
+\r
+  grouping anp-policy-request-category-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Enable";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Alias";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Alias";\r
+    }\r
+    leaf rcat {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.RCAT";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.RCAT";\r
+    }\r
+    leaf schedule-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.ScheduleNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.ScheduleNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping request-category-schedule-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Enable";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Alias";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Alias";\r
+    }\r
+    leaf schedules {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Schedules";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.Schedules";\r
+    }\r
+    leaf abs-time-span-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpanNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpanNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping schedule-abs-time-span-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.Enable";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.Alias";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.Alias";\r
+    }\r
+    leaf start-time {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.StartTime";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.StartTime";\r
+    }\r
+    leaf end-time {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.EndTime";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.EndTime";\r
+    }\r
+  }\r
+\r
+  grouping saf-policy-set-m2-msp-policy-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.";\r
+    leaf default-rcat-value {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.DefaultRCATValue";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.DefaultRCATValue";\r
+    }\r
+    leaf request-category-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategoryNumberOfEntries";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategoryNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping m2-msp-policy-request-category-g {\r
+    description\r
+      "Grouping object for Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Enable";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Alias";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Alias";\r
+    }\r
+    leaf rcat {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.RCAT";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.RCAT";\r
+    }\r
+    leaf tolerable-delay {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.TolerableDelay";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.TolerableDelay";\r
+    }\r
+    leaf thresh {\r
+      type uint32;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Thresh";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Thresh";\r
+    }\r
+    leaf mem {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Mem";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.Mem";\r
+    }\r
+    leaf ranked-an-list {\r
+      type string;\r
+      description\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.RankedANList";\r
+      reference\r
+        "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.RankedANList";\r
+    }\r
+  }\r
+\r
+  grouping device-ethernet-g {\r
+    description\r
+      "Grouping object for Device.Ethernet.";\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.Ethernet.InterfaceNumberOfEntries";\r
+    }\r
+    leaf link-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LinkNumberOfEntries";\r
+      reference\r
+        "Device.Ethernet.LinkNumberOfEntries";\r
+    }\r
+    leaf vlan-termination-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTerminationNumberOfEntries";\r
+      reference\r
+        "Device.Ethernet.VLANTerminationNumberOfEntries";\r
+    }\r
+    leaf rmon-stats-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStatsNumberOfEntries";\r
+      reference\r
+        "Device.Ethernet.RMONStatsNumberOfEntries";\r
+    }\r
+    leaf lag-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAGNumberOfEntries";\r
+      reference\r
+        "Device.Ethernet.LAGNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping ethernet-interface-g {\r
+    description\r
+      "Grouping object for Device.Ethernet.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Enable";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Status";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Alias";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Name";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.Ethernet.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Upstream";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Upstream";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.MACAddress";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.MACAddress";\r
+    }\r
+    leaf max-bit-rate {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.Ethernet.Interface.{i}.MaxBitRate";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.MaxBitRate";\r
+    }\r
+    leaf current-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.CurrentBitRate";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.CurrentBitRate";\r
+    }\r
+    leaf duplex-mode {\r
+      type enumeration {\r
+        enum Half {\r
+          description\r
+            "Enum Value - Half";\r
+        }\r
+        enum Full {\r
+          description\r
+            "Enum Value - Full";\r
+        }\r
+        enum Auto {\r
+          description\r
+            "Enum Value - Auto";\r
+        }\r
+      }\r
+      description\r
+        "Device.Ethernet.Interface.{i}.DuplexMode";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.DuplexMode";\r
+    }\r
+    leaf eee-capability {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.EEECapability";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.EEECapability";\r
+    }\r
+    leaf eee-enable {\r
+      type boolean;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.EEEEnable";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.EEEEnable";\r
+    }\r
+  }\r
+\r
+  grouping ethernet-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.Ethernet.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping ethernet-lag-g {\r
+    description\r
+      "Grouping object for Device.Ethernet.LAG.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Enable";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Status";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Alias";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Name";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.LastChange";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.Ethernet.LAG.{i}.LowerLayers";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.LowerLayers";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.Ethernet.LAG.{i}.MACAddress";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.MACAddress";\r
+    }\r
+  }\r
+\r
+  grouping lag-stats-g {\r
+    description\r
+      "Grouping object for Device.Ethernet.LAG.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.LAG.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.LAG.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping ethernet-link-g {\r
+    description\r
+      "Grouping object for Device.Ethernet.Link.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Enable";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Status";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Ethernet.Link.{i}.Alias";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Name";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.LastChange";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.Ethernet.Link.{i}.LowerLayers";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.LowerLayers";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.MACAddress";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.MACAddress";\r
+    }\r
+    leaf priority-tagging {\r
+      type boolean;\r
+      description\r
+        "Device.Ethernet.Link.{i}.PriorityTagging";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.PriorityTagging";\r
+    }\r
+  }\r
+\r
+  grouping ethernet-link-stats-g {\r
+    description\r
+      "Grouping object for Device.Ethernet.Link.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.Link.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.Link.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping ethernet-rmon-stats-g {\r
+    description\r
+      "Grouping object for Device.Ethernet.RMONStats.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Enable";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Status";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Alias";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Name";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Name";\r
+    }\r
+    leaf interface {\r
+      type string;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Interface";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Interface";\r
+    }\r
+    leaf vlanid {\r
+      type uint32 {\r
+        range "0..4094";\r
+      }\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.VLANID";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.VLANID";\r
+    }\r
+    leaf queue {\r
+      type string;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Queue";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Queue";\r
+    }\r
+    leaf all-queues {\r
+      type boolean;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.AllQueues";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.AllQueues";\r
+    }\r
+    leaf drop-events {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.DropEvents";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.DropEvents";\r
+    }\r
+    leaf bytes {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Bytes";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Bytes";\r
+    }\r
+    leaf packets {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Packets";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Packets";\r
+    }\r
+    leaf broadcast-packets {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.BroadcastPackets";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.BroadcastPackets";\r
+    }\r
+    leaf multicast-packets {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.MulticastPackets";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.MulticastPackets";\r
+    }\r
+    leaf crc-errored-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.CRCErroredPackets";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.CRCErroredPackets";\r
+    }\r
+    leaf undersize-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.UndersizePackets";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.UndersizePackets";\r
+    }\r
+    leaf oversize-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.OversizePackets";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.OversizePackets";\r
+    }\r
+    leaf packets64-bytes {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Packets64Bytes";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Packets64Bytes";\r
+    }\r
+    leaf packets65to127-bytes {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Packets65to127Bytes";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Packets65to127Bytes";\r
+    }\r
+    leaf packets128to255-bytes {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Packets128to255Bytes";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Packets128to255Bytes";\r
+    }\r
+    leaf packets256to511-bytes {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Packets256to511Bytes";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Packets256to511Bytes";\r
+    }\r
+    leaf packets512to1023-bytes {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Packets512to1023Bytes";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Packets512to1023Bytes";\r
+    }\r
+    leaf packets1024to1518-bytes {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.RMONStats.{i}.Packets1024to1518Bytes";\r
+      reference\r
+        "Device.Ethernet.RMONStats.{i}.Packets1024to1518Bytes";\r
+    }\r
+  }\r
+\r
+  grouping ethernet-vlan-termination-g {\r
+    description\r
+      "Grouping object for Device.Ethernet.VLANTermination.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Enable";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Status";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Alias";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Name";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.LastChange";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.LowerLayers";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.LowerLayers";\r
+    }\r
+    leaf vlanid {\r
+      type uint32 {\r
+        range "1..4094";\r
+      }\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.VLANID";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.VLANID";\r
+    }\r
+    leaf tpid {\r
+      type uint32;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.TPID";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.TPID";\r
+    }\r
+  }\r
+\r
+  grouping vlan-termination-stats-g {\r
+    description\r
+      "Grouping object for Device.Ethernet.VLANTermination.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.Ethernet.VLANTermination.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping fap-application-platform-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.";\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Version";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Version";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Enable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Status";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Status";\r
+    }\r
+    leaf max-number-of-applications {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.MaxNumberOfApplications";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.MaxNumberOfApplications";\r
+    }\r
+    leaf current-numberof-applications {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.CurrentNumberofApplications";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.CurrentNumberofApplications";\r
+    }\r
+  }\r
+\r
+  grouping application-platform-capabilities-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.Capabilities.";\r
+    leaf presence-application-support {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.PresenceApplicationSupport";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.PresenceApplicationSupport";\r
+    }\r
+    leaf femto-awareness-api-support {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.FemtoAwarenessAPISupport";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.FemtoAwarenessAPISupport";\r
+    }\r
+    leaf smsapi-support {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.SMSAPISupport";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.SMSAPISupport";\r
+    }\r
+    leaf subscribe-to-notifications-of-sms-sent-to-application-support {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.SubscribeToNotificationsOfSMSSentToApplicationSupport";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.SubscribeToNotificationsOfSMSSentToApplicationSupport";\r
+    }\r
+    leaf query-sms-delivery-status-support {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.QuerySMSDeliveryStatusSupport";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.QuerySMSDeliveryStatusSupport";\r
+    }\r
+    leaf mmsapi-support {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.MMSAPISupport";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.MMSAPISupport";\r
+    }\r
+    leaf query-mms-delivery-status-support {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.QueryMMSDeliveryStatusSupport";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.QueryMMSDeliveryStatusSupport";\r
+    }\r
+    leaf subscribe-to-notifications-of-mms-sent-to-application-support {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.SubscribeToNotificationsOfMMSSentToApplicationSupport";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.SubscribeToNotificationsOfMMSSentToApplicationSupport";\r
+    }\r
+    leaf terminal-location-api-support {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.TerminalLocationAPISupport";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.TerminalLocationAPISupport";\r
+    }\r
+    leaf authentication-methods-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.AuthenticationMethodsSupported";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.AuthenticationMethodsSupported";\r
+    }\r
+    leaf access-levels-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.AccessLevelsSupported";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.AccessLevelsSupported";\r
+    }\r
+    leaf send-sms-target-address-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.SendSMSTargetAddressType";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.SendSMSTargetAddressType";\r
+    }\r
+    leaf send-mms-target-address-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Capabilities.SendMMSTargetAddressType";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Capabilities.SendMMSTargetAddressType";\r
+    }\r
+  }\r
+\r
+  grouping application-platform-control-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.Control.";\r
+    leaf authentication-method {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.AuthenticationMethod";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.AuthenticationMethod";\r
+    }\r
+    leaf tunnel-inst {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.TunnelInst";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.TunnelInst";\r
+    }\r
+  }\r
+\r
+  grouping control-femto-awareness-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.Control.FemtoAwareness.";\r
+    leaf api-enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.APIEnable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.APIEnable";\r
+    }\r
+    leaf queue-enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.QueueEnable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.QueueEnable";\r
+    }\r
+    leaf queueing {\r
+      type enumeration {\r
+        enum FiFo {\r
+          description\r
+            "Enum Value - FiFo";\r
+        }\r
+        enum Priority {\r
+          description\r
+            "Enum Value - Priority";\r
+        }\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.Queueing";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.Queueing";\r
+    }\r
+    leaf max-api-users-number {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.MaxAPIUsersNumber";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.MaxAPIUsersNumber";\r
+    }\r
+    leaf femtozone-id {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.FemtozoneID";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.FemtozoneID";\r
+    }\r
+    leaf notifications-user-identifier-msisdn {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.NotificationsUserIdentifierMSISDN";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.NotificationsUserIdentifierMSISDN";\r
+    }\r
+    leaf subscribe-to-notifications-response-callback-data {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.SubscribeToNotificationsResponseCallbackData";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.SubscribeToNotificationsResponseCallbackData";\r
+    }\r
+    leaf query-femtocell-response-timezone {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.QueryFemtocellResponseTimezone";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.QueryFemtocellResponseTimezone";\r
+    }\r
+  }\r
+\r
+  grouping control-mms-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.Control.MMS.";\r
+    leaf api-enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.APIEnable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.APIEnable";\r
+    }\r
+    leaf queue-enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.QueueEnable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.QueueEnable";\r
+    }\r
+    leaf queueing {\r
+      type enumeration {\r
+        enum FiFo {\r
+          description\r
+            "Enum Value - FiFo";\r
+        }\r
+        enum Priority {\r
+          description\r
+            "Enum Value - Priority";\r
+        }\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.Queueing";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.Queueing";\r
+    }\r
+    leaf max-api-users-number {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.MaxAPIUsersNumber";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.MaxAPIUsersNumber";\r
+    }\r
+    leaf min-send-mms-time-interval {\r
+      type uint32 {\r
+        range "0..3599";\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.MinSendMMSTimeInterval";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.MinSendMMSTimeInterval";\r
+    }\r
+    leaf enable-query-mms-delivery-status {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.EnableQueryMMSDeliveryStatus";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.EnableQueryMMSDeliveryStatus";\r
+    }\r
+    leaf enable-subscribe-to-notifications-of-message-sent-to-application {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.EnableSubscribeToNotificationsOfMessageSentToApplication";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.MMS.EnableSubscribeToNotificationsOfMessageSentToApplication";\r
+    }\r
+  }\r
+\r
+  grouping control-sms-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.Control.SMS.";\r
+    leaf api-enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.APIEnable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.APIEnable";\r
+    }\r
+    leaf queue-enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.QueueEnable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.QueueEnable";\r
+    }\r
+    leaf queueing {\r
+      type enumeration {\r
+        enum FiFo {\r
+          description\r
+            "Enum Value - FiFo";\r
+        }\r
+        enum Priority {\r
+          description\r
+            "Enum Value - Priority";\r
+        }\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.Queueing";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.Queueing";\r
+    }\r
+    leaf max-api-users-number {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.MaxAPIUsersNumber";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.MaxAPIUsersNumber";\r
+    }\r
+    leaf min-send-sms-time-interval {\r
+      type uint32 {\r
+        range "0..3599";\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.MinSendSMSTimeInterval";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.MinSendSMSTimeInterval";\r
+    }\r
+    leaf enable-query-sms-delivery-status {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.EnableQuerySMSDeliveryStatus";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.EnableQuerySMSDeliveryStatus";\r
+    }\r
+    leaf enable-subscribe-to-notifications-of-message-sent-to-application {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.EnableSubscribeToNotificationsOfMessageSentToApplication";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.SMS.EnableSubscribeToNotificationsOfMessageSentToApplication";\r
+    }\r
+  }\r
+\r
+  grouping control-terminal-location-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.Control.TerminalLocation.";\r
+    leaf api-enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.APIEnable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.APIEnable";\r
+    }\r
+    leaf queue-enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueueEnable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueueEnable";\r
+    }\r
+    leaf queueing {\r
+      type enumeration {\r
+        enum FiFo {\r
+          description\r
+            "Enum Value - FiFo";\r
+        }\r
+        enum Priority {\r
+          description\r
+            "Enum Value - Priority";\r
+        }\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.Queueing";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.Queueing";\r
+    }\r
+    leaf max-api-users-number {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.MaxAPIUsersNumber";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.MaxAPIUsersNumber";\r
+    }\r
+    leaf query-mobile-location-response-address {\r
+      type enumeration {\r
+        enum TelUri {\r
+          description\r
+            "Enum Value - TelUri";\r
+        }\r
+        enum AnonymousReference {\r
+          description\r
+            "Enum Value - AnonymousReference";\r
+        }\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseAddress";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseAddress";\r
+    }\r
+    leaf query-mobile-location-response-longitude-latitude {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseLongitudeLatitude";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseLongitudeLatitude";\r
+    }\r
+    leaf query-mobile-location-response-altitude {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseAltitude";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseAltitude";\r
+    }\r
+    leaf query-mobile-location-response-timestamp {\r
+      type uint32 {\r
+        range "0..86399";\r
+      }\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseTimestamp";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Control.TerminalLocation.QueryMobileLocationResponseTimestamp";\r
+    }\r
+  }\r
+\r
+  grouping application-platform-monitoring-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.Monitoring.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.Enable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.Enable";\r
+    }\r
+    leaf monitoring-interval {\r
+      type uint32;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MonitoringInterval";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MonitoringInterval";\r
+    }\r
+    leaf authentication-requests-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.AuthenticationRequestsReceived";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.AuthenticationRequestsReceived";\r
+    }\r
+    leaf authentication-requests-rejected {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.AuthenticationRequestsRejected";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.AuthenticationRequestsRejected";\r
+    }\r
+  }\r
+\r
+  grouping monitoring-femto-awareness-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.";\r
+    leaf api-available {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.APIAvailable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.APIAvailable";\r
+    }\r
+    leaf api-users {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.APIUsers";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.APIUsers";\r
+    }\r
+    leaf queue-state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueState";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueState";\r
+    }\r
+    leaf queue-num {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueNum";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueNum";\r
+    }\r
+    leaf queue-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueReceived";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueReceived";\r
+    }\r
+    leaf queue-discarded {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueDiscarded";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.QueueDiscarded";\r
+    }\r
+  }\r
+\r
+  grouping monitoring-mms-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.Monitoring.MMS.";\r
+    leaf api-available {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.APIAvailable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.APIAvailable";\r
+    }\r
+    leaf api-users {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.APIUsers";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.APIUsers";\r
+    }\r
+    leaf queue-state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueState";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueState";\r
+    }\r
+    leaf queue-num {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueNum";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueNum";\r
+    }\r
+    leaf queue-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueReceived";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueReceived";\r
+    }\r
+    leaf queue-discarded {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueDiscarded";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.MMS.QueueDiscarded";\r
+    }\r
+  }\r
+\r
+  grouping monitoring-sms-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.Monitoring.SMS.";\r
+    leaf api-available {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.APIAvailable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.APIAvailable";\r
+    }\r
+    leaf api-users {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.APIUsers";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.APIUsers";\r
+    }\r
+    leaf queue-state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueState";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueState";\r
+    }\r
+    leaf queue-num {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueNum";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueNum";\r
+    }\r
+    leaf queue-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueReceived";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueReceived";\r
+    }\r
+    leaf queue-discarded {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueDiscarded";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.SMS.QueueDiscarded";\r
+    }\r
+  }\r
+\r
+  grouping monitoring-terminal-location-g {\r
+    description\r
+      "Grouping object for Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.";\r
+    leaf api-available {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.APIAvailable";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.APIAvailable";\r
+    }\r
+    leaf api-users {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.APIUsers";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.APIUsers";\r
+    }\r
+    leaf queue-state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueState";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueState";\r
+    }\r
+    leaf queue-num {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueNum";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueNum";\r
+    }\r
+    leaf queue-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueReceived";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueReceived";\r
+    }\r
+    leaf queue-discarded {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueDiscarded";\r
+      reference\r
+        "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.QueueDiscarded";\r
+    }\r
+  }\r
+\r
+  grouping fap-gps-g {\r
+    description\r
+      "Grouping object for Device.FAP.GPS.";\r
+    leaf scan-on-boot {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.GPS.ScanOnBoot";\r
+      reference\r
+        "Device.FAP.GPS.ScanOnBoot";\r
+    }\r
+    leaf scan-periodically {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.GPS.ScanPeriodically";\r
+      reference\r
+        "Device.FAP.GPS.ScanPeriodically";\r
+    }\r
+    leaf periodic-interval {\r
+      type uint32;\r
+      description\r
+        "Device.FAP.GPS.PeriodicInterval";\r
+      reference\r
+        "Device.FAP.GPS.PeriodicInterval";\r
+    }\r
+    leaf periodic-time {\r
+      type string;\r
+      description\r
+        "Device.FAP.GPS.PeriodicTime";\r
+      reference\r
+        "Device.FAP.GPS.PeriodicTime";\r
+    }\r
+    leaf continuous-gps {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPS";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPS";\r
+    }\r
+    leaf scan-timeout {\r
+      type uint32;\r
+      description\r
+        "Device.FAP.GPS.ScanTimeout";\r
+      reference\r
+        "Device.FAP.GPS.ScanTimeout";\r
+    }\r
+    leaf scan-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ScanStatus";\r
+      reference\r
+        "Device.FAP.GPS.ScanStatus";\r
+    }\r
+    leaf error-details {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ErrorDetails";\r
+      reference\r
+        "Device.FAP.GPS.ErrorDetails";\r
+    }\r
+    leaf last-scan-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.LastScanTime";\r
+      reference\r
+        "Device.FAP.GPS.LastScanTime";\r
+    }\r
+    leaf last-successful-scan-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.LastSuccessfulScanTime";\r
+      reference\r
+        "Device.FAP.GPS.LastSuccessfulScanTime";\r
+    }\r
+    leaf locked-latitude {\r
+      type int32 {\r
+        range "-90000000..90000000";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.LockedLatitude";\r
+      reference\r
+        "Device.FAP.GPS.LockedLatitude";\r
+    }\r
+    leaf locked-longitude {\r
+      type int32 {\r
+        range "-180000000..180000000";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.LockedLongitude";\r
+      reference\r
+        "Device.FAP.GPS.LockedLongitude";\r
+    }\r
+    leaf number-of-satellites {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.NumberOfSatellites";\r
+      reference\r
+        "Device.FAP.GPS.NumberOfSatellites";\r
+    }\r
+  }\r
+\r
+  grouping gps-agps-server-config-g {\r
+    description\r
+      "Grouping object for Device.FAP.GPS.AGPSServerConfig.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.GPS.AGPSServerConfig.Enable";\r
+      reference\r
+        "Device.FAP.GPS.AGPSServerConfig.Enable";\r
+    }\r
+    leaf server-url {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.FAP.GPS.AGPSServerConfig.ServerURL";\r
+      reference\r
+        "Device.FAP.GPS.AGPSServerConfig.ServerURL";\r
+    }\r
+    leaf server-port {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.FAP.GPS.AGPSServerConfig.ServerPort";\r
+      reference\r
+        "Device.FAP.GPS.AGPSServerConfig.ServerPort";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.FAP.GPS.AGPSServerConfig.Username";\r
+      reference\r
+        "Device.FAP.GPS.AGPSServerConfig.Username";\r
+    }\r
+    leaf reference-latitude {\r
+      type int32 {\r
+        range "-90000000..90000000";\r
+      }\r
+      description\r
+        "Device.FAP.GPS.AGPSServerConfig.ReferenceLatitude";\r
+      reference\r
+        "Device.FAP.GPS.AGPSServerConfig.ReferenceLatitude";\r
+    }\r
+    leaf reference-longitude {\r
+      type int32 {\r
+        range "-180000000..180000000";\r
+      }\r
+      description\r
+        "Device.FAP.GPS.AGPSServerConfig.ReferenceLongitude";\r
+      reference\r
+        "Device.FAP.GPS.AGPSServerConfig.ReferenceLongitude";\r
+    }\r
+    leaf server-in-use {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.AGPSServerConfig.ServerInUse";\r
+      reference\r
+        "Device.FAP.GPS.AGPSServerConfig.ServerInUse";\r
+    }\r
+  }\r
+\r
+  grouping gps-continuous-gps-status-g {\r
+    description\r
+      "Grouping object for Device.FAP.GPS.ContinuousGPSStatus.";\r
+    leaf current-fix {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.CurrentFix";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.CurrentFix";\r
+    }\r
+    leaf got-fix {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.GotFix";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.GotFix";\r
+    }\r
+    leaf timing-good {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.TimingGood";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.TimingGood";\r
+    }\r
+    leaf latitude {\r
+      type int32 {\r
+        range "-90000000..90000000";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.Latitude";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.Latitude";\r
+    }\r
+    leaf longitude {\r
+      type int32 {\r
+        range "-180000000..180000000";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.Longitude";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.Longitude";\r
+    }\r
+    leaf elevation {\r
+      type int32 {\r
+        range "-5000000..25000000";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.Elevation";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.Elevation";\r
+    }\r
+    leaf last-fix-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.LastFixTime";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.LastFixTime";\r
+    }\r
+    leaf last-fix-duration {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.LastFixDuration";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.LastFixDuration";\r
+    }\r
+    leaf first-fix-timeout {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.FirstFixTimeout";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.FirstFixTimeout";\r
+    }\r
+    leaf satellites-tracked {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.SatellitesTracked";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.SatellitesTracked";\r
+    }\r
+    leaf satellite-tracking-interval {\r
+      type uint32 {\r
+        range "60..3600";\r
+      }\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.SatelliteTrackingInterval";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.SatelliteTrackingInterval";\r
+    }\r
+    leaf receiver-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.ReceiverStatus";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.ReceiverStatus";\r
+    }\r
+    leaf location-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.LocationType";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.LocationType";\r
+    }\r
+    leaf lock-time-out-duration {\r
+      type uint32 {\r
+        range "120..86400";\r
+      }\r
+      description\r
+        "Device.FAP.GPS.ContinuousGPSStatus.LockTimeOutDuration";\r
+      reference\r
+        "Device.FAP.GPS.ContinuousGPSStatus.LockTimeOutDuration";\r
+    }\r
+  }\r
+\r
+  grouping fap-perf-mgmt-g {\r
+    description\r
+      "Grouping object for Device.FAP.PerfMgmt.";\r
+    leaf config-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAP.PerfMgmt.ConfigNumberOfEntries";\r
+      reference\r
+        "Device.FAP.PerfMgmt.ConfigNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping perf-mgmt-config-g {\r
+    description\r
+      "Grouping object for Device.FAP.PerfMgmt.Config.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAP.PerfMgmt.Config.{i}.Enable";\r
+      reference\r
+        "Device.FAP.PerfMgmt.Config.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.FAP.PerfMgmt.Config.{i}.Alias";\r
+      reference\r
+        "Device.FAP.PerfMgmt.Config.{i}.Alias";\r
+    }\r
+    leaf url {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.FAP.PerfMgmt.Config.{i}.URL";\r
+      reference\r
+        "Device.FAP.PerfMgmt.Config.{i}.URL";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.FAP.PerfMgmt.Config.{i}.Username";\r
+      reference\r
+        "Device.FAP.PerfMgmt.Config.{i}.Username";\r
+    }\r
+    leaf periodic-upload-interval {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.FAP.PerfMgmt.Config.{i}.PeriodicUploadInterval";\r
+      reference\r
+        "Device.FAP.PerfMgmt.Config.{i}.PeriodicUploadInterval";\r
+    }\r
+    leaf periodic-upload-time {\r
+      type string;\r
+      description\r
+        "Device.FAP.PerfMgmt.Config.{i}.PeriodicUploadTime";\r
+      reference\r
+        "Device.FAP.PerfMgmt.Config.{i}.PeriodicUploadTime";\r
+    }\r
+  }\r
+\r
+  grouping device-fast-g {\r
+    description\r
+      "Grouping object for Device.FAST.";\r
+    leaf line-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.LineNumberOfEntries";\r
+      reference\r
+        "Device.FAST.LineNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping fast-line-g {\r
+    description\r
+      "Grouping object for Device.FAST.Line.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.FAST.Line.{i}.Enable";\r
+      reference\r
+        "Device.FAST.Line.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Status";\r
+      reference\r
+        "Device.FAST.Line.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.FAST.Line.{i}.Alias";\r
+      reference\r
+        "Device.FAST.Line.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Name";\r
+      reference\r
+        "Device.FAST.Line.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.LastChange";\r
+      reference\r
+        "Device.FAST.Line.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.FAST.Line.{i}.LowerLayers";\r
+      reference\r
+        "Device.FAST.Line.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Upstream";\r
+      reference\r
+        "Device.FAST.Line.{i}.Upstream";\r
+    }\r
+    leaf firmware-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.FirmwareVersion";\r
+      reference\r
+        "Device.FAST.Line.{i}.FirmwareVersion";\r
+    }\r
+    leaf link-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.LinkStatus";\r
+      reference\r
+        "Device.FAST.Line.{i}.LinkStatus";\r
+    }\r
+    leaf allowed-profiles {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.AllowedProfiles";\r
+      reference\r
+        "Device.FAST.Line.{i}.AllowedProfiles";\r
+    }\r
+    leaf current-profile {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.CurrentProfile";\r
+      reference\r
+        "Device.FAST.Line.{i}.CurrentProfile";\r
+    }\r
+    leaf power-management-state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.PowerManagementState";\r
+      reference\r
+        "Device.FAST.Line.{i}.PowerManagementState";\r
+    }\r
+    leaf success-failure-cause {\r
+      type uint32 {\r
+        range "0..5";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.SuccessFailureCause";\r
+      reference\r
+        "Device.FAST.Line.{i}.SuccessFailureCause";\r
+    }\r
+    leaf upbokler {\r
+      type uint32 {\r
+        range "0..1280";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.UPBOKLER";\r
+      reference\r
+        "Device.FAST.Line.{i}.UPBOKLER";\r
+    }\r
+    leaf last-transmitted-downstream-signal {\r
+      type uint32 {\r
+        range "0..21";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.LastTransmittedDownstreamSignal";\r
+      reference\r
+        "Device.FAST.Line.{i}.LastTransmittedDownstreamSignal";\r
+    }\r
+    leaf last-transmitted-upstream-signal {\r
+      type uint32 {\r
+        range "0..21";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.LastTransmittedUpstreamSignal";\r
+      reference\r
+        "Device.FAST.Line.{i}.LastTransmittedUpstreamSignal";\r
+    }\r
+    leaf upbokle {\r
+      type uint32 {\r
+        range "0..1280";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.UPBOKLE";\r
+      reference\r
+        "Device.FAST.Line.{i}.UPBOKLE";\r
+    }\r
+    leaf line-number {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.LineNumber";\r
+      reference\r
+        "Device.FAST.Line.{i}.LineNumber";\r
+    }\r
+    leaf upstream-max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.UpstreamMaxBitRate";\r
+      reference\r
+        "Device.FAST.Line.{i}.UpstreamMaxBitRate";\r
+    }\r
+    leaf downstream-max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.DownstreamMaxBitRate";\r
+      reference\r
+        "Device.FAST.Line.{i}.DownstreamMaxBitRate";\r
+    }\r
+    leaf upstream-noise-margin {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.UpstreamNoiseMargin";\r
+      reference\r
+        "Device.FAST.Line.{i}.UpstreamNoiseMargin";\r
+    }\r
+    leaf downstream-noise-margin {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.DownstreamNoiseMargin";\r
+      reference\r
+        "Device.FAST.Line.{i}.DownstreamNoiseMargin";\r
+    }\r
+    leaf upstream-attenuation {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.UpstreamAttenuation";\r
+      reference\r
+        "Device.FAST.Line.{i}.UpstreamAttenuation";\r
+    }\r
+    leaf downstream-attenuation {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.DownstreamAttenuation";\r
+      reference\r
+        "Device.FAST.Line.{i}.DownstreamAttenuation";\r
+    }\r
+    leaf upstream-power {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.UpstreamPower";\r
+      reference\r
+        "Device.FAST.Line.{i}.UpstreamPower";\r
+    }\r
+    leaf downstream-power {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.DownstreamPower";\r
+      reference\r
+        "Device.FAST.Line.{i}.DownstreamPower";\r
+    }\r
+    leaf snrmrm-cds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.SNRMRMCds";\r
+      reference\r
+        "Device.FAST.Line.{i}.SNRMRMCds";\r
+    }\r
+    leaf snrmrm-cus {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.SNRMRMCus";\r
+      reference\r
+        "Device.FAST.Line.{i}.SNRMRMCus";\r
+    }\r
+    leaf bitsrm-cpsds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.BITSRMCpsds";\r
+      reference\r
+        "Device.FAST.Line.{i}.BITSRMCpsds";\r
+    }\r
+    leaf bitsrm-cpsus {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.BITSRMCpsus";\r
+      reference\r
+        "Device.FAST.Line.{i}.BITSRMCpsus";\r
+    }\r
+    leaf fextcance-lds {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.FEXTCANCELds";\r
+      reference\r
+        "Device.FAST.Line.{i}.FEXTCANCELds";\r
+    }\r
+    leaf fextcance-lus {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.FEXTCANCELus";\r
+      reference\r
+        "Device.FAST.Line.{i}.FEXTCANCELus";\r
+    }\r
+    leaf et-rds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.ETRds";\r
+      reference\r
+        "Device.FAST.Line.{i}.ETRds";\r
+    }\r
+    leaf et-rus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.ETRus";\r
+      reference\r
+        "Device.FAST.Line.{i}.ETRus";\r
+    }\r
+    leaf attet-rds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.ATTETRds";\r
+      reference\r
+        "Device.FAST.Line.{i}.ATTETRds";\r
+    }\r
+    leaf attet-rus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.ATTETRus";\r
+      reference\r
+        "Device.FAST.Line.{i}.ATTETRus";\r
+    }\r
+    leaf mineftr {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.MINEFTR";\r
+      reference\r
+        "Device.FAST.Line.{i}.MINEFTR";\r
+    }\r
+  }\r
+\r
+  grouping fast-line-stats-g {\r
+    description\r
+      "Grouping object for Device.FAST.Line.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf total-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.TotalStart";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.TotalStart";\r
+    }\r
+    leaf showtime-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.ShowtimeStart";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.ShowtimeStart";\r
+    }\r
+    leaf last-showtime-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtimeStart";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtimeStart";\r
+    }\r
+    leaf current-day-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDayStart";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDayStart";\r
+    }\r
+    leaf quarter-hour-start {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHourStart";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHourStart";\r
+    }\r
+  }\r
+\r
+  grouping fast-line-stats-current-day-g {\r
+    description\r
+      "Grouping object for Device.FAST.Line.{i}.Stats.CurrentDay.";\r
+    leaf errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.ErroredSecs";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.ErroredSecs";\r
+    }\r
+    leaf severely-errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SeverelyErroredSecs";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SeverelyErroredSecs";\r
+    }\r
+    leaf loss {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.LOSS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.LOSS";\r
+    }\r
+    leaf lors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.LORS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.LORS";\r
+    }\r
+    leaf uas {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.UAS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.UAS";\r
+    }\r
+    leaf rtxuc {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.RTXUC";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.RTXUC";\r
+    }\r
+    leaf rtxtx {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.RTXTX";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.RTXTX";\r
+    }\r
+    leaf success-bsw {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessBSW";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessBSW";\r
+    }\r
+    leaf success-sra {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessSRA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessSRA";\r
+    }\r
+    leaf success-fra {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessFRA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessFRA";\r
+    }\r
+    leaf success-rpa {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessRPA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessRPA";\r
+    }\r
+    leaf success-tiga {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessTIGA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.CurrentDay.SuccessTIGA";\r
+    }\r
+  }\r
+\r
+  grouping fast-line-stats-last-showtime-g {\r
+    description\r
+      "Grouping object for Device.FAST.Line.{i}.Stats.LastShowtime.";\r
+    leaf errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.ErroredSecs";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.ErroredSecs";\r
+    }\r
+    leaf severely-errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SeverelyErroredSecs";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SeverelyErroredSecs";\r
+    }\r
+    leaf loss {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.LOSS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.LOSS";\r
+    }\r
+    leaf lors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.LORS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.LORS";\r
+    }\r
+    leaf uas {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.UAS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.UAS";\r
+    }\r
+    leaf rtxuc {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.RTXUC";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.RTXUC";\r
+    }\r
+    leaf rtxtx {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.RTXTX";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.RTXTX";\r
+    }\r
+    leaf success-bsw {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessBSW";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessBSW";\r
+    }\r
+    leaf success-sra {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessSRA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessSRA";\r
+    }\r
+    leaf success-fra {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessFRA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessFRA";\r
+    }\r
+    leaf success-rpa {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessRPA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessRPA";\r
+    }\r
+    leaf success-tiga {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessTIGA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.LastShowtime.SuccessTIGA";\r
+    }\r
+  }\r
+\r
+  grouping fast-line-stats-quarter-hour-g {\r
+    description\r
+      "Grouping object for Device.FAST.Line.{i}.Stats.QuarterHour.";\r
+    leaf errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.ErroredSecs";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.ErroredSecs";\r
+    }\r
+    leaf severely-errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SeverelyErroredSecs";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SeverelyErroredSecs";\r
+    }\r
+    leaf loss {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.LOSS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.LOSS";\r
+    }\r
+    leaf lors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.LORS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.LORS";\r
+    }\r
+    leaf uas {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.UAS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.UAS";\r
+    }\r
+    leaf rtxuc {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.RTXUC";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.RTXUC";\r
+    }\r
+    leaf rtxtx {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.RTXTX";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.RTXTX";\r
+    }\r
+    leaf success-bsw {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessBSW";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessBSW";\r
+    }\r
+    leaf success-sra {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessSRA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessSRA";\r
+    }\r
+    leaf success-fra {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessFRA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessFRA";\r
+    }\r
+    leaf success-rpa {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessRPA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessRPA";\r
+    }\r
+    leaf success-tiga {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessTIGA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.QuarterHour.SuccessTIGA";\r
+    }\r
+  }\r
+\r
+  grouping fast-line-stats-showtime-g {\r
+    description\r
+      "Grouping object for Device.FAST.Line.{i}.Stats.Showtime.";\r
+    leaf errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.ErroredSecs";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.ErroredSecs";\r
+    }\r
+    leaf severely-errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SeverelyErroredSecs";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SeverelyErroredSecs";\r
+    }\r
+    leaf loss {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.LOSS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.LOSS";\r
+    }\r
+    leaf lors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.LORS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.LORS";\r
+    }\r
+    leaf uas {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.UAS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.UAS";\r
+    }\r
+    leaf rtxuc {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.RTXUC";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.RTXUC";\r
+    }\r
+    leaf rtxtx {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.RTXTX";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.RTXTX";\r
+    }\r
+    leaf success-bsw {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SuccessBSW";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SuccessBSW";\r
+    }\r
+    leaf success-sra {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SuccessSRA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SuccessSRA";\r
+    }\r
+    leaf success-fra {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SuccessFRA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SuccessFRA";\r
+    }\r
+    leaf success-rpa {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SuccessRPA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SuccessRPA";\r
+    }\r
+    leaf success-tiga {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SuccessTIGA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Showtime.SuccessTIGA";\r
+    }\r
+  }\r
+\r
+  grouping fast-line-stats-total-g {\r
+    description\r
+      "Grouping object for Device.FAST.Line.{i}.Stats.Total.";\r
+    leaf errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.ErroredSecs";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.ErroredSecs";\r
+    }\r
+    leaf severely-errored-secs {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.SeverelyErroredSecs";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.SeverelyErroredSecs";\r
+    }\r
+    leaf loss {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.LOSS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.LOSS";\r
+    }\r
+    leaf lors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.LORS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.LORS";\r
+    }\r
+    leaf uas {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.UAS";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.UAS";\r
+    }\r
+    leaf rtxuc {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.RTXUC";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.RTXUC";\r
+    }\r
+    leaf rtxtx {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.RTXTX";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.RTXTX";\r
+    }\r
+    leaf success-bsw {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.SuccessBSW";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.SuccessBSW";\r
+    }\r
+    leaf success-sra {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.SuccessSRA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.SuccessSRA";\r
+    }\r
+    leaf success-fra {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.SuccessFRA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.SuccessFRA";\r
+    }\r
+    leaf success-rpa {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.SuccessRPA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.SuccessRPA";\r
+    }\r
+    leaf success-tiga {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.Stats.Total.SuccessTIGA";\r
+      reference\r
+        "Device.FAST.Line.{i}.Stats.Total.SuccessTIGA";\r
+    }\r
+  }\r
+\r
+  grouping fast-line-test-params-g {\r
+    description\r
+      "Grouping object for Device.FAST.Line.{i}.TestParams.";\r
+    leaf snr-gds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.SNRGds";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.SNRGds";\r
+    }\r
+    leaf snr-gus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.SNRGus";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.SNRGus";\r
+    }\r
+    leaf sn-rpsds {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.SNRpsds";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.SNRpsds";\r
+    }\r
+    leaf sn-rpsus {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.SNRpsus";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.SNRpsus";\r
+    }\r
+    leaf snrm-tds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.SNRMTds";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.SNRMTds";\r
+    }\r
+    leaf snrm-tus {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.SNRMTus";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.SNRMTus";\r
+    }\r
+    leaf actinp {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.ACTINP";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.ACTINP";\r
+    }\r
+    leaf nfec {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.NFEC";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.NFEC";\r
+    }\r
+    leaf rfec {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.RFEC";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.RFEC";\r
+    }\r
+    leaf upstream-curr-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.UpstreamCurrRate";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.UpstreamCurrRate";\r
+    }\r
+    leaf downstream-curr-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.DownstreamCurrRate";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.DownstreamCurrRate";\r
+    }\r
+    leaf actinprein {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FAST.Line.{i}.TestParams.ACTINPREIN";\r
+      reference\r
+        "Device.FAST.Line.{i}.TestParams.ACTINPREIN";\r
+    }\r
+  }\r
+\r
+  grouping device-fault-mgmt-g {\r
+    description\r
+      "Grouping object for Device.FaultMgmt.";\r
+    leaf supported-alarm-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.SupportedAlarmNumberOfEntries";\r
+      reference\r
+        "Device.FaultMgmt.SupportedAlarmNumberOfEntries";\r
+    }\r
+    leaf max-current-alarm-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.MaxCurrentAlarmEntries";\r
+      reference\r
+        "Device.FaultMgmt.MaxCurrentAlarmEntries";\r
+    }\r
+    leaf current-alarm-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.CurrentAlarmNumberOfEntries";\r
+      reference\r
+        "Device.FaultMgmt.CurrentAlarmNumberOfEntries";\r
+    }\r
+    leaf history-event-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.HistoryEventNumberOfEntries";\r
+      reference\r
+        "Device.FaultMgmt.HistoryEventNumberOfEntries";\r
+    }\r
+    leaf expedited-event-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.ExpeditedEventNumberOfEntries";\r
+      reference\r
+        "Device.FaultMgmt.ExpeditedEventNumberOfEntries";\r
+    }\r
+    leaf queued-event-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.QueuedEventNumberOfEntries";\r
+      reference\r
+        "Device.FaultMgmt.QueuedEventNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping fault-mgmt-current-alarm-g {\r
+    description\r
+      "Grouping object for Device.FaultMgmt.CurrentAlarm.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alarm-identifier {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmIdentifier";\r
+      reference\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmIdentifier";\r
+    }\r
+    leaf alarm-raised-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmRaisedTime";\r
+      reference\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmRaisedTime";\r
+    }\r
+    leaf alarm-changed-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmChangedTime";\r
+      reference\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.AlarmChangedTime";\r
+    }\r
+    leaf managed-object-instance {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.ManagedObjectInstance";\r
+      reference\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.ManagedObjectInstance";\r
+    }\r
+    leaf event-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.EventType";\r
+      reference\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.EventType";\r
+    }\r
+    leaf probable-cause {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.ProbableCause";\r
+      reference\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.ProbableCause";\r
+    }\r
+    leaf specific-problem {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.SpecificProblem";\r
+      reference\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.SpecificProblem";\r
+    }\r
+    leaf perceived-severity {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.PerceivedSeverity";\r
+      reference\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.PerceivedSeverity";\r
+    }\r
+    leaf additional-text {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.AdditionalText";\r
+      reference\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.AdditionalText";\r
+    }\r
+    leaf additional-information {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.AdditionalInformation";\r
+      reference\r
+        "Device.FaultMgmt.CurrentAlarm.{i}.AdditionalInformation";\r
+    }\r
+  }\r
+\r
+  grouping fault-mgmt-expedited-event-g {\r
+    description\r
+      "Grouping object for Device.FaultMgmt.ExpeditedEvent.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf event-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.EventTime";\r
+      reference\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.EventTime";\r
+    }\r
+    leaf alarm-identifier {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.AlarmIdentifier";\r
+      reference\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.AlarmIdentifier";\r
+    }\r
+    leaf notification-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.NotificationType";\r
+      reference\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.NotificationType";\r
+    }\r
+    leaf managed-object-instance {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.ManagedObjectInstance";\r
+      reference\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.ManagedObjectInstance";\r
+    }\r
+    leaf event-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.EventType";\r
+      reference\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.EventType";\r
+    }\r
+    leaf probable-cause {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.ProbableCause";\r
+      reference\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.ProbableCause";\r
+    }\r
+    leaf specific-problem {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.SpecificProblem";\r
+      reference\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.SpecificProblem";\r
+    }\r
+    leaf perceived-severity {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.PerceivedSeverity";\r
+      reference\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.PerceivedSeverity";\r
+    }\r
+    leaf additional-text {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.AdditionalText";\r
+      reference\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.AdditionalText";\r
+    }\r
+    leaf additional-information {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.AdditionalInformation";\r
+      reference\r
+        "Device.FaultMgmt.ExpeditedEvent.{i}.AdditionalInformation";\r
+    }\r
+  }\r
+\r
+  grouping fault-mgmt-history-event-g {\r
+    description\r
+      "Grouping object for Device.FaultMgmt.HistoryEvent.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf event-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.HistoryEvent.{i}.EventTime";\r
+      reference\r
+        "Device.FaultMgmt.HistoryEvent.{i}.EventTime";\r
+    }\r
+    leaf alarm-identifier {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.HistoryEvent.{i}.AlarmIdentifier";\r
+      reference\r
+        "Device.FaultMgmt.HistoryEvent.{i}.AlarmIdentifier";\r
+    }\r
+    leaf notification-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.HistoryEvent.{i}.NotificationType";\r
+      reference\r
+        "Device.FaultMgmt.HistoryEvent.{i}.NotificationType";\r
+    }\r
+    leaf managed-object-instance {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.HistoryEvent.{i}.ManagedObjectInstance";\r
+      reference\r
+        "Device.FaultMgmt.HistoryEvent.{i}.ManagedObjectInstance";\r
+    }\r
+    leaf event-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.HistoryEvent.{i}.EventType";\r
+      reference\r
+        "Device.FaultMgmt.HistoryEvent.{i}.EventType";\r
+    }\r
+    leaf probable-cause {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.HistoryEvent.{i}.ProbableCause";\r
+      reference\r
+        "Device.FaultMgmt.HistoryEvent.{i}.ProbableCause";\r
+    }\r
+    leaf specific-problem {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.HistoryEvent.{i}.SpecificProblem";\r
+      reference\r
+        "Device.FaultMgmt.HistoryEvent.{i}.SpecificProblem";\r
+    }\r
+    leaf perceived-severity {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.HistoryEvent.{i}.PerceivedSeverity";\r
+      reference\r
+        "Device.FaultMgmt.HistoryEvent.{i}.PerceivedSeverity";\r
+    }\r
+    leaf additional-text {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.HistoryEvent.{i}.AdditionalText";\r
+      reference\r
+        "Device.FaultMgmt.HistoryEvent.{i}.AdditionalText";\r
+    }\r
+    leaf additional-information {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.HistoryEvent.{i}.AdditionalInformation";\r
+      reference\r
+        "Device.FaultMgmt.HistoryEvent.{i}.AdditionalInformation";\r
+    }\r
+  }\r
+\r
+  grouping fault-mgmt-queued-event-g {\r
+    description\r
+      "Grouping object for Device.FaultMgmt.QueuedEvent.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf event-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.QueuedEvent.{i}.EventTime";\r
+      reference\r
+        "Device.FaultMgmt.QueuedEvent.{i}.EventTime";\r
+    }\r
+    leaf alarm-identifier {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.QueuedEvent.{i}.AlarmIdentifier";\r
+      reference\r
+        "Device.FaultMgmt.QueuedEvent.{i}.AlarmIdentifier";\r
+    }\r
+    leaf notification-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.QueuedEvent.{i}.NotificationType";\r
+      reference\r
+        "Device.FaultMgmt.QueuedEvent.{i}.NotificationType";\r
+    }\r
+    leaf managed-object-instance {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.QueuedEvent.{i}.ManagedObjectInstance";\r
+      reference\r
+        "Device.FaultMgmt.QueuedEvent.{i}.ManagedObjectInstance";\r
+    }\r
+    leaf event-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.QueuedEvent.{i}.EventType";\r
+      reference\r
+        "Device.FaultMgmt.QueuedEvent.{i}.EventType";\r
+    }\r
+    leaf probable-cause {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.QueuedEvent.{i}.ProbableCause";\r
+      reference\r
+        "Device.FaultMgmt.QueuedEvent.{i}.ProbableCause";\r
+    }\r
+    leaf specific-problem {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.QueuedEvent.{i}.SpecificProblem";\r
+      reference\r
+        "Device.FaultMgmt.QueuedEvent.{i}.SpecificProblem";\r
+    }\r
+    leaf perceived-severity {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.QueuedEvent.{i}.PerceivedSeverity";\r
+      reference\r
+        "Device.FaultMgmt.QueuedEvent.{i}.PerceivedSeverity";\r
+    }\r
+    leaf additional-text {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.QueuedEvent.{i}.AdditionalText";\r
+      reference\r
+        "Device.FaultMgmt.QueuedEvent.{i}.AdditionalText";\r
+    }\r
+    leaf additional-information {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.QueuedEvent.{i}.AdditionalInformation";\r
+      reference\r
+        "Device.FaultMgmt.QueuedEvent.{i}.AdditionalInformation";\r
+    }\r
+  }\r
+\r
+  grouping fault-mgmt-supported-alarm-g {\r
+    description\r
+      "Grouping object for Device.FaultMgmt.SupportedAlarm.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf event-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.SupportedAlarm.{i}.EventType";\r
+      reference\r
+        "Device.FaultMgmt.SupportedAlarm.{i}.EventType";\r
+    }\r
+    leaf probable-cause {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.SupportedAlarm.{i}.ProbableCause";\r
+      reference\r
+        "Device.FaultMgmt.SupportedAlarm.{i}.ProbableCause";\r
+    }\r
+    leaf specific-problem {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.SupportedAlarm.{i}.SpecificProblem";\r
+      reference\r
+        "Device.FaultMgmt.SupportedAlarm.{i}.SpecificProblem";\r
+    }\r
+    leaf perceived-severity {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.FaultMgmt.SupportedAlarm.{i}.PerceivedSeverity";\r
+      reference\r
+        "Device.FaultMgmt.SupportedAlarm.{i}.PerceivedSeverity";\r
+    }\r
+    leaf reporting-mechanism {\r
+      type enumeration {\r
+        enum "0 Expedited" {\r
+          description\r
+            "Enum Value - 0 Expedited";\r
+        }\r
+        enum "1 Queued" {\r
+          description\r
+            "Enum Value - 1 Queued";\r
+        }\r
+        enum "2 Logged" {\r
+          description\r
+            "Enum Value - 2 Logged";\r
+        }\r
+        enum "3 Disabled" {\r
+          description\r
+            "Enum Value - 3 Disabled";\r
+        }\r
+      }\r
+      description\r
+        "Device.FaultMgmt.SupportedAlarm.{i}.ReportingMechanism";\r
+      reference\r
+        "Device.FaultMgmt.SupportedAlarm.{i}.ReportingMechanism";\r
+    }\r
+  }\r
+\r
+  grouping device-firewall-g {\r
+    description\r
+      "Grouping object for Device.Firewall.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Enable";\r
+      reference\r
+        "Device.Firewall.Enable";\r
+    }\r
+    leaf config {\r
+      type enumeration {\r
+        enum High {\r
+          description\r
+            "Enum Value - High";\r
+        }\r
+        enum Low {\r
+          description\r
+            "Enum Value - Low";\r
+        }\r
+        enum Off {\r
+          description\r
+            "Enum Value - Off";\r
+        }\r
+        enum Advanced {\r
+          description\r
+            "Enum Value - Advanced";\r
+        }\r
+      }\r
+      description\r
+        "Device.Firewall.Config";\r
+      reference\r
+        "Device.Firewall.Config";\r
+    }\r
+    leaf advanced-level {\r
+      type string;\r
+      description\r
+        "Device.Firewall.AdvancedLevel";\r
+      reference\r
+        "Device.Firewall.AdvancedLevel";\r
+    }\r
+    leaf type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Firewall.Type";\r
+      reference\r
+        "Device.Firewall.Type";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Firewall.Version";\r
+      reference\r
+        "Device.Firewall.Version";\r
+    }\r
+    leaf last-change {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Firewall.LastChange";\r
+      reference\r
+        "Device.Firewall.LastChange";\r
+    }\r
+    leaf level-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Firewall.LevelNumberOfEntries";\r
+      reference\r
+        "Device.Firewall.LevelNumberOfEntries";\r
+    }\r
+    leaf chain-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Firewall.ChainNumberOfEntries";\r
+      reference\r
+        "Device.Firewall.ChainNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping firewall-chain-g {\r
+    description\r
+      "Grouping object for Device.Firewall.Chain.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Enable";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Alias";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Name";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Name";\r
+    }\r
+    leaf creator {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Creator";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Creator";\r
+    }\r
+    leaf rule-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Firewall.Chain.{i}.RuleNumberOfEntries";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.RuleNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping chain-rule-g {\r
+    description\r
+      "Grouping object for Device.Firewall.Chain.{i}.Rule.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Enable";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Status";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Status";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Order";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Order";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Alias";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Alias";\r
+    }\r
+    leaf description {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Description";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Description";\r
+    }\r
+    leaf target {\r
+      type enumeration {\r
+        enum Drop {\r
+          description\r
+            "Enum Value - Drop";\r
+        }\r
+        enum Accept {\r
+          description\r
+            "Enum Value - Accept";\r
+        }\r
+        enum Reject {\r
+          description\r
+            "Enum Value - Reject";\r
+        }\r
+        enum Return {\r
+          description\r
+            "Enum Value - Return";\r
+        }\r
+        enum TargetChain {\r
+          description\r
+            "Enum Value - TargetChain";\r
+        }\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Target";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Target";\r
+    }\r
+    leaf target-chain {\r
+      type string;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.TargetChain";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.TargetChain";\r
+    }\r
+    leaf log {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Log";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Log";\r
+    }\r
+    leaf creation-date {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.CreationDate";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.CreationDate";\r
+    }\r
+    leaf expiry-date {\r
+      type string;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.ExpiryDate";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.ExpiryDate";\r
+    }\r
+    leaf source-interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceInterface";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceInterface";\r
+    }\r
+    leaf source-interface-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceInterfaceExclude";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceInterfaceExclude";\r
+    }\r
+    leaf source-all-interfaces {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceAllInterfaces";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceAllInterfaces";\r
+    }\r
+    leaf dest-interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestInterface";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestInterface";\r
+    }\r
+    leaf dest-interface-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestInterfaceExclude";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestInterfaceExclude";\r
+    }\r
+    leaf dest-all-interfaces {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestAllInterfaces";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestAllInterfaces";\r
+    }\r
+    leaf ip-version {\r
+      type int32 {\r
+        range "-1..15";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.IPVersion";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.IPVersion";\r
+    }\r
+    leaf dest-ip {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestIP";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestIP";\r
+    }\r
+    leaf dest-mask {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestMask";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestMask";\r
+    }\r
+    leaf dest-ip-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestIPExclude";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestIPExclude";\r
+    }\r
+    leaf source-ip {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceIP";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceIP";\r
+    }\r
+    leaf source-mask {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceMask";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceMask";\r
+    }\r
+    leaf source-ip-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceIPExclude";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourceIPExclude";\r
+    }\r
+    leaf protocol {\r
+      type int32 {\r
+        range "-1..255";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Protocol";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.Protocol";\r
+    }\r
+    leaf protocol-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.ProtocolExclude";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.ProtocolExclude";\r
+    }\r
+    leaf dest-port {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestPort";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestPort";\r
+    }\r
+    leaf dest-port-range-max {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestPortRangeMax";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestPortRangeMax";\r
+    }\r
+    leaf dest-port-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestPortExclude";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DestPortExclude";\r
+    }\r
+    leaf source-port {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePort";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePort";\r
+    }\r
+    leaf source-port-range-max {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePortRangeMax";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePortRangeMax";\r
+    }\r
+    leaf source-port-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePortExclude";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.SourcePortExclude";\r
+    }\r
+    leaf dscp {\r
+      type int32 {\r
+        range "-1..63";\r
+      }\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DSCP";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DSCP";\r
+    }\r
+    leaf dscp-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DSCPExclude";\r
+      reference\r
+        "Device.Firewall.Chain.{i}.Rule.{i}.DSCPExclude";\r
+    }\r
+  }\r
+\r
+  grouping firewall-level-g {\r
+    description\r
+      "Grouping object for Device.Firewall.Level.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Firewall.Level.{i}.Alias";\r
+      reference\r
+        "Device.Firewall.Level.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Firewall.Level.{i}.Name";\r
+      reference\r
+        "Device.Firewall.Level.{i}.Name";\r
+    }\r
+    leaf description {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Firewall.Level.{i}.Description";\r
+      reference\r
+        "Device.Firewall.Level.{i}.Description";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.Firewall.Level.{i}.Order";\r
+      reference\r
+        "Device.Firewall.Level.{i}.Order";\r
+    }\r
+    leaf chain {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Firewall.Level.{i}.Chain";\r
+      reference\r
+        "Device.Firewall.Level.{i}.Chain";\r
+    }\r
+    leaf port-mapping-enabled {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Level.{i}.PortMappingEnabled";\r
+      reference\r
+        "Device.Firewall.Level.{i}.PortMappingEnabled";\r
+    }\r
+    leaf default-policy {\r
+      type enumeration {\r
+        enum Drop {\r
+          description\r
+            "Enum Value - Drop";\r
+        }\r
+        enum Accept {\r
+          description\r
+            "Enum Value - Accept";\r
+        }\r
+        enum Reject {\r
+          description\r
+            "Enum Value - Reject";\r
+        }\r
+      }\r
+      description\r
+        "Device.Firewall.Level.{i}.DefaultPolicy";\r
+      reference\r
+        "Device.Firewall.Level.{i}.DefaultPolicy";\r
+    }\r
+    leaf default-log-policy {\r
+      type boolean;\r
+      description\r
+        "Device.Firewall.Level.{i}.DefaultLogPolicy";\r
+      reference\r
+        "Device.Firewall.Level.{i}.DefaultLogPolicy";\r
+    }\r
+  }\r
+\r
+  grouping device-gre-g {\r
+    description\r
+      "Grouping object for Device.GRE.";\r
+    leaf tunnel-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.TunnelNumberOfEntries";\r
+      reference\r
+        "Device.GRE.TunnelNumberOfEntries";\r
+    }\r
+    leaf filter-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.FilterNumberOfEntries";\r
+      reference\r
+        "Device.GRE.FilterNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping gre-filter-g {\r
+    description\r
+      "Grouping object for Device.GRE.Filter.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.GRE.Filter.{i}.Enable";\r
+      reference\r
+        "Device.GRE.Filter.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.GRE.Filter.{i}.Status";\r
+      reference\r
+        "Device.GRE.Filter.{i}.Status";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.GRE.Filter.{i}.Order";\r
+      reference\r
+        "Device.GRE.Filter.{i}.Order";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.GRE.Filter.{i}.Alias";\r
+      reference\r
+        "Device.GRE.Filter.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.GRE.Filter.{i}.Interface";\r
+      reference\r
+        "Device.GRE.Filter.{i}.Interface";\r
+    }\r
+    leaf all-interfaces {\r
+      type boolean;\r
+      description\r
+        "Device.GRE.Filter.{i}.AllInterfaces";\r
+      reference\r
+        "Device.GRE.Filter.{i}.AllInterfaces";\r
+    }\r
+    leaf vlanid-check {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.GRE.Filter.{i}.VLANIDCheck";\r
+      reference\r
+        "Device.GRE.Filter.{i}.VLANIDCheck";\r
+    }\r
+    leaf vlanid-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.GRE.Filter.{i}.VLANIDExclude";\r
+      reference\r
+        "Device.GRE.Filter.{i}.VLANIDExclude";\r
+    }\r
+    leaf dscp-mark-policy {\r
+      type int32 {\r
+        range "-2..63";\r
+      }\r
+      description\r
+        "Device.GRE.Filter.{i}.DSCPMarkPolicy";\r
+      reference\r
+        "Device.GRE.Filter.{i}.DSCPMarkPolicy";\r
+    }\r
+  }\r
+\r
+  grouping gre-tunnel-g {\r
+    description\r
+      "Grouping object for Device.GRE.Tunnel.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Enable";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Status";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Alias";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Alias";\r
+    }\r
+    leaf remote-endpoints {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.GRE.Tunnel.{i}.RemoteEndpoints";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.RemoteEndpoints";\r
+    }\r
+    leaf keep-alive-policy {\r
+      type enumeration {\r
+        enum ICMP {\r
+          description\r
+            "Enum Value - ICMP";\r
+        }\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+      }\r
+      description\r
+        "Device.GRE.Tunnel.{i}.KeepAlivePolicy";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.KeepAlivePolicy";\r
+    }\r
+    leaf keep-alive-timeout {\r
+      type uint32;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.KeepAliveTimeout";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.KeepAliveTimeout";\r
+    }\r
+    leaf keep-alive-threshold {\r
+      type uint32;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.KeepAliveThreshold";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.KeepAliveThreshold";\r
+    }\r
+    leaf delivery-header-protocol {\r
+      type enumeration {\r
+        enum IPv4 {\r
+          description\r
+            "Enum Value - IPv4";\r
+        }\r
+        enum IPv6 {\r
+          description\r
+            "Enum Value - IPv6";\r
+        }\r
+      }\r
+      description\r
+        "Device.GRE.Tunnel.{i}.DeliveryHeaderProtocol";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.DeliveryHeaderProtocol";\r
+    }\r
+    leaf default-dscp-mark {\r
+      type uint32;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.DefaultDSCPMark";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.DefaultDSCPMark";\r
+    }\r
+    leaf connected-remote-endpoint {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.ConnectedRemoteEndpoint";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.ConnectedRemoteEndpoint";\r
+    }\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.InterfaceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping tunnel-interface-g {\r
+    description\r
+      "Grouping object for Device.GRE.Tunnel.{i}.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Enable";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Status";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Alias";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Name";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf protocol-id-override {\r
+      type uint32;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.ProtocolIdOverride";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.ProtocolIdOverride";\r
+    }\r
+    leaf use-checksum {\r
+      type boolean;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.UseChecksum";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.UseChecksum";\r
+    }\r
+    leaf key-identifier-generation-policy {\r
+      type enumeration {\r
+        enum Disabled {\r
+          description\r
+            "Enum Value - Disabled";\r
+        }\r
+        enum Provisioned {\r
+          description\r
+            "Enum Value - Provisioned";\r
+        }\r
+        enum CPE_Generated {\r
+          description\r
+            "Enum Value - CPE_Generated";\r
+        }\r
+      }\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.KeyIdentifierGenerationPolicy";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.KeyIdentifierGenerationPolicy";\r
+    }\r
+    leaf key-identifier {\r
+      type uint32;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.KeyIdentifier";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.KeyIdentifier";\r
+    }\r
+    leaf use-sequence-number {\r
+      type boolean;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.UseSequenceNumber";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.UseSequenceNumber";\r
+    }\r
+  }\r
+\r
+  grouping tunnel-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.GRE.Tunnel.{i}.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf discard-checksum-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";\r
+    }\r
+    leaf discard-sequence-number-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";\r
+    }\r
+  }\r
+\r
+  grouping tunnel-stats-g {\r
+    description\r
+      "Grouping object for Device.GRE.Tunnel.{i}.Stats.";\r
+    leaf keep-alive-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Stats.KeepAliveSent";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Stats.KeepAliveSent";\r
+    }\r
+    leaf keep-alive-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Stats.KeepAliveReceived";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Stats.KeepAliveReceived";\r
+    }\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.GRE.Tunnel.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.GRE.Tunnel.{i}.Stats.ErrorsReceived";\r
+    }\r
+  }\r
+\r
+  grouping device-gateway-info-g {\r
+    description\r
+      "Grouping object for Device.GatewayInfo.";\r
+    leaf manufacturer-oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.GatewayInfo.ManufacturerOUI";\r
+      reference\r
+        "Device.GatewayInfo.ManufacturerOUI";\r
+    }\r
+    leaf product-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.GatewayInfo.ProductClass";\r
+      reference\r
+        "Device.GatewayInfo.ProductClass";\r
+    }\r
+    leaf serial-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.GatewayInfo.SerialNumber";\r
+      reference\r
+        "Device.GatewayInfo.SerialNumber";\r
+    }\r
+  }\r
+\r
+  grouping device-ghn-g {\r
+    description\r
+      "Grouping object for Device.Ghn.";\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.Ghn.InterfaceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-phy-throughput-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Diagnostics.PHYThroughput.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Canceled {\r
+          description\r
+            "Enum Value - Canceled";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error {\r
+          description\r
+            "Enum Value - Error";\r
+        }\r
+      }\r
+      description\r
+        "Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string;\r
+      description\r
+        "Device.Ghn.Diagnostics.PHYThroughput.Interface";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PHYThroughput.Interface";\r
+    }\r
+    leaf diagnose-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.Ghn.Diagnostics.PHYThroughput.DiagnoseMACAddress";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PHYThroughput.DiagnoseMACAddress";\r
+    }\r
+    leaf phy-throughput-result-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PHYThroughput.PHYThroughputResultNumberOfEntries";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PHYThroughput.PHYThroughputResultNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping phy-throughput-result-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf destination-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.DestinationMACAddress";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.DestinationMACAddress";\r
+    }\r
+    leaf link-state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.LinkState";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.LinkState";\r
+    }\r
+    leaf tx-phy-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.TxPhyRate";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.TxPhyRate";\r
+    }\r
+    leaf rx-phy-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.RxPhyRate";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.RxPhyRate";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-performance-monitoring-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Diagnostics.PerformanceMonitoring.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Canceled {\r
+          description\r
+            "Enum Value - Canceled";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error {\r
+          description\r
+            "Enum Value - Error";\r
+        }\r
+      }\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Interface";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Interface";\r
+    }\r
+    leaf diagnose-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnoseMACAddress";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnoseMACAddress";\r
+    }\r
+    leaf sample-interval {\r
+      type uint32;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.SampleInterval";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.SampleInterval";\r
+    }\r
+    leaf snr-group-length {\r
+      type uint32 {\r
+        range "1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256";\r
+      }\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.SNRGroupLength";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.SNRGroupLength";\r
+    }\r
+  }\r
+\r
+  grouping performance-monitoring-channels-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.";\r
+    leaf time-stamp {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.TimeStamp";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.TimeStamp";\r
+    }\r
+    leaf channel-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.ChannelNumberOfEntries";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.ChannelNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping channels-channel-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf destination-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.DestinationMACAddress";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.DestinationMACAddress";\r
+    }\r
+    leaf snr {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.SNR";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.SNR";\r
+    }\r
+  }\r
+\r
+  grouping performance-monitoring-nodes-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.";\r
+    leaf current-start {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.CurrentStart";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.CurrentStart";\r
+    }\r
+    leaf current-end {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.CurrentEnd";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.CurrentEnd";\r
+    }\r
+    leaf node-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.NodeNumberOfEntries";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.NodeNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping nodes-node-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf destination-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DestinationMACAddress";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DestinationMACAddress";\r
+    }\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesSent";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSent";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ErrorsSent";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ErrorsReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnicastPacketsSent";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnicastPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DiscardPacketsSent";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DiscardPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSent";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSent";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.UnknownProtoPacketsReceived";\r
+    }\r
+    leaf mgmt-bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtBytesSent";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtBytesSent";\r
+    }\r
+    leaf mgmt-bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtBytesReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtBytesReceived";\r
+    }\r
+    leaf mgmt-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtPacketsSent";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtPacketsSent";\r
+    }\r
+    leaf mgmt-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MgmtPacketsReceived";\r
+    }\r
+    leaf blocks-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksSent";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksSent";\r
+    }\r
+    leaf blocks-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksReceived";\r
+    }\r
+    leaf blocks-resent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksResent";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksResent";\r
+    }\r
+    leaf blocks-errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksErrorsReceived";\r
+      reference\r
+        "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BlocksErrorsReceived";\r
+    }\r
+  }\r
+\r
+  grouping ghn-interface-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Enable";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Status";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Ghn.Interface.{i}.Alias";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Name";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.Ghn.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Upstream";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Upstream";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.MACAddress";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.MACAddress";\r
+    }\r
+    leaf firmware-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.FirmwareVersion";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.FirmwareVersion";\r
+    }\r
+    leaf connection-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.ConnectionType";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.ConnectionType";\r
+    }\r
+    leaf max-transmit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.MaxTransmitRate";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.MaxTransmitRate";\r
+    }\r
+    leaf target-domain-names {\r
+      type string {\r
+        length "min..32";\r
+      }\r
+      description\r
+        "Device.Ghn.Interface.{i}.TargetDomainNames";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.TargetDomainNames";\r
+    }\r
+    leaf domain-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.DomainName";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DomainName";\r
+    }\r
+    leaf domain-name-identifier {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.DomainNameIdentifier";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DomainNameIdentifier";\r
+    }\r
+    leaf domain-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.DomainId";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DomainId";\r
+    }\r
+    leaf device-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.DeviceId";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DeviceId";\r
+    }\r
+    leaf max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.MaxBitRate";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.MaxBitRate";\r
+    }\r
+    leaf node-type-dm-capable {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.NodeTypeDMCapable";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.NodeTypeDMCapable";\r
+    }\r
+    leaf dm-requested {\r
+      type boolean;\r
+      description\r
+        "Device.Ghn.Interface.{i}.DMRequested";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DMRequested";\r
+    }\r
+    leaf is-dm {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.IsDM";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.IsDM";\r
+    }\r
+    leaf node-type-sc-capable {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.NodeTypeSCCapable";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.NodeTypeSCCapable";\r
+    }\r
+    leaf sc-requested {\r
+      type boolean;\r
+      description\r
+        "Device.Ghn.Interface.{i}.SCRequested";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.SCRequested";\r
+    }\r
+    leaf is-sc {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.IsSC";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.IsSC";\r
+    }\r
+    leaf standard-versions {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.StandardVersions";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.StandardVersions";\r
+    }\r
+    leaf max-band-plan {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.MaxBandPlan";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.MaxBandPlan";\r
+    }\r
+    leaf medium-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.MediumType";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.MediumType";\r
+    }\r
+    leaf taifg {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.TAIFG";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.TAIFG";\r
+    }\r
+    leaf notched-amateur-radio-bands {\r
+      type string {\r
+        length "min..2";\r
+      }\r
+      description\r
+        "Device.Ghn.Interface.{i}.NotchedAmateurRadioBands";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.NotchedAmateurRadioBands";\r
+    }\r
+    leaf phy-throughput-diagnostics-enable {\r
+      type string;\r
+      description\r
+        "Device.Ghn.Interface.{i}.PHYThroughputDiagnosticsEnable";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.PHYThroughputDiagnosticsEnable";\r
+    }\r
+    leaf performance-monitoring-diagnostics-enable {\r
+      type string;\r
+      description\r
+        "Device.Ghn.Interface.{i}.PerformanceMonitoringDiagnosticsEnable";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.PerformanceMonitoringDiagnosticsEnable";\r
+    }\r
+    leaf sm-masked-band-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.SMMaskedBandNumberOfEntries";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.SMMaskedBandNumberOfEntries";\r
+    }\r
+    leaf node-type-dm-config {\r
+      type boolean;\r
+      description\r
+        "Device.Ghn.Interface.{i}.NodeTypeDMConfig";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.NodeTypeDMConfig";\r
+    }\r
+    leaf node-type-dm-status {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.NodeTypeDMStatus";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.NodeTypeDMStatus";\r
+    }\r
+    leaf node-type-sc-status {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.NodeTypeSCStatus";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.NodeTypeSCStatus";\r
+    }\r
+    leaf associated-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+    }\r
+    leaf psm {\r
+      type uint32 {\r
+        range "min..max";\r
+      }\r
+      description\r
+        "Device.Ghn.Interface.{i}.PSM";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.PSM";\r
+    }\r
+  }\r
+\r
+  grouping interface-associated-device-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Interface.{i}.AssociatedDevice.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.MACAddress";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.MACAddress";\r
+    }\r
+    leaf device-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.DeviceId";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.DeviceId";\r
+    }\r
+    leaf tx-phy-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.TxPhyRate";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.TxPhyRate";\r
+    }\r
+    leaf rx-phy-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.RxPhyRate";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.RxPhyRate";\r
+    }\r
+    leaf active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.Active";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.Active";\r
+    }\r
+  }\r
+\r
+  grouping interface-dm-info-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Interface.{i}.DMInfo.";\r
+    leaf domain-name {\r
+      type string {\r
+        length "min..32";\r
+      }\r
+      description\r
+        "Device.Ghn.Interface.{i}.DMInfo.DomainName";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DMInfo.DomainName";\r
+    }\r
+    leaf domain-name-identifier {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.DMInfo.DomainNameIdentifier";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DMInfo.DomainNameIdentifier";\r
+    }\r
+    leaf domain-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.DMInfo.DomainId";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DMInfo.DomainId";\r
+    }\r
+    leaf mac-cycle-duration {\r
+      type uint32 {\r
+        range "0 | 10..200";\r
+      }\r
+      description\r
+        "Device.Ghn.Interface.{i}.DMInfo.MACCycleDuration";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DMInfo.MACCycleDuration";\r
+    }\r
+    leaf sc-device-id {\r
+      type uint32;\r
+      description\r
+        "Device.Ghn.Interface.{i}.DMInfo.SCDeviceId";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DMInfo.SCDeviceId";\r
+    }\r
+    leaf scmac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.Ghn.Interface.{i}.DMInfo.SCMACAddress";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DMInfo.SCMACAddress";\r
+    }\r
+    leaf reregistration-time-period {\r
+      type uint32 {\r
+        range "5..63";\r
+      }\r
+      description\r
+        "Device.Ghn.Interface.{i}.DMInfo.ReregistrationTimePeriod";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DMInfo.ReregistrationTimePeriod";\r
+    }\r
+    leaf topology-periodic-interval {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      description\r
+        "Device.Ghn.Interface.{i}.DMInfo.TopologyPeriodicInterval";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DMInfo.TopologyPeriodicInterval";\r
+    }\r
+    leaf min-supported-bandplan {\r
+      type uint32;\r
+      description\r
+        "Device.Ghn.Interface.{i}.DMInfo.MinSupportedBandplan";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DMInfo.MinSupportedBandplan";\r
+    }\r
+    leaf max-supported-bandplan {\r
+      type uint32;\r
+      description\r
+        "Device.Ghn.Interface.{i}.DMInfo.MaxSupportedBandplan";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.DMInfo.MaxSupportedBandplan";\r
+    }\r
+  }\r
+\r
+  grouping interface-sc-info-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Interface.{i}.SCInfo.";\r
+    leaf modes-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.SCInfo.ModesSupported";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.SCInfo.ModesSupported";\r
+    }\r
+    leaf mode-enabled {\r
+      type string;\r
+      description\r
+        "Device.Ghn.Interface.{i}.SCInfo.ModeEnabled";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.SCInfo.ModeEnabled";\r
+    }\r
+    leaf mic-size {\r
+      type enumeration {\r
+        enum "4-byte MIC" {\r
+          description\r
+            "Enum Value - 4-byte MIC";\r
+        }\r
+        enum "8-byte MIC" {\r
+          description\r
+            "Enum Value - 8-byte MIC";\r
+        }\r
+        enum "16-byte MIC" {\r
+          description\r
+            "Enum Value - 16-byte MIC";\r
+        }\r
+      }\r
+      description\r
+        "Device.Ghn.Interface.{i}.SCInfo.MICSize";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.SCInfo.MICSize";\r
+    }\r
+    leaf location {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.SCInfo.Location";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.SCInfo.Location";\r
+    }\r
+  }\r
+\r
+  grouping interface-sm-masked-band-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Interface.{i}.SMMaskedBand.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.Enable";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.Enable";\r
+    }\r
+    leaf band-number {\r
+      type uint32;\r
+      description\r
+        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.BandNumber";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.BandNumber";\r
+    }\r
+    leaf start-sub-carrier {\r
+      type uint32;\r
+      description\r
+        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.StartSubCarrier";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.StartSubCarrier";\r
+    }\r
+    leaf stop-sub-carrier {\r
+      type uint32;\r
+      description\r
+        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.StopSubCarrier";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.StopSubCarrier";\r
+    }\r
+  }\r
+\r
+  grouping ghn-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.Ghn.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+    leaf mgmt-bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.MgmtBytesSent";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.MgmtBytesSent";\r
+    }\r
+    leaf mgmt-bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.MgmtBytesReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.MgmtBytesReceived";\r
+    }\r
+    leaf mgmt-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.MgmtPacketsSent";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.MgmtPacketsSent";\r
+    }\r
+    leaf mgmt-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.MgmtPacketsReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.MgmtPacketsReceived";\r
+    }\r
+    leaf blocks-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.BlocksSent";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.BlocksSent";\r
+    }\r
+    leaf blocks-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.BlocksReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.BlocksReceived";\r
+    }\r
+    leaf blocks-resent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.BlocksResent";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.BlocksResent";\r
+    }\r
+    leaf blocks-errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Ghn.Interface.{i}.Stats.BlocksErrorsReceived";\r
+      reference\r
+        "Device.Ghn.Interface.{i}.Stats.BlocksErrorsReceived";\r
+    }\r
+  }\r
+\r
+  grouping device-hpna-g {\r
+    description\r
+      "Grouping object for Device.HPNA.";\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.HPNA.InterfaceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping hpna-diagnostics-phy-throughput-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Diagnostics.PHYThroughput.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Canceled {\r
+          description\r
+            "Enum Value - Canceled";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error {\r
+          description\r
+            "Enum Value - Error";\r
+        }\r
+        enum Error_FailToEnableCert {\r
+          description\r
+            "Enum Value - Error_FailToEnableCert";\r
+        }\r
+        enum Error_CertCmdTimeout {\r
+          description\r
+            "Enum Value - Error_CertCmdTimeout";\r
+        }\r
+        enum Error_UnknownErr {\r
+          description\r
+            "Enum Value - Error_UnknownErr";\r
+        }\r
+        enum Error_UnsupportedOpcode {\r
+          description\r
+            "Enum Value - Error_UnsupportedOpcode";\r
+        }\r
+        enum Error_InvalidParam {\r
+          description\r
+            "Enum Value - Error_InvalidParam";\r
+        }\r
+        enum Error_UnsupportedCmdSegment {\r
+          description\r
+            "Enum Value - Error_UnsupportedCmdSegment";\r
+        }\r
+        enum Error_UnsupportedDataGen {\r
+          description\r
+            "Enum Value - Error_UnsupportedDataGen";\r
+        }\r
+        enum Error_InvalidSequence {\r
+          description\r
+            "Enum Value - Error_InvalidSequence";\r
+        }\r
+        enum Error_InvalidFrame {\r
+          description\r
+            "Enum Value - Error_InvalidFrame";\r
+        }\r
+        enum Eror_InvalidOpcode {\r
+          description\r
+            "Enum Value - Eror_InvalidOpcode";\r
+        }\r
+      }\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Interface";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Interface";\r
+    }\r
+    leaf num-packets-in-burst {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.NumPacketsInBurst";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.NumPacketsInBurst";\r
+    }\r
+    leaf burst-interval {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.BurstInterval";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.BurstInterval";\r
+    }\r
+    leaf test-packet-payload-length {\r
+      type uint32 {\r
+        range "0..1480";\r
+      }\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.TestPacketPayloadLength";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.TestPacketPayloadLength";\r
+    }\r
+    leaf payload-encoding {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.PayloadEncoding";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.PayloadEncoding";\r
+    }\r
+    leaf payload-data-gen {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.PayloadDataGen";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.PayloadDataGen";\r
+    }\r
+    leaf payload-type {\r
+      type enumeration {\r
+        enum Pattern {\r
+          description\r
+            "Enum Value - Pattern";\r
+        }\r
+        enum IncrementByte {\r
+          description\r
+            "Enum Value - IncrementByte";\r
+        }\r
+      }\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.PayloadType";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.PayloadType";\r
+    }\r
+    leaf priority-level {\r
+      type uint32 {\r
+        range "0..7";\r
+      }\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.PriorityLevel";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.PriorityLevel";\r
+    }\r
+    leaf result-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.ResultNumberOfEntries";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.ResultNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-phy-throughput-result-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf src-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.SrcMACAddress";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.SrcMACAddress";\r
+    }\r
+    leaf dest-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.DestMACAddress";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.DestMACAddress";\r
+    }\r
+    leaf phy-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.PHYRate";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.PHYRate";\r
+    }\r
+    leaf baud-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.BaudRate";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.BaudRate";\r
+    }\r
+    leaf snr {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.SNR";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.SNR";\r
+    }\r
+    leaf packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.PacketsReceived";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.PacketsReceived";\r
+    }\r
+    leaf attenuation {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.Attenuation";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.Attenuation";\r
+    }\r
+  }\r
+\r
+  grouping hpna-diagnostics-performance-monitoring-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Diagnostics.PerformanceMonitoring.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Canceled {\r
+          description\r
+            "Enum Value - Canceled";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error {\r
+          description\r
+            "Enum Value - Error";\r
+        }\r
+        enum Error_SampleIntervalTooSmall {\r
+          description\r
+            "Enum Value - Error_SampleIntervalTooSmall";\r
+        }\r
+      }\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Interface";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Interface";\r
+    }\r
+    leaf sample-interval {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.SampleInterval";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.SampleInterval";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-performance-monitoring-channels-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.";\r
+    leaf time-stamp {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.TimeStamp";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.TimeStamp";\r
+    }\r
+    leaf channel-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.ChannelNumberOfEntries";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.ChannelNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping performance-monitoring-channels-channel-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf host-src-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HostSrcMACAddress";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HostSrcMACAddress";\r
+    }\r
+    leaf host-dest-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HostDestMACAddress";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HostDestMACAddress";\r
+    }\r
+    leaf hpna-src-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HPNASrcMACAddress";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HPNASrcMACAddress";\r
+    }\r
+    leaf hpna-dest-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HPNADestMACAddress";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.HPNADestMACAddress";\r
+    }\r
+    leaf phy-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PHYRate";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PHYRate";\r
+    }\r
+    leaf baud-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.BaudRate";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.BaudRate";\r
+    }\r
+    leaf snr {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.SNR";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.SNR";\r
+    }\r
+    leaf packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PacketsSent";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PacketsReceived";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.PacketsReceived";\r
+    }\r
+    leaf larq-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.LARQPacketsReceived";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.LARQPacketsReceived";\r
+    }\r
+    leaf flow-spec {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.FlowSpec";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.FlowSpec";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-performance-monitoring-nodes-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.";\r
+    leaf current-start {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.CurrentStart";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.CurrentStart";\r
+    }\r
+    leaf current-end {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.CurrentEnd";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.CurrentEnd";\r
+    }\r
+    leaf node-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.NodeNumberOfEntries";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.NodeNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping performance-monitoring-nodes-node-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MACAddress";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MACAddress";\r
+    }\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesSent";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesReceived";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSent";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceived";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSent";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSent";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsReceived";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsReceived";\r
+    }\r
+    leaf packets-crc-errored {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsCrcErrored";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsCrcErrored";\r
+    }\r
+    leaf packets-crc-errored-host {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsCrcErroredHost";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsCrcErroredHost";\r
+    }\r
+    leaf packets-short-errored {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsShortErrored";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsShortErrored";\r
+    }\r
+    leaf packets-short-errored-host {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsShortErroredHost";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsShortErroredHost";\r
+    }\r
+    leaf rx-packets-dropped {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.RxPacketsDropped";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.RxPacketsDropped";\r
+    }\r
+    leaf tx-packets-dropped {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.TxPacketsDropped";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.TxPacketsDropped";\r
+    }\r
+    leaf control-request-local {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlRequestLocal";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlRequestLocal";\r
+    }\r
+    leaf control-reply-local {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlReplyLocal";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlReplyLocal";\r
+    }\r
+    leaf control-request-remote {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlRequestRemote";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlRequestRemote";\r
+    }\r
+    leaf control-reply-remote {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlReplyRemote";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.ControlReplyRemote";\r
+    }\r
+    leaf packets-sent-wire {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSentWire";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsSentWire";\r
+    }\r
+    leaf broadcast-packets-sent-wire {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSentWire";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsSentWire";\r
+    }\r
+    leaf multicast-packets-sent-wire {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSentWire";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.MulticastPacketsSentWire";\r
+    }\r
+    leaf packets-internal-control {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsInternalControl";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsInternalControl";\r
+    }\r
+    leaf broadcast-packets-internal-control {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsInternalControl";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.BroadcastPacketsInternalControl";\r
+    }\r
+    leaf packets-received-queued {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceivedQueued";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceivedQueued";\r
+    }\r
+    leaf packets-received-forward-unknown {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceivedForwardUnknown";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.PacketsReceivedForwardUnknown";\r
+    }\r
+    leaf node-utilization {\r
+      type uint32 {\r
+        range "0..1000";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.NodeUtilization";\r
+      reference\r
+        "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.NodeUtilization";\r
+    }\r
+  }\r
+\r
+  grouping hpna-interface-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Enable";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Status";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.HPNA.Interface.{i}.Alias";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Name";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.HPNA.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Upstream";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Upstream";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.MACAddress";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.MACAddress";\r
+    }\r
+    leaf firmware-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.FirmwareVersion";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.FirmwareVersion";\r
+    }\r
+    leaf node-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.NodeID";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.NodeID";\r
+    }\r
+    leaf is-master {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.IsMaster";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.IsMaster";\r
+    }\r
+    leaf synced {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Synced";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Synced";\r
+    }\r
+    leaf total-sync-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.TotalSyncTime";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.TotalSyncTime";\r
+    }\r
+    leaf max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.MaxBitRate";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.MaxBitRate";\r
+    }\r
+    leaf network-utilization {\r
+      type uint32 {\r
+        range "0..1000";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.NetworkUtilization";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.NetworkUtilization";\r
+    }\r
+    leaf possible-connection-types {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.PossibleConnectionTypes";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.PossibleConnectionTypes";\r
+    }\r
+    leaf connection-type {\r
+      type string;\r
+      description\r
+        "Device.HPNA.Interface.{i}.ConnectionType";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.ConnectionType";\r
+    }\r
+    leaf possible-spectral-modes {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.PossibleSpectralModes";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.PossibleSpectralModes";\r
+    }\r
+    leaf spectral-mode {\r
+      type string;\r
+      description\r
+        "Device.HPNA.Interface.{i}.SpectralMode";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.SpectralMode";\r
+    }\r
+    leaf mtu {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Interface.{i}.MTU";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.MTU";\r
+    }\r
+    leaf noise-margin {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Interface.{i}.NoiseMargin";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.NoiseMargin";\r
+    }\r
+    leaf default-non-larqper {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Interface.{i}.DefaultNonLARQPER";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.DefaultNonLARQPER";\r
+    }\r
+    leaf larq-enable {\r
+      type boolean;\r
+      description\r
+        "Device.HPNA.Interface.{i}.LARQEnable";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.LARQEnable";\r
+    }\r
+    leaf min-multicast-rate {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Interface.{i}.MinMulticastRate";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.MinMulticastRate";\r
+    }\r
+    leaf neg-multicast-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.NegMulticastRate";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.NegMulticastRate";\r
+    }\r
+    leaf master-selection-mode {\r
+      type enumeration {\r
+        enum Automatic {\r
+          description\r
+            "Enum Value - Automatic";\r
+        }\r
+        enum ForceEndpoint {\r
+          description\r
+            "Enum Value - ForceEndpoint";\r
+        }\r
+        enum ForceMaster {\r
+          description\r
+            "Enum Value - ForceMaster";\r
+        }\r
+      }\r
+      description\r
+        "Device.HPNA.Interface.{i}.MasterSelectionMode";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.MasterSelectionMode";\r
+    }\r
+    leaf associated-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping hpna-interface-associated-device-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Interface.{i}.AssociatedDevice.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.MACAddress";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.MACAddress";\r
+    }\r
+    leaf node-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.NodeID";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.NodeID";\r
+    }\r
+    leaf is-master {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.IsMaster";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.IsMaster";\r
+    }\r
+    leaf synced {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.Synced";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.Synced";\r
+    }\r
+    leaf total-sync-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.TotalSyncTime";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.TotalSyncTime";\r
+    }\r
+    leaf max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.MaxBitRate";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.MaxBitRate";\r
+    }\r
+    leaf phy-diagnostics-enable {\r
+      type boolean;\r
+      description\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.PHYDiagnosticsEnable";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.PHYDiagnosticsEnable";\r
+    }\r
+    leaf active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.Active";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.Active";\r
+    }\r
+  }\r
+\r
+  grouping interface-qo-s-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Interface.{i}.QoS.";\r
+    leaf flow-spec-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpecNumberOfEntries";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpecNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping qo-s-flow-spec-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Enable";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Status";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Alias";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Alias";\r
+    }\r
+    leaf traffic-classes {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.TrafficClasses";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.TrafficClasses";\r
+    }\r
+    leaf flow-type {\r
+      type enumeration {\r
+        enum CBR {\r
+          description\r
+            "Enum Value - CBR";\r
+        }\r
+        enum VBR {\r
+          description\r
+            "Enum Value - VBR";\r
+        }\r
+        enum VBR-NRT {\r
+          description\r
+            "Enum Value - VBR-NRT";\r
+        }\r
+        enum BE {\r
+          description\r
+            "Enum Value - BE";\r
+        }\r
+      }\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.FlowType";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.FlowType";\r
+    }\r
+    leaf priority {\r
+      type uint32 {\r
+        range "0..7";\r
+      }\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Priority";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Priority";\r
+    }\r
+    leaf latency {\r
+      type uint32 {\r
+        range "0..999";\r
+      }\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Latency";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Latency";\r
+    }\r
+    leaf jitter {\r
+      type uint32 {\r
+        range "0..999";\r
+      }\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Jitter";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Jitter";\r
+    }\r
+    leaf packet-size {\r
+      type uint32 {\r
+        range "0..max";\r
+      }\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.PacketSize";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.PacketSize";\r
+    }\r
+    leaf min-rate {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.MinRate";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.MinRate";\r
+    }\r
+    leaf avg-rate {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.AvgRate";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.AvgRate";\r
+    }\r
+    leaf max-rate {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.MaxRate";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.MaxRate";\r
+    }\r
+    leaf per {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.PER";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.PER";\r
+    }\r
+    leaf timeout {\r
+      type uint32;\r
+      description\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Timeout";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.Timeout";\r
+    }\r
+  }\r
+\r
+  grouping hpna-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.HPNA.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HPNA.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.HPNA.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping device-home-plug-g {\r
+    description\r
+      "Grouping object for Device.HomePlug.";\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.HomePlug.InterfaceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping home-plug-interface-g {\r
+    description\r
+      "Grouping object for Device.HomePlug.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Enable";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Status";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Alias";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Name";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.HomePlug.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Upstream";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Upstream";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.MACAddress";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.MACAddress";\r
+    }\r
+    leaf logical-network {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.HomePlug.Interface.{i}.LogicalNetwork";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.LogicalNetwork";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Version";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Version";\r
+    }\r
+    leaf firmware-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.FirmwareVersion";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.FirmwareVersion";\r
+    }\r
+    leaf force-c-co {\r
+      type boolean;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.ForceCCo";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.ForceCCo";\r
+    }\r
+    leaf other-networks-present {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.OtherNetworksPresent";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.OtherNetworksPresent";\r
+    }\r
+    leaf max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.MaxBitRate";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.MaxBitRate";\r
+    }\r
+    leaf associated-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping home-plug-interface-associated-device-g {\r
+    description\r
+      "Grouping object for Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.MACAddress";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.MACAddress";\r
+    }\r
+    leaf tx-phy-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.TxPhyRate";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.TxPhyRate";\r
+    }\r
+    leaf rx-phy-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.RxPhyRate";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.RxPhyRate";\r
+    }\r
+    leaf snr-per-tone {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.SNRPerTone";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.SNRPerTone";\r
+    }\r
+    leaf avg-attenuation {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.AvgAttenuation";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.AvgAttenuation";\r
+    }\r
+    leaf end-station-ma-cs {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.EndStationMACs";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.EndStationMACs";\r
+    }\r
+    leaf active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.Active";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.Active";\r
+    }\r
+  }\r
+\r
+  grouping home-plug-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.HomePlug.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+    leaf mpdu-tx-ack {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.MPDUTxAck";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.MPDUTxAck";\r
+    }\r
+    leaf mpdu-tx-col {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.MPDUTxCol";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.MPDUTxCol";\r
+    }\r
+    leaf mpdu-tx-failed {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.MPDUTxFailed";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.MPDUTxFailed";\r
+    }\r
+    leaf mpdu-rx-ack {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.MPDURxAck";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.MPDURxAck";\r
+    }\r
+    leaf mpdu-rx-failed {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.HomePlug.Interface.{i}.Stats.MPDURxFailed";\r
+      reference\r
+        "Device.HomePlug.Interface.{i}.Stats.MPDURxFailed";\r
+    }\r
+  }\r
+\r
+  grouping device-hosts-g {\r
+    description\r
+      "Grouping object for Device.Hosts.";\r
+    leaf host-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Hosts.HostNumberOfEntries";\r
+      reference\r
+        "Device.Hosts.HostNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping hosts-host-g {\r
+    description\r
+      "Grouping object for Device.Hosts.Host.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Hosts.Host.{i}.Alias";\r
+      reference\r
+        "Device.Hosts.Host.{i}.Alias";\r
+    }\r
+    leaf phys-address {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.PhysAddress";\r
+      reference\r
+        "Device.Hosts.Host.{i}.PhysAddress";\r
+    }\r
+    leaf ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.IPAddress";\r
+      reference\r
+        "Device.Hosts.Host.{i}.IPAddress";\r
+    }\r
+    leaf address-source {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.AddressSource";\r
+      reference\r
+        "Device.Hosts.Host.{i}.AddressSource";\r
+    }\r
+    leaf dhcp-client {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.DHCPClient";\r
+      reference\r
+        "Device.Hosts.Host.{i}.DHCPClient";\r
+    }\r
+    leaf lease-time-remaining {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.LeaseTimeRemaining";\r
+      reference\r
+        "Device.Hosts.Host.{i}.LeaseTimeRemaining";\r
+    }\r
+    leaf associated-device {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.AssociatedDevice";\r
+      reference\r
+        "Device.Hosts.Host.{i}.AssociatedDevice";\r
+    }\r
+    leaf layer1-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.Layer1Interface";\r
+      reference\r
+        "Device.Hosts.Host.{i}.Layer1Interface";\r
+    }\r
+    leaf layer3-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.Layer3Interface";\r
+      reference\r
+        "Device.Hosts.Host.{i}.Layer3Interface";\r
+    }\r
+    leaf vendor-class-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.VendorClassID";\r
+      reference\r
+        "Device.Hosts.Host.{i}.VendorClassID";\r
+    }\r
+    leaf client-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.ClientID";\r
+      reference\r
+        "Device.Hosts.Host.{i}.ClientID";\r
+    }\r
+    leaf user-class-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.UserClassID";\r
+      reference\r
+        "Device.Hosts.Host.{i}.UserClassID";\r
+    }\r
+    leaf host-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.HostName";\r
+      reference\r
+        "Device.Hosts.Host.{i}.HostName";\r
+    }\r
+    leaf active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.Active";\r
+      reference\r
+        "Device.Hosts.Host.{i}.Active";\r
+    }\r
+    leaf active-last-change {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.ActiveLastChange";\r
+      reference\r
+        "Device.Hosts.Host.{i}.ActiveLastChange";\r
+    }\r
+    leaf ipv4-address-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.IPv4AddressNumberOfEntries";\r
+      reference\r
+        "Device.Hosts.Host.{i}.IPv4AddressNumberOfEntries";\r
+    }\r
+    leaf ipv6-address-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.IPv6AddressNumberOfEntries";\r
+      reference\r
+        "Device.Hosts.Host.{i}.IPv6AddressNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping host-ipv4-address-g {\r
+    description\r
+      "Grouping object for Device.Hosts.Host.{i}.IPv4Address.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf ip-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.IPv4Address.{i}.IPAddress";\r
+      reference\r
+        "Device.Hosts.Host.{i}.IPv4Address.{i}.IPAddress";\r
+    }\r
+  }\r
+\r
+  grouping host-ipv6-address-g {\r
+    description\r
+      "Grouping object for Device.Hosts.Host.{i}.IPv6Address.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.IPv6Address.{i}.IPAddress";\r
+      reference\r
+        "Device.Hosts.Host.{i}.IPv6Address.{i}.IPAddress";\r
+    }\r
+  }\r
+\r
+  grouping host-wan-stats-g {\r
+    description\r
+      "Grouping object for Device.Hosts.Host.{i}.WANStats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.WANStats.BytesSent";\r
+      reference\r
+        "Device.Hosts.Host.{i}.WANStats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.WANStats.BytesReceived";\r
+      reference\r
+        "Device.Hosts.Host.{i}.WANStats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.WANStats.PacketsSent";\r
+      reference\r
+        "Device.Hosts.Host.{i}.WANStats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.WANStats.PacketsReceived";\r
+      reference\r
+        "Device.Hosts.Host.{i}.WANStats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.WANStats.ErrorsSent";\r
+      reference\r
+        "Device.Hosts.Host.{i}.WANStats.ErrorsSent";\r
+    }\r
+    leaf retrans-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.WANStats.RetransCount";\r
+      reference\r
+        "Device.Hosts.Host.{i}.WANStats.RetransCount";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Hosts.Host.{i}.WANStats.DiscardPacketsSent";\r
+      reference\r
+        "Device.Hosts.Host.{i}.WANStats.DiscardPacketsSent";\r
+    }\r
+  }\r
+\r
+  grouping device-ieee1905-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.";\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.Version";\r
+      reference\r
+        "Device.IEEE1905.Version";\r
+    }\r
+  }\r
+\r
+  grouping ieee1905-al-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.";\r
+    leaf ieee1905-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.IEEE1905Id";\r
+      reference\r
+        "Device.IEEE1905.AL.IEEE1905Id";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Status";\r
+      reference\r
+        "Device.IEEE1905.AL.Status";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.LastChange";\r
+      reference\r
+        "Device.IEEE1905.AL.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.LowerLayers";\r
+      reference\r
+        "Device.IEEE1905.AL.LowerLayers";\r
+    }\r
+    leaf registrar-freq-band {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.RegistrarFreqBand";\r
+      reference\r
+        "Device.IEEE1905.AL.RegistrarFreqBand";\r
+    }\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.InterfaceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping al-forwarding-table-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.ForwardingTable.";\r
+    leaf set-forwarding-enabled {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.SetForwardingEnabled";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.SetForwardingEnabled";\r
+    }\r
+    leaf forwarding-rule-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRuleNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRuleNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping forwarding-table-forwarding-rule-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf interface-list {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.InterfaceList";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.InterfaceList";\r
+    }\r
+    leaf mac-destination-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACDestinationAddress";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACDestinationAddress";\r
+    }\r
+    leaf mac-destination-address-flag {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACDestinationAddressFlag";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACDestinationAddressFlag";\r
+    }\r
+    leaf mac-source-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACSourceAddress";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACSourceAddress";\r
+    }\r
+    leaf mac-source-address-flag {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACSourceAddressFlag";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.MACSourceAddressFlag";\r
+    }\r
+    leaf ether-type {\r
+      type uint32;\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.EtherType";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.EtherType";\r
+    }\r
+    leaf ether-type-flag {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.EtherTypeFlag";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.EtherTypeFlag";\r
+    }\r
+    leaf vid {\r
+      type uint32 {\r
+        range "0..4095";\r
+      }\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.Vid";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.Vid";\r
+    }\r
+    leaf vid-flag {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.VidFlag";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.VidFlag";\r
+    }\r
+    leaf pcp {\r
+      type uint32 {\r
+        range "0..7";\r
+      }\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.PCP";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.PCP";\r
+    }\r
+    leaf pcp-flag {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.PCPFlag";\r
+      reference\r
+        "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.PCPFlag";\r
+    }\r
+  }\r
+\r
+  grouping al-interface-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf interface-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.InterfaceId";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.InterfaceId";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Status";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Status";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf interface-stack-reference {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.InterfaceStackReference";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.InterfaceStackReference";\r
+    }\r
+    leaf media-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.MediaType";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.MediaType";\r
+    }\r
+    leaf generic-phy-oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.GenericPhyOUI";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.GenericPhyOUI";\r
+    }\r
+    leaf generic-phy-variant {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.GenericPhyVariant";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.GenericPhyVariant";\r
+    }\r
+    leaf generic-phy-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.GenericPhyURL";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.GenericPhyURL";\r
+    }\r
+    leaf set-intf-power-state-enabled {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.SetIntfPowerStateEnabled";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.SetIntfPowerStateEnabled";\r
+    }\r
+    leaf power-state {\r
+      type enumeration {\r
+        enum On {\r
+          description\r
+            "Enum Value - On";\r
+        }\r
+        enum Power_Save {\r
+          description\r
+            "Enum Value - Power_Save";\r
+        }\r
+        enum Off {\r
+          description\r
+            "Enum Value - Off";\r
+        }\r
+        enum Unsupported {\r
+          description\r
+            "Enum Value - Unsupported";\r
+        }\r
+      }\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.PowerState";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.PowerState";\r
+    }\r
+    leaf vendor-properties-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.VendorPropertiesNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.VendorPropertiesNumberOfEntries";\r
+    }\r
+    leaf link-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.LinkNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.LinkNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping interface-link-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.Interface.{i}.Link.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf interface-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.InterfaceId";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.InterfaceId";\r
+    }\r
+    leaf ieee1905-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.IEEE1905Id";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.IEEE1905Id";\r
+    }\r
+    leaf media-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.MediaType";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.MediaType";\r
+    }\r
+    leaf generic-phy-oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyOUI";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyOUI";\r
+    }\r
+    leaf generic-phy-variant {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyVariant";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyVariant";\r
+    }\r
+    leaf generic-phy-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyURL";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.GenericPhyURL";\r
+    }\r
+  }\r
+\r
+  grouping link-metric-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.";\r
+    leaf ieee802dot1-bridge {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.IEEE802dot1Bridge";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.IEEE802dot1Bridge";\r
+    }\r
+    leaf packet-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketErrors";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketErrors";\r
+    }\r
+    leaf packet-errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketErrorsReceived";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketErrorsReceived";\r
+    }\r
+    leaf transmitted-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.TransmittedPackets";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.TransmittedPackets";\r
+    }\r
+    leaf packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketsReceived";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PacketsReceived";\r
+    }\r
+    leaf mac-throughput-capacity {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.MACThroughputCapacity";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.MACThroughputCapacity";\r
+    }\r
+    leaf link-availability {\r
+      type uint32 {\r
+        range "0..100";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.LinkAvailability";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.LinkAvailability";\r
+    }\r
+    leaf phy-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PHYRate";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.PHYRate";\r
+    }\r
+    leaf rssi {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.RSSI";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.RSSI";\r
+    }\r
+  }\r
+\r
+  grouping interface-vendor-properties-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.OUI";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.OUI";\r
+    }\r
+    leaf information {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.Information";\r
+      reference\r
+        "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.Information";\r
+    }\r
+  }\r
+\r
+  grouping al-network-topology-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.Enable";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.Status";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.Status";\r
+    }\r
+    leaf max-change-log-entries {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.MaxChangeLogEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.MaxChangeLogEntries";\r
+    }\r
+    leaf last-change {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.LastChange";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.LastChange";\r
+    }\r
+    leaf ieee1905-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905DeviceNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905DeviceNumberOfEntries";\r
+    }\r
+    leaf change-log-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLogNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLogNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping network-topology-change-log-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf time-stamp {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.TimeStamp";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.TimeStamp";\r
+    }\r
+    leaf event-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.EventType";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.EventType";\r
+    }\r
+    leaf reporter-device-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.ReporterDeviceId";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.ReporterDeviceId";\r
+    }\r
+    leaf reporter-interface-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.ReporterInterfaceId";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.ReporterInterfaceId";\r
+    }\r
+    leaf neighbor-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.NeighborType";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.NeighborType";\r
+    }\r
+    leaf neighbor-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.NeighborId";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.NeighborId";\r
+    }\r
+  }\r
+\r
+  grouping network-topology-ieee1905-device-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf ieee1905-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Id";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Id";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Version";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Version";\r
+    }\r
+    leaf registrar-freq-band {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.RegistrarFreqBand";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.RegistrarFreqBand";\r
+    }\r
+    leaf friendly-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.FriendlyName";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.FriendlyName";\r
+    }\r
+    leaf manufacturer-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ManufacturerName";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ManufacturerName";\r
+    }\r
+    leaf manufacturer-model {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ManufacturerModel";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ManufacturerModel";\r
+    }\r
+    leaf control-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ControlURL";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.ControlURL";\r
+    }\r
+    leaf vendor-properties-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorPropertiesNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorPropertiesNumberOfEntries";\r
+    }\r
+    leaf ipv4-address-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4AddressNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4AddressNumberOfEntries";\r
+    }\r
+    leaf ipv6-address-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6AddressNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6AddressNumberOfEntries";\r
+    }\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.InterfaceNumberOfEntries";\r
+    }\r
+    leaf non-ieee1905-neighbor-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905NeighborNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905NeighborNumberOfEntries";\r
+    }\r
+    leaf ieee1905-neighbor-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905NeighborNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905NeighborNumberOfEntries";\r
+    }\r
+    leaf l2-neighbor-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2NeighborNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2NeighborNumberOfEntries";\r
+    }\r
+    leaf bridging-tuple-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTupleNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTupleNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping ieee1905-device-bridging-tuple-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf interface-list {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.InterfaceList";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.InterfaceList";\r
+    }\r
+  }\r
+\r
+  grouping ieee1905-device-ieee1905-neighbor-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf local-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.LocalInterface";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.LocalInterface";\r
+    }\r
+    leaf neighbor-device-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.NeighborDeviceId";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.NeighborDeviceId";\r
+    }\r
+    leaf metric-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.MetricNumberOfEntries";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.MetricNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping ieee1905-neighbor-metric-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf neighbor-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.NeighborMACAddress";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.NeighborMACAddress";\r
+    }\r
+    leaf ieee802dot1-bridge {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.IEEE802dot1Bridge";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.IEEE802dot1Bridge";\r
+    }\r
+    leaf packet-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketErrors";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketErrors";\r
+    }\r
+    leaf packet-errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketErrorsReceived";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketErrorsReceived";\r
+    }\r
+    leaf transmitted-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.TransmittedPackets";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.TransmittedPackets";\r
+    }\r
+    leaf packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketsReceived";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PacketsReceived";\r
+    }\r
+    leaf mac-throughput-capacity {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.MACThroughputCapacity";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.MACThroughputCapacity";\r
+    }\r
+    leaf link-availability {\r
+      type uint32 {\r
+        range "0..100";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.LinkAvailability";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.LinkAvailability";\r
+    }\r
+    leaf phy-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PHYRate";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.PHYRate";\r
+    }\r
+    leaf rssi {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.RSSI";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.RSSI";\r
+    }\r
+  }\r
+\r
+  grouping ieee1905-device-ipv4-address-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.MACAddress";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.MACAddress";\r
+    }\r
+    leaf ipv4-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.IPv4Address";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.IPv4Address";\r
+    }\r
+    leaf ipv4-address-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.IPv4AddressType";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.IPv4AddressType";\r
+    }\r
+    leaf dhcp-server {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.DHCPServer";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.DHCPServer";\r
+    }\r
+  }\r
+\r
+  grouping ieee1905-device-ipv6-address-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.MACAddress";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.MACAddress";\r
+    }\r
+    leaf ipv6-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6Address";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6Address";\r
+    }\r
+    leaf ipv6-address-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6AddressType";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6AddressType";\r
+    }\r
+    leaf ipv6-address-origin {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6AddressOrigin";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.IPv6AddressOrigin";\r
+    }\r
+  }\r
+\r
+  grouping ieee1905-device-interface-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf interface-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.InterfaceId";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.InterfaceId";\r
+    }\r
+    leaf media-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.MediaType";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.MediaType";\r
+    }\r
+    leaf power-state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.PowerState";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.PowerState";\r
+    }\r
+    leaf generic-phy-oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyOUI";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyOUI";\r
+    }\r
+    leaf generic-phy-variant {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyVariant";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyVariant";\r
+    }\r
+    leaf generic-phy-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyURL";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.GenericPhyURL";\r
+    }\r
+    leaf network-membership {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.NetworkMembership";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.NetworkMembership";\r
+    }\r
+    leaf role {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.Role";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.Role";\r
+    }\r
+    leaf ap-channel-band {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.APChannelBand";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.APChannelBand";\r
+    }\r
+    leaf frequency-index1 {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.FrequencyIndex1";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.FrequencyIndex1";\r
+    }\r
+    leaf frequency-index2 {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.FrequencyIndex2";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.FrequencyIndex2";\r
+    }\r
+  }\r
+\r
+  grouping ieee1905-device-l2-neighbor-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf local-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.LocalInterface";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.LocalInterface";\r
+    }\r
+    leaf neighbor-interface-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.NeighborInterfaceId";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.NeighborInterfaceId";\r
+    }\r
+    leaf behind-interface-ids {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.BehindInterfaceIds";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.BehindInterfaceIds";\r
+    }\r
+  }\r
+\r
+  grouping ieee1905-device-non-ieee1905-neighbor-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf local-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.LocalInterface";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.LocalInterface";\r
+    }\r
+    leaf neighbor-interface-id {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.NeighborInterfaceId";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.NeighborInterfaceId";\r
+    }\r
+  }\r
+\r
+  grouping ieee1905-device-vendor-properties-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf message-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.MessageType";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.MessageType";\r
+    }\r
+    leaf oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.OUI";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.OUI";\r
+    }\r
+    leaf information {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.Information";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.Information";\r
+    }\r
+  }\r
+\r
+  grouping al-networking-registrar-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.NetworkingRegistrar.";\r
+    leaf registrar2dot4 {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar2dot4";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar2dot4";\r
+    }\r
+    leaf registrar5 {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar5";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar5";\r
+    }\r
+    leaf registrar60 {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar60";\r
+      reference\r
+        "Device.IEEE1905.AL.NetworkingRegistrar.Registrar60";\r
+    }\r
+  }\r
+\r
+  grouping al-security-g {\r
+    description\r
+      "Grouping object for Device.IEEE1905.AL.Security.";\r
+    leaf setup-method {\r
+      type enumeration {\r
+        enum UCPK {\r
+          description\r
+            "Enum Value - UCPK";\r
+        }\r
+        enum PBC {\r
+          description\r
+            "Enum Value - PBC";\r
+        }\r
+        enum NFCNK {\r
+          description\r
+            "Enum Value - NFCNK";\r
+        }\r
+      }\r
+      description\r
+        "Device.IEEE1905.AL.Security.SetupMethod";\r
+      reference\r
+        "Device.IEEE1905.AL.Security.SetupMethod";\r
+    }\r
+  }\r
+\r
+  grouping device-ieee8021x-g {\r
+    description\r
+      "Grouping object for Device.IEEE8021x.";\r
+    leaf supplicant-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.SupplicantNumberOfEntries";\r
+      reference\r
+        "Device.IEEE8021x.SupplicantNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping ieee8021x-supplicant-g {\r
+    description\r
+      "Grouping object for Device.IEEE8021x.Supplicant.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Enable";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Status";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Alias";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Interface";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Interface";\r
+    }\r
+    leaf pae-state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.PAEState";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.PAEState";\r
+    }\r
+    leaf eap-identity {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.EAPIdentity";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.EAPIdentity";\r
+    }\r
+    leaf max-start {\r
+      type uint32 {\r
+        range "1..10";\r
+      }\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.MaxStart";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.MaxStart";\r
+    }\r
+    leaf start-period {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.StartPeriod";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.StartPeriod";\r
+    }\r
+    leaf held-period {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.HeldPeriod";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.HeldPeriod";\r
+    }\r
+    leaf auth-period {\r
+      type uint32;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.AuthPeriod";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.AuthPeriod";\r
+    }\r
+    leaf authentication-capabilities {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.AuthenticationCapabilities";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.AuthenticationCapabilities";\r
+    }\r
+    leaf start-failure-policy {\r
+      type enumeration {\r
+        enum FailAuthentication {\r
+          description\r
+            "Enum Value - FailAuthentication";\r
+        }\r
+        enum AssumeAuthentication {\r
+          description\r
+            "Enum Value - AssumeAuthentication";\r
+        }\r
+      }\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.StartFailurePolicy";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.StartFailurePolicy";\r
+    }\r
+    leaf authentication-success-policy {\r
+      type enumeration {\r
+        enum NoAction {\r
+          description\r
+            "Enum Value - NoAction";\r
+        }\r
+        enum RenewConnection {\r
+          description\r
+            "Enum Value - RenewConnection";\r
+        }\r
+      }\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.AuthenticationSuccessPolicy";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.AuthenticationSuccessPolicy";\r
+    }\r
+  }\r
+\r
+  grouping supplicant-eapm-d5-g {\r
+    description\r
+      "Grouping object for Device.IEEE8021x.Supplicant.{i}.EAPMD5.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.EAPMD5.Enable";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.EAPMD5.Enable";\r
+    }\r
+  }\r
+\r
+  grouping supplicant-eaptls-g {\r
+    description\r
+      "Grouping object for Device.IEEE8021x.Supplicant.{i}.EAPTLS.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.EAPTLS.Enable";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.EAPTLS.Enable";\r
+    }\r
+    leaf mutual-authentication-enable {\r
+      type boolean;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.EAPTLS.MutualAuthenticationEnable";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.EAPTLS.MutualAuthenticationEnable";\r
+    }\r
+  }\r
+\r
+  grouping supplicant-stats-g {\r
+    description\r
+      "Grouping object for Device.IEEE8021x.Supplicant.{i}.Stats.";\r
+    leaf received-frames {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedFrames";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedFrames";\r
+    }\r
+    leaf transmitted-frames {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedFrames";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedFrames";\r
+    }\r
+    leaf transmitted-start-frames {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedStartFrames";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedStartFrames";\r
+    }\r
+    leaf transmitted-logoff-frames {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedLogoffFrames";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedLogoffFrames";\r
+    }\r
+    leaf transmitted-response-id-frames {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedResponseIdFrames";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedResponseIdFrames";\r
+    }\r
+    leaf transmitted-response-frames {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedResponseFrames";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.TransmittedResponseFrames";\r
+    }\r
+    leaf received-request-id-frames {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedRequestIdFrames";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedRequestIdFrames";\r
+    }\r
+    leaf received-request-frames {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedRequestFrames";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedRequestFrames";\r
+    }\r
+    leaf received-invalid-frames {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedInvalidFrames";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedInvalidFrames";\r
+    }\r
+    leaf received-length-error-frames {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedLengthErrorFrames";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.ReceivedLengthErrorFrames";\r
+    }\r
+    leaf last-frame-version {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.LastFrameVersion";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.LastFrameVersion";\r
+    }\r
+    leaf last-frame-source-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.LastFrameSourceMACAddress";\r
+      reference\r
+        "Device.IEEE8021x.Supplicant.{i}.Stats.LastFrameSourceMACAddress";\r
+    }\r
+  }\r
+\r
+  grouping device-ip-g {\r
+    description\r
+      "Grouping object for Device.IP.";\r
+    leaf ipv4-capable {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.IPv4Capable";\r
+      reference\r
+        "Device.IP.IPv4Capable";\r
+    }\r
+    leaf ipv4-enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.IPv4Enable";\r
+      reference\r
+        "Device.IP.IPv4Enable";\r
+    }\r
+    leaf ipv4-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.IPv4Status";\r
+      reference\r
+        "Device.IP.IPv4Status";\r
+    }\r
+    leaf ipv6-capable {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.IPv6Capable";\r
+      reference\r
+        "Device.IP.IPv6Capable";\r
+    }\r
+    leaf ipv6-enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.IPv6Enable";\r
+      reference\r
+        "Device.IP.IPv6Enable";\r
+    }\r
+    leaf ipv6-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.IPv6Status";\r
+      reference\r
+        "Device.IP.IPv6Status";\r
+    }\r
+    leaf ula-prefix {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.IP.ULAPrefix";\r
+      reference\r
+        "Device.IP.ULAPrefix";\r
+    }\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.IP.InterfaceNumberOfEntries";\r
+    }\r
+    leaf active-port-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.ActivePortNumberOfEntries";\r
+      reference\r
+        "Device.IP.ActivePortNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping ip-active-port-g {\r
+    description\r
+      "Grouping object for Device.IP.ActivePort.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf local-ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IP.ActivePort.{i}.LocalIPAddress";\r
+      reference\r
+        "Device.IP.ActivePort.{i}.LocalIPAddress";\r
+    }\r
+    leaf local-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IP.ActivePort.{i}.LocalPort";\r
+      reference\r
+        "Device.IP.ActivePort.{i}.LocalPort";\r
+    }\r
+    leaf remote-ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IP.ActivePort.{i}.RemoteIPAddress";\r
+      reference\r
+        "Device.IP.ActivePort.{i}.RemoteIPAddress";\r
+    }\r
+    leaf remote-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IP.ActivePort.{i}.RemotePort";\r
+      reference\r
+        "Device.IP.ActivePort.{i}.RemotePort";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.ActivePort.{i}.Status";\r
+      reference\r
+        "Device.IP.ActivePort.{i}.Status";\r
+    }\r
+  }\r
+\r
+  grouping ip-diagnostics-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.";\r
+    leaf ipv4-ping-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv4PingSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv4PingSupported";\r
+    }\r
+    leaf ipv6-ping-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv6PingSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv6PingSupported";\r
+    }\r
+    leaf ipv4-trace-route-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv4TraceRouteSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv4TraceRouteSupported";\r
+    }\r
+    leaf ipv6-trace-route-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv6TraceRouteSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv6TraceRouteSupported";\r
+    }\r
+    leaf ipv4-download-diagnostics-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv4DownloadDiagnosticsSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv4DownloadDiagnosticsSupported";\r
+    }\r
+    leaf ipv6-download-diagnostics-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv6DownloadDiagnosticsSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv6DownloadDiagnosticsSupported";\r
+    }\r
+    leaf ipv4-upload-diagnostics-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv4UploadDiagnosticsSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv4UploadDiagnosticsSupported";\r
+    }\r
+    leaf ipv6-upload-diagnostics-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv6UploadDiagnosticsSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv6UploadDiagnosticsSupported";\r
+    }\r
+    leaf ipv4-udp-echo-diagnostics-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv4UDPEchoDiagnosticsSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv4UDPEchoDiagnosticsSupported";\r
+    }\r
+    leaf ipv6-udp-echo-diagnostics-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv6UDPEchoDiagnosticsSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv6UDPEchoDiagnosticsSupported";\r
+    }\r
+    leaf ipv4-server-selection-diagnostics-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv4ServerSelectionDiagnosticsSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv4ServerSelectionDiagnosticsSupported";\r
+    }\r
+    leaf ipv6-server-selection-diagnostics-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPv6ServerSelectionDiagnosticsSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.IPv6ServerSelectionDiagnosticsSupported";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-download-diagnostics-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.DownloadDiagnostics.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Completed {\r
+          description\r
+            "Enum Value - Completed";\r
+        }\r
+        enum Error_CannotResolveHostName {\r
+          description\r
+            "Enum Value - Error_CannotResolveHostName";\r
+        }\r
+        enum Error_NoRouteToHost {\r
+          description\r
+            "Enum Value - Error_NoRouteToHost";\r
+        }\r
+        enum Error_InitConnectionFailed {\r
+          description\r
+            "Enum Value - Error_InitConnectionFailed";\r
+        }\r
+        enum Error_NoResponse {\r
+          description\r
+            "Enum Value - Error_NoResponse";\r
+        }\r
+        enum Error_TransferFailed {\r
+          description\r
+            "Enum Value - Error_TransferFailed";\r
+        }\r
+        enum Error_PasswordRequestFailed {\r
+          description\r
+            "Enum Value - Error_PasswordRequestFailed";\r
+        }\r
+        enum Error_LoginFailed {\r
+          description\r
+            "Enum Value - Error_LoginFailed";\r
+        }\r
+        enum Error_NoTransferMode {\r
+          description\r
+            "Enum Value - Error_NoTransferMode";\r
+        }\r
+        enum Error_NoPASV {\r
+          description\r
+            "Enum Value - Error_NoPASV";\r
+        }\r
+        enum Error_IncorrectSize {\r
+          description\r
+            "Enum Value - Error_IncorrectSize";\r
+        }\r
+        enum Error_Timeout {\r
+          description\r
+            "Enum Value - Error_Timeout";\r
+        }\r
+        enum Error_Internal {\r
+          description\r
+            "Enum Value - Error_Internal";\r
+        }\r
+        enum Error_Other {\r
+          description\r
+            "Enum Value - Error_Other";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DiagnosticsState";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.Interface";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.Interface";\r
+    }\r
+    leaf download-url {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadURL";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadURL";\r
+    }\r
+    leaf download-transports {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadTransports";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadTransports";\r
+    }\r
+    leaf download-diagnostic-max-connections {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticMaxConnections";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticMaxConnections";\r
+    }\r
+    leaf download-diagnostics-max-incremental-result {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticsMaxIncrementalResult";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticsMaxIncrementalResult";\r
+    }\r
+    leaf dscp {\r
+      type uint32 {\r
+        range "0..63";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DSCP";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.DSCP";\r
+    }\r
+    leaf ethernet-priority {\r
+      type uint32 {\r
+        range "0..7";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.EthernetPriority";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.EthernetPriority";\r
+    }\r
+    leaf time-based-test-duration {\r
+      type uint32 {\r
+        range "0..999";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestDuration";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestDuration";\r
+    }\r
+    leaf time-based-test-measurement-interval {\r
+      type uint32 {\r
+        range "0..999";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementInterval";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementInterval";\r
+    }\r
+    leaf time-based-test-measurement-offset {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementOffset";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementOffset";\r
+    }\r
+    leaf protocol-version {\r
+      type enumeration {\r
+        enum Any {\r
+          description\r
+            "Enum Value - Any";\r
+        }\r
+        enum IPv4 {\r
+          description\r
+            "Enum Value - IPv4";\r
+        }\r
+        enum IPv6 {\r
+          description\r
+            "Enum Value - IPv6";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.ProtocolVersion";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.ProtocolVersion";\r
+    }\r
+    leaf number-of-connections {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.NumberOfConnections";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.NumberOfConnections";\r
+    }\r
+    leaf ip-address-used {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IPAddressUsed";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IPAddressUsed";\r
+    }\r
+    leaf rom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.ROMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.ROMTime";\r
+    }\r
+    leaf bom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.BOMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.BOMTime";\r
+    }\r
+    leaf eom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.EOMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.EOMTime";\r
+    }\r
+    leaf test-bytes-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceived";\r
+    }\r
+    leaf total-bytes-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceived";\r
+    }\r
+    leaf total-bytes-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSent";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSent";\r
+    }\r
+    leaf test-bytes-received-under-full-loading {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceivedUnderFullLoading";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceivedUnderFullLoading";\r
+    }\r
+    leaf total-bytes-received-under-full-loading {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceivedUnderFullLoading";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceivedUnderFullLoading";\r
+    }\r
+    leaf total-bytes-sent-under-full-loading {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSentUnderFullLoading";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSentUnderFullLoading";\r
+    }\r
+    leaf period-of-full-loading {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PeriodOfFullLoading";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PeriodOfFullLoading";\r
+    }\r
+    leaf tcp-open-request-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenRequestTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenRequestTime";\r
+    }\r
+    leaf tcp-open-response-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenResponseTime";\r
+    }\r
+    leaf per-connection-result-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResultNumberOfEntries";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResultNumberOfEntries";\r
+    }\r
+    leaf enable-per-connection-results {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.EnablePerConnectionResults";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.EnablePerConnectionResults";\r
+    }\r
+    leaf incremental-result-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResultNumberOfEntries";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResultNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping download-diagnostics-incremental-result-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf test-bytes-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TestBytesReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TestBytesReceived";\r
+    }\r
+    leaf total-bytes-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TotalBytesReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TotalBytesReceived";\r
+    }\r
+    leaf total-bytes-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TotalBytesSent";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.TotalBytesSent";\r
+    }\r
+    leaf start-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.StartTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.StartTime";\r
+    }\r
+    leaf end-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.EndTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.EndTime";\r
+    }\r
+  }\r
+\r
+  grouping download-diagnostics-per-connection-result-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf rom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.ROMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.ROMTime";\r
+    }\r
+    leaf bom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.BOMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.BOMTime";\r
+    }\r
+    leaf eom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.EOMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.EOMTime";\r
+    }\r
+    leaf test-bytes-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TestBytesReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TestBytesReceived";\r
+    }\r
+    leaf total-bytes-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TotalBytesReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TotalBytesReceived";\r
+    }\r
+    leaf total-bytes-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TotalBytesSent";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TotalBytesSent";\r
+    }\r
+    leaf tcp-open-request-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TCPOpenRequestTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TCPOpenRequestTime";\r
+    }\r
+    leaf tcp-open-response-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TCPOpenResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.TCPOpenResponseTime";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-ip-ping-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.IPPing.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Canceled {\r
+          description\r
+            "Enum Value - Canceled";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error {\r
+          description\r
+            "Enum Value - Error";\r
+        }\r
+        enum Error_CannotResolveHostName {\r
+          description\r
+            "Enum Value - Error_CannotResolveHostName";\r
+        }\r
+        enum Error_NoRouteToHost {\r
+          description\r
+            "Enum Value - Error_NoRouteToHost";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.DiagnosticsState";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.Interface";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.Interface";\r
+    }\r
+    leaf protocol-version {\r
+      type enumeration {\r
+        enum Any {\r
+          description\r
+            "Enum Value - Any";\r
+        }\r
+        enum IPv4 {\r
+          description\r
+            "Enum Value - IPv4";\r
+        }\r
+        enum IPv6 {\r
+          description\r
+            "Enum Value - IPv6";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.ProtocolVersion";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.ProtocolVersion";\r
+    }\r
+    leaf host {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.Host";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.Host";\r
+    }\r
+    leaf number-of-repetitions {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.NumberOfRepetitions";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.NumberOfRepetitions";\r
+    }\r
+    leaf timeout {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.Timeout";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.Timeout";\r
+    }\r
+    leaf data-block-size {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.DataBlockSize";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.DataBlockSize";\r
+    }\r
+    leaf dscp {\r
+      type uint32 {\r
+        range "0..63";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.DSCP";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.DSCP";\r
+    }\r
+    leaf ip-address-used {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.IPAddressUsed";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.IPAddressUsed";\r
+    }\r
+    leaf success-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.SuccessCount";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.SuccessCount";\r
+    }\r
+    leaf failure-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.FailureCount";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.FailureCount";\r
+    }\r
+    leaf average-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.AverageResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.AverageResponseTime";\r
+    }\r
+    leaf minimum-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.MinimumResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.MinimumResponseTime";\r
+    }\r
+    leaf maximum-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.MaximumResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.MaximumResponseTime";\r
+    }\r
+    leaf average-response-time-detailed {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.AverageResponseTimeDetailed";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.AverageResponseTimeDetailed";\r
+    }\r
+    leaf minimum-response-time-detailed {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.MinimumResponseTimeDetailed";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.MinimumResponseTimeDetailed";\r
+    }\r
+    leaf maximum-response-time-detailed {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.IPPing.MaximumResponseTimeDetailed";\r
+      reference\r
+        "Device.IP.Diagnostics.IPPing.MaximumResponseTimeDetailed";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-server-selection-diagnostics-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.ServerSelectionDiagnostics.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Completed {\r
+          description\r
+            "Enum Value - Completed";\r
+        }\r
+        enum Error_CannotResolveHostName {\r
+          description\r
+            "Enum Value - Error_CannotResolveHostName";\r
+        }\r
+        enum Error_Internal {\r
+          description\r
+            "Enum Value - Error_Internal";\r
+        }\r
+        enum Error_Other {\r
+          description\r
+            "Enum Value - Error_Other";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.DiagnosticsState";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Interface";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Interface";\r
+    }\r
+    leaf protocol-version {\r
+      type enumeration {\r
+        enum Any {\r
+          description\r
+            "Enum Value - Any";\r
+        }\r
+        enum IPv4 {\r
+          description\r
+            "Enum Value - IPv4";\r
+        }\r
+        enum IPv6 {\r
+          description\r
+            "Enum Value - IPv6";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.ProtocolVersion";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.ProtocolVersion";\r
+    }\r
+    leaf protocol {\r
+      type enumeration {\r
+        enum ICMP {\r
+          description\r
+            "Enum Value - ICMP";\r
+        }\r
+        enum "UDP Echo" {\r
+          description\r
+            "Enum Value - UDP Echo";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Protocol";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Protocol";\r
+    }\r
+    leaf host-list {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.HostList";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.HostList";\r
+    }\r
+    leaf number-of-repetitions {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.NumberOfRepetitions";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.NumberOfRepetitions";\r
+    }\r
+    leaf timeout {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Timeout";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.Timeout";\r
+    }\r
+    leaf fastest-host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.FastestHost";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.FastestHost";\r
+    }\r
+    leaf minimum-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.MinimumResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.MinimumResponseTime";\r
+    }\r
+    leaf average-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.AverageResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.AverageResponseTime";\r
+    }\r
+    leaf maximum-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.MaximumResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.MaximumResponseTime";\r
+    }\r
+    leaf ip-address-used {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.IPAddressUsed";\r
+      reference\r
+        "Device.IP.Diagnostics.ServerSelectionDiagnostics.IPAddressUsed";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-trace-route-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.TraceRoute.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Canceled {\r
+          description\r
+            "Enum Value - Canceled";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error {\r
+          description\r
+            "Enum Value - Error";\r
+        }\r
+        enum Error_MaxHopCountExceeded {\r
+          description\r
+            "Enum Value - Error_MaxHopCountExceeded";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.DiagnosticsState";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.Interface";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.Interface";\r
+    }\r
+    leaf protocol-version {\r
+      type enumeration {\r
+        enum Any {\r
+          description\r
+            "Enum Value - Any";\r
+        }\r
+        enum IPv4 {\r
+          description\r
+            "Enum Value - IPv4";\r
+        }\r
+        enum IPv6 {\r
+          description\r
+            "Enum Value - IPv6";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.ProtocolVersion";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.ProtocolVersion";\r
+    }\r
+    leaf host {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.Host";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.Host";\r
+    }\r
+    leaf number-of-tries {\r
+      type uint32 {\r
+        range "1..3";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.NumberOfTries";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.NumberOfTries";\r
+    }\r
+    leaf timeout {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.Timeout";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.Timeout";\r
+    }\r
+    leaf data-block-size {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.DataBlockSize";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.DataBlockSize";\r
+    }\r
+    leaf dscp {\r
+      type uint32 {\r
+        range "0..63";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.DSCP";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.DSCP";\r
+    }\r
+    leaf max-hop-count {\r
+      type uint32 {\r
+        range "1..64";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.MaxHopCount";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.MaxHopCount";\r
+    }\r
+    leaf ip-address-used {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.IPAddressUsed";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.IPAddressUsed";\r
+    }\r
+    leaf response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.ResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.ResponseTime";\r
+    }\r
+    leaf route-hops-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.RouteHopsNumberOfEntries";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.RouteHopsNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping trace-route-route-hops-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.Host";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.Host";\r
+    }\r
+    leaf host-address {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.HostAddress";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.HostAddress";\r
+    }\r
+    leaf error-code {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.ErrorCode";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.ErrorCode";\r
+    }\r
+    leaf rt-times {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.RTTimes";\r
+      reference\r
+        "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.RTTimes";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-udp-echo-config-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.UDPEchoConfig.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.Enable";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.Enable";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.Interface";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.Interface";\r
+    }\r
+    leaf source-ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.SourceIPAddress";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.SourceIPAddress";\r
+    }\r
+    leaf udp-port {\r
+      type uint32;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.UDPPort";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.UDPPort";\r
+    }\r
+    leaf echo-plus-enabled {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.EchoPlusEnabled";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.EchoPlusEnabled";\r
+    }\r
+    leaf echo-plus-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.EchoPlusSupported";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.EchoPlusSupported";\r
+    }\r
+    leaf packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.PacketsReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.PacketsReceived";\r
+    }\r
+    leaf packets-responded {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.PacketsResponded";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.PacketsResponded";\r
+    }\r
+    leaf bytes-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.BytesReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.BytesReceived";\r
+    }\r
+    leaf bytes-responded {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.BytesResponded";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.BytesResponded";\r
+    }\r
+    leaf time-first-packet-received {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.TimeFirstPacketReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.TimeFirstPacketReceived";\r
+    }\r
+    leaf time-last-packet-received {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoConfig.TimeLastPacketReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoConfig.TimeLastPacketReceived";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-udp-echo-diagnostics-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.UDPEchoDiagnostics.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Completed {\r
+          description\r
+            "Enum Value - Completed";\r
+        }\r
+        enum Error_CannotResolveHostName {\r
+          description\r
+            "Enum Value - Error_CannotResolveHostName";\r
+        }\r
+        enum Error_Internal {\r
+          description\r
+            "Enum Value - Error_Internal";\r
+        }\r
+        enum Error_Other {\r
+          description\r
+            "Enum Value - Error_Other";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.DiagnosticsState";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.Interface";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.Interface";\r
+    }\r
+    leaf host {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.Host";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.Host";\r
+    }\r
+    leaf port {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.Port";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.Port";\r
+    }\r
+    leaf number-of-repetitions {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.NumberOfRepetitions";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.NumberOfRepetitions";\r
+    }\r
+    leaf timeout {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.Timeout";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.Timeout";\r
+    }\r
+    leaf data-block-size {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.DataBlockSize";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.DataBlockSize";\r
+    }\r
+    leaf dscp {\r
+      type uint32 {\r
+        range "0..63";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.DSCP";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.DSCP";\r
+    }\r
+    leaf inter-transmission-time {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.InterTransmissionTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.InterTransmissionTime";\r
+    }\r
+    leaf protocol-version {\r
+      type enumeration {\r
+        enum Any {\r
+          description\r
+            "Enum Value - Any";\r
+        }\r
+        enum IPv4 {\r
+          description\r
+            "Enum Value - IPv4";\r
+        }\r
+        enum IPv6 {\r
+          description\r
+            "Enum Value - IPv6";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.ProtocolVersion";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.ProtocolVersion";\r
+    }\r
+    leaf ip-address-used {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IPAddressUsed";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IPAddressUsed";\r
+    }\r
+    leaf success-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.SuccessCount";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.SuccessCount";\r
+    }\r
+    leaf failure-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.FailureCount";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.FailureCount";\r
+    }\r
+    leaf average-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.AverageResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.AverageResponseTime";\r
+    }\r
+    leaf minimum-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.MinimumResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.MinimumResponseTime";\r
+    }\r
+    leaf maximum-response-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.MaximumResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.MaximumResponseTime";\r
+    }\r
+    leaf enable-individual-packet-results {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.EnableIndividualPacketResults";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.EnableIndividualPacketResults";\r
+    }\r
+    leaf individual-packet-result-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResultNumberOfEntries";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResultNumberOfEntries";\r
+    }\r
+    leaf udp-echo-diagnostics-max-results {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.UDPEchoDiagnosticsMaxResults";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.UDPEchoDiagnosticsMaxResults";\r
+    }\r
+  }\r
+\r
+  grouping udp-echo-diagnostics-individual-packet-result-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf packet-success {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketSuccess";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketSuccess";\r
+    }\r
+    leaf packet-send-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketSendTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketSendTime";\r
+    }\r
+    leaf packet-receive-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketReceiveTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.PacketReceiveTime";\r
+    }\r
+    leaf test-gen-sn {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestGenSN";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestGenSN";\r
+    }\r
+    leaf test-resp-sn {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespSN";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespSN";\r
+    }\r
+    leaf test-resp-rcv-time-stamp {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespRcvTimeStamp";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespRcvTimeStamp";\r
+    }\r
+    leaf test-resp-reply-time-stamp {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespReplyTimeStamp";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespReplyTimeStamp";\r
+    }\r
+    leaf test-resp-reply-failure-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespReplyFailureCount";\r
+      reference\r
+        "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.TestRespReplyFailureCount";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-upload-diagnostics-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.UploadDiagnostics.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Completed {\r
+          description\r
+            "Enum Value - Completed";\r
+        }\r
+        enum Error_CannotResolveHostName {\r
+          description\r
+            "Enum Value - Error_CannotResolveHostName";\r
+        }\r
+        enum Error_NoRouteToHost {\r
+          description\r
+            "Enum Value - Error_NoRouteToHost";\r
+        }\r
+        enum Error_InitConnectionFailed {\r
+          description\r
+            "Enum Value - Error_InitConnectionFailed";\r
+        }\r
+        enum Error_NoResponse {\r
+          description\r
+            "Enum Value - Error_NoResponse";\r
+        }\r
+        enum Error_PasswordRequestFailed {\r
+          description\r
+            "Enum Value - Error_PasswordRequestFailed";\r
+        }\r
+        enum Error_LoginFailed {\r
+          description\r
+            "Enum Value - Error_LoginFailed";\r
+        }\r
+        enum Error_NoTransferMode {\r
+          description\r
+            "Enum Value - Error_NoTransferMode";\r
+        }\r
+        enum Error_NoPASV {\r
+          description\r
+            "Enum Value - Error_NoPASV";\r
+        }\r
+        enum Error_NoCWD {\r
+          description\r
+            "Enum Value - Error_NoCWD";\r
+        }\r
+        enum Error_NoSTOR {\r
+          description\r
+            "Enum Value - Error_NoSTOR";\r
+        }\r
+        enum Error_NoTransferComplete {\r
+          description\r
+            "Enum Value - Error_NoTransferComplete";\r
+        }\r
+        enum Error_Timeout {\r
+          description\r
+            "Enum Value - Error_Timeout";\r
+        }\r
+        enum Error_Internal {\r
+          description\r
+            "Enum Value - Error_Internal";\r
+        }\r
+        enum Error_Other {\r
+          description\r
+            "Enum Value - Error_Other";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.DiagnosticsState";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.DiagnosticsState";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.Interface";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.Interface";\r
+    }\r
+    leaf upload-url {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.UploadURL";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.UploadURL";\r
+    }\r
+    leaf upload-transports {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.UploadTransports";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.UploadTransports";\r
+    }\r
+    leaf upload-diagnostics-max-connections {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.UploadDiagnosticsMaxConnections";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.UploadDiagnosticsMaxConnections";\r
+    }\r
+    leaf upload-diagnostics-max-incremental-result {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.UploadDiagnosticsMaxIncrementalResult";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.UploadDiagnosticsMaxIncrementalResult";\r
+    }\r
+    leaf dscp {\r
+      type uint32 {\r
+        range "0..63";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.DSCP";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.DSCP";\r
+    }\r
+    leaf ethernet-priority {\r
+      type uint32 {\r
+        range "0..7";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.EthernetPriority";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.EthernetPriority";\r
+    }\r
+    leaf test-file-length {\r
+      type uint32;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TestFileLength";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TestFileLength";\r
+    }\r
+    leaf time-based-test-duration {\r
+      type uint32 {\r
+        range "0..999";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestDuration";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestDuration";\r
+    }\r
+    leaf time-based-test-measurement-interval {\r
+      type uint32 {\r
+        range "0..999";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestMeasurementInterval";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestMeasurementInterval";\r
+    }\r
+    leaf time-based-test-measurement-offset {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestMeasurementOffset";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestMeasurementOffset";\r
+    }\r
+    leaf protocol-version {\r
+      type enumeration {\r
+        enum Any {\r
+          description\r
+            "Enum Value - Any";\r
+        }\r
+        enum IPv4 {\r
+          description\r
+            "Enum Value - IPv4";\r
+        }\r
+        enum IPv6 {\r
+          description\r
+            "Enum Value - IPv6";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.ProtocolVersion";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.ProtocolVersion";\r
+    }\r
+    leaf number-of-connections {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.NumberOfConnections";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.NumberOfConnections";\r
+    }\r
+    leaf ip-address-used {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IPAddressUsed";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IPAddressUsed";\r
+    }\r
+    leaf rom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.ROMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.ROMTime";\r
+    }\r
+    leaf bom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.BOMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.BOMTime";\r
+    }\r
+    leaf eom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.EOMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.EOMTime";\r
+    }\r
+    leaf test-bytes-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TestBytesSent";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TestBytesSent";\r
+    }\r
+    leaf total-bytes-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesReceived";\r
+    }\r
+    leaf total-bytes-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesSent";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesSent";\r
+    }\r
+    leaf test-bytes-sent-under-full-loading {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TestBytesSentUnderFullLoading";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TestBytesSentUnderFullLoading";\r
+    }\r
+    leaf total-bytes-received-under-full-loading {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesReceivedUnderFullLoading";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesReceivedUnderFullLoading";\r
+    }\r
+    leaf total-bytes-sent-under-full-loading {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesSentUnderFullLoading";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TotalBytesSentUnderFullLoading";\r
+    }\r
+    leaf period-of-full-loading {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PeriodOfFullLoading";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PeriodOfFullLoading";\r
+    }\r
+    leaf tcp-open-request-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TCPOpenRequestTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TCPOpenRequestTime";\r
+    }\r
+    leaf tcp-open-response-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TCPOpenResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.TCPOpenResponseTime";\r
+    }\r
+    leaf per-connection-result-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResultNumberOfEntries";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResultNumberOfEntries";\r
+    }\r
+    leaf enable-per-connection-results {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.EnablePerConnectionResults";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.EnablePerConnectionResults";\r
+    }\r
+    leaf incremental-result-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResultNumberOfEntries";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResultNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping upload-diagnostics-incremental-result-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf test-bytes-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TestBytesSent";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TestBytesSent";\r
+    }\r
+    leaf total-bytes-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TotalBytesReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TotalBytesReceived";\r
+    }\r
+    leaf total-bytes-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TotalBytesSent";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.TotalBytesSent";\r
+    }\r
+    leaf start-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.StartTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.StartTime";\r
+    }\r
+    leaf end-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.EndTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.EndTime";\r
+    }\r
+  }\r
+\r
+  grouping upload-diagnostics-per-connection-result-g {\r
+    description\r
+      "Grouping object for Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf rom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.ROMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.ROMTime";\r
+    }\r
+    leaf bom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.BOMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.BOMTime";\r
+    }\r
+    leaf eom-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.EOMTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.EOMTime";\r
+    }\r
+    leaf test-bytes-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TestBytesSent";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TestBytesSent";\r
+    }\r
+    leaf total-bytes-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TotalBytesReceived";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TotalBytesReceived";\r
+    }\r
+    leaf total-bytes-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TotalBytesSent";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TotalBytesSent";\r
+    }\r
+    leaf tcp-open-request-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TCPOpenRequestTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TCPOpenRequestTime";\r
+    }\r
+    leaf tcp-open-response-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TCPOpenResponseTime";\r
+      reference\r
+        "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.TCPOpenResponseTime";\r
+    }\r
+  }\r
+\r
+  grouping ip-interface-g {\r
+    description\r
+      "Grouping object for Device.IP.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.Enable";\r
+      reference\r
+        "Device.IP.Interface.{i}.Enable";\r
+    }\r
+    leaf ipv4-enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv4Enable";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv4Enable";\r
+    }\r
+    leaf ipv6-enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Enable";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Enable";\r
+    }\r
+    leaf ula-enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.ULAEnable";\r
+      reference\r
+        "Device.IP.Interface.{i}.ULAEnable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Status";\r
+      reference\r
+        "Device.IP.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.Alias";\r
+      reference\r
+        "Device.IP.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Name";\r
+      reference\r
+        "Device.IP.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.IP.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.IP.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf router {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.Router";\r
+      reference\r
+        "Device.IP.Interface.{i}.Router";\r
+    }\r
+    leaf max-mtu-size {\r
+      type uint32 {\r
+        range "64..65535";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.MaxMTUSize";\r
+      reference\r
+        "Device.IP.Interface.{i}.MaxMTUSize";\r
+    }\r
+    leaf type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Type";\r
+      reference\r
+        "Device.IP.Interface.{i}.Type";\r
+    }\r
+    leaf loopback {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.Loopback";\r
+      reference\r
+        "Device.IP.Interface.{i}.Loopback";\r
+    }\r
+    leaf ipv4-address-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv4AddressNumberOfEntries";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv4AddressNumberOfEntries";\r
+    }\r
+    leaf ipv6-address-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6AddressNumberOfEntries";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6AddressNumberOfEntries";\r
+    }\r
+    leaf ipv6-prefix-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6PrefixNumberOfEntries";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6PrefixNumberOfEntries";\r
+    }\r
+    leaf auto-ip-enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.AutoIPEnable";\r
+      reference\r
+        "Device.IP.Interface.{i}.AutoIPEnable";\r
+    }\r
+    leaf twamp-reflector-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.TWAMPReflectorNumberOfEntries";\r
+      reference\r
+        "Device.IP.Interface.{i}.TWAMPReflectorNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping interface-ipv4-address-g {\r
+    description\r
+      "Grouping object for Device.IP.Interface.{i}.IPv4Address.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.Enable";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.Status";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.Alias";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.Alias";\r
+    }\r
+    leaf ip-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.IPAddress";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.IPAddress";\r
+    }\r
+    leaf subnet-mask {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.SubnetMask";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.SubnetMask";\r
+    }\r
+    leaf addressing-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.AddressingType";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv4Address.{i}.AddressingType";\r
+    }\r
+  }\r
+\r
+  grouping interface-ipv6-address-g {\r
+    description\r
+      "Grouping object for Device.IP.Interface.{i}.IPv6Address.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Enable";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Status";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Status";\r
+    }\r
+    leaf ip-address-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.IPAddressStatus";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.IPAddressStatus";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Alias";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Alias";\r
+    }\r
+    leaf ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.IPAddress";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.IPAddress";\r
+    }\r
+    leaf origin {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Origin";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Origin";\r
+    }\r
+    leaf prefix {\r
+      type string;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Prefix";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Prefix";\r
+    }\r
+    leaf preferred-lifetime {\r
+      type string;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.PreferredLifetime";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.PreferredLifetime";\r
+    }\r
+    leaf valid-lifetime {\r
+      type string;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.ValidLifetime";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.ValidLifetime";\r
+    }\r
+    leaf anycast {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Anycast";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Address.{i}.Anycast";\r
+    }\r
+  }\r
+\r
+  grouping interface-ipv6-prefix-g {\r
+    description\r
+      "Grouping object for Device.IP.Interface.{i}.IPv6Prefix.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Enable";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Status";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Status";\r
+    }\r
+    leaf prefix-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.PrefixStatus";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.PrefixStatus";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Alias";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Alias";\r
+    }\r
+    leaf prefix {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Prefix";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Prefix";\r
+    }\r
+    leaf origin {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Origin";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Origin";\r
+    }\r
+    leaf static-type {\r
+      type enumeration {\r
+        enum Static {\r
+          description\r
+            "Enum Value - Static";\r
+        }\r
+        enum Inapplicable {\r
+          description\r
+            "Enum Value - Inapplicable";\r
+        }\r
+        enum PrefixDelegation {\r
+          description\r
+            "Enum Value - PrefixDelegation";\r
+        }\r
+        enum Child {\r
+          description\r
+            "Enum Value - Child";\r
+        }\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.StaticType";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.StaticType";\r
+    }\r
+    leaf parent-prefix {\r
+      type string;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ParentPrefix";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ParentPrefix";\r
+    }\r
+    leaf child-prefix-bits {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ChildPrefixBits";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ChildPrefixBits";\r
+    }\r
+    leaf on-link {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.OnLink";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.OnLink";\r
+    }\r
+    leaf autonomous {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Autonomous";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.Autonomous";\r
+    }\r
+    leaf preferred-lifetime {\r
+      type string;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.PreferredLifetime";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.PreferredLifetime";\r
+    }\r
+    leaf valid-lifetime {\r
+      type string;\r
+      description\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ValidLifetime";\r
+      reference\r
+        "Device.IP.Interface.{i}.IPv6Prefix.{i}.ValidLifetime";\r
+    }\r
+  }\r
+\r
+  grouping ip-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.IP.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.IP.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping interface-twamp-reflector-g {\r
+    description\r
+      "Grouping object for Device.IP.Interface.{i}.TWAMPReflector.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Enable";\r
+      reference\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Status";\r
+      reference\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Alias";\r
+      reference\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Alias";\r
+    }\r
+    leaf port {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Port";\r
+      reference\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.Port";\r
+    }\r
+    leaf maximum-ttl {\r
+      type uint32 {\r
+        range "1..255";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.MaximumTTL";\r
+      reference\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.MaximumTTL";\r
+    }\r
+    leaf ip-allowed-list {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.IPAllowedList";\r
+      reference\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.IPAllowedList";\r
+    }\r
+    leaf port-allowed-list {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.PortAllowedList";\r
+      reference\r
+        "Device.IP.Interface.{i}.TWAMPReflector.{i}.PortAllowedList";\r
+    }\r
+  }\r
+\r
+  grouping device-i-psec-g {\r
+    description\r
+      "Grouping object for Device.IPsec.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IPsec.Enable";\r
+      reference\r
+        "Device.IPsec.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Status";\r
+      reference\r
+        "Device.IPsec.Status";\r
+    }\r
+    leaf ah-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.IPsec.AHSupported";\r
+      reference\r
+        "Device.IPsec.AHSupported";\r
+    }\r
+    leaf ikev2-supported-encryption-algorithms {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SupportedEncryptionAlgorithms";\r
+      reference\r
+        "Device.IPsec.IKEv2SupportedEncryptionAlgorithms";\r
+    }\r
+    leaf esp-supported-encryption-algorithms {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.ESPSupportedEncryptionAlgorithms";\r
+      reference\r
+        "Device.IPsec.ESPSupportedEncryptionAlgorithms";\r
+    }\r
+    leaf ikev2-supported-pseudo-random-functions {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SupportedPseudoRandomFunctions";\r
+      reference\r
+        "Device.IPsec.IKEv2SupportedPseudoRandomFunctions";\r
+    }\r
+    leaf supported-integrity-algorithms {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.SupportedIntegrityAlgorithms";\r
+      reference\r
+        "Device.IPsec.SupportedIntegrityAlgorithms";\r
+    }\r
+    leaf supported-diffie-hellman-group-transforms {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.SupportedDiffieHellmanGroupTransforms";\r
+      reference\r
+        "Device.IPsec.SupportedDiffieHellmanGroupTransforms";\r
+    }\r
+    leaf max-filter-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.MaxFilterEntries";\r
+      reference\r
+        "Device.IPsec.MaxFilterEntries";\r
+    }\r
+    leaf max-profile-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.MaxProfileEntries";\r
+      reference\r
+        "Device.IPsec.MaxProfileEntries";\r
+    }\r
+    leaf filter-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.FilterNumberOfEntries";\r
+      reference\r
+        "Device.IPsec.FilterNumberOfEntries";\r
+    }\r
+    leaf profile-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.ProfileNumberOfEntries";\r
+      reference\r
+        "Device.IPsec.ProfileNumberOfEntries";\r
+    }\r
+    leaf tunnel-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.TunnelNumberOfEntries";\r
+      reference\r
+        "Device.IPsec.TunnelNumberOfEntries";\r
+    }\r
+    leaf ikev2-sa-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SANumberOfEntries";\r
+      reference\r
+        "Device.IPsec.IKEv2SANumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping i-psec-filter-g {\r
+    description\r
+      "Grouping object for Device.IPsec.Filter.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IPsec.Filter.{i}.Enable";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Filter.{i}.Status";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.Status";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.Order";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.Order";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.Alias";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.Interface";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.Interface";\r
+    }\r
+    leaf all-interfaces {\r
+      type boolean;\r
+      description\r
+        "Device.IPsec.Filter.{i}.AllInterfaces";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.AllInterfaces";\r
+    }\r
+    leaf dest-ip {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.DestIP";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.DestIP";\r
+    }\r
+    leaf dest-mask {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.DestMask";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.DestMask";\r
+    }\r
+    leaf dest-ip-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.IPsec.Filter.{i}.DestIPExclude";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.DestIPExclude";\r
+    }\r
+    leaf source-ip {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.SourceIP";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.SourceIP";\r
+    }\r
+    leaf source-mask {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.SourceMask";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.SourceMask";\r
+    }\r
+    leaf source-ip-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.IPsec.Filter.{i}.SourceIPExclude";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.SourceIPExclude";\r
+    }\r
+    leaf protocol {\r
+      type int32 {\r
+        range "-1..255";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.Protocol";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.Protocol";\r
+    }\r
+    leaf protocol-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.IPsec.Filter.{i}.ProtocolExclude";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.ProtocolExclude";\r
+    }\r
+    leaf dest-port {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.DestPort";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.DestPort";\r
+    }\r
+    leaf dest-port-range-max {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.DestPortRangeMax";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.DestPortRangeMax";\r
+    }\r
+    leaf dest-port-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.IPsec.Filter.{i}.DestPortExclude";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.DestPortExclude";\r
+    }\r
+    leaf source-port {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.SourcePort";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.SourcePort";\r
+    }\r
+    leaf source-port-range-max {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.SourcePortRangeMax";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.SourcePortRangeMax";\r
+    }\r
+    leaf source-port-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.IPsec.Filter.{i}.SourcePortExclude";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.SourcePortExclude";\r
+    }\r
+    leaf processing-choice {\r
+      type enumeration {\r
+        enum Discard {\r
+          description\r
+            "Enum Value - Discard";\r
+        }\r
+        enum Bypass {\r
+          description\r
+            "Enum Value - Bypass";\r
+        }\r
+        enum Protect {\r
+          description\r
+            "Enum Value - Protect";\r
+        }\r
+      }\r
+      description\r
+        "Device.IPsec.Filter.{i}.ProcessingChoice";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.ProcessingChoice";\r
+    }\r
+    leaf profile {\r
+      type string;\r
+      description\r
+        "Device.IPsec.Filter.{i}.Profile";\r
+      reference\r
+        "Device.IPsec.Filter.{i}.Profile";\r
+    }\r
+  }\r
+\r
+  grouping i-psec-ikev2-sa-g {\r
+    description\r
+      "Grouping object for Device.IPsec.IKEv2SA.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.Status";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.Alias";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.Alias";\r
+    }\r
+    leaf tunnel {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.Tunnel";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.Tunnel";\r
+    }\r
+    leaf local-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.LocalAddress";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.LocalAddress";\r
+    }\r
+    leaf remote-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.RemoteAddress";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.RemoteAddress";\r
+    }\r
+    leaf encryption-algorithm {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.EncryptionAlgorithm";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.EncryptionAlgorithm";\r
+    }\r
+    leaf encryption-key-length {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.EncryptionKeyLength";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.EncryptionKeyLength";\r
+    }\r
+    leaf pseudo-random-function {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.PseudoRandomFunction";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.PseudoRandomFunction";\r
+    }\r
+    leaf integrity-algorithm {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.IntegrityAlgorithm";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.IntegrityAlgorithm";\r
+    }\r
+    leaf diffie-hellman-group-transform {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.DiffieHellmanGroupTransform";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.DiffieHellmanGroupTransform";\r
+    }\r
+    leaf creation-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.CreationTime";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.CreationTime";\r
+    }\r
+    leaf nat-detected {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.NATDetected";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.NATDetected";\r
+    }\r
+    leaf received-cp-attr-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttrNumberOfEntries";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttrNumberOfEntries";\r
+    }\r
+    leaf child-sa-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSANumberOfEntries";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSANumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping ikev2-sa-child-sa-g {\r
+    description\r
+      "Grouping object for Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Status";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Alias";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Alias";\r
+    }\r
+    leaf inbound-spi {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.InboundSPI";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.InboundSPI";\r
+    }\r
+    leaf outbound-spi {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.OutboundSPI";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.OutboundSPI";\r
+    }\r
+    leaf creation-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.CreationTime";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.CreationTime";\r
+    }\r
+  }\r
+\r
+  grouping child-sa-stats-g {\r
+    description\r
+      "Grouping object for Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf decryption-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.DecryptionErrors";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.DecryptionErrors";\r
+    }\r
+    leaf integrity-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.IntegrityErrors";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.IntegrityErrors";\r
+    }\r
+    leaf replay-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.ReplayErrors";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.ReplayErrors";\r
+    }\r
+    leaf policy-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PolicyErrors";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.PolicyErrors";\r
+    }\r
+    leaf other-receive-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.OtherReceiveErrors";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.OtherReceiveErrors";\r
+    }\r
+  }\r
+\r
+  grouping ikev2-sa-received-cp-attr-g {\r
+    description\r
+      "Grouping object for Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf type {\r
+      type uint32 {\r
+        range "0..32767";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.Type";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.Type";\r
+    }\r
+    leaf value {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.Value";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping ikev2-sa-stats-g {\r
+    description\r
+      "Grouping object for Device.IPsec.IKEv2SA.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf decryption-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.DecryptionErrors";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.DecryptionErrors";\r
+    }\r
+    leaf integrity-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.IntegrityErrors";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.IntegrityErrors";\r
+    }\r
+    leaf other-receive-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.OtherReceiveErrors";\r
+      reference\r
+        "Device.IPsec.IKEv2SA.{i}.Stats.OtherReceiveErrors";\r
+    }\r
+  }\r
+\r
+  grouping i-psec-profile-g {\r
+    description\r
+      "Grouping object for Device.IPsec.Profile.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IPsec.Profile.{i}.Alias";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.Alias";\r
+    }\r
+    leaf max-child-s-as {\r
+      type uint32;\r
+      description\r
+        "Device.IPsec.Profile.{i}.MaxChildSAs";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.MaxChildSAs";\r
+    }\r
+    leaf remote-endpoints {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IPsec.Profile.{i}.RemoteEndpoints";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.RemoteEndpoints";\r
+    }\r
+    leaf forwarding-policy {\r
+      type uint32;\r
+      description\r
+        "Device.IPsec.Profile.{i}.ForwardingPolicy";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.ForwardingPolicy";\r
+    }\r
+    leaf protocol {\r
+      type enumeration {\r
+        enum AH {\r
+          description\r
+            "Enum Value - AH";\r
+        }\r
+        enum ESP {\r
+          description\r
+            "Enum Value - ESP";\r
+        }\r
+      }\r
+      description\r
+        "Device.IPsec.Profile.{i}.Protocol";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.Protocol";\r
+    }\r
+    leaf ikev2-authentication-method {\r
+      type string;\r
+      description\r
+        "Device.IPsec.Profile.{i}.IKEv2AuthenticationMethod";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.IKEv2AuthenticationMethod";\r
+    }\r
+    leaf ikev2-allowed-encryption-algorithms {\r
+      type string;\r
+      description\r
+        "Device.IPsec.Profile.{i}.IKEv2AllowedEncryptionAlgorithms";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.IKEv2AllowedEncryptionAlgorithms";\r
+    }\r
+    leaf esp-allowed-encryption-algorithms {\r
+      type string;\r
+      description\r
+        "Device.IPsec.Profile.{i}.ESPAllowedEncryptionAlgorithms";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.ESPAllowedEncryptionAlgorithms";\r
+    }\r
+    leaf ikev2-allowed-pseudo-random-functions {\r
+      type string;\r
+      description\r
+        "Device.IPsec.Profile.{i}.IKEv2AllowedPseudoRandomFunctions";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.IKEv2AllowedPseudoRandomFunctions";\r
+    }\r
+    leaf ikev2-allowed-integrity-algorithms {\r
+      type string;\r
+      description\r
+        "Device.IPsec.Profile.{i}.IKEv2AllowedIntegrityAlgorithms";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.IKEv2AllowedIntegrityAlgorithms";\r
+    }\r
+    leaf ah-allowed-integrity-algorithms {\r
+      type string;\r
+      description\r
+        "Device.IPsec.Profile.{i}.AHAllowedIntegrityAlgorithms";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.AHAllowedIntegrityAlgorithms";\r
+    }\r
+    leaf esp-allowed-integrity-algorithms {\r
+      type string;\r
+      description\r
+        "Device.IPsec.Profile.{i}.ESPAllowedIntegrityAlgorithms";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.ESPAllowedIntegrityAlgorithms";\r
+    }\r
+    leaf ikev2-allowed-diffie-hellman-group-transforms {\r
+      type string;\r
+      description\r
+        "Device.IPsec.Profile.{i}.IKEv2AllowedDiffieHellmanGroupTransforms";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.IKEv2AllowedDiffieHellmanGroupTransforms";\r
+    }\r
+    leaf ikev2-dead-peer-detection-timeout {\r
+      type uint32;\r
+      description\r
+        "Device.IPsec.Profile.{i}.IKEv2DeadPeerDetectionTimeout";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.IKEv2DeadPeerDetectionTimeout";\r
+    }\r
+    leaf ikev2-natt-keepalive-timeout {\r
+      type uint32;\r
+      description\r
+        "Device.IPsec.Profile.{i}.IKEv2NATTKeepaliveTimeout";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.IKEv2NATTKeepaliveTimeout";\r
+    }\r
+    leaf anti-replay-window-size {\r
+      type uint32;\r
+      description\r
+        "Device.IPsec.Profile.{i}.AntiReplayWindowSize";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.AntiReplayWindowSize";\r
+    }\r
+    leaf do-not-fragment {\r
+      type enumeration {\r
+        enum Set {\r
+          description\r
+            "Enum Value - Set";\r
+        }\r
+        enum Clear {\r
+          description\r
+            "Enum Value - Clear";\r
+        }\r
+        enum Copy {\r
+          description\r
+            "Enum Value - Copy";\r
+        }\r
+      }\r
+      description\r
+        "Device.IPsec.Profile.{i}.DoNotFragment";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.DoNotFragment";\r
+    }\r
+    leaf dscp-mark-policy {\r
+      type int32 {\r
+        range "-2..63";\r
+      }\r
+      description\r
+        "Device.IPsec.Profile.{i}.DSCPMarkPolicy";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.DSCPMarkPolicy";\r
+    }\r
+    leaf ikev2-sa-traffic-limit {\r
+      type uint64;\r
+      description\r
+        "Device.IPsec.Profile.{i}.IKEv2SATrafficLimit";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.IKEv2SATrafficLimit";\r
+    }\r
+    leaf ikev2-sa-time-limit {\r
+      type uint32;\r
+      description\r
+        "Device.IPsec.Profile.{i}.IKEv2SATimeLimit";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.IKEv2SATimeLimit";\r
+    }\r
+    leaf ikev2-sa-expiry-action {\r
+      type enumeration {\r
+        enum Renegotiate {\r
+          description\r
+            "Enum Value - Renegotiate";\r
+        }\r
+        enum Delete {\r
+          description\r
+            "Enum Value - Delete";\r
+        }\r
+      }\r
+      description\r
+        "Device.IPsec.Profile.{i}.IKEv2SAExpiryAction";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.IKEv2SAExpiryAction";\r
+    }\r
+    leaf child-sa-traffic-limit {\r
+      type uint64;\r
+      description\r
+        "Device.IPsec.Profile.{i}.ChildSATrafficLimit";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.ChildSATrafficLimit";\r
+    }\r
+    leaf child-sa-time-limit {\r
+      type uint32;\r
+      description\r
+        "Device.IPsec.Profile.{i}.ChildSATimeLimit";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.ChildSATimeLimit";\r
+    }\r
+    leaf child-sa-expiry-action {\r
+      type enumeration {\r
+        enum Renegotiate {\r
+          description\r
+            "Enum Value - Renegotiate";\r
+        }\r
+        enum Delete {\r
+          description\r
+            "Enum Value - Delete";\r
+        }\r
+      }\r
+      description\r
+        "Device.IPsec.Profile.{i}.ChildSAExpiryAction";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.ChildSAExpiryAction";\r
+    }\r
+    leaf sent-cp-attr-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Profile.{i}.SentCPAttrNumberOfEntries";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.SentCPAttrNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping profile-sent-cp-attr-g {\r
+    description\r
+      "Grouping object for Device.IPsec.Profile.{i}.SentCPAttr.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Enable";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Alias";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Alias";\r
+    }\r
+    leaf type {\r
+      type uint32 {\r
+        range "0..32767";\r
+      }\r
+      description\r
+        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Type";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Type";\r
+    }\r
+    leaf value {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Value";\r
+      reference\r
+        "Device.IPsec.Profile.{i}.SentCPAttr.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping i-psec-stats-g {\r
+    description\r
+      "Grouping object for Device.IPsec.Stats.";\r
+    leaf negotiation-failures {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.NegotiationFailures";\r
+      reference\r
+        "Device.IPsec.Stats.NegotiationFailures";\r
+    }\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.BytesSent";\r
+      reference\r
+        "Device.IPsec.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.BytesReceived";\r
+      reference\r
+        "Device.IPsec.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.PacketsSent";\r
+      reference\r
+        "Device.IPsec.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.PacketsReceived";\r
+      reference\r
+        "Device.IPsec.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.ErrorsSent";\r
+      reference\r
+        "Device.IPsec.Stats.ErrorsSent";\r
+    }\r
+    leaf unknown-spi-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.UnknownSPIErrors";\r
+      reference\r
+        "Device.IPsec.Stats.UnknownSPIErrors";\r
+    }\r
+    leaf decryption-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.DecryptionErrors";\r
+      reference\r
+        "Device.IPsec.Stats.DecryptionErrors";\r
+    }\r
+    leaf integrity-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.IntegrityErrors";\r
+      reference\r
+        "Device.IPsec.Stats.IntegrityErrors";\r
+    }\r
+    leaf replay-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.ReplayErrors";\r
+      reference\r
+        "Device.IPsec.Stats.ReplayErrors";\r
+    }\r
+    leaf policy-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.PolicyErrors";\r
+      reference\r
+        "Device.IPsec.Stats.PolicyErrors";\r
+    }\r
+    leaf other-receive-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Stats.OtherReceiveErrors";\r
+      reference\r
+        "Device.IPsec.Stats.OtherReceiveErrors";\r
+    }\r
+  }\r
+\r
+  grouping i-psec-tunnel-g {\r
+    description\r
+      "Grouping object for Device.IPsec.Tunnel.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IPsec.Tunnel.{i}.Alias";\r
+      reference\r
+        "Device.IPsec.Tunnel.{i}.Alias";\r
+    }\r
+    leaf tunnel-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Tunnel.{i}.TunnelInterface";\r
+      reference\r
+        "Device.IPsec.Tunnel.{i}.TunnelInterface";\r
+    }\r
+    leaf tunneled-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Tunnel.{i}.TunneledInterface";\r
+      reference\r
+        "Device.IPsec.Tunnel.{i}.TunneledInterface";\r
+    }\r
+    leaf filters {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Tunnel.{i}.Filters";\r
+      reference\r
+        "Device.IPsec.Tunnel.{i}.Filters";\r
+    }\r
+  }\r
+\r
+  grouping i-psec-tunnel-stats-g {\r
+    description\r
+      "Grouping object for Device.IPsec.Tunnel.{i}.Stats.";\r
+    leaf decryption-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Tunnel.{i}.Stats.DecryptionErrors";\r
+      reference\r
+        "Device.IPsec.Tunnel.{i}.Stats.DecryptionErrors";\r
+    }\r
+    leaf integrity-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Tunnel.{i}.Stats.IntegrityErrors";\r
+      reference\r
+        "Device.IPsec.Tunnel.{i}.Stats.IntegrityErrors";\r
+    }\r
+    leaf replay-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Tunnel.{i}.Stats.ReplayErrors";\r
+      reference\r
+        "Device.IPsec.Tunnel.{i}.Stats.ReplayErrors";\r
+    }\r
+    leaf policy-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Tunnel.{i}.Stats.PolicyErrors";\r
+      reference\r
+        "Device.IPsec.Tunnel.{i}.Stats.PolicyErrors";\r
+    }\r
+    leaf other-receive-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPsec.Tunnel.{i}.Stats.OtherReceiveErrors";\r
+      reference\r
+        "Device.IPsec.Tunnel.{i}.Stats.OtherReceiveErrors";\r
+    }\r
+  }\r
+\r
+  grouping device-ipv6rd-g {\r
+    description\r
+      "Grouping object for Device.IPv6rd.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IPv6rd.Enable";\r
+      reference\r
+        "Device.IPv6rd.Enable";\r
+    }\r
+    leaf interface-setting-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.IPv6rd.InterfaceSettingNumberOfEntries";\r
+      reference\r
+        "Device.IPv6rd.InterfaceSettingNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping ipv6rd-interface-setting-g {\r
+    description\r
+      "Grouping object for Device.IPv6rd.InterfaceSetting.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.IPv6rd.InterfaceSetting.{i}.Enable";\r
+      reference\r
+        "Device.IPv6rd.InterfaceSetting.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPv6rd.InterfaceSetting.{i}.Status";\r
+      reference\r
+        "Device.IPv6rd.InterfaceSetting.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.IPv6rd.InterfaceSetting.{i}.Alias";\r
+      reference\r
+        "Device.IPv6rd.InterfaceSetting.{i}.Alias";\r
+    }\r
+    leaf border-relay-ipv4-addresses {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.IPv6rd.InterfaceSetting.{i}.BorderRelayIPv4Addresses";\r
+      reference\r
+        "Device.IPv6rd.InterfaceSetting.{i}.BorderRelayIPv4Addresses";\r
+    }\r
+    leaf all-traffic-to-border-relay {\r
+      type boolean;\r
+      description\r
+        "Device.IPv6rd.InterfaceSetting.{i}.AllTrafficToBorderRelay";\r
+      reference\r
+        "Device.IPv6rd.InterfaceSetting.{i}.AllTrafficToBorderRelay";\r
+    }\r
+    leaf spipv6-prefix {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.IPv6rd.InterfaceSetting.{i}.SPIPv6Prefix";\r
+      reference\r
+        "Device.IPv6rd.InterfaceSetting.{i}.SPIPv6Prefix";\r
+    }\r
+    leaf ipv4-mask-length {\r
+      type uint32 {\r
+        range "0..32";\r
+      }\r
+      description\r
+        "Device.IPv6rd.InterfaceSetting.{i}.IPv4MaskLength";\r
+      reference\r
+        "Device.IPv6rd.InterfaceSetting.{i}.IPv4MaskLength";\r
+    }\r
+    leaf address-source {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.IPv6rd.InterfaceSetting.{i}.AddressSource";\r
+      reference\r
+        "Device.IPv6rd.InterfaceSetting.{i}.AddressSource";\r
+    }\r
+    leaf tunnel-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPv6rd.InterfaceSetting.{i}.TunnelInterface";\r
+      reference\r
+        "Device.IPv6rd.InterfaceSetting.{i}.TunnelInterface";\r
+    }\r
+    leaf tunneled-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.IPv6rd.InterfaceSetting.{i}.TunneledInterface";\r
+      reference\r
+        "Device.IPv6rd.InterfaceSetting.{i}.TunneledInterface";\r
+    }\r
+  }\r
+\r
+  grouping device-interface-stack-g {\r
+    description\r
+      "Grouping object for Device.InterfaceStack.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.InterfaceStack.{i}.Alias";\r
+      reference\r
+        "Device.InterfaceStack.{i}.Alias";\r
+    }\r
+    leaf higher-layer {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.InterfaceStack.{i}.HigherLayer";\r
+      reference\r
+        "Device.InterfaceStack.{i}.HigherLayer";\r
+    }\r
+    leaf lower-layer {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.InterfaceStack.{i}.LowerLayer";\r
+      reference\r
+        "Device.InterfaceStack.{i}.LowerLayer";\r
+    }\r
+    leaf higher-alias {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.InterfaceStack.{i}.HigherAlias";\r
+      reference\r
+        "Device.InterfaceStack.{i}.HigherAlias";\r
+    }\r
+    leaf lower-alias {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.InterfaceStack.{i}.LowerAlias";\r
+      reference\r
+        "Device.InterfaceStack.{i}.LowerAlias";\r
+    }\r
+  }\r
+\r
+  grouping device-l2-tpv3-g {\r
+    description\r
+      "Grouping object for Device.L2TPv3.";\r
+    leaf tunnel-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.TunnelNumberOfEntries";\r
+      reference\r
+        "Device.L2TPv3.TunnelNumberOfEntries";\r
+    }\r
+    leaf filter-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.FilterNumberOfEntries";\r
+      reference\r
+        "Device.L2TPv3.FilterNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping l2-tpv3-filter-g {\r
+    description\r
+      "Grouping object for Device.L2TPv3.Filter.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.L2TPv3.Filter.{i}.Enable";\r
+      reference\r
+        "Device.L2TPv3.Filter.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Filter.{i}.Status";\r
+      reference\r
+        "Device.L2TPv3.Filter.{i}.Status";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Filter.{i}.Order";\r
+      reference\r
+        "Device.L2TPv3.Filter.{i}.Order";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Filter.{i}.Alias";\r
+      reference\r
+        "Device.L2TPv3.Filter.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Filter.{i}.Interface";\r
+      reference\r
+        "Device.L2TPv3.Filter.{i}.Interface";\r
+    }\r
+    leaf all-interfaces {\r
+      type boolean;\r
+      description\r
+        "Device.L2TPv3.Filter.{i}.AllInterfaces";\r
+      reference\r
+        "Device.L2TPv3.Filter.{i}.AllInterfaces";\r
+    }\r
+    leaf vlanid-check {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Filter.{i}.VLANIDCheck";\r
+      reference\r
+        "Device.L2TPv3.Filter.{i}.VLANIDCheck";\r
+    }\r
+    leaf vlanid-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.L2TPv3.Filter.{i}.VLANIDExclude";\r
+      reference\r
+        "Device.L2TPv3.Filter.{i}.VLANIDExclude";\r
+    }\r
+    leaf dscp-mark-policy {\r
+      type int32 {\r
+        range "-2..63";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Filter.{i}.DSCPMarkPolicy";\r
+      reference\r
+        "Device.L2TPv3.Filter.{i}.DSCPMarkPolicy";\r
+    }\r
+  }\r
+\r
+  grouping l2-tpv3-tunnel-g {\r
+    description\r
+      "Grouping object for Device.L2TPv3.Tunnel.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Enable";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Status";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Alias";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Alias";\r
+    }\r
+    leaf remote-endpoints {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.RemoteEndpoints";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.RemoteEndpoints";\r
+    }\r
+    leaf keep-alive-policy {\r
+      type enumeration {\r
+        enum ICMP {\r
+          description\r
+            "Enum Value - ICMP";\r
+        }\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+      }\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.KeepAlivePolicy";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.KeepAlivePolicy";\r
+    }\r
+    leaf keep-alive-timeout {\r
+      type uint32;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.KeepAliveTimeout";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.KeepAliveTimeout";\r
+    }\r
+    leaf keep-alive-threshold {\r
+      type uint32;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.KeepAliveThreshold";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.KeepAliveThreshold";\r
+    }\r
+    leaf delivery-header-protocol {\r
+      type enumeration {\r
+        enum IPv4 {\r
+          description\r
+            "Enum Value - IPv4";\r
+        }\r
+        enum IPv6 {\r
+          description\r
+            "Enum Value - IPv6";\r
+        }\r
+      }\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.DeliveryHeaderProtocol";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.DeliveryHeaderProtocol";\r
+    }\r
+    leaf default-dscp-mark {\r
+      type uint32;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.DefaultDSCPMark";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.DefaultDSCPMark";\r
+    }\r
+    leaf tunnel-encapsulation {\r
+      type enumeration {\r
+        enum IP {\r
+          description\r
+            "Enum Value - IP";\r
+        }\r
+        enum UDP {\r
+          description\r
+            "Enum Value - UDP";\r
+        }\r
+      }\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.TunnelEncapsulation";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.TunnelEncapsulation";\r
+    }\r
+    leaf connected-remote-endpoint {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.ConnectedRemoteEndpoint";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.ConnectedRemoteEndpoint";\r
+    }\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.InterfaceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping l2-tpv3-tunnel-interface-g {\r
+    description\r
+      "Grouping object for Device.L2TPv3.Tunnel.{i}.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Enable";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Status";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Alias";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Name";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf session-id {\r
+      type int32 {\r
+        range "-1 | 1..65535";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.SessionID";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.SessionID";\r
+    }\r
+    leaf cookie-policy {\r
+      type enumeration {\r
+        enum Disabled {\r
+          description\r
+            "Enum Value - Disabled";\r
+        }\r
+        enum Configured {\r
+          description\r
+            "Enum Value - Configured";\r
+        }\r
+        enum Generated {\r
+          description\r
+            "Enum Value - Generated";\r
+        }\r
+      }\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.CookiePolicy";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.CookiePolicy";\r
+    }\r
+    leaf cookie {\r
+      type uint64;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Cookie";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Cookie";\r
+    }\r
+  }\r
+\r
+  grouping l2-tpv3-tunnel-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf discard-checksum-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";\r
+    }\r
+    leaf discard-sequence-number-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";\r
+    }\r
+  }\r
+\r
+  grouping l2-tpv3-tunnel-stats-g {\r
+    description\r
+      "Grouping object for Device.L2TPv3.Tunnel.{i}.Stats.";\r
+    leaf keep-alive-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.KeepAliveSent";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.KeepAliveSent";\r
+    }\r
+    leaf keep-alive-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.KeepAliveReceived";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.KeepAliveReceived";\r
+    }\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.Stats.ErrorsReceived";\r
+    }\r
+  }\r
+\r
+  grouping tunnel-udp-g {\r
+    description\r
+      "Grouping object for Device.L2TPv3.Tunnel.{i}.UDP.";\r
+    leaf source-port {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.UDP.SourcePort";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.UDP.SourcePort";\r
+    }\r
+    leaf remote-port {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.UDP.RemotePort";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.UDP.RemotePort";\r
+    }\r
+    leaf enable-checksum {\r
+      type boolean;\r
+      description\r
+        "Device.L2TPv3.Tunnel.{i}.UDP.EnableChecksum";\r
+      reference\r
+        "Device.L2TPv3.Tunnel.{i}.UDP.EnableChecksum";\r
+    }\r
+  }\r
+\r
+  grouping device-le-ds-g {\r
+    description\r
+      "Grouping object for Device.LEDs.";\r
+    leaf led-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LEDs.LEDNumberOfEntries";\r
+      reference\r
+        "Device.LEDs.LEDNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping le-ds-led-g {\r
+    description\r
+      "Grouping object for Device.LEDs.LED.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LEDs.LED.{i}.Alias";\r
+      reference\r
+        "Device.LEDs.LED.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      description\r
+        "Device.LEDs.LED.{i}.Name";\r
+      reference\r
+        "Device.LEDs.LED.{i}.Name";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LEDs.LED.{i}.Status";\r
+      reference\r
+        "Device.LEDs.LED.{i}.Status";\r
+    }\r
+    leaf reason {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LEDs.LED.{i}.Reason";\r
+      reference\r
+        "Device.LEDs.LED.{i}.Reason";\r
+    }\r
+    leaf cycle-period-repetitions {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.LEDs.LED.{i}.CyclePeriodRepetitions";\r
+      reference\r
+        "Device.LEDs.LED.{i}.CyclePeriodRepetitions";\r
+    }\r
+    leaf location {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LEDs.LED.{i}.Location";\r
+      reference\r
+        "Device.LEDs.LED.{i}.Location";\r
+    }\r
+    leaf relative-x-position {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LEDs.LED.{i}.RelativeXPosition";\r
+      reference\r
+        "Device.LEDs.LED.{i}.RelativeXPosition";\r
+    }\r
+    leaf relative-y-position {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LEDs.LED.{i}.RelativeYPosition";\r
+      reference\r
+        "Device.LEDs.LED.{i}.RelativeYPosition";\r
+    }\r
+    leaf cycle-element-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LEDs.LED.{i}.CycleElementNumberOfEntries";\r
+      reference\r
+        "Device.LEDs.LED.{i}.CycleElementNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping led-current-cycle-element-g {\r
+    description\r
+      "Grouping object for Device.LEDs.LED.{i}.CurrentCycleElement.";\r
+    leaf cycle-element-reference {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LEDs.LED.{i}.CurrentCycleElement.CycleElementReference";\r
+      reference\r
+        "Device.LEDs.LED.{i}.CurrentCycleElement.CycleElementReference";\r
+    }\r
+    leaf color {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LEDs.LED.{i}.CurrentCycleElement.Color";\r
+      reference\r
+        "Device.LEDs.LED.{i}.CurrentCycleElement.Color";\r
+    }\r
+    leaf duration {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LEDs.LED.{i}.CurrentCycleElement.Duration";\r
+      reference\r
+        "Device.LEDs.LED.{i}.CurrentCycleElement.Duration";\r
+    }\r
+  }\r
+\r
+  grouping led-cycle-element-g {\r
+    description\r
+      "Grouping object for Device.LEDs.LED.{i}.CycleElement.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.Alias";\r
+      reference\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.Enable";\r
+      reference\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.Enable";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.Order";\r
+      reference\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.Order";\r
+    }\r
+    leaf color {\r
+      type string {\r
+        length "3";\r
+      }\r
+      description\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.Color";\r
+      reference\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.Color";\r
+    }\r
+    leaf duration {\r
+      type uint32;\r
+      description\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.Duration";\r
+      reference\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.Duration";\r
+    }\r
+    leaf fade-interval {\r
+      type uint32;\r
+      description\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.FadeInterval";\r
+      reference\r
+        "Device.LEDs.LED.{i}.CycleElement.{i}.FadeInterval";\r
+    }\r
+  }\r
+\r
+  grouping lldp-discovery-g {\r
+    description\r
+      "Grouping object for Device.LLDP.Discovery.";\r
+    leaf device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.DeviceNumberOfEntries";\r
+      reference\r
+        "Device.LLDP.Discovery.DeviceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping discovery-device-g {\r
+    description\r
+      "Grouping object for Device.LLDP.Discovery.Device.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.Interface";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.Interface";\r
+    }\r
+    leaf chassis-id-subtype {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.ChassisIDSubtype";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.ChassisIDSubtype";\r
+    }\r
+    leaf chassis-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.ChassisID";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.ChassisID";\r
+    }\r
+    leaf host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.Host";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.Host";\r
+    }\r
+    leaf port-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.PortNumberOfEntries";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.PortNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping device-device-information-g {\r
+    description\r
+      "Grouping object for Device.LLDP.Discovery.Device.{i}.DeviceInformation.";\r
+    leaf device-category {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.DeviceCategory";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.DeviceCategory";\r
+    }\r
+    leaf manufacturer-oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ManufacturerOUI";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ManufacturerOUI";\r
+    }\r
+    leaf model-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ModelName";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ModelName";\r
+    }\r
+    leaf model-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ModelNumber";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.ModelNumber";\r
+    }\r
+    leaf vendor-specific-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecificNumberOfEntries";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecificNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping device-information-vendor-specific-g {\r
+    description\r
+      "Grouping object for Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf organization-code {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.OrganizationCode";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.OrganizationCode";\r
+    }\r
+    leaf information-type {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.InformationType";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.InformationType";\r
+    }\r
+    leaf information {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.Information";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.Information";\r
+    }\r
+  }\r
+\r
+  grouping device-port-g {\r
+    description\r
+      "Grouping object for Device.LLDP.Discovery.Device.{i}.Port.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf port-id-subtype {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortIDSubtype";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortIDSubtype";\r
+    }\r
+    leaf port-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortID";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortID";\r
+    }\r
+    leaf ttl {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.TTL";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.TTL";\r
+    }\r
+    leaf port-description {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortDescription";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.PortDescription";\r
+    }\r
+    leaf mac-address-list {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.MACAddressList";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.MACAddressList";\r
+    }\r
+    leaf last-update {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LastUpdate";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LastUpdate";\r
+    }\r
+  }\r
+\r
+  grouping port-link-information-g {\r
+    description\r
+      "Grouping object for Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.";\r
+    leaf interface-type {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.InterfaceType";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.InterfaceType";\r
+    }\r
+    leaf mac-forwarding-table {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.MACForwardingTable";\r
+      reference\r
+        "Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.MACForwardingTable";\r
+    }\r
+  }\r
+\r
+  grouping device-lmap-g {\r
+    description\r
+      "Grouping object for Device.LMAP.";\r
+    leaf measurement-agent-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgentNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgentNumberOfEntries";\r
+    }\r
+    leaf report-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.ReportNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.ReportNumberOfEntries";\r
+    }\r
+    leaf event-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.EventNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.EventNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping lmap-event-g {\r
+    description\r
+      "Grouping object for Device.LMAP.Event.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.Event.{i}.Enable";\r
+      reference\r
+        "Device.LMAP.Event.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LMAP.Event.{i}.Alias";\r
+      reference\r
+        "Device.LMAP.Event.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.LMAP.Event.{i}.Name";\r
+      reference\r
+        "Device.LMAP.Event.{i}.Name";\r
+    }\r
+    leaf type {\r
+      type enumeration {\r
+        enum PeriodicTiming {\r
+          description\r
+            "Enum Value - PeriodicTiming";\r
+        }\r
+        enum CalendarTiming {\r
+          description\r
+            "Enum Value - CalendarTiming";\r
+        }\r
+        enum OneOffTiming {\r
+          description\r
+            "Enum Value - OneOffTiming";\r
+        }\r
+        enum Immediate {\r
+          description\r
+            "Enum Value - Immediate";\r
+        }\r
+        enum Startup {\r
+          description\r
+            "Enum Value - Startup";\r
+        }\r
+        enum ControllerLost {\r
+          description\r
+            "Enum Value - ControllerLost";\r
+        }\r
+        enum ControllerConnected {\r
+          description\r
+            "Enum Value - ControllerConnected";\r
+        }\r
+      }\r
+      description\r
+        "Device.LMAP.Event.{i}.Type";\r
+      reference\r
+        "Device.LMAP.Event.{i}.Type";\r
+    }\r
+    leaf randomness-spread {\r
+      type int32;\r
+      description\r
+        "Device.LMAP.Event.{i}.RandomnessSpread";\r
+      reference\r
+        "Device.LMAP.Event.{i}.RandomnessSpread";\r
+    }\r
+    leaf cycle-interval {\r
+      type int32;\r
+      description\r
+        "Device.LMAP.Event.{i}.CycleInterval";\r
+      reference\r
+        "Device.LMAP.Event.{i}.CycleInterval";\r
+    }\r
+  }\r
+\r
+  grouping event-calendar-timer-g {\r
+    description\r
+      "Grouping object for Device.LMAP.Event.{i}.CalendarTimer.";\r
+    leaf start-time {\r
+      type string;\r
+      description\r
+        "Device.LMAP.Event.{i}.CalendarTimer.StartTime";\r
+      reference\r
+        "Device.LMAP.Event.{i}.CalendarTimer.StartTime";\r
+    }\r
+    leaf end-time {\r
+      type string;\r
+      description\r
+        "Device.LMAP.Event.{i}.CalendarTimer.EndTime";\r
+      reference\r
+        "Device.LMAP.Event.{i}.CalendarTimer.EndTime";\r
+    }\r
+    leaf schedule-months {\r
+      type string;\r
+      description\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleMonths";\r
+      reference\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleMonths";\r
+    }\r
+    leaf schedule-days-of-month {\r
+      type string;\r
+      description\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleDaysOfMonth";\r
+      reference\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleDaysOfMonth";\r
+    }\r
+    leaf schedule-days-of-week {\r
+      type string;\r
+      description\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleDaysOfWeek";\r
+      reference\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleDaysOfWeek";\r
+    }\r
+    leaf schedule-hours-of-day {\r
+      type string;\r
+      description\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleHoursOfDay";\r
+      reference\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleHoursOfDay";\r
+    }\r
+    leaf schedule-minutes-of-hour {\r
+      type string;\r
+      description\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleMinutesOfHour";\r
+      reference\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleMinutesOfHour";\r
+    }\r
+    leaf schedule-seconds-of-minute {\r
+      type string;\r
+      description\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleSecondsOfMinute";\r
+      reference\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleSecondsOfMinute";\r
+    }\r
+    leaf enable-schedule-timezone-offset {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.Event.{i}.CalendarTimer.EnableScheduleTimezoneOffset";\r
+      reference\r
+        "Device.LMAP.Event.{i}.CalendarTimer.EnableScheduleTimezoneOffset";\r
+    }\r
+    leaf schedule-timezone-offset {\r
+      type int32 {\r
+        range "-23..23";\r
+      }\r
+      description\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleTimezoneOffset";\r
+      reference\r
+        "Device.LMAP.Event.{i}.CalendarTimer.ScheduleTimezoneOffset";\r
+    }\r
+  }\r
+\r
+  grouping event-one-off-g {\r
+    description\r
+      "Grouping object for Device.LMAP.Event.{i}.OneOff.";\r
+    leaf start-time {\r
+      type string;\r
+      description\r
+        "Device.LMAP.Event.{i}.OneOff.StartTime";\r
+      reference\r
+        "Device.LMAP.Event.{i}.OneOff.StartTime";\r
+    }\r
+  }\r
+\r
+  grouping event-periodic-timer-g {\r
+    description\r
+      "Grouping object for Device.LMAP.Event.{i}.PeriodicTimer.";\r
+    leaf start-time {\r
+      type string;\r
+      description\r
+        "Device.LMAP.Event.{i}.PeriodicTimer.StartTime";\r
+      reference\r
+        "Device.LMAP.Event.{i}.PeriodicTimer.StartTime";\r
+    }\r
+    leaf end-time {\r
+      type string;\r
+      description\r
+        "Device.LMAP.Event.{i}.PeriodicTimer.EndTime";\r
+      reference\r
+        "Device.LMAP.Event.{i}.PeriodicTimer.EndTime";\r
+    }\r
+    leaf interval {\r
+      type uint32;\r
+      description\r
+        "Device.LMAP.Event.{i}.PeriodicTimer.Interval";\r
+      reference\r
+        "Device.LMAP.Event.{i}.PeriodicTimer.Interval";\r
+    }\r
+  }\r
+\r
+  grouping lmap-measurement-agent-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Alias";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Enable";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Enable";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Version";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Version";\r
+    }\r
+    leaf last-started {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.LastStarted";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.LastStarted";\r
+    }\r
+    leaf capability-tags {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.CapabilityTags";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.CapabilityTags";\r
+    }\r
+    leaf identifier {\r
+      type string {\r
+        length "min..36";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Identifier";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Identifier";\r
+    }\r
+    leaf group-identifier {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.GroupIdentifier";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.GroupIdentifier";\r
+    }\r
+    leaf measurement-point {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.MeasurementPoint";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.MeasurementPoint";\r
+    }\r
+    leaf use-agent-identifier-in-reports {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.UseAgentIdentifierInReports";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.UseAgentIdentifierInReports";\r
+    }\r
+    leaf use-group-identifier-in-reports {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.UseGroupIdentifierInReports";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.UseGroupIdentifierInReports";\r
+    }\r
+    leaf use-measurement-point-in-reports {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.UseMeasurementPointInReports";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.UseMeasurementPointInReports";\r
+    }\r
+    leaf public-credential {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.PublicCredential";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.PublicCredential";\r
+    }\r
+    leaf private-credential {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.PrivateCredential";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.PrivateCredential";\r
+    }\r
+    leaf event-log {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.EventLog";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.EventLog";\r
+    }\r
+    leaf task-capability-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapabilityNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapabilityNumberOfEntries";\r
+    }\r
+    leaf schedule-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.ScheduleNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.ScheduleNumberOfEntries";\r
+    }\r
+    leaf task-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskNumberOfEntries";\r
+    }\r
+    leaf communication-channel-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannelNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannelNumberOfEntries";\r
+    }\r
+    leaf instruction-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.InstructionNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.InstructionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping measurement-agent-communication-channel-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Enable";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Alias";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Name";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Name";\r
+    }\r
+    leaf use-bulk-data-profile {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.UseBulkDataProfile";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.UseBulkDataProfile";\r
+    }\r
+    leaf bulk-data-profile {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.BulkDataProfile";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.BulkDataProfile";\r
+    }\r
+    leaf target {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Target";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Target";\r
+    }\r
+    leaf target-public-credential {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.TargetPublicCredential";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.TargetPublicCredential";\r
+    }\r
+    leaf interface {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Interface";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.Interface";\r
+    }\r
+  }\r
+\r
+  grouping measurement-agent-controller-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Controller.";\r
+    leaf controller-timeout {\r
+      type int32 {\r
+        range "0..max";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Controller.ControllerTimeout";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Controller.ControllerTimeout";\r
+    }\r
+    leaf control-schedules {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlSchedules";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlSchedules";\r
+    }\r
+    leaf control-tasks {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlTasks";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlTasks";\r
+    }\r
+    leaf control-channels {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlChannels";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Controller.ControlChannels";\r
+    }\r
+  }\r
+\r
+  grouping measurement-agent-instruction-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.Enable";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.Alias";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.Alias";\r
+    }\r
+    leaf last-change {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.LastChange";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.LastChange";\r
+    }\r
+    leaf instruction-schedules {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.InstructionSchedules";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.InstructionSchedules";\r
+    }\r
+    leaf instruction-tasks {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.InstructionTasks";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.InstructionTasks";\r
+    }\r
+    leaf report-channels {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.ReportChannels";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.ReportChannels";\r
+    }\r
+    leaf measurement-suppression-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppressionNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppressionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping instruction-measurement-suppression-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Enable";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Alias";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Name";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Name";\r
+    }\r
+    leaf state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.State";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.State";\r
+    }\r
+    leaf stop-running {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.StopRunning";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.StopRunning";\r
+    }\r
+    leaf start {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Start";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.Start";\r
+    }\r
+    leaf end {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.End";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.End";\r
+    }\r
+    leaf suppression-match {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.SuppressionMatch";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.SuppressionMatch";\r
+    }\r
+  }\r
+\r
+  grouping measurement-agent-schedule-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Enable";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Alias";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Name";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Name";\r
+    }\r
+    leaf state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.State";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.State";\r
+    }\r
+    leaf start {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Start";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Start";\r
+    }\r
+    leaf end {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.End";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.End";\r
+    }\r
+    leaf duration {\r
+      type uint32;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Duration";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Duration";\r
+    }\r
+    leaf tags {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Tags";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Tags";\r
+    }\r
+    leaf suppression-tags {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.SuppressionTags";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.SuppressionTags";\r
+    }\r
+    leaf execution-mode {\r
+      type enumeration {\r
+        enum Sequential {\r
+          description\r
+            "Enum Value - Sequential";\r
+        }\r
+        enum Parallel {\r
+          description\r
+            "Enum Value - Parallel";\r
+        }\r
+        enum Pipelined {\r
+          description\r
+            "Enum Value - Pipelined";\r
+        }\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.ExecutionMode";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.ExecutionMode";\r
+    }\r
+    leaf last-invocation {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.LastInvocation";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.LastInvocation";\r
+    }\r
+    leaf storage {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Storage";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Storage";\r
+    }\r
+    leaf action-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.ActionNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.ActionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping schedule-action-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Enable";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Alias";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Alias";\r
+    }\r
+    leaf state {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.State";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.State";\r
+    }\r
+    leaf order {\r
+      type uint32;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Order";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Order";\r
+    }\r
+    leaf task {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Task";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Task";\r
+    }\r
+    leaf output-destination {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.OutputDestination";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.OutputDestination";\r
+    }\r
+    leaf suppression-tags {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.SuppressionTags";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.SuppressionTags";\r
+    }\r
+    leaf tags {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Tags";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Tags";\r
+    }\r
+    leaf storage {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Storage";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Storage";\r
+    }\r
+    leaf last-invocation {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastInvocation";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastInvocation";\r
+    }\r
+    leaf last-successful-completion {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulCompletion";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulCompletion";\r
+    }\r
+    leaf last-successful-status-code {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulStatusCode";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulStatusCode";\r
+    }\r
+    leaf last-successful-message {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulMessage";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastSuccessfulMessage";\r
+    }\r
+    leaf last-failed-completion {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedCompletion";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedCompletion";\r
+    }\r
+    leaf last-failed-status-code {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedStatusCode";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedStatusCode";\r
+    }\r
+    leaf last-failed-message {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedMessage";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.LastFailedMessage";\r
+    }\r
+    leaf option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.OptionNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.OptionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping action-option-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Enable";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Alias";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Alias";\r
+    }\r
+    leaf order {\r
+      type uint32;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Order";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Order";\r
+    }\r
+    leaf name {\r
+      type int32;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Name";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Name";\r
+    }\r
+    leaf value {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Value";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping action-stats-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.";\r
+    leaf invocations {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Invocations";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Invocations";\r
+    }\r
+    leaf suppressions {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Suppressions";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Suppressions";\r
+    }\r
+    leaf overlaps {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Overlaps";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Overlaps";\r
+    }\r
+    leaf failures {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Failures";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.Failures";\r
+    }\r
+  }\r
+\r
+  grouping schedule-stats-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.";\r
+    leaf invocations {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Invocations";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Invocations";\r
+    }\r
+    leaf suppressions {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Suppressions";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Suppressions";\r
+    }\r
+    leaf overlaps {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Overlaps";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Overlaps";\r
+    }\r
+    leaf failures {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Failures";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.Failures";\r
+    }\r
+  }\r
+\r
+  grouping measurement-agent-task-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Task.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Enable";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Alias";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Name";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Name";\r
+    }\r
+    leaf tags {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Tags";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Tags";\r
+    }\r
+    leaf option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.OptionNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.OptionNumberOfEntries";\r
+    }\r
+    leaf registry-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.RegistryNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.RegistryNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping task-option-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Enable";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Alias";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Alias";\r
+    }\r
+    leaf order {\r
+      type uint32;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Order";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Order";\r
+    }\r
+    leaf name {\r
+      type int32;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Name";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Name";\r
+    }\r
+    leaf value {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Value";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping task-registry-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Enable";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Alias";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Alias";\r
+    }\r
+    leaf registry-entry {\r
+      type string;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.RegistryEntry";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.RegistryEntry";\r
+    }\r
+    leaf roles {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Roles";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.Roles";\r
+    }\r
+  }\r
+\r
+  grouping measurement-agent-task-capability-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Name";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Name";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Version";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Version";\r
+    }\r
+    leaf task-capability-registry-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.TaskCapabilityRegistryNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.TaskCapabilityRegistryNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping task-capability-registry-g {\r
+    description\r
+      "Grouping object for Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf registry-entry {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.RegistryEntry";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.RegistryEntry";\r
+    }\r
+    leaf roles {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.Roles";\r
+      reference\r
+        "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.Roles";\r
+    }\r
+  }\r
+\r
+  grouping lmap-report-g {\r
+    description\r
+      "Grouping object for Device.LMAP.Report.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf report-date {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.ReportDate";\r
+      reference\r
+        "Device.LMAP.Report.{i}.ReportDate";\r
+    }\r
+    leaf agent-identifier {\r
+      type string {\r
+        length "min..36";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.AgentIdentifier";\r
+      reference\r
+        "Device.LMAP.Report.{i}.AgentIdentifier";\r
+    }\r
+    leaf group-identifier {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.GroupIdentifier";\r
+      reference\r
+        "Device.LMAP.Report.{i}.GroupIdentifier";\r
+    }\r
+    leaf measurement-point {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.MeasurementPoint";\r
+      reference\r
+        "Device.LMAP.Report.{i}.MeasurementPoint";\r
+    }\r
+    leaf result-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.ResultNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.Report.{i}.ResultNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping report-result-g {\r
+    description\r
+      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf task-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.TaskName";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.TaskName";\r
+    }\r
+    leaf schedule-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.ScheduleName";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.ScheduleName";\r
+    }\r
+    leaf action-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.ActionName";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.ActionName";\r
+    }\r
+    leaf event-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.EventTime";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.EventTime";\r
+    }\r
+    leaf start-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.StartTime";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.StartTime";\r
+    }\r
+    leaf end-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.EndTime";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.EndTime";\r
+    }\r
+    leaf cycle-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.CycleNumber";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.CycleNumber";\r
+    }\r
+    leaf status {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.Status";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.Status";\r
+    }\r
+    leaf tags {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.Tags";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.Tags";\r
+    }\r
+    leaf option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.OptionNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.OptionNumberOfEntries";\r
+    }\r
+    leaf result-conflict-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.ResultConflictNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.ResultConflictNumberOfEntries";\r
+    }\r
+    leaf result-report-table-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.ResultReportTableNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.ResultReportTableNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping result-conflict-g {\r
+    description\r
+      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf task-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.TaskName";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.TaskName";\r
+    }\r
+    leaf schedule-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.ScheduleName";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.ScheduleName";\r
+    }\r
+    leaf action-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.ActionName";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.ActionName";\r
+    }\r
+  }\r
+\r
+  grouping result-option-g {\r
+    description\r
+      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.Option.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf order {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Order";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Order";\r
+    }\r
+    leaf name {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Name";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Name";\r
+    }\r
+    leaf value {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Value";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping result-report-table-g {\r
+    description\r
+      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf column-labels {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ColumnLabels";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ColumnLabels";\r
+    }\r
+    leaf result-report-row-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultReportRowNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultReportRowNumberOfEntries";\r
+    }\r
+    leaf registry-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.RegistryNumberOfEntries";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.RegistryNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping report-table-registry-g {\r
+    description\r
+      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf registry-entry {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.RegistryEntry";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.RegistryEntry";\r
+    }\r
+    leaf roles {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.Roles";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.Roles";\r
+    }\r
+  }\r
+\r
+  grouping report-table-result-row-g {\r
+    description\r
+      "Grouping object for Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf values {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.Values";\r
+      reference\r
+        "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.Values";\r
+    }\r
+  }\r
+\r
+  grouping device-map-g {\r
+    description\r
+      "Grouping object for Device.MAP.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.MAP.Enable";\r
+      reference\r
+        "Device.MAP.Enable";\r
+    }\r
+    leaf domain-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MAP.DomainNumberOfEntries";\r
+      reference\r
+        "Device.MAP.DomainNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping map-domain-g {\r
+    description\r
+      "Grouping object for Device.MAP.Domain.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.MAP.Domain.{i}.Enable";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Status";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.Alias";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Alias";\r
+    }\r
+    leaf transport-mode {\r
+      type enumeration {\r
+        enum Encapsulation {\r
+          description\r
+            "Enum Value - Encapsulation";\r
+        }\r
+        enum Translation {\r
+          description\r
+            "Enum Value - Translation";\r
+        }\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.TransportMode";\r
+      reference\r
+        "Device.MAP.Domain.{i}.TransportMode";\r
+    }\r
+    leaf wan-interface {\r
+      type string;\r
+      description\r
+        "Device.MAP.Domain.{i}.WANInterface";\r
+      reference\r
+        "Device.MAP.Domain.{i}.WANInterface";\r
+    }\r
+    leaf ipv6-prefix {\r
+      type string;\r
+      description\r
+        "Device.MAP.Domain.{i}.IPv6Prefix";\r
+      reference\r
+        "Device.MAP.Domain.{i}.IPv6Prefix";\r
+    }\r
+    leaf bripv6-prefix {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.BRIPv6Prefix";\r
+      reference\r
+        "Device.MAP.Domain.{i}.BRIPv6Prefix";\r
+    }\r
+    leaf dscp-mark-policy {\r
+      type int32 {\r
+        range "-2..63";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.DSCPMarkPolicy";\r
+      reference\r
+        "Device.MAP.Domain.{i}.DSCPMarkPolicy";\r
+    }\r
+    leaf psid-offset {\r
+      type uint32 {\r
+        range "0..15";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.PSIDOffset";\r
+      reference\r
+        "Device.MAP.Domain.{i}.PSIDOffset";\r
+    }\r
+    leaf psid-length {\r
+      type uint32 {\r
+        range "0..16";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.PSIDLength";\r
+      reference\r
+        "Device.MAP.Domain.{i}.PSIDLength";\r
+    }\r
+    leaf psid {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.PSID";\r
+      reference\r
+        "Device.MAP.Domain.{i}.PSID";\r
+    }\r
+    leaf include-system-ports {\r
+      type boolean;\r
+      description\r
+        "Device.MAP.Domain.{i}.IncludeSystemPorts";\r
+      reference\r
+        "Device.MAP.Domain.{i}.IncludeSystemPorts";\r
+    }\r
+    leaf rule-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.RuleNumberOfEntries";\r
+      reference\r
+        "Device.MAP.Domain.{i}.RuleNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping domain-interface-g {\r
+    description\r
+      "Grouping object for Device.MAP.Domain.{i}.Interface.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Enable";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Status";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Alias";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Name";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.LastChange";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.LowerLayers";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.LowerLayers";\r
+    }\r
+  }\r
+\r
+  grouping domain-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.MAP.Domain.{i}.Interface.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.BytesSent";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.BytesReceived";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.PacketsSent";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.PacketsReceived";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.ErrorsSent";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Interface.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Interface.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping domain-rule-g {\r
+    description\r
+      "Grouping object for Device.MAP.Domain.{i}.Rule.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.MAP.Domain.{i}.Rule.{i}.Enable";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Rule.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Rule.{i}.Status";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Rule.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.Rule.{i}.Alias";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Rule.{i}.Alias";\r
+    }\r
+    leaf origin {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MAP.Domain.{i}.Rule.{i}.Origin";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Rule.{i}.Origin";\r
+    }\r
+    leaf ipv6-prefix {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.Rule.{i}.IPv6Prefix";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Rule.{i}.IPv6Prefix";\r
+    }\r
+    leaf ipv4-prefix {\r
+      type string {\r
+        length "min..18";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.Rule.{i}.IPv4Prefix";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Rule.{i}.IPv4Prefix";\r
+    }\r
+    leaf ea-bits-length {\r
+      type uint32 {\r
+        range "0..48";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.Rule.{i}.EABitsLength";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Rule.{i}.EABitsLength";\r
+    }\r
+    leaf is-fmr {\r
+      type boolean;\r
+      description\r
+        "Device.MAP.Domain.{i}.Rule.{i}.IsFMR";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Rule.{i}.IsFMR";\r
+    }\r
+    leaf psid-offset {\r
+      type uint32 {\r
+        range "0..15";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.Rule.{i}.PSIDOffset";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Rule.{i}.PSIDOffset";\r
+    }\r
+    leaf psid-length {\r
+      type uint32 {\r
+        range "0..16";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.Rule.{i}.PSIDLength";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Rule.{i}.PSIDLength";\r
+    }\r
+    leaf psid {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.MAP.Domain.{i}.Rule.{i}.PSID";\r
+      reference\r
+        "Device.MAP.Domain.{i}.Rule.{i}.PSID";\r
+    }\r
+  }\r
+\r
+  grouping device-mqtt-g {\r
+    description\r
+      "Grouping object for Device.MQTT.";\r
+    leaf client-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.ClientNumberOfEntries";\r
+      reference\r
+        "Device.MQTT.ClientNumberOfEntries";\r
+    }\r
+    leaf broker-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.BrokerNumberOfEntries";\r
+      reference\r
+        "Device.MQTT.BrokerNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping mqtt-broker-g {\r
+    description\r
+      "Grouping object for Device.MQTT.Broker.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Alias";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Name";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Name";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Enable";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Status";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Status";\r
+    }\r
+    leaf port {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Port";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Port";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Interface";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Interface";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Username";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Username";\r
+    }\r
+    leaf bridge-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.BridgeNumberOfEntries";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.BridgeNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping broker-bridge-g {\r
+    description\r
+      "Grouping object for Device.MQTT.Broker.{i}.Bridge.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Alias";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Name";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Name";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Enable";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Status";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Status";\r
+    }\r
+    leaf client-id {\r
+      type string {\r
+        length "1..23";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ClientID";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ClientID";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Username";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Username";\r
+    }\r
+    leaf transport-protocol {\r
+      type string;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.TransportProtocol";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.TransportProtocol";\r
+    }\r
+    leaf protocol-version {\r
+      type string;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ProtocolVersion";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ProtocolVersion";\r
+    }\r
+    leaf clean-session {\r
+      type boolean;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.CleanSession";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.CleanSession";\r
+    }\r
+    leaf message-retry-time {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.MessageRetryTime";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.MessageRetryTime";\r
+    }\r
+    leaf connect-retry-time {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ConnectRetryTime";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ConnectRetryTime";\r
+    }\r
+    leaf keep-alive-time {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.KeepAliveTime";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.KeepAliveTime";\r
+    }\r
+    leaf server-selection-algorithm {\r
+      type enumeration {\r
+        enum Priority {\r
+          description\r
+            "Enum Value - Priority";\r
+        }\r
+        enum RoundRobin {\r
+          description\r
+            "Enum Value - RoundRobin";\r
+        }\r
+        enum Random {\r
+          description\r
+            "Enum Value - Random";\r
+        }\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerSelectionAlgorithm";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerSelectionAlgorithm";\r
+    }\r
+    leaf server-connection {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerConnection";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerConnection";\r
+    }\r
+    leaf server-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerNumberOfEntries";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.ServerNumberOfEntries";\r
+    }\r
+    leaf subscription-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.SubscriptionNumberOfEntries";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.SubscriptionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping bridge-server-g {\r
+    description\r
+      "Grouping object for Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Enable";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Alias";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Alias";\r
+    }\r
+    leaf priority {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Priority";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Priority";\r
+    }\r
+    leaf weight {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Weight";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Weight";\r
+    }\r
+    leaf address {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Address";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Address";\r
+    }\r
+    leaf port {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Port";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.Port";\r
+    }\r
+  }\r
+\r
+  grouping bridge-subscription-g {\r
+    description\r
+      "Grouping object for Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Alias";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Enable";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Status";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Status";\r
+    }\r
+    leaf topic {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Topic";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Topic";\r
+    }\r
+    leaf direction {\r
+      type enumeration {\r
+        enum out {\r
+          description\r
+            "Enum Value - out";\r
+        }\r
+        enum in {\r
+          description\r
+            "Enum Value - in";\r
+        }\r
+        enum both {\r
+          description\r
+            "Enum Value - both";\r
+        }\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Direction";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.Direction";\r
+    }\r
+    leaf qo-s {\r
+      type uint32 {\r
+        range "0..2";\r
+      }\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.QoS";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.QoS";\r
+    }\r
+    leaf local-prefix {\r
+      type string;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.LocalPrefix";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.LocalPrefix";\r
+    }\r
+    leaf remote-prefix {\r
+      type string;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.RemotePrefix";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.RemotePrefix";\r
+    }\r
+  }\r
+\r
+  grouping broker-stats-g {\r
+    description\r
+      "Grouping object for Device.MQTT.Broker.{i}.Stats.";\r
+    leaf total-number-of-clients {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Stats.TotalNumberOfClients";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Stats.TotalNumberOfClients";\r
+    }\r
+    leaf number-of-active-clients {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Stats.NumberOfActiveClients";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Stats.NumberOfActiveClients";\r
+    }\r
+    leaf number-of-inactive-clients {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Stats.NumberOfInactiveClients";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Stats.NumberOfInactiveClients";\r
+    }\r
+    leaf subscriptions {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Stats.Subscriptions";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Stats.Subscriptions";\r
+    }\r
+    leaf publish-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Stats.PublishSent";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Stats.PublishSent";\r
+    }\r
+    leaf publish-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Stats.PublishReceived";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Stats.PublishReceived";\r
+    }\r
+    leaf mqtt-messages-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Stats.MQTTMessagesSent";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Stats.MQTTMessagesSent";\r
+    }\r
+    leaf mqtt-messages-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Stats.MQTTMessagesReceived";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Stats.MQTTMessagesReceived";\r
+    }\r
+    leaf connection-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Stats.ConnectionErrors";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Stats.ConnectionErrors";\r
+    }\r
+    leaf publish-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Broker.{i}.Stats.PublishErrors";\r
+      reference\r
+        "Device.MQTT.Broker.{i}.Stats.PublishErrors";\r
+    }\r
+  }\r
+\r
+  grouping mqtt-capabilities-g {\r
+    description\r
+      "Grouping object for Device.MQTT.Capabilities.";\r
+    leaf protocol-versions-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Capabilities.ProtocolVersionsSupported";\r
+      reference\r
+        "Device.MQTT.Capabilities.ProtocolVersionsSupported";\r
+    }\r
+    leaf transport-protocol-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Capabilities.TransportProtocolSupported";\r
+      reference\r
+        "Device.MQTT.Capabilities.TransportProtocolSupported";\r
+    }\r
+    leaf max-number-of-client-subscriptions {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Capabilities.MaxNumberOfClientSubscriptions";\r
+      reference\r
+        "Device.MQTT.Capabilities.MaxNumberOfClientSubscriptions";\r
+    }\r
+    leaf max-number-of-broker-bridges {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Capabilities.MaxNumberOfBrokerBridges";\r
+      reference\r
+        "Device.MQTT.Capabilities.MaxNumberOfBrokerBridges";\r
+    }\r
+    leaf max-number-of-broker-bridge-subscriptions {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Capabilities.MaxNumberOfBrokerBridgeSubscriptions";\r
+      reference\r
+        "Device.MQTT.Capabilities.MaxNumberOfBrokerBridgeSubscriptions";\r
+    }\r
+  }\r
+\r
+  grouping mqtt-client-g {\r
+    description\r
+      "Grouping object for Device.MQTT.Client.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.Alias";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.Name";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Name";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.MQTT.Client.{i}.Enable";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Status";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Status";\r
+    }\r
+    leaf client-id {\r
+      type string {\r
+        length "1..23";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.ClientID";\r
+      reference\r
+        "Device.MQTT.Client.{i}.ClientID";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.Username";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Username";\r
+    }\r
+    leaf transport-protocol {\r
+      type string;\r
+      description\r
+        "Device.MQTT.Client.{i}.TransportProtocol";\r
+      reference\r
+        "Device.MQTT.Client.{i}.TransportProtocol";\r
+    }\r
+    leaf protocol-version {\r
+      type string;\r
+      description\r
+        "Device.MQTT.Client.{i}.ProtocolVersion";\r
+      reference\r
+        "Device.MQTT.Client.{i}.ProtocolVersion";\r
+    }\r
+    leaf clean-session {\r
+      type boolean;\r
+      description\r
+        "Device.MQTT.Client.{i}.CleanSession";\r
+      reference\r
+        "Device.MQTT.Client.{i}.CleanSession";\r
+    }\r
+    leaf message-retry-time {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.MessageRetryTime";\r
+      reference\r
+        "Device.MQTT.Client.{i}.MessageRetryTime";\r
+    }\r
+    leaf connect-retry-time {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.ConnectRetryTime";\r
+      reference\r
+        "Device.MQTT.Client.{i}.ConnectRetryTime";\r
+    }\r
+    leaf keep-alive-time {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.KeepAliveTime";\r
+      reference\r
+        "Device.MQTT.Client.{i}.KeepAliveTime";\r
+    }\r
+    leaf broker-address {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.BrokerAddress";\r
+      reference\r
+        "Device.MQTT.Client.{i}.BrokerAddress";\r
+    }\r
+    leaf broker-port {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.BrokerPort";\r
+      reference\r
+        "Device.MQTT.Client.{i}.BrokerPort";\r
+    }\r
+    leaf will-enable {\r
+      type boolean;\r
+      description\r
+        "Device.MQTT.Client.{i}.WillEnable";\r
+      reference\r
+        "Device.MQTT.Client.{i}.WillEnable";\r
+    }\r
+    leaf will-topic {\r
+      type string;\r
+      description\r
+        "Device.MQTT.Client.{i}.WillTopic";\r
+      reference\r
+        "Device.MQTT.Client.{i}.WillTopic";\r
+    }\r
+    leaf will-value {\r
+      type string;\r
+      description\r
+        "Device.MQTT.Client.{i}.WillValue";\r
+      reference\r
+        "Device.MQTT.Client.{i}.WillValue";\r
+    }\r
+    leaf will-qo-s {\r
+      type uint32 {\r
+        range "0..2";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.WillQoS";\r
+      reference\r
+        "Device.MQTT.Client.{i}.WillQoS";\r
+    }\r
+    leaf will-retain {\r
+      type boolean;\r
+      description\r
+        "Device.MQTT.Client.{i}.WillRetain";\r
+      reference\r
+        "Device.MQTT.Client.{i}.WillRetain";\r
+    }\r
+    leaf subscription-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.SubscriptionNumberOfEntries";\r
+      reference\r
+        "Device.MQTT.Client.{i}.SubscriptionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping client-stats-g {\r
+    description\r
+      "Grouping object for Device.MQTT.Client.{i}.Stats.";\r
+    leaf broker-connection-established {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Stats.BrokerConnectionEstablished";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Stats.BrokerConnectionEstablished";\r
+    }\r
+    leaf last-publish-message-sent {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Stats.LastPublishMessageSent";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Stats.LastPublishMessageSent";\r
+    }\r
+    leaf last-publish-message-received {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Stats.LastPublishMessageReceived";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Stats.LastPublishMessageReceived";\r
+    }\r
+    leaf publish-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Stats.PublishSent";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Stats.PublishSent";\r
+    }\r
+    leaf publish-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Stats.PublishReceived";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Stats.PublishReceived";\r
+    }\r
+    leaf subscribe-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Stats.SubscribeSent";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Stats.SubscribeSent";\r
+    }\r
+    leaf un-subscribe-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Stats.UnSubscribeSent";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Stats.UnSubscribeSent";\r
+    }\r
+    leaf mqtt-messages-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Stats.MQTTMessagesSent";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Stats.MQTTMessagesSent";\r
+    }\r
+    leaf mqtt-messages-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Stats.MQTTMessagesReceived";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Stats.MQTTMessagesReceived";\r
+    }\r
+    leaf connection-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Stats.ConnectionErrors";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Stats.ConnectionErrors";\r
+    }\r
+    leaf publish-errors {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Stats.PublishErrors";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Stats.PublishErrors";\r
+    }\r
+  }\r
+\r
+  grouping client-subscription-g {\r
+    description\r
+      "Grouping object for Device.MQTT.Client.{i}.Subscription.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.Subscription.{i}.Alias";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Subscription.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.MQTT.Client.{i}.Subscription.{i}.Enable";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Subscription.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MQTT.Client.{i}.Subscription.{i}.Status";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Subscription.{i}.Status";\r
+    }\r
+    leaf topic {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.Subscription.{i}.Topic";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Subscription.{i}.Topic";\r
+    }\r
+    leaf qo-s {\r
+      type uint32 {\r
+        range "0..2";\r
+      }\r
+      description\r
+        "Device.MQTT.Client.{i}.Subscription.{i}.QoS";\r
+      reference\r
+        "Device.MQTT.Client.{i}.Subscription.{i}.QoS";\r
+    }\r
+  }\r
+\r
+  grouping device-management-server-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.";\r
+    leaf enable-cwmp {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.EnableCWMP";\r
+      reference\r
+        "Device.ManagementServer.EnableCWMP";\r
+    }\r
+    leaf url {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ManagementServer.URL";\r
+      reference\r
+        "Device.ManagementServer.URL";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ManagementServer.Username";\r
+      reference\r
+        "Device.ManagementServer.Username";\r
+    }\r
+    leaf schedule-reboot {\r
+      type string;\r
+      description\r
+        "Device.ManagementServer.ScheduleReboot";\r
+      reference\r
+        "Device.ManagementServer.ScheduleReboot";\r
+    }\r
+    leaf delay-reboot {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.ManagementServer.DelayReboot";\r
+      reference\r
+        "Device.ManagementServer.DelayReboot";\r
+    }\r
+    leaf periodic-inform-enable {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.PeriodicInformEnable";\r
+      reference\r
+        "Device.ManagementServer.PeriodicInformEnable";\r
+    }\r
+    leaf periodic-inform-interval {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.ManagementServer.PeriodicInformInterval";\r
+      reference\r
+        "Device.ManagementServer.PeriodicInformInterval";\r
+    }\r
+    leaf periodic-inform-time {\r
+      type string;\r
+      description\r
+        "Device.ManagementServer.PeriodicInformTime";\r
+      reference\r
+        "Device.ManagementServer.PeriodicInformTime";\r
+    }\r
+    leaf parameter-key {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.ParameterKey";\r
+      reference\r
+        "Device.ManagementServer.ParameterKey";\r
+    }\r
+    leaf connection-request-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.ConnectionRequestURL";\r
+      reference\r
+        "Device.ManagementServer.ConnectionRequestURL";\r
+    }\r
+    leaf connection-request-username {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ManagementServer.ConnectionRequestUsername";\r
+      reference\r
+        "Device.ManagementServer.ConnectionRequestUsername";\r
+    }\r
+    leaf upgrades-managed {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.UpgradesManaged";\r
+      reference\r
+        "Device.ManagementServer.UpgradesManaged";\r
+    }\r
+    leaf kick-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.KickURL";\r
+      reference\r
+        "Device.ManagementServer.KickURL";\r
+    }\r
+    leaf download-progress-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.DownloadProgressURL";\r
+      reference\r
+        "Device.ManagementServer.DownloadProgressURL";\r
+    }\r
+    leaf default-active-notification-throttle {\r
+      type uint32;\r
+      description\r
+        "Device.ManagementServer.DefaultActiveNotificationThrottle";\r
+      reference\r
+        "Device.ManagementServer.DefaultActiveNotificationThrottle";\r
+    }\r
+    leaf cwmp-retry-minimum-wait-interval {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.ManagementServer.CWMPRetryMinimumWaitInterval";\r
+      reference\r
+        "Device.ManagementServer.CWMPRetryMinimumWaitInterval";\r
+    }\r
+    leaf cwmp-retry-interval-multiplier {\r
+      type uint32 {\r
+        range "1000..65535";\r
+      }\r
+      description\r
+        "Device.ManagementServer.CWMPRetryIntervalMultiplier";\r
+      reference\r
+        "Device.ManagementServer.CWMPRetryIntervalMultiplier";\r
+    }\r
+    leaf http-connection-request-enable {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.HTTPConnectionRequestEnable";\r
+      reference\r
+        "Device.ManagementServer.HTTPConnectionRequestEnable";\r
+    }\r
+    leaf udp-connection-request-address {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.UDPConnectionRequestAddress";\r
+      reference\r
+        "Device.ManagementServer.UDPConnectionRequestAddress";\r
+    }\r
+    leaf stun-enable {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.STUNEnable";\r
+      reference\r
+        "Device.ManagementServer.STUNEnable";\r
+    }\r
+    leaf stun-server-address {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ManagementServer.STUNServerAddress";\r
+      reference\r
+        "Device.ManagementServer.STUNServerAddress";\r
+    }\r
+    leaf stun-server-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.ManagementServer.STUNServerPort";\r
+      reference\r
+        "Device.ManagementServer.STUNServerPort";\r
+    }\r
+    leaf stun-username {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ManagementServer.STUNUsername";\r
+      reference\r
+        "Device.ManagementServer.STUNUsername";\r
+    }\r
+    leaf stun-maximum-keep-alive-period {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.ManagementServer.STUNMaximumKeepAlivePeriod";\r
+      reference\r
+        "Device.ManagementServer.STUNMaximumKeepAlivePeriod";\r
+    }\r
+    leaf stun-minimum-keep-alive-period {\r
+      type uint32;\r
+      description\r
+        "Device.ManagementServer.STUNMinimumKeepAlivePeriod";\r
+      reference\r
+        "Device.ManagementServer.STUNMinimumKeepAlivePeriod";\r
+    }\r
+    leaf nat-detected {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.NATDetected";\r
+      reference\r
+        "Device.ManagementServer.NATDetected";\r
+    }\r
+    leaf alias-based-addressing {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.AliasBasedAddressing";\r
+      reference\r
+        "Device.ManagementServer.AliasBasedAddressing";\r
+    }\r
+    leaf instance-mode {\r
+      type enumeration {\r
+        enum InstanceNumber {\r
+          description\r
+            "Enum Value - InstanceNumber";\r
+        }\r
+        enum InstanceAlias {\r
+          description\r
+            "Enum Value - InstanceAlias";\r
+        }\r
+      }\r
+      description\r
+        "Device.ManagementServer.InstanceMode";\r
+      reference\r
+        "Device.ManagementServer.InstanceMode";\r
+    }\r
+    leaf auto-create-instances {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.AutoCreateInstances";\r
+      reference\r
+        "Device.ManagementServer.AutoCreateInstances";\r
+    }\r
+    leaf manageable-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.ManageableDeviceNumberOfEntries";\r
+      reference\r
+        "Device.ManagementServer.ManageableDeviceNumberOfEntries";\r
+    }\r
+    leaf manageable-device-notification-limit {\r
+      type uint32;\r
+      description\r
+        "Device.ManagementServer.ManageableDeviceNotificationLimit";\r
+      reference\r
+        "Device.ManagementServer.ManageableDeviceNotificationLimit";\r
+    }\r
+    leaf embedded-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDeviceNumberOfEntries";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDeviceNumberOfEntries";\r
+    }\r
+    leaf virtual-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.VirtualDeviceNumberOfEntries";\r
+      reference\r
+        "Device.ManagementServer.VirtualDeviceNumberOfEntries";\r
+    }\r
+    leaf supported-conn-req-methods {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.SupportedConnReqMethods";\r
+      reference\r
+        "Device.ManagementServer.SupportedConnReqMethods";\r
+    }\r
+    leaf conn-req-xmpp-connection {\r
+      type string;\r
+      description\r
+        "Device.ManagementServer.ConnReqXMPPConnection";\r
+      reference\r
+        "Device.ManagementServer.ConnReqXMPPConnection";\r
+    }\r
+    leaf conn-req-allowed-jabber-i-ds {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ManagementServer.ConnReqAllowedJabberIDs";\r
+      reference\r
+        "Device.ManagementServer.ConnReqAllowedJabberIDs";\r
+    }\r
+    leaf conn-req-jabber-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.ConnReqJabberID";\r
+      reference\r
+        "Device.ManagementServer.ConnReqJabberID";\r
+    }\r
+    leaf http-compression-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.HTTPCompressionSupported";\r
+      reference\r
+        "Device.ManagementServer.HTTPCompressionSupported";\r
+    }\r
+    leaf http-compression {\r
+      type string;\r
+      description\r
+        "Device.ManagementServer.HTTPCompression";\r
+      reference\r
+        "Device.ManagementServer.HTTPCompression";\r
+    }\r
+    leaf lightweight-notification-protocols-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.LightweightNotificationProtocolsSupported";\r
+      reference\r
+        "Device.ManagementServer.LightweightNotificationProtocolsSupported";\r
+    }\r
+    leaf lightweight-notification-protocols-used {\r
+      type string;\r
+      description\r
+        "Device.ManagementServer.LightweightNotificationProtocolsUsed";\r
+      reference\r
+        "Device.ManagementServer.LightweightNotificationProtocolsUsed";\r
+    }\r
+    leaf lightweight-notification-trigger-interval {\r
+      type uint32 {\r
+        range "0..max";\r
+      }\r
+      description\r
+        "Device.ManagementServer.LightweightNotificationTriggerInterval";\r
+      reference\r
+        "Device.ManagementServer.LightweightNotificationTriggerInterval";\r
+    }\r
+    leaf lightweight-notification-trigger-time {\r
+      type string;\r
+      description\r
+        "Device.ManagementServer.LightweightNotificationTriggerTime";\r
+      reference\r
+        "Device.ManagementServer.LightweightNotificationTriggerTime";\r
+    }\r
+    leaf udp-lightweight-notification-host {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ManagementServer.UDPLightweightNotificationHost";\r
+      reference\r
+        "Device.ManagementServer.UDPLightweightNotificationHost";\r
+    }\r
+    leaf udp-lightweight-notification-port {\r
+      type uint32;\r
+      description\r
+        "Device.ManagementServer.UDPLightweightNotificationPort";\r
+      reference\r
+        "Device.ManagementServer.UDPLightweightNotificationPort";\r
+    }\r
+    leaf instance-wildcards-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.InstanceWildcardsSupported";\r
+      reference\r
+        "Device.ManagementServer.InstanceWildcardsSupported";\r
+    }\r
+    leaf inform-parameter-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.InformParameterNumberOfEntries";\r
+      reference\r
+        "Device.ManagementServer.InformParameterNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping management-server-autonomous-transfer-complete-policy-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.AutonomousTransferCompletePolicy.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.AutonomousTransferCompletePolicy.Enable";\r
+      reference\r
+        "Device.ManagementServer.AutonomousTransferCompletePolicy.Enable";\r
+    }\r
+    leaf transfer-type-filter {\r
+      type enumeration {\r
+        enum Upload {\r
+          description\r
+            "Enum Value - Upload";\r
+        }\r
+        enum Download {\r
+          description\r
+            "Enum Value - Download";\r
+        }\r
+        enum Both {\r
+          description\r
+            "Enum Value - Both";\r
+        }\r
+      }\r
+      description\r
+        "Device.ManagementServer.AutonomousTransferCompletePolicy.TransferTypeFilter";\r
+      reference\r
+        "Device.ManagementServer.AutonomousTransferCompletePolicy.TransferTypeFilter";\r
+    }\r
+    leaf result-type-filter {\r
+      type enumeration {\r
+        enum Success {\r
+          description\r
+            "Enum Value - Success";\r
+        }\r
+        enum Failure {\r
+          description\r
+            "Enum Value - Failure";\r
+        }\r
+        enum Both {\r
+          description\r
+            "Enum Value - Both";\r
+        }\r
+      }\r
+      description\r
+        "Device.ManagementServer.AutonomousTransferCompletePolicy.ResultTypeFilter";\r
+      reference\r
+        "Device.ManagementServer.AutonomousTransferCompletePolicy.ResultTypeFilter";\r
+    }\r
+    leaf file-type-filter {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.ManagementServer.AutonomousTransferCompletePolicy.FileTypeFilter";\r
+      reference\r
+        "Device.ManagementServer.AutonomousTransferCompletePolicy.FileTypeFilter";\r
+    }\r
+  }\r
+\r
+  grouping management-server-du-state-change-compl-policy-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.DUStateChangeComplPolicy.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.DUStateChangeComplPolicy.Enable";\r
+      reference\r
+        "Device.ManagementServer.DUStateChangeComplPolicy.Enable";\r
+    }\r
+    leaf operation-type-filter {\r
+      type enumeration {\r
+        enum Install {\r
+          description\r
+            "Enum Value - Install";\r
+        }\r
+        enum Update {\r
+          description\r
+            "Enum Value - Update";\r
+        }\r
+        enum Uninstall {\r
+          description\r
+            "Enum Value - Uninstall";\r
+        }\r
+      }\r
+      description\r
+        "Device.ManagementServer.DUStateChangeComplPolicy.OperationTypeFilter";\r
+      reference\r
+        "Device.ManagementServer.DUStateChangeComplPolicy.OperationTypeFilter";\r
+    }\r
+    leaf result-type-filter {\r
+      type enumeration {\r
+        enum Success {\r
+          description\r
+            "Enum Value - Success";\r
+        }\r
+        enum Failure {\r
+          description\r
+            "Enum Value - Failure";\r
+        }\r
+        enum Both {\r
+          description\r
+            "Enum Value - Both";\r
+        }\r
+      }\r
+      description\r
+        "Device.ManagementServer.DUStateChangeComplPolicy.ResultTypeFilter";\r
+      reference\r
+        "Device.ManagementServer.DUStateChangeComplPolicy.ResultTypeFilter";\r
+    }\r
+    leaf fault-code-filter {\r
+      type enumeration {\r
+        enum 9001 {\r
+          description\r
+            "Enum Value - 9001";\r
+        }\r
+        enum 9003 {\r
+          description\r
+            "Enum Value - 9003";\r
+        }\r
+        enum 9012 {\r
+          description\r
+            "Enum Value - 9012";\r
+        }\r
+        enum 9013 {\r
+          description\r
+            "Enum Value - 9013";\r
+        }\r
+        enum 9015 {\r
+          description\r
+            "Enum Value - 9015";\r
+        }\r
+        enum 9016 {\r
+          description\r
+            "Enum Value - 9016";\r
+        }\r
+        enum 9017 {\r
+          description\r
+            "Enum Value - 9017";\r
+        }\r
+        enum 9018 {\r
+          description\r
+            "Enum Value - 9018";\r
+        }\r
+        enum 9022 {\r
+          description\r
+            "Enum Value - 9022";\r
+        }\r
+        enum 9023 {\r
+          description\r
+            "Enum Value - 9023";\r
+        }\r
+        enum 9024 {\r
+          description\r
+            "Enum Value - 9024";\r
+        }\r
+        enum 9025 {\r
+          description\r
+            "Enum Value - 9025";\r
+        }\r
+        enum 9026 {\r
+          description\r
+            "Enum Value - 9026";\r
+        }\r
+        enum 9027 {\r
+          description\r
+            "Enum Value - 9027";\r
+        }\r
+        enum 9028 {\r
+          description\r
+            "Enum Value - 9028";\r
+        }\r
+        enum 9029 {\r
+          description\r
+            "Enum Value - 9029";\r
+        }\r
+        enum 9030 {\r
+          description\r
+            "Enum Value - 9030";\r
+        }\r
+        enum 9031 {\r
+          description\r
+            "Enum Value - 9031";\r
+        }\r
+        enum 9032 {\r
+          description\r
+            "Enum Value - 9032";\r
+        }\r
+      }\r
+      description\r
+        "Device.ManagementServer.DUStateChangeComplPolicy.FaultCodeFilter";\r
+      reference\r
+        "Device.ManagementServer.DUStateChangeComplPolicy.FaultCodeFilter";\r
+    }\r
+  }\r
+\r
+  grouping download-availability-announcement-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.DownloadAvailability.Announcement.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Enable";\r
+      reference\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Status";\r
+      reference\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Status";\r
+    }\r
+    leaf group-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.GroupNumberOfEntries";\r
+      reference\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.GroupNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping announcement-group-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Alias";\r
+      reference\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Enable";\r
+      reference\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Status";\r
+      reference\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.Status";\r
+    }\r
+    leaf url {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.URL";\r
+      reference\r
+        "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.URL";\r
+    }\r
+  }\r
+\r
+  grouping download-availability-query-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.DownloadAvailability.Query.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.DownloadAvailability.Query.Enable";\r
+      reference\r
+        "Device.ManagementServer.DownloadAvailability.Query.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.DownloadAvailability.Query.Status";\r
+      reference\r
+        "Device.ManagementServer.DownloadAvailability.Query.Status";\r
+    }\r
+    leaf url {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ManagementServer.DownloadAvailability.Query.URL";\r
+      reference\r
+        "Device.ManagementServer.DownloadAvailability.Query.URL";\r
+    }\r
+  }\r
+\r
+  grouping management-server-embedded-device-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.EmbeddedDevice.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf controller-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.ControllerID";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.ControllerID";\r
+    }\r
+    leaf proxied-device-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.ProxiedDeviceID";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.ProxiedDeviceID";\r
+    }\r
+    leaf reference {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.Reference";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.Reference";\r
+    }\r
+    leaf supported-data-model {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.SupportedDataModel";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.SupportedDataModel";\r
+    }\r
+    leaf host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.Host";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.Host";\r
+    }\r
+    leaf proxy-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.ProxyProtocol";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.ProxyProtocol";\r
+    }\r
+    leaf proxy-protocol-reference {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.ProxyProtocolReference";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.ProxyProtocolReference";\r
+    }\r
+    leaf discovery-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.DiscoveryProtocol";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.DiscoveryProtocol";\r
+    }\r
+    leaf discovery-protocol-reference {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.DiscoveryProtocolReference";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.DiscoveryProtocolReference";\r
+    }\r
+    leaf command-processed {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.CommandProcessed";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.CommandProcessed";\r
+    }\r
+    leaf command-processing-err-msg {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.CommandProcessingErrMsg";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.CommandProcessingErrMsg";\r
+    }\r
+    leaf last-sync-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.LastSyncTime";\r
+      reference\r
+        "Device.ManagementServer.EmbeddedDevice.{i}.LastSyncTime";\r
+    }\r
+  }\r
+\r
+  grouping management-server-heartbeat-policy-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.HeartbeatPolicy.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.HeartbeatPolicy.Enable";\r
+      reference\r
+        "Device.ManagementServer.HeartbeatPolicy.Enable";\r
+    }\r
+    leaf reporting-interval {\r
+      type uint32 {\r
+        range "30..max";\r
+      }\r
+      description\r
+        "Device.ManagementServer.HeartbeatPolicy.ReportingInterval";\r
+      reference\r
+        "Device.ManagementServer.HeartbeatPolicy.ReportingInterval";\r
+    }\r
+    leaf initiation-time {\r
+      type string;\r
+      description\r
+        "Device.ManagementServer.HeartbeatPolicy.InitiationTime";\r
+      reference\r
+        "Device.ManagementServer.HeartbeatPolicy.InitiationTime";\r
+    }\r
+  }\r
+\r
+  grouping management-server-inform-parameter-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.InformParameter.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.InformParameter.{i}.Enable";\r
+      reference\r
+        "Device.ManagementServer.InformParameter.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ManagementServer.InformParameter.{i}.Alias";\r
+      reference\r
+        "Device.ManagementServer.InformParameter.{i}.Alias";\r
+    }\r
+    leaf parameter-name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ManagementServer.InformParameter.{i}.ParameterName";\r
+      reference\r
+        "Device.ManagementServer.InformParameter.{i}.ParameterName";\r
+    }\r
+    leaf event-list {\r
+      type string;\r
+      description\r
+        "Device.ManagementServer.InformParameter.{i}.EventList";\r
+      reference\r
+        "Device.ManagementServer.InformParameter.{i}.EventList";\r
+    }\r
+  }\r
+\r
+  grouping management-server-manageable-device-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.ManageableDevice.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ManagementServer.ManageableDevice.{i}.Alias";\r
+      reference\r
+        "Device.ManagementServer.ManageableDevice.{i}.Alias";\r
+    }\r
+    leaf manufacturer-oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.ManageableDevice.{i}.ManufacturerOUI";\r
+      reference\r
+        "Device.ManagementServer.ManageableDevice.{i}.ManufacturerOUI";\r
+    }\r
+    leaf serial-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.ManageableDevice.{i}.SerialNumber";\r
+      reference\r
+        "Device.ManagementServer.ManageableDevice.{i}.SerialNumber";\r
+    }\r
+    leaf product-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.ManageableDevice.{i}.ProductClass";\r
+      reference\r
+        "Device.ManagementServer.ManageableDevice.{i}.ProductClass";\r
+    }\r
+    leaf host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.ManageableDevice.{i}.Host";\r
+      reference\r
+        "Device.ManagementServer.ManageableDevice.{i}.Host";\r
+    }\r
+  }\r
+\r
+  grouping management-server-standby-policy-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.StandbyPolicy.";\r
+    leaf cr-unawareness-max-duration {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.ManagementServer.StandbyPolicy.CRUnawarenessMaxDuration";\r
+      reference\r
+        "Device.ManagementServer.StandbyPolicy.CRUnawarenessMaxDuration";\r
+    }\r
+    leaf max-missed-periodic {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.ManagementServer.StandbyPolicy.MaxMissedPeriodic";\r
+      reference\r
+        "Device.ManagementServer.StandbyPolicy.MaxMissedPeriodic";\r
+    }\r
+    leaf notify-missed-scheduled {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.StandbyPolicy.NotifyMissedScheduled";\r
+      reference\r
+        "Device.ManagementServer.StandbyPolicy.NotifyMissedScheduled";\r
+    }\r
+    leaf network-awareness-capable {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.StandbyPolicy.NetworkAwarenessCapable";\r
+      reference\r
+        "Device.ManagementServer.StandbyPolicy.NetworkAwarenessCapable";\r
+    }\r
+    leaf self-timer-capable {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.StandbyPolicy.SelfTimerCapable";\r
+      reference\r
+        "Device.ManagementServer.StandbyPolicy.SelfTimerCapable";\r
+    }\r
+    leaf cr-awareness-requested {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.StandbyPolicy.CRAwarenessRequested";\r
+      reference\r
+        "Device.ManagementServer.StandbyPolicy.CRAwarenessRequested";\r
+    }\r
+    leaf periodic-awareness-requested {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.StandbyPolicy.PeriodicAwarenessRequested";\r
+      reference\r
+        "Device.ManagementServer.StandbyPolicy.PeriodicAwarenessRequested";\r
+    }\r
+    leaf scheduled-awareness-requested {\r
+      type boolean;\r
+      description\r
+        "Device.ManagementServer.StandbyPolicy.ScheduledAwarenessRequested";\r
+      reference\r
+        "Device.ManagementServer.StandbyPolicy.ScheduledAwarenessRequested";\r
+    }\r
+  }\r
+\r
+  grouping management-server-virtual-device-g {\r
+    description\r
+      "Grouping object for Device.ManagementServer.VirtualDevice.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf manufacturer-oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.VirtualDevice.{i}.ManufacturerOUI";\r
+      reference\r
+        "Device.ManagementServer.VirtualDevice.{i}.ManufacturerOUI";\r
+    }\r
+    leaf product-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.VirtualDevice.{i}.ProductClass";\r
+      reference\r
+        "Device.ManagementServer.VirtualDevice.{i}.ProductClass";\r
+    }\r
+    leaf serial-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.VirtualDevice.{i}.SerialNumber";\r
+      reference\r
+        "Device.ManagementServer.VirtualDevice.{i}.SerialNumber";\r
+    }\r
+    leaf host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.VirtualDevice.{i}.Host";\r
+      reference\r
+        "Device.ManagementServer.VirtualDevice.{i}.Host";\r
+    }\r
+    leaf proxy-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.VirtualDevice.{i}.ProxyProtocol";\r
+      reference\r
+        "Device.ManagementServer.VirtualDevice.{i}.ProxyProtocol";\r
+    }\r
+    leaf proxy-protocol-reference {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.VirtualDevice.{i}.ProxyProtocolReference";\r
+      reference\r
+        "Device.ManagementServer.VirtualDevice.{i}.ProxyProtocolReference";\r
+    }\r
+    leaf discovery-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.VirtualDevice.{i}.DiscoveryProtocol";\r
+      reference\r
+        "Device.ManagementServer.VirtualDevice.{i}.DiscoveryProtocol";\r
+    }\r
+    leaf discovery-protocol-reference {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ManagementServer.VirtualDevice.{i}.DiscoveryProtocolReference";\r
+      reference\r
+        "Device.ManagementServer.VirtualDevice.{i}.DiscoveryProtocolReference";\r
+    }\r
+  }\r
+\r
+  grouping device-mo-ca-g {\r
+    description\r
+      "Grouping object for Device.MoCA.";\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.MoCA.InterfaceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping mo-ca-interface-g {\r
+    description\r
+      "Grouping object for Device.MoCA.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Enable";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Status";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.MoCA.Interface.{i}.Alias";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Name";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.MoCA.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Upstream";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Upstream";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.MACAddress";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.MACAddress";\r
+    }\r
+    leaf firmware-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.FirmwareVersion";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.FirmwareVersion";\r
+    }\r
+    leaf max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.MaxBitRate";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.MaxBitRate";\r
+    }\r
+    leaf max-ingress-bw {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.MaxIngressBW";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.MaxIngressBW";\r
+    }\r
+    leaf max-egress-bw {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.MaxEgressBW";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.MaxEgressBW";\r
+    }\r
+    leaf highest-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.HighestVersion";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.HighestVersion";\r
+    }\r
+    leaf current-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.CurrentVersion";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.CurrentVersion";\r
+    }\r
+    leaf network-coordinator {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.NetworkCoordinator";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.NetworkCoordinator";\r
+    }\r
+    leaf node-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.NodeID";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.NodeID";\r
+    }\r
+    leaf max-nodes {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.MaxNodes";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.MaxNodes";\r
+    }\r
+    leaf preferred-nc {\r
+      type boolean;\r
+      description\r
+        "Device.MoCA.Interface.{i}.PreferredNC";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.PreferredNC";\r
+    }\r
+    leaf backup-nc {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.BackupNC";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.BackupNC";\r
+    }\r
+    leaf privacy-enabled-setting {\r
+      type boolean;\r
+      description\r
+        "Device.MoCA.Interface.{i}.PrivacyEnabledSetting";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.PrivacyEnabledSetting";\r
+    }\r
+    leaf privacy-enabled {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.PrivacyEnabled";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.PrivacyEnabled";\r
+    }\r
+    leaf freq-capability-mask {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.FreqCapabilityMask";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.FreqCapabilityMask";\r
+    }\r
+    leaf freq-current-mask-setting {\r
+      type string {\r
+        length "8";\r
+      }\r
+      description\r
+        "Device.MoCA.Interface.{i}.FreqCurrentMaskSetting";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.FreqCurrentMaskSetting";\r
+    }\r
+    leaf freq-current-mask {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.FreqCurrentMask";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.FreqCurrentMask";\r
+    }\r
+    leaf current-oper-freq {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.CurrentOperFreq";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.CurrentOperFreq";\r
+    }\r
+    leaf last-oper-freq {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.LastOperFreq";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.LastOperFreq";\r
+    }\r
+    leaf tx-power-limit {\r
+      type uint32;\r
+      description\r
+        "Device.MoCA.Interface.{i}.TxPowerLimit";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.TxPowerLimit";\r
+    }\r
+    leaf power-cntl-phy-target {\r
+      type uint32;\r
+      description\r
+        "Device.MoCA.Interface.{i}.PowerCntlPhyTarget";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.PowerCntlPhyTarget";\r
+    }\r
+    leaf beacon-power-limit {\r
+      type uint32;\r
+      description\r
+        "Device.MoCA.Interface.{i}.BeaconPowerLimit";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.BeaconPowerLimit";\r
+    }\r
+    leaf network-taboo-mask {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.NetworkTabooMask";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.NetworkTabooMask";\r
+    }\r
+    leaf node-taboo-mask {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.NodeTabooMask";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.NodeTabooMask";\r
+    }\r
+    leaf tx-bcast-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.TxBcastRate";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.TxBcastRate";\r
+    }\r
+    leaf tx-bcast-power-reduction {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.TxBcastPowerReduction";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.TxBcastPowerReduction";\r
+    }\r
+    leaf qam256-capable {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.QAM256Capable";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.QAM256Capable";\r
+    }\r
+    leaf packet-aggregation-capability {\r
+      type uint32 {\r
+        range "0..10";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.PacketAggregationCapability";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.PacketAggregationCapability";\r
+    }\r
+    leaf associated-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping mo-ca-interface-associated-device-g {\r
+    description\r
+      "Grouping object for Device.MoCA.Interface.{i}.AssociatedDevice.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.MACAddress";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.MACAddress";\r
+    }\r
+    leaf node-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.NodeID";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.NodeID";\r
+    }\r
+    leaf preferred-nc {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PreferredNC";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PreferredNC";\r
+    }\r
+    leaf highest-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.HighestVersion";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.HighestVersion";\r
+    }\r
+    leaf phy-tx-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PHYTxRate";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PHYTxRate";\r
+    }\r
+    leaf phy-rx-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PHYRxRate";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PHYRxRate";\r
+    }\r
+    leaf tx-power-control-reduction {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxPowerControlReduction";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxPowerControlReduction";\r
+    }\r
+    leaf rx-power-level {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxPowerLevel";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxPowerLevel";\r
+    }\r
+    leaf tx-bcast-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxBcastRate";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxBcastRate";\r
+    }\r
+    leaf rx-bcast-power-level {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxBcastPowerLevel";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxBcastPowerLevel";\r
+    }\r
+    leaf tx-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxPackets";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.TxPackets";\r
+    }\r
+    leaf rx-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxPackets";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxPackets";\r
+    }\r
+    leaf rx-errored-and-missed-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxErroredAndMissedPackets";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxErroredAndMissedPackets";\r
+    }\r
+    leaf qam256-capable {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.QAM256Capable";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.QAM256Capable";\r
+    }\r
+    leaf packet-aggregation-capability {\r
+      type uint32 {\r
+        range "0..10";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PacketAggregationCapability";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.PacketAggregationCapability";\r
+    }\r
+    leaf rx-snr {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxSNR";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.RxSNR";\r
+    }\r
+    leaf active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.Active";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.Active";\r
+    }\r
+  }\r
+\r
+  grouping mo-ca-interface-qo-s-g {\r
+    description\r
+      "Grouping object for Device.MoCA.Interface.{i}.QoS.";\r
+    leaf egress-num-flows {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.QoS.EgressNumFlows";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.QoS.EgressNumFlows";\r
+    }\r
+    leaf ingress-num-flows {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.QoS.IngressNumFlows";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.QoS.IngressNumFlows";\r
+    }\r
+    leaf flow-stats-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStatsNumberOfEntries";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStatsNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping qo-s-flow-stats-g {\r
+    description\r
+      "Grouping object for Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf flow-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.FlowID";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.FlowID";\r
+    }\r
+    leaf packet-da {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.PacketDA";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.PacketDA";\r
+    }\r
+    leaf max-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.MaxRate";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.MaxRate";\r
+    }\r
+    leaf max-burst-size {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.MaxBurstSize";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.MaxBurstSize";\r
+    }\r
+    leaf lease-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.LeaseTime";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.LeaseTime";\r
+    }\r
+    leaf lease-time-left {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.LeaseTimeLeft";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.LeaseTimeLeft";\r
+    }\r
+    leaf flow-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.FlowPackets";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.FlowPackets";\r
+    }\r
+  }\r
+\r
+  grouping mo-ca-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.MoCA.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.MoCA.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.MoCA.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping device-nat-g {\r
+    description\r
+      "Grouping object for Device.NAT.";\r
+    leaf interface-setting-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.NAT.InterfaceSettingNumberOfEntries";\r
+      reference\r
+        "Device.NAT.InterfaceSettingNumberOfEntries";\r
+    }\r
+    leaf port-mapping-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.NAT.PortMappingNumberOfEntries";\r
+      reference\r
+        "Device.NAT.PortMappingNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping nat-interface-setting-g {\r
+    description\r
+      "Grouping object for Device.NAT.InterfaceSetting.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.NAT.InterfaceSetting.{i}.Enable";\r
+      reference\r
+        "Device.NAT.InterfaceSetting.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.NAT.InterfaceSetting.{i}.Status";\r
+      reference\r
+        "Device.NAT.InterfaceSetting.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.NAT.InterfaceSetting.{i}.Alias";\r
+      reference\r
+        "Device.NAT.InterfaceSetting.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.NAT.InterfaceSetting.{i}.Interface";\r
+      reference\r
+        "Device.NAT.InterfaceSetting.{i}.Interface";\r
+    }\r
+  }\r
+\r
+  grouping nat-port-mapping-g {\r
+    description\r
+      "Grouping object for Device.NAT.PortMapping.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.NAT.PortMapping.{i}.Enable";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.NAT.PortMapping.{i}.Status";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.NAT.PortMapping.{i}.Alias";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.NAT.PortMapping.{i}.Interface";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.Interface";\r
+    }\r
+    leaf all-interfaces {\r
+      type boolean;\r
+      description\r
+        "Device.NAT.PortMapping.{i}.AllInterfaces";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.AllInterfaces";\r
+    }\r
+    leaf lease-duration {\r
+      type uint32;\r
+      description\r
+        "Device.NAT.PortMapping.{i}.LeaseDuration";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.LeaseDuration";\r
+    }\r
+    leaf remote-host {\r
+      type string;\r
+      description\r
+        "Device.NAT.PortMapping.{i}.RemoteHost";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.RemoteHost";\r
+    }\r
+    leaf external-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.NAT.PortMapping.{i}.ExternalPort";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.ExternalPort";\r
+    }\r
+    leaf external-port-end-range {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.NAT.PortMapping.{i}.ExternalPortEndRange";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.ExternalPortEndRange";\r
+    }\r
+    leaf internal-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.NAT.PortMapping.{i}.InternalPort";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.InternalPort";\r
+    }\r
+    leaf protocol {\r
+      type enumeration {\r
+        enum TCP {\r
+          description\r
+            "Enum Value - TCP";\r
+        }\r
+        enum UDP {\r
+          description\r
+            "Enum Value - UDP";\r
+        }\r
+      }\r
+      description\r
+        "Device.NAT.PortMapping.{i}.Protocol";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.Protocol";\r
+    }\r
+    leaf internal-client {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.NAT.PortMapping.{i}.InternalClient";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.InternalClient";\r
+    }\r
+    leaf description {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.NAT.PortMapping.{i}.Description";\r
+      reference\r
+        "Device.NAT.PortMapping.{i}.Description";\r
+    }\r
+  }\r
+\r
+  grouping device-neighbor-discovery-g {\r
+    description\r
+      "Grouping object for Device.NeighborDiscovery.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.NeighborDiscovery.Enable";\r
+      reference\r
+        "Device.NeighborDiscovery.Enable";\r
+    }\r
+    leaf interface-setting-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.NeighborDiscovery.InterfaceSettingNumberOfEntries";\r
+      reference\r
+        "Device.NeighborDiscovery.InterfaceSettingNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping neighbor-discovery-interface-setting-g {\r
+    description\r
+      "Grouping object for Device.NeighborDiscovery.InterfaceSetting.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.Enable";\r
+      reference\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.Status";\r
+      reference\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.Alias";\r
+      reference\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string;\r
+      description\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.Interface";\r
+      reference\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.Interface";\r
+    }\r
+    leaf retrans-timer {\r
+      type uint32;\r
+      description\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.RetransTimer";\r
+      reference\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.RetransTimer";\r
+    }\r
+    leaf rtr-solicitation-interval {\r
+      type uint32;\r
+      description\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.RtrSolicitationInterval";\r
+      reference\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.RtrSolicitationInterval";\r
+    }\r
+    leaf max-rtr-solicitations {\r
+      type uint32;\r
+      description\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.MaxRtrSolicitations";\r
+      reference\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.MaxRtrSolicitations";\r
+    }\r
+    leaf nud-enable {\r
+      type boolean;\r
+      description\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.NUDEnable";\r
+      reference\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.NUDEnable";\r
+    }\r
+    leaf rs-enable {\r
+      type boolean;\r
+      description\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.RSEnable";\r
+      reference\r
+        "Device.NeighborDiscovery.InterfaceSetting.{i}.RSEnable";\r
+    }\r
+  }\r
+\r
+  grouping device-optical-g {\r
+    description\r
+      "Grouping object for Device.Optical.";\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Optical.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.Optical.InterfaceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping optical-interface-g {\r
+    description\r
+      "Grouping object for Device.Optical.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Optical.Interface.{i}.Enable";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.Status";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Optical.Interface.{i}.Alias";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.Name";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.Optical.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.Optical.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.Optical.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.Upstream";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Upstream";\r
+    }\r
+    leaf optical-signal-level {\r
+      type int32 {\r
+        range "-65536..65534";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.OpticalSignalLevel";\r
+      reference\r
+        "Device.Optical.Interface.{i}.OpticalSignalLevel";\r
+    }\r
+    leaf lower-optical-threshold {\r
+      type int32 {\r
+        range "-127000..0";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.LowerOpticalThreshold";\r
+      reference\r
+        "Device.Optical.Interface.{i}.LowerOpticalThreshold";\r
+    }\r
+    leaf upper-optical-threshold {\r
+      type int32 {\r
+        range "-127000..0";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.UpperOpticalThreshold";\r
+      reference\r
+        "Device.Optical.Interface.{i}.UpperOpticalThreshold";\r
+    }\r
+    leaf transmit-optical-level {\r
+      type int32 {\r
+        range "-127000..0";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.TransmitOpticalLevel";\r
+      reference\r
+        "Device.Optical.Interface.{i}.TransmitOpticalLevel";\r
+    }\r
+    leaf lower-transmit-power-threshold {\r
+      type int32 {\r
+        range "-63500..63500";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.LowerTransmitPowerThreshold";\r
+      reference\r
+        "Device.Optical.Interface.{i}.LowerTransmitPowerThreshold";\r
+    }\r
+    leaf upper-transmit-power-threshold {\r
+      type int32 {\r
+        range "-63500..63500";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.UpperTransmitPowerThreshold";\r
+      reference\r
+        "Device.Optical.Interface.{i}.UpperTransmitPowerThreshold";\r
+    }\r
+  }\r
+\r
+  grouping optical-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.Optical.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Optical.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.Optical.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping device-pcp-g {\r
+    description\r
+      "Grouping object for Device.PCP.";\r
+    leaf supported-versions {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.SupportedVersions";\r
+      reference\r
+        "Device.PCP.SupportedVersions";\r
+    }\r
+    leaf preferred-version {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.PCP.PreferredVersion";\r
+      reference\r
+        "Device.PCP.PreferredVersion";\r
+    }\r
+    leaf option-list {\r
+      type uint32 {\r
+        range "0..254";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.OptionList";\r
+      reference\r
+        "Device.PCP.OptionList";\r
+    }\r
+    leaf client-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PCP.ClientNumberOfEntries";\r
+      reference\r
+        "Device.PCP.ClientNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping pcp-client-g {\r
+    description\r
+      "Grouping object for Device.PCP.Client.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.PCP.Client.{i}.Enable";\r
+      reference\r
+        "Device.PCP.Client.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Alias";\r
+      reference\r
+        "Device.PCP.Client.{i}.Alias";\r
+    }\r
+    leaf wan-interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.WANInterface";\r
+      reference\r
+        "Device.PCP.Client.{i}.WANInterface";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Status";\r
+      reference\r
+        "Device.PCP.Client.{i}.Status";\r
+    }\r
+    leaf map-enable {\r
+      type boolean;\r
+      description\r
+        "Device.PCP.Client.{i}.MAPEnable";\r
+      reference\r
+        "Device.PCP.Client.{i}.MAPEnable";\r
+    }\r
+    leaf peer-enable {\r
+      type boolean;\r
+      description\r
+        "Device.PCP.Client.{i}.PEEREnable";\r
+      reference\r
+        "Device.PCP.Client.{i}.PEEREnable";\r
+    }\r
+    leaf announce-enable {\r
+      type boolean;\r
+      description\r
+        "Device.PCP.Client.{i}.ANNOUNCEEnable";\r
+      reference\r
+        "Device.PCP.Client.{i}.ANNOUNCEEnable";\r
+    }\r
+    leaf thirdparty-enable {\r
+      type boolean;\r
+      description\r
+        "Device.PCP.Client.{i}.THIRDPARTYEnable";\r
+      reference\r
+        "Device.PCP.Client.{i}.THIRDPARTYEnable";\r
+    }\r
+    leaf thirdparty-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.THIRDPARTYStatus";\r
+      reference\r
+        "Device.PCP.Client.{i}.THIRDPARTYStatus";\r
+    }\r
+    leaf filter-enable {\r
+      type boolean;\r
+      description\r
+        "Device.PCP.Client.{i}.FILTEREnable";\r
+      reference\r
+        "Device.PCP.Client.{i}.FILTEREnable";\r
+    }\r
+    leaf server-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.ServerNumberOfEntries";\r
+      reference\r
+        "Device.PCP.Client.{i}.ServerNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping client-pcp-proxy-g {\r
+    description\r
+      "Grouping object for Device.PCP.Client.{i}.PCPProxy.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.PCP.Client.{i}.PCPProxy.Enable";\r
+      reference\r
+        "Device.PCP.Client.{i}.PCPProxy.Enable";\r
+    }\r
+    leaf highest-version {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.PCPProxy.HighestVersion";\r
+      reference\r
+        "Device.PCP.Client.{i}.PCPProxy.HighestVersion";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.PCPProxy.Status";\r
+      reference\r
+        "Device.PCP.Client.{i}.PCPProxy.Status";\r
+    }\r
+  }\r
+\r
+  grouping pcp-client-server-g {\r
+    description\r
+      "Grouping object for Device.PCP.Client.{i}.Server.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.Enable";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.Status";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.Alias";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.Alias";\r
+    }\r
+    leaf origin {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.Origin";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.Origin";\r
+    }\r
+    leaf server-name-or-address {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.ServerNameOrAddress";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.ServerNameOrAddress";\r
+    }\r
+    leaf server-address-in-use {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.ServerAddressInUse";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.ServerAddressInUse";\r
+    }\r
+    leaf additional-server-addresses {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.AdditionalServerAddresses";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.AdditionalServerAddresses";\r
+    }\r
+    leaf external-ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.ExternalIPAddress";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.ExternalIPAddress";\r
+    }\r
+    leaf current-version {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.CurrentVersion";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.CurrentVersion";\r
+    }\r
+    leaf maximum-filters {\r
+      type uint32;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.MaximumFilters";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.MaximumFilters";\r
+    }\r
+    leaf port-quota {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.PortQuota";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.PortQuota";\r
+    }\r
+    leaf preferred-lifetime {\r
+      type uint32;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.PreferredLifetime";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.PreferredLifetime";\r
+    }\r
+    leaf capabilities {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.Capabilities";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.Capabilities";\r
+    }\r
+    leaf inbound-mapping-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMappingNumberOfEntries";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMappingNumberOfEntries";\r
+    }\r
+    leaf outbound-mapping-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMappingNumberOfEntries";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMappingNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping server-inbound-mapping-g {\r
+    description\r
+      "Grouping object for Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Enable";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Status";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Status";\r
+    }\r
+    leaf error-code {\r
+      type uint32 {\r
+        range "1..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ErrorCode";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ErrorCode";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Alias";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Alias";\r
+    }\r
+    leaf origin {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Origin";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Origin";\r
+    }\r
+    leaf lifetime {\r
+      type uint32;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Lifetime";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Lifetime";\r
+    }\r
+    leaf suggested-external-ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalIPAddress";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalIPAddress";\r
+    }\r
+    leaf suggested-external-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalPort";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalPort";\r
+    }\r
+    leaf suggested-external-port-end-range {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalPortEndRange";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.SuggestedExternalPortEndRange";\r
+    }\r
+    leaf internal-port {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.InternalPort";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.InternalPort";\r
+    }\r
+    leaf protocol-number {\r
+      type int32 {\r
+        range "-1..255";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ProtocolNumber";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ProtocolNumber";\r
+    }\r
+    leaf third-party-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ThirdPartyAddress";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.ThirdPartyAddress";\r
+    }\r
+    leaf description {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Description";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Description";\r
+    }\r
+    leaf assigned-external-ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalIPAddress";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalIPAddress";\r
+    }\r
+    leaf assigned-external-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalPort";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalPort";\r
+    }\r
+    leaf assigned-external-port-end-range {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalPortEndRange";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.AssignedExternalPortEndRange";\r
+    }\r
+    leaf filter-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.FilterNumberOfEntries";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.FilterNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping inbound-mapping-filter-g {\r
+    description\r
+      "Grouping object for Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.Alias";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.Alias";\r
+    }\r
+    leaf remote-host-ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemoteHostIPAddress";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemoteHostIPAddress";\r
+    }\r
+    leaf prefix-length {\r
+      type uint32 {\r
+        range "1..128";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.PrefixLength";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.PrefixLength";\r
+    }\r
+    leaf remote-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemotePort";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemotePort";\r
+    }\r
+    leaf remote-port-end-range {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemotePortEndRange";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.RemotePortEndRange";\r
+    }\r
+  }\r
+\r
+  grouping server-outbound-mapping-g {\r
+    description\r
+      "Grouping object for Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Enable";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Status";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Status";\r
+    }\r
+    leaf error-code {\r
+      type uint32 {\r
+        range "1..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ErrorCode";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ErrorCode";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Alias";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Alias";\r
+    }\r
+    leaf origin {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Origin";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Origin";\r
+    }\r
+    leaf lifetime {\r
+      type uint32;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Lifetime";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Lifetime";\r
+    }\r
+    leaf suggested-external-ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.SuggestedExternalIPAddress";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.SuggestedExternalIPAddress";\r
+    }\r
+    leaf suggested-external-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.SuggestedExternalPort";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.SuggestedExternalPort";\r
+    }\r
+    leaf remote-host-ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.RemoteHostIPAddress";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.RemoteHostIPAddress";\r
+    }\r
+    leaf internal-port {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.InternalPort";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.InternalPort";\r
+    }\r
+    leaf remote-port {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.RemotePort";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.RemotePort";\r
+    }\r
+    leaf protocol-number {\r
+      type int32 {\r
+        range "-1..255";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ProtocolNumber";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ProtocolNumber";\r
+    }\r
+    leaf third-party-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ThirdPartyAddress";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.ThirdPartyAddress";\r
+    }\r
+    leaf description {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Description";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.Description";\r
+    }\r
+    leaf assigned-external-ip-address {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.AssignedExternalIPAddress";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.AssignedExternalIPAddress";\r
+    }\r
+    leaf assigned-external-port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.AssignedExternalPort";\r
+      reference\r
+        "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.AssignedExternalPort";\r
+    }\r
+  }\r
+\r
+  grouping client-u-pn-piwf-g {\r
+    description\r
+      "Grouping object for Device.PCP.Client.{i}.UPnPIWF.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.PCP.Client.{i}.UPnPIWF.Enable";\r
+      reference\r
+        "Device.PCP.Client.{i}.UPnPIWF.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PCP.Client.{i}.UPnPIWF.Status";\r
+      reference\r
+        "Device.PCP.Client.{i}.UPnPIWF.Status";\r
+    }\r
+  }\r
+\r
+  grouping device-ppp-g {\r
+    description\r
+      "Grouping object for Device.PPP.";\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PPP.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.PPP.InterfaceNumberOfEntries";\r
+    }\r
+    leaf supported-nc-ps {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PPP.SupportedNCPs";\r
+      reference\r
+        "Device.PPP.SupportedNCPs";\r
+    }\r
+  }\r
+\r
+  grouping ppp-interface-g {\r
+    description\r
+      "Grouping object for Device.PPP.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.PPP.Interface.{i}.Enable";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Status";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.PPP.Interface.{i}.Alias";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Name";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.PPP.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.PPP.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.PPP.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf connection-status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.ConnectionStatus";\r
+      reference\r
+        "Device.PPP.Interface.{i}.ConnectionStatus";\r
+    }\r
+    leaf last-connection-error {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.LastConnectionError";\r
+      reference\r
+        "Device.PPP.Interface.{i}.LastConnectionError";\r
+    }\r
+    leaf auto-disconnect-time {\r
+      type uint32;\r
+      description\r
+        "Device.PPP.Interface.{i}.AutoDisconnectTime";\r
+      reference\r
+        "Device.PPP.Interface.{i}.AutoDisconnectTime";\r
+    }\r
+    leaf idle-disconnect-time {\r
+      type uint32;\r
+      description\r
+        "Device.PPP.Interface.{i}.IdleDisconnectTime";\r
+      reference\r
+        "Device.PPP.Interface.{i}.IdleDisconnectTime";\r
+    }\r
+    leaf warn-disconnect-delay {\r
+      type uint32;\r
+      description\r
+        "Device.PPP.Interface.{i}.WarnDisconnectDelay";\r
+      reference\r
+        "Device.PPP.Interface.{i}.WarnDisconnectDelay";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.PPP.Interface.{i}.Username";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Username";\r
+    }\r
+    leaf encryption-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.EncryptionProtocol";\r
+      reference\r
+        "Device.PPP.Interface.{i}.EncryptionProtocol";\r
+    }\r
+    leaf compression-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.CompressionProtocol";\r
+      reference\r
+        "Device.PPP.Interface.{i}.CompressionProtocol";\r
+    }\r
+    leaf authentication-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.AuthenticationProtocol";\r
+      reference\r
+        "Device.PPP.Interface.{i}.AuthenticationProtocol";\r
+    }\r
+    leaf max-mru-size {\r
+      type uint32 {\r
+        range "64..65535";\r
+      }\r
+      description\r
+        "Device.PPP.Interface.{i}.MaxMRUSize";\r
+      reference\r
+        "Device.PPP.Interface.{i}.MaxMRUSize";\r
+    }\r
+    leaf current-mru-size {\r
+      type uint32 {\r
+        range "64..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.CurrentMRUSize";\r
+      reference\r
+        "Device.PPP.Interface.{i}.CurrentMRUSize";\r
+    }\r
+    leaf connection-trigger {\r
+      type enumeration {\r
+        enum OnDemand {\r
+          description\r
+            "Enum Value - OnDemand";\r
+        }\r
+        enum AlwaysOn {\r
+          description\r
+            "Enum Value - AlwaysOn";\r
+        }\r
+        enum Manual {\r
+          description\r
+            "Enum Value - Manual";\r
+        }\r
+      }\r
+      description\r
+        "Device.PPP.Interface.{i}.ConnectionTrigger";\r
+      reference\r
+        "Device.PPP.Interface.{i}.ConnectionTrigger";\r
+    }\r
+    leaf lcp-echo {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.LCPEcho";\r
+      reference\r
+        "Device.PPP.Interface.{i}.LCPEcho";\r
+    }\r
+    leaf lcp-echo-retry {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.LCPEchoRetry";\r
+      reference\r
+        "Device.PPP.Interface.{i}.LCPEchoRetry";\r
+    }\r
+    leaf ipcp-enable {\r
+      type boolean;\r
+      description\r
+        "Device.PPP.Interface.{i}.IPCPEnable";\r
+      reference\r
+        "Device.PPP.Interface.{i}.IPCPEnable";\r
+    }\r
+    leaf ipv6-cp-enable {\r
+      type boolean;\r
+      description\r
+        "Device.PPP.Interface.{i}.IPv6CPEnable";\r
+      reference\r
+        "Device.PPP.Interface.{i}.IPv6CPEnable";\r
+    }\r
+  }\r
+\r
+  grouping interface-ipcp-g {\r
+    description\r
+      "Grouping object for Device.PPP.Interface.{i}.IPCP.";\r
+    leaf local-ip-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.IPCP.LocalIPAddress";\r
+      reference\r
+        "Device.PPP.Interface.{i}.IPCP.LocalIPAddress";\r
+    }\r
+    leaf remote-ip-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.IPCP.RemoteIPAddress";\r
+      reference\r
+        "Device.PPP.Interface.{i}.IPCP.RemoteIPAddress";\r
+    }\r
+    leaf dns-servers {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.IPCP.DNSServers";\r
+      reference\r
+        "Device.PPP.Interface.{i}.IPCP.DNSServers";\r
+    }\r
+    leaf passthrough-enable {\r
+      type boolean;\r
+      description\r
+        "Device.PPP.Interface.{i}.IPCP.PassthroughEnable";\r
+      reference\r
+        "Device.PPP.Interface.{i}.IPCP.PassthroughEnable";\r
+    }\r
+    leaf passthrough-dhcp-pool {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.PPP.Interface.{i}.IPCP.PassthroughDHCPPool";\r
+      reference\r
+        "Device.PPP.Interface.{i}.IPCP.PassthroughDHCPPool";\r
+    }\r
+  }\r
+\r
+  grouping interface-ipv6-cp-g {\r
+    description\r
+      "Grouping object for Device.PPP.Interface.{i}.IPv6CP.";\r
+    leaf local-interface-identifier {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.IPv6CP.LocalInterfaceIdentifier";\r
+      reference\r
+        "Device.PPP.Interface.{i}.IPv6CP.LocalInterfaceIdentifier";\r
+    }\r
+    leaf remote-interface-identifier {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.IPv6CP.RemoteInterfaceIdentifier";\r
+      reference\r
+        "Device.PPP.Interface.{i}.IPv6CP.RemoteInterfaceIdentifier";\r
+    }\r
+  }\r
+\r
+  grouping interface-pp-po-e-g {\r
+    description\r
+      "Grouping object for Device.PPP.Interface.{i}.PPPoE.";\r
+    leaf session-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.PPPoE.SessionID";\r
+      reference\r
+        "Device.PPP.Interface.{i}.PPPoE.SessionID";\r
+    }\r
+    leaf ac-name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.PPP.Interface.{i}.PPPoE.ACName";\r
+      reference\r
+        "Device.PPP.Interface.{i}.PPPoE.ACName";\r
+    }\r
+    leaf service-name {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.PPP.Interface.{i}.PPPoE.ServiceName";\r
+      reference\r
+        "Device.PPP.Interface.{i}.PPPoE.ServiceName";\r
+    }\r
+  }\r
+\r
+  grouping ppp-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.PPP.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PPP.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.PPP.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping device-ptm-g {\r
+    description\r
+      "Grouping object for Device.PTM.";\r
+    leaf link-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PTM.LinkNumberOfEntries";\r
+      reference\r
+        "Device.PTM.LinkNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping ptm-link-g {\r
+    description\r
+      "Grouping object for Device.PTM.Link.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.PTM.Link.{i}.Enable";\r
+      reference\r
+        "Device.PTM.Link.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Status";\r
+      reference\r
+        "Device.PTM.Link.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.PTM.Link.{i}.Alias";\r
+      reference\r
+        "Device.PTM.Link.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Name";\r
+      reference\r
+        "Device.PTM.Link.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.LastChange";\r
+      reference\r
+        "Device.PTM.Link.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.PTM.Link.{i}.LowerLayers";\r
+      reference\r
+        "Device.PTM.Link.{i}.LowerLayers";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.MACAddress";\r
+      reference\r
+        "Device.PTM.Link.{i}.MACAddress";\r
+    }\r
+  }\r
+\r
+  grouping ptm-link-stats-g {\r
+    description\r
+      "Grouping object for Device.PTM.Link.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PTM.Link.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.PTM.Link.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping device-periodic-statistics-g {\r
+    description\r
+      "Grouping object for Device.PeriodicStatistics.";\r
+    leaf min-sample-interval {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.MinSampleInterval";\r
+      reference\r
+        "Device.PeriodicStatistics.MinSampleInterval";\r
+    }\r
+    leaf max-report-samples {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.MaxReportSamples";\r
+      reference\r
+        "Device.PeriodicStatistics.MaxReportSamples";\r
+    }\r
+    leaf sample-set-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSetNumberOfEntries";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSetNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping periodic-statistics-sample-set-g {\r
+    description\r
+      "Grouping object for Device.PeriodicStatistics.SampleSet.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Alias";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Enable";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Status";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Status";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..128";\r
+      }\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Name";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Name";\r
+    }\r
+    leaf sample-interval {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.SampleInterval";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.SampleInterval";\r
+    }\r
+    leaf report-samples {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.ReportSamples";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.ReportSamples";\r
+    }\r
+    leaf time-reference {\r
+      type string;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.TimeReference";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.TimeReference";\r
+    }\r
+    leaf fetch-samples {\r
+      type uint32;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.FetchSamples";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.FetchSamples";\r
+    }\r
+    leaf report-start-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.ReportStartTime";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.ReportStartTime";\r
+    }\r
+    leaf report-end-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.ReportEndTime";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.ReportEndTime";\r
+    }\r
+    leaf sample-seconds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.SampleSeconds";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.SampleSeconds";\r
+    }\r
+    leaf parameter-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.ParameterNumberOfEntries";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.ParameterNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping sample-set-parameter-g {\r
+    description\r
+      "Grouping object for Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Alias";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Enable";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Enable";\r
+    }\r
+    leaf reference {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Reference";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Reference";\r
+    }\r
+    leaf sample-mode {\r
+      type enumeration {\r
+        enum Current {\r
+          description\r
+            "Enum Value - Current";\r
+        }\r
+        enum Change {\r
+          description\r
+            "Enum Value - Change";\r
+        }\r
+      }\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SampleMode";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SampleMode";\r
+    }\r
+    leaf calculation-mode {\r
+      type enumeration {\r
+        enum Latest {\r
+          description\r
+            "Enum Value - Latest";\r
+        }\r
+        enum Minimum {\r
+          description\r
+            "Enum Value - Minimum";\r
+        }\r
+        enum Maximum {\r
+          description\r
+            "Enum Value - Maximum";\r
+        }\r
+        enum Average {\r
+          description\r
+            "Enum Value - Average";\r
+        }\r
+      }\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.CalculationMode";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.CalculationMode";\r
+    }\r
+    leaf low-threshold {\r
+      type int32;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.LowThreshold";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.LowThreshold";\r
+    }\r
+    leaf high-threshold {\r
+      type int32;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.HighThreshold";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.HighThreshold";\r
+    }\r
+    leaf sample-seconds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SampleSeconds";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SampleSeconds";\r
+    }\r
+    leaf suspect-data {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SuspectData";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.SuspectData";\r
+    }\r
+    leaf values {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Values";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Values";\r
+    }\r
+    leaf failures {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Failures";\r
+      reference\r
+        "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.Failures";\r
+    }\r
+  }\r
+\r
+  grouping device-qo-s-g {\r
+    description\r
+      "Grouping object for Device.QoS.";\r
+    leaf max-classification-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.MaxClassificationEntries";\r
+      reference\r
+        "Device.QoS.MaxClassificationEntries";\r
+    }\r
+    leaf classification-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.ClassificationNumberOfEntries";\r
+      reference\r
+        "Device.QoS.ClassificationNumberOfEntries";\r
+    }\r
+    leaf max-app-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.MaxAppEntries";\r
+      reference\r
+        "Device.QoS.MaxAppEntries";\r
+    }\r
+    leaf app-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.AppNumberOfEntries";\r
+      reference\r
+        "Device.QoS.AppNumberOfEntries";\r
+    }\r
+    leaf max-flow-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.MaxFlowEntries";\r
+      reference\r
+        "Device.QoS.MaxFlowEntries";\r
+    }\r
+    leaf flow-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.FlowNumberOfEntries";\r
+      reference\r
+        "Device.QoS.FlowNumberOfEntries";\r
+    }\r
+    leaf max-policer-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.MaxPolicerEntries";\r
+      reference\r
+        "Device.QoS.MaxPolicerEntries";\r
+    }\r
+    leaf policer-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.PolicerNumberOfEntries";\r
+      reference\r
+        "Device.QoS.PolicerNumberOfEntries";\r
+    }\r
+    leaf max-queue-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.MaxQueueEntries";\r
+      reference\r
+        "Device.QoS.MaxQueueEntries";\r
+    }\r
+    leaf queue-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.QueueNumberOfEntries";\r
+      reference\r
+        "Device.QoS.QueueNumberOfEntries";\r
+    }\r
+    leaf queue-stats-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.QueueStatsNumberOfEntries";\r
+      reference\r
+        "Device.QoS.QueueStatsNumberOfEntries";\r
+    }\r
+    leaf max-shaper-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.MaxShaperEntries";\r
+      reference\r
+        "Device.QoS.MaxShaperEntries";\r
+    }\r
+    leaf shaper-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.ShaperNumberOfEntries";\r
+      reference\r
+        "Device.QoS.ShaperNumberOfEntries";\r
+    }\r
+    leaf default-forwarding-policy {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.DefaultForwardingPolicy";\r
+      reference\r
+        "Device.QoS.DefaultForwardingPolicy";\r
+    }\r
+    leaf default-traffic-class {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.DefaultTrafficClass";\r
+      reference\r
+        "Device.QoS.DefaultTrafficClass";\r
+    }\r
+    leaf default-policer {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.DefaultPolicer";\r
+      reference\r
+        "Device.QoS.DefaultPolicer";\r
+    }\r
+    leaf default-queue {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.DefaultQueue";\r
+      reference\r
+        "Device.QoS.DefaultQueue";\r
+    }\r
+    leaf default-dscp-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.DefaultDSCPMark";\r
+      reference\r
+        "Device.QoS.DefaultDSCPMark";\r
+    }\r
+    leaf default-ethernet-priority-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.DefaultEthernetPriorityMark";\r
+      reference\r
+        "Device.QoS.DefaultEthernetPriorityMark";\r
+    }\r
+    leaf default-inner-ethernet-priority-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.DefaultInnerEthernetPriorityMark";\r
+      reference\r
+        "Device.QoS.DefaultInnerEthernetPriorityMark";\r
+    }\r
+    leaf available-app-list {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.QoS.AvailableAppList";\r
+      reference\r
+        "Device.QoS.AvailableAppList";\r
+    }\r
+  }\r
+\r
+  grouping qo-s-app-g {\r
+    description\r
+      "Grouping object for Device.QoS.App.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.App.{i}.Enable";\r
+      reference\r
+        "Device.QoS.App.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.QoS.App.{i}.Status";\r
+      reference\r
+        "Device.QoS.App.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.QoS.App.{i}.Alias";\r
+      reference\r
+        "Device.QoS.App.{i}.Alias";\r
+    }\r
+    leaf protocol-identifier {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.App.{i}.ProtocolIdentifier";\r
+      reference\r
+        "Device.QoS.App.{i}.ProtocolIdentifier";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.QoS.App.{i}.Name";\r
+      reference\r
+        "Device.QoS.App.{i}.Name";\r
+    }\r
+    leaf default-forwarding-policy {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.App.{i}.DefaultForwardingPolicy";\r
+      reference\r
+        "Device.QoS.App.{i}.DefaultForwardingPolicy";\r
+    }\r
+    leaf default-traffic-class {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.App.{i}.DefaultTrafficClass";\r
+      reference\r
+        "Device.QoS.App.{i}.DefaultTrafficClass";\r
+    }\r
+    leaf default-policer {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.App.{i}.DefaultPolicer";\r
+      reference\r
+        "Device.QoS.App.{i}.DefaultPolicer";\r
+    }\r
+    leaf default-dscp-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.App.{i}.DefaultDSCPMark";\r
+      reference\r
+        "Device.QoS.App.{i}.DefaultDSCPMark";\r
+    }\r
+    leaf default-ethernet-priority-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.App.{i}.DefaultEthernetPriorityMark";\r
+      reference\r
+        "Device.QoS.App.{i}.DefaultEthernetPriorityMark";\r
+    }\r
+    leaf default-inner-ethernet-priority-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.App.{i}.DefaultInnerEthernetPriorityMark";\r
+      reference\r
+        "Device.QoS.App.{i}.DefaultInnerEthernetPriorityMark";\r
+    }\r
+  }\r
+\r
+  grouping qo-s-classification-g {\r
+    description\r
+      "Grouping object for Device.QoS.Classification.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.Enable";\r
+      reference\r
+        "Device.QoS.Classification.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.QoS.Classification.{i}.Status";\r
+      reference\r
+        "Device.QoS.Classification.{i}.Status";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.Order";\r
+      reference\r
+        "Device.QoS.Classification.{i}.Order";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.Alias";\r
+      reference\r
+        "Device.QoS.Classification.{i}.Alias";\r
+    }\r
+    leaf dhcp-type {\r
+      type enumeration {\r
+        enum DHCPv4 {\r
+          description\r
+            "Enum Value - DHCPv4";\r
+        }\r
+        enum DHCPv6 {\r
+          description\r
+            "Enum Value - DHCPv6";\r
+        }\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DHCPType";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DHCPType";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.Interface";\r
+      reference\r
+        "Device.QoS.Classification.{i}.Interface";\r
+    }\r
+    leaf all-interfaces {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.AllInterfaces";\r
+      reference\r
+        "Device.QoS.Classification.{i}.AllInterfaces";\r
+    }\r
+    leaf dest-ip {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestIP";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestIP";\r
+    }\r
+    leaf dest-mask {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestMask";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestMask";\r
+    }\r
+    leaf dest-ip-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.DestIPExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestIPExclude";\r
+    }\r
+    leaf source-ip {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceIP";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceIP";\r
+    }\r
+    leaf source-mask {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceMask";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceMask";\r
+    }\r
+    leaf source-ip-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceIPExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceIPExclude";\r
+    }\r
+    leaf protocol {\r
+      type int32 {\r
+        range "-1..255";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.Protocol";\r
+      reference\r
+        "Device.QoS.Classification.{i}.Protocol";\r
+    }\r
+    leaf protocol-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.ProtocolExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.ProtocolExclude";\r
+    }\r
+    leaf dest-port {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestPort";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestPort";\r
+    }\r
+    leaf dest-port-range-max {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestPortRangeMax";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestPortRangeMax";\r
+    }\r
+    leaf dest-port-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.DestPortExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestPortExclude";\r
+    }\r
+    leaf source-port {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourcePort";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourcePort";\r
+    }\r
+    leaf source-port-range-max {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourcePortRangeMax";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourcePortRangeMax";\r
+    }\r
+    leaf source-port-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.SourcePortExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourcePortExclude";\r
+    }\r
+    leaf source-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceMACAddress";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceMACAddress";\r
+    }\r
+    leaf source-mac-mask {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceMACMask";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceMACMask";\r
+    }\r
+    leaf source-mac-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceMACExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceMACExclude";\r
+    }\r
+    leaf dest-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestMACAddress";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestMACAddress";\r
+    }\r
+    leaf dest-mac-mask {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestMACMask";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestMACMask";\r
+    }\r
+    leaf dest-mac-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.DestMACExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestMACExclude";\r
+    }\r
+    leaf ethertype {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.Ethertype";\r
+      reference\r
+        "Device.QoS.Classification.{i}.Ethertype";\r
+    }\r
+    leaf ethertype-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.EthertypeExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.EthertypeExclude";\r
+    }\r
+    leaf ssap {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SSAP";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SSAP";\r
+    }\r
+    leaf ssap-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.SSAPExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SSAPExclude";\r
+    }\r
+    leaf dsap {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DSAP";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DSAP";\r
+    }\r
+    leaf dsap-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.DSAPExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DSAPExclude";\r
+    }\r
+    leaf llc-control {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.LLCControl";\r
+      reference\r
+        "Device.QoS.Classification.{i}.LLCControl";\r
+    }\r
+    leaf llc-control-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.LLCControlExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.LLCControlExclude";\r
+    }\r
+    leaf snapoui {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SNAPOUI";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SNAPOUI";\r
+    }\r
+    leaf snapoui-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.SNAPOUIExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SNAPOUIExclude";\r
+    }\r
+    leaf source-vendor-class-id {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceVendorClassID";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceVendorClassID";\r
+    }\r
+    leaf source-vendor-class-idv6 {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceVendorClassIDv6";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceVendorClassIDv6";\r
+    }\r
+    leaf source-vendor-class-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceVendorClassIDExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceVendorClassIDExclude";\r
+    }\r
+    leaf source-vendor-class-id-mode {\r
+      type enumeration {\r
+        enum Exact {\r
+          description\r
+            "Enum Value - Exact";\r
+        }\r
+        enum Prefix {\r
+          description\r
+            "Enum Value - Prefix";\r
+        }\r
+        enum Suffix {\r
+          description\r
+            "Enum Value - Suffix";\r
+        }\r
+        enum Substring {\r
+          description\r
+            "Enum Value - Substring";\r
+        }\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceVendorClassIDMode";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceVendorClassIDMode";\r
+    }\r
+    leaf dest-vendor-class-id {\r
+      type string {\r
+        length "min..255";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestVendorClassID";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestVendorClassID";\r
+    }\r
+    leaf dest-vendor-class-idv6 {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestVendorClassIDv6";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestVendorClassIDv6";\r
+    }\r
+    leaf dest-vendor-class-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.DestVendorClassIDExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestVendorClassIDExclude";\r
+    }\r
+    leaf dest-vendor-class-id-mode {\r
+      type enumeration {\r
+        enum Exact {\r
+          description\r
+            "Enum Value - Exact";\r
+        }\r
+        enum Prefix {\r
+          description\r
+            "Enum Value - Prefix";\r
+        }\r
+        enum Suffix {\r
+          description\r
+            "Enum Value - Suffix";\r
+        }\r
+        enum Substring {\r
+          description\r
+            "Enum Value - Substring";\r
+        }\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestVendorClassIDMode";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestVendorClassIDMode";\r
+    }\r
+    leaf source-client-id {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceClientID";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceClientID";\r
+    }\r
+    leaf source-client-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceClientIDExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceClientIDExclude";\r
+    }\r
+    leaf dest-client-id {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestClientID";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestClientID";\r
+    }\r
+    leaf dest-client-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.DestClientIDExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestClientIDExclude";\r
+    }\r
+    leaf source-user-class-id {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceUserClassID";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceUserClassID";\r
+    }\r
+    leaf source-user-class-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceUserClassIDExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceUserClassIDExclude";\r
+    }\r
+    leaf dest-user-class-id {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestUserClassID";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestUserClassID";\r
+    }\r
+    leaf dest-user-class-id-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.DestUserClassIDExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestUserClassIDExclude";\r
+    }\r
+    leaf source-vendor-specific-info {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceVendorSpecificInfo";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceVendorSpecificInfo";\r
+    }\r
+    leaf source-vendor-specific-info-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoExclude";\r
+    }\r
+    leaf source-vendor-specific-info-enterprise {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoEnterprise";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoEnterprise";\r
+    }\r
+    leaf source-vendor-specific-info-sub-option {\r
+      type int32 {\r
+        range "0..255";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoSubOption";\r
+      reference\r
+        "Device.QoS.Classification.{i}.SourceVendorSpecificInfoSubOption";\r
+    }\r
+    leaf dest-vendor-specific-info {\r
+      type string {\r
+        length "min..65535";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestVendorSpecificInfo";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestVendorSpecificInfo";\r
+    }\r
+    leaf dest-vendor-specific-info-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.DestVendorSpecificInfoExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestVendorSpecificInfoExclude";\r
+    }\r
+    leaf dest-vendor-specific-info-enterprise {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Classification.{i}.DestVendorSpecificInfoEnterprise";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestVendorSpecificInfoEnterprise";\r
+    }\r
+    leaf dest-vendor-specific-info-sub-option {\r
+      type int32 {\r
+        range "0..255";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DestVendorSpecificInfoSubOption";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DestVendorSpecificInfoSubOption";\r
+    }\r
+    leaf tcpack {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.TCPACK";\r
+      reference\r
+        "Device.QoS.Classification.{i}.TCPACK";\r
+    }\r
+    leaf tcpack-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.TCPACKExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.TCPACKExclude";\r
+    }\r
+    leaf ip-length-min {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Classification.{i}.IPLengthMin";\r
+      reference\r
+        "Device.QoS.Classification.{i}.IPLengthMin";\r
+    }\r
+    leaf ip-length-max {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Classification.{i}.IPLengthMax";\r
+      reference\r
+        "Device.QoS.Classification.{i}.IPLengthMax";\r
+    }\r
+    leaf ip-length-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.IPLengthExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.IPLengthExclude";\r
+    }\r
+    leaf dscp-check {\r
+      type int32 {\r
+        range "-1..63";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DSCPCheck";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DSCPCheck";\r
+    }\r
+    leaf dscp-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.DSCPExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DSCPExclude";\r
+    }\r
+    leaf dscp-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.DSCPMark";\r
+      reference\r
+        "Device.QoS.Classification.{i}.DSCPMark";\r
+    }\r
+    leaf ethernet-priority-check {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.EthernetPriorityCheck";\r
+      reference\r
+        "Device.QoS.Classification.{i}.EthernetPriorityCheck";\r
+    }\r
+    leaf ethernet-priority-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.EthernetPriorityExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.EthernetPriorityExclude";\r
+    }\r
+    leaf ethernet-priority-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.EthernetPriorityMark";\r
+      reference\r
+        "Device.QoS.Classification.{i}.EthernetPriorityMark";\r
+    }\r
+    leaf inner-ethernet-priority-check {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.InnerEthernetPriorityCheck";\r
+      reference\r
+        "Device.QoS.Classification.{i}.InnerEthernetPriorityCheck";\r
+    }\r
+    leaf inner-ethernet-priority-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.InnerEthernetPriorityExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.InnerEthernetPriorityExclude";\r
+    }\r
+    leaf inner-ethernet-priority-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.InnerEthernetPriorityMark";\r
+      reference\r
+        "Device.QoS.Classification.{i}.InnerEthernetPriorityMark";\r
+    }\r
+    leaf ethernet-dei-check {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.EthernetDEICheck";\r
+      reference\r
+        "Device.QoS.Classification.{i}.EthernetDEICheck";\r
+    }\r
+    leaf ethernet-dei-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.EthernetDEIExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.EthernetDEIExclude";\r
+    }\r
+    leaf vlanid-check {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.VLANIDCheck";\r
+      reference\r
+        "Device.QoS.Classification.{i}.VLANIDCheck";\r
+    }\r
+    leaf vlanid-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Classification.{i}.VLANIDExclude";\r
+      reference\r
+        "Device.QoS.Classification.{i}.VLANIDExclude";\r
+    }\r
+    leaf out-of-band-info {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.OutOfBandInfo";\r
+      reference\r
+        "Device.QoS.Classification.{i}.OutOfBandInfo";\r
+    }\r
+    leaf forwarding-policy {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Classification.{i}.ForwardingPolicy";\r
+      reference\r
+        "Device.QoS.Classification.{i}.ForwardingPolicy";\r
+    }\r
+    leaf traffic-class {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.TrafficClass";\r
+      reference\r
+        "Device.QoS.Classification.{i}.TrafficClass";\r
+    }\r
+    leaf policer {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.Policer";\r
+      reference\r
+        "Device.QoS.Classification.{i}.Policer";\r
+    }\r
+    leaf app {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.Classification.{i}.App";\r
+      reference\r
+        "Device.QoS.Classification.{i}.App";\r
+    }\r
+  }\r
+\r
+  grouping qo-s-flow-g {\r
+    description\r
+      "Grouping object for Device.QoS.Flow.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Flow.{i}.Enable";\r
+      reference\r
+        "Device.QoS.Flow.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.QoS.Flow.{i}.Status";\r
+      reference\r
+        "Device.QoS.Flow.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.QoS.Flow.{i}.Alias";\r
+      reference\r
+        "Device.QoS.Flow.{i}.Alias";\r
+    }\r
+    leaf type {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.Flow.{i}.Type";\r
+      reference\r
+        "Device.QoS.Flow.{i}.Type";\r
+    }\r
+    leaf type-parameters {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.Flow.{i}.TypeParameters";\r
+      reference\r
+        "Device.QoS.Flow.{i}.TypeParameters";\r
+    }\r
+    leaf name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.QoS.Flow.{i}.Name";\r
+      reference\r
+        "Device.QoS.Flow.{i}.Name";\r
+    }\r
+    leaf app {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.Flow.{i}.App";\r
+      reference\r
+        "Device.QoS.Flow.{i}.App";\r
+    }\r
+    leaf forwarding-policy {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Flow.{i}.ForwardingPolicy";\r
+      reference\r
+        "Device.QoS.Flow.{i}.ForwardingPolicy";\r
+    }\r
+    leaf traffic-class {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Flow.{i}.TrafficClass";\r
+      reference\r
+        "Device.QoS.Flow.{i}.TrafficClass";\r
+    }\r
+    leaf policer {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.Flow.{i}.Policer";\r
+      reference\r
+        "Device.QoS.Flow.{i}.Policer";\r
+    }\r
+    leaf dscp-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.Flow.{i}.DSCPMark";\r
+      reference\r
+        "Device.QoS.Flow.{i}.DSCPMark";\r
+    }\r
+    leaf ethernet-priority-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.Flow.{i}.EthernetPriorityMark";\r
+      reference\r
+        "Device.QoS.Flow.{i}.EthernetPriorityMark";\r
+    }\r
+    leaf inner-ethernet-priority-mark {\r
+      type int32 {\r
+        range "-2..max";\r
+      }\r
+      description\r
+        "Device.QoS.Flow.{i}.InnerEthernetPriorityMark";\r
+      reference\r
+        "Device.QoS.Flow.{i}.InnerEthernetPriorityMark";\r
+    }\r
+  }\r
+\r
+  grouping qo-s-policer-g {\r
+    description\r
+      "Grouping object for Device.QoS.Policer.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Policer.{i}.Enable";\r
+      reference\r
+        "Device.QoS.Policer.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.QoS.Policer.{i}.Status";\r
+      reference\r
+        "Device.QoS.Policer.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.QoS.Policer.{i}.Alias";\r
+      reference\r
+        "Device.QoS.Policer.{i}.Alias";\r
+    }\r
+    leaf committed-rate {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Policer.{i}.CommittedRate";\r
+      reference\r
+        "Device.QoS.Policer.{i}.CommittedRate";\r
+    }\r
+    leaf committed-burst-size {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Policer.{i}.CommittedBurstSize";\r
+      reference\r
+        "Device.QoS.Policer.{i}.CommittedBurstSize";\r
+    }\r
+    leaf excess-burst-size {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Policer.{i}.ExcessBurstSize";\r
+      reference\r
+        "Device.QoS.Policer.{i}.ExcessBurstSize";\r
+    }\r
+    leaf peak-rate {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Policer.{i}.PeakRate";\r
+      reference\r
+        "Device.QoS.Policer.{i}.PeakRate";\r
+    }\r
+    leaf peak-burst-size {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Policer.{i}.PeakBurstSize";\r
+      reference\r
+        "Device.QoS.Policer.{i}.PeakBurstSize";\r
+    }\r
+    leaf meter-type {\r
+      type string;\r
+      description\r
+        "Device.QoS.Policer.{i}.MeterType";\r
+      reference\r
+        "Device.QoS.Policer.{i}.MeterType";\r
+    }\r
+    leaf possible-meter-types {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.QoS.Policer.{i}.PossibleMeterTypes";\r
+      reference\r
+        "Device.QoS.Policer.{i}.PossibleMeterTypes";\r
+    }\r
+    leaf conforming-action {\r
+      type string;\r
+      description\r
+        "Device.QoS.Policer.{i}.ConformingAction";\r
+      reference\r
+        "Device.QoS.Policer.{i}.ConformingAction";\r
+    }\r
+    leaf partial-conforming-action {\r
+      type string;\r
+      description\r
+        "Device.QoS.Policer.{i}.PartialConformingAction";\r
+      reference\r
+        "Device.QoS.Policer.{i}.PartialConformingAction";\r
+    }\r
+    leaf non-conforming-action {\r
+      type string;\r
+      description\r
+        "Device.QoS.Policer.{i}.NonConformingAction";\r
+      reference\r
+        "Device.QoS.Policer.{i}.NonConformingAction";\r
+    }\r
+    leaf total-counted-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.Policer.{i}.TotalCountedPackets";\r
+      reference\r
+        "Device.QoS.Policer.{i}.TotalCountedPackets";\r
+    }\r
+    leaf total-counted-bytes {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.Policer.{i}.TotalCountedBytes";\r
+      reference\r
+        "Device.QoS.Policer.{i}.TotalCountedBytes";\r
+    }\r
+    leaf conforming-counted-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.Policer.{i}.ConformingCountedPackets";\r
+      reference\r
+        "Device.QoS.Policer.{i}.ConformingCountedPackets";\r
+    }\r
+    leaf conforming-counted-bytes {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.Policer.{i}.ConformingCountedBytes";\r
+      reference\r
+        "Device.QoS.Policer.{i}.ConformingCountedBytes";\r
+    }\r
+    leaf partially-conforming-counted-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.Policer.{i}.PartiallyConformingCountedPackets";\r
+      reference\r
+        "Device.QoS.Policer.{i}.PartiallyConformingCountedPackets";\r
+    }\r
+    leaf partially-conforming-counted-bytes {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.Policer.{i}.PartiallyConformingCountedBytes";\r
+      reference\r
+        "Device.QoS.Policer.{i}.PartiallyConformingCountedBytes";\r
+    }\r
+    leaf non-conforming-counted-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.Policer.{i}.NonConformingCountedPackets";\r
+      reference\r
+        "Device.QoS.Policer.{i}.NonConformingCountedPackets";\r
+    }\r
+    leaf non-conforming-counted-bytes {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.Policer.{i}.NonConformingCountedBytes";\r
+      reference\r
+        "Device.QoS.Policer.{i}.NonConformingCountedBytes";\r
+    }\r
+  }\r
+\r
+  grouping qo-s-queue-g {\r
+    description\r
+      "Grouping object for Device.QoS.Queue.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Queue.{i}.Enable";\r
+      reference\r
+        "Device.QoS.Queue.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.QoS.Queue.{i}.Status";\r
+      reference\r
+        "Device.QoS.Queue.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.QoS.Queue.{i}.Alias";\r
+      reference\r
+        "Device.QoS.Queue.{i}.Alias";\r
+    }\r
+    leaf traffic-classes {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Queue.{i}.TrafficClasses";\r
+      reference\r
+        "Device.QoS.Queue.{i}.TrafficClasses";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.Queue.{i}.Interface";\r
+      reference\r
+        "Device.QoS.Queue.{i}.Interface";\r
+    }\r
+    leaf all-interfaces {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Queue.{i}.AllInterfaces";\r
+      reference\r
+        "Device.QoS.Queue.{i}.AllInterfaces";\r
+    }\r
+    leaf hardware-assisted {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.QoS.Queue.{i}.HardwareAssisted";\r
+      reference\r
+        "Device.QoS.Queue.{i}.HardwareAssisted";\r
+    }\r
+    leaf buffer-length {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.Queue.{i}.BufferLength";\r
+      reference\r
+        "Device.QoS.Queue.{i}.BufferLength";\r
+    }\r
+    leaf weight {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Queue.{i}.Weight";\r
+      reference\r
+        "Device.QoS.Queue.{i}.Weight";\r
+    }\r
+    leaf precedence {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Queue.{i}.Precedence";\r
+      reference\r
+        "Device.QoS.Queue.{i}.Precedence";\r
+    }\r
+    leaf red-threshold {\r
+      type uint32 {\r
+        range "min..100";\r
+      }\r
+      description\r
+        "Device.QoS.Queue.{i}.REDThreshold";\r
+      reference\r
+        "Device.QoS.Queue.{i}.REDThreshold";\r
+    }\r
+    leaf red-percentage {\r
+      type uint32 {\r
+        range "min..100";\r
+      }\r
+      description\r
+        "Device.QoS.Queue.{i}.REDPercentage";\r
+      reference\r
+        "Device.QoS.Queue.{i}.REDPercentage";\r
+    }\r
+    leaf drop-algorithm {\r
+      type enumeration {\r
+        enum RED {\r
+          description\r
+            "Enum Value - RED";\r
+        }\r
+        enum DT {\r
+          description\r
+            "Enum Value - DT";\r
+        }\r
+        enum WRED {\r
+          description\r
+            "Enum Value - WRED";\r
+        }\r
+        enum BLUE {\r
+          description\r
+            "Enum Value - BLUE";\r
+        }\r
+      }\r
+      description\r
+        "Device.QoS.Queue.{i}.DropAlgorithm";\r
+      reference\r
+        "Device.QoS.Queue.{i}.DropAlgorithm";\r
+    }\r
+    leaf scheduler-algorithm {\r
+      type enumeration {\r
+        enum WFQ {\r
+          description\r
+            "Enum Value - WFQ";\r
+        }\r
+        enum WRR {\r
+          description\r
+            "Enum Value - WRR";\r
+        }\r
+        enum SP {\r
+          description\r
+            "Enum Value - SP";\r
+        }\r
+      }\r
+      description\r
+        "Device.QoS.Queue.{i}.SchedulerAlgorithm";\r
+      reference\r
+        "Device.QoS.Queue.{i}.SchedulerAlgorithm";\r
+    }\r
+    leaf shaping-rate {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Queue.{i}.ShapingRate";\r
+      reference\r
+        "Device.QoS.Queue.{i}.ShapingRate";\r
+    }\r
+    leaf shaping-burst-size {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Queue.{i}.ShapingBurstSize";\r
+      reference\r
+        "Device.QoS.Queue.{i}.ShapingBurstSize";\r
+    }\r
+  }\r
+\r
+  grouping qo-s-queue-stats-g {\r
+    description\r
+      "Grouping object for Device.QoS.QueueStats.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.QueueStats.{i}.Enable";\r
+      reference\r
+        "Device.QoS.QueueStats.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.QoS.QueueStats.{i}.Status";\r
+      reference\r
+        "Device.QoS.QueueStats.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.QoS.QueueStats.{i}.Alias";\r
+      reference\r
+        "Device.QoS.QueueStats.{i}.Alias";\r
+    }\r
+    leaf queue {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.QueueStats.{i}.Queue";\r
+      reference\r
+        "Device.QoS.QueueStats.{i}.Queue";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.QueueStats.{i}.Interface";\r
+      reference\r
+        "Device.QoS.QueueStats.{i}.Interface";\r
+    }\r
+    leaf output-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.QueueStats.{i}.OutputPackets";\r
+      reference\r
+        "Device.QoS.QueueStats.{i}.OutputPackets";\r
+    }\r
+    leaf output-bytes {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.QueueStats.{i}.OutputBytes";\r
+      reference\r
+        "Device.QoS.QueueStats.{i}.OutputBytes";\r
+    }\r
+    leaf dropped-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.QueueStats.{i}.DroppedPackets";\r
+      reference\r
+        "Device.QoS.QueueStats.{i}.DroppedPackets";\r
+    }\r
+    leaf dropped-bytes {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.QueueStats.{i}.DroppedBytes";\r
+      reference\r
+        "Device.QoS.QueueStats.{i}.DroppedBytes";\r
+    }\r
+    leaf queue-occupancy-packets {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.QoS.QueueStats.{i}.QueueOccupancyPackets";\r
+      reference\r
+        "Device.QoS.QueueStats.{i}.QueueOccupancyPackets";\r
+    }\r
+    leaf queue-occupancy-percentage {\r
+      type uint32 {\r
+        range "0..100";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.QoS.QueueStats.{i}.QueueOccupancyPercentage";\r
+      reference\r
+        "Device.QoS.QueueStats.{i}.QueueOccupancyPercentage";\r
+    }\r
+  }\r
+\r
+  grouping qo-s-shaper-g {\r
+    description\r
+      "Grouping object for Device.QoS.Shaper.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.QoS.Shaper.{i}.Enable";\r
+      reference\r
+        "Device.QoS.Shaper.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.QoS.Shaper.{i}.Status";\r
+      reference\r
+        "Device.QoS.Shaper.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.QoS.Shaper.{i}.Alias";\r
+      reference\r
+        "Device.QoS.Shaper.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.QoS.Shaper.{i}.Interface";\r
+      reference\r
+        "Device.QoS.Shaper.{i}.Interface";\r
+    }\r
+    leaf shaping-rate {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.QoS.Shaper.{i}.ShapingRate";\r
+      reference\r
+        "Device.QoS.Shaper.{i}.ShapingRate";\r
+    }\r
+    leaf shaping-burst-size {\r
+      type uint32;\r
+      description\r
+        "Device.QoS.Shaper.{i}.ShapingBurstSize";\r
+      reference\r
+        "Device.QoS.Shaper.{i}.ShapingBurstSize";\r
+    }\r
+  }\r
+\r
+  grouping device-router-advertisement-g {\r
+    description\r
+      "Grouping object for Device.RouterAdvertisement.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.RouterAdvertisement.Enable";\r
+      reference\r
+        "Device.RouterAdvertisement.Enable";\r
+    }\r
+    leaf interface-setting-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSettingNumberOfEntries";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSettingNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping router-advertisement-interface-setting-g {\r
+    description\r
+      "Grouping object for Device.RouterAdvertisement.InterfaceSetting.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Enable";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Status";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Alias";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Interface";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Interface";\r
+    }\r
+    leaf manual-prefixes {\r
+      type string;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.ManualPrefixes";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.ManualPrefixes";\r
+    }\r
+    leaf prefixes {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Prefixes";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Prefixes";\r
+    }\r
+    leaf max-rtr-adv-interval {\r
+      type uint32 {\r
+        range "4..1800";\r
+      }\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.MaxRtrAdvInterval";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.MaxRtrAdvInterval";\r
+    }\r
+    leaf min-rtr-adv-interval {\r
+      type uint32 {\r
+        range "3..1350";\r
+      }\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.MinRtrAdvInterval";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.MinRtrAdvInterval";\r
+    }\r
+    leaf adv-default-lifetime {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvDefaultLifetime";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvDefaultLifetime";\r
+    }\r
+    leaf adv-managed-flag {\r
+      type boolean;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvManagedFlag";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvManagedFlag";\r
+    }\r
+    leaf adv-other-config-flag {\r
+      type boolean;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvOtherConfigFlag";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvOtherConfigFlag";\r
+    }\r
+    leaf adv-mobile-agent-flag {\r
+      type boolean;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvMobileAgentFlag";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvMobileAgentFlag";\r
+    }\r
+    leaf adv-preferred-router-flag {\r
+      type enumeration {\r
+        enum High {\r
+          description\r
+            "Enum Value - High";\r
+        }\r
+        enum Medium {\r
+          description\r
+            "Enum Value - Medium";\r
+        }\r
+        enum Low {\r
+          description\r
+            "Enum Value - Low";\r
+        }\r
+      }\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvPreferredRouterFlag";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvPreferredRouterFlag";\r
+    }\r
+    leaf adv-nd-proxy-flag {\r
+      type boolean;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvNDProxyFlag";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvNDProxyFlag";\r
+    }\r
+    leaf adv-link-mtu {\r
+      type uint32;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvLinkMTU";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvLinkMTU";\r
+    }\r
+    leaf adv-reachable-time {\r
+      type uint32 {\r
+        range "min..3600000";\r
+      }\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvReachableTime";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvReachableTime";\r
+    }\r
+    leaf adv-retrans-timer {\r
+      type uint32;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvRetransTimer";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvRetransTimer";\r
+    }\r
+    leaf adv-cur-hop-limit {\r
+      type uint32 {\r
+        range "min..255";\r
+      }\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvCurHopLimit";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.AdvCurHopLimit";\r
+    }\r
+    leaf option-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.OptionNumberOfEntries";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.OptionNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping interface-setting-option-g {\r
+    description\r
+      "Grouping object for Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Enable";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Alias";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Alias";\r
+    }\r
+    leaf tag {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Tag";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Tag";\r
+    }\r
+    leaf value {\r
+      type string {\r
+        length "0..65535";\r
+      }\r
+      description\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Value";\r
+      reference\r
+        "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.Value";\r
+    }\r
+  }\r
+\r
+  grouping device-routing-g {\r
+    description\r
+      "Grouping object for Device.Routing.";\r
+    leaf router-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Routing.RouterNumberOfEntries";\r
+      reference\r
+        "Device.Routing.RouterNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping routing-rip-g {\r
+    description\r
+      "Grouping object for Device.Routing.RIP.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Routing.RIP.Enable";\r
+      reference\r
+        "Device.Routing.RIP.Enable";\r
+    }\r
+    leaf supported-modes {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.RIP.SupportedModes";\r
+      reference\r
+        "Device.Routing.RIP.SupportedModes";\r
+    }\r
+    leaf interface-setting-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Routing.RIP.InterfaceSettingNumberOfEntries";\r
+      reference\r
+        "Device.Routing.RIP.InterfaceSettingNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping rip-interface-setting-g {\r
+    description\r
+      "Grouping object for Device.Routing.RIP.InterfaceSetting.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.Enable";\r
+      reference\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.Status";\r
+      reference\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.Alias";\r
+      reference\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.Interface";\r
+      reference\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.Interface";\r
+    }\r
+    leaf accept-ra {\r
+      type boolean;\r
+      description\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.AcceptRA";\r
+      reference\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.AcceptRA";\r
+    }\r
+    leaf send-ra {\r
+      type boolean;\r
+      description\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.SendRA";\r
+      reference\r
+        "Device.Routing.RIP.InterfaceSetting.{i}.SendRA";\r
+    }\r
+  }\r
+\r
+  grouping routing-route-information-g {\r
+    description\r
+      "Grouping object for Device.Routing.RouteInformation.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Routing.RouteInformation.Enable";\r
+      reference\r
+        "Device.Routing.RouteInformation.Enable";\r
+    }\r
+    leaf interface-setting-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Routing.RouteInformation.InterfaceSettingNumberOfEntries";\r
+      reference\r
+        "Device.Routing.RouteInformation.InterfaceSettingNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping route-information-interface-setting-g {\r
+    description\r
+      "Grouping object for Device.Routing.RouteInformation.InterfaceSetting.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Status";\r
+      reference\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Status";\r
+    }\r
+    leaf interface {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Interface";\r
+      reference\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Interface";\r
+    }\r
+    leaf source-router {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.SourceRouter";\r
+      reference\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.SourceRouter";\r
+    }\r
+    leaf preferred-route-flag {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.PreferredRouteFlag";\r
+      reference\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.PreferredRouteFlag";\r
+    }\r
+    leaf prefix {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Prefix";\r
+      reference\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.Prefix";\r
+    }\r
+    leaf route-lifetime {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.RouteLifetime";\r
+      reference\r
+        "Device.Routing.RouteInformation.InterfaceSetting.{i}.RouteLifetime";\r
+    }\r
+  }\r
+\r
+  grouping routing-router-g {\r
+    description\r
+      "Grouping object for Device.Routing.Router.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Routing.Router.{i}.Enable";\r
+      reference\r
+        "Device.Routing.Router.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.Router.{i}.Status";\r
+      reference\r
+        "Device.Routing.Router.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.Alias";\r
+      reference\r
+        "Device.Routing.Router.{i}.Alias";\r
+    }\r
+    leaf ipv4-forwarding-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4ForwardingNumberOfEntries";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4ForwardingNumberOfEntries";\r
+    }\r
+    leaf ipv6-forwarding-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Routing.Router.{i}.IPv6ForwardingNumberOfEntries";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv6ForwardingNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping router-ipv4-forwarding-g {\r
+    description\r
+      "Grouping object for Device.Routing.Router.{i}.IPv4Forwarding.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Enable";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Status";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Alias";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Alias";\r
+    }\r
+    leaf static-route {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.StaticRoute";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.StaticRoute";\r
+    }\r
+    leaf dest-ip-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.DestIPAddress";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.DestIPAddress";\r
+    }\r
+    leaf dest-subnet-mask {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.DestSubnetMask";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.DestSubnetMask";\r
+    }\r
+    leaf forwarding-policy {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.ForwardingPolicy";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.ForwardingPolicy";\r
+    }\r
+    leaf gateway-ip-address {\r
+      type string {\r
+        length "min..15";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.GatewayIPAddress";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.GatewayIPAddress";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Interface";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Interface";\r
+    }\r
+    leaf origin {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Origin";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.Origin";\r
+    }\r
+    leaf forwarding-metric {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.ForwardingMetric";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv4Forwarding.{i}.ForwardingMetric";\r
+    }\r
+  }\r
+\r
+  grouping router-ipv6-forwarding-g {\r
+    description\r
+      "Grouping object for Device.Routing.Router.{i}.IPv6Forwarding.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Enable";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Status";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Alias";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Alias";\r
+    }\r
+    leaf dest-ip-prefix {\r
+      type string {\r
+        length "min..49";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.DestIPPrefix";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.DestIPPrefix";\r
+    }\r
+    leaf forwarding-policy {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ForwardingPolicy";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ForwardingPolicy";\r
+    }\r
+    leaf next-hop {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.NextHop";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.NextHop";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Interface";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Interface";\r
+    }\r
+    leaf origin {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Origin";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.Origin";\r
+    }\r
+    leaf forwarding-metric {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ForwardingMetric";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ForwardingMetric";\r
+    }\r
+    leaf expiration-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ExpirationTime";\r
+      reference\r
+        "Device.Routing.Router.{i}.IPv6Forwarding.{i}.ExpirationTime";\r
+    }\r
+  }\r
+\r
+  grouping device-security-g {\r
+    description\r
+      "Grouping object for Device.Security.";\r
+    leaf certificate-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Security.CertificateNumberOfEntries";\r
+      reference\r
+        "Device.Security.CertificateNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping security-certificate-g {\r
+    description\r
+      "Grouping object for Device.Security.Certificate.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Security.Certificate.{i}.Enable";\r
+      reference\r
+        "Device.Security.Certificate.{i}.Enable";\r
+    }\r
+    leaf last-modif {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Security.Certificate.{i}.LastModif";\r
+      reference\r
+        "Device.Security.Certificate.{i}.LastModif";\r
+    }\r
+    leaf serial-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Security.Certificate.{i}.SerialNumber";\r
+      reference\r
+        "Device.Security.Certificate.{i}.SerialNumber";\r
+    }\r
+    leaf issuer {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Security.Certificate.{i}.Issuer";\r
+      reference\r
+        "Device.Security.Certificate.{i}.Issuer";\r
+    }\r
+    leaf not-before {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Security.Certificate.{i}.NotBefore";\r
+      reference\r
+        "Device.Security.Certificate.{i}.NotBefore";\r
+    }\r
+    leaf not-after {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Security.Certificate.{i}.NotAfter";\r
+      reference\r
+        "Device.Security.Certificate.{i}.NotAfter";\r
+    }\r
+    leaf subject {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Security.Certificate.{i}.Subject";\r
+      reference\r
+        "Device.Security.Certificate.{i}.Subject";\r
+    }\r
+    leaf subject-alt {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Security.Certificate.{i}.SubjectAlt";\r
+      reference\r
+        "Device.Security.Certificate.{i}.SubjectAlt";\r
+    }\r
+    leaf signature-algorithm {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Security.Certificate.{i}.SignatureAlgorithm";\r
+      reference\r
+        "Device.Security.Certificate.{i}.SignatureAlgorithm";\r
+    }\r
+  }\r
+\r
+  grouping device-self-test-diagnostics-g {\r
+    description\r
+      "Grouping object for Device.SelfTestDiagnostics.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error_Internal {\r
+          description\r
+            "Enum Value - Error_Internal";\r
+        }\r
+        enum Error_Other {\r
+          description\r
+            "Enum Value - Error_Other";\r
+        }\r
+      }\r
+      description\r
+        "Device.SelfTestDiagnostics.DiagnosticsState";\r
+      reference\r
+        "Device.SelfTestDiagnostics.DiagnosticsState";\r
+    }\r
+    leaf results {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SelfTestDiagnostics.Results";\r
+      reference\r
+        "Device.SelfTestDiagnostics.Results";\r
+    }\r
+  }\r
+\r
+  grouping device-smart-card-readers-g {\r
+    description\r
+      "Grouping object for Device.SmartCardReaders.";\r
+    leaf smart-card-reader-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReaderNumberOfEntries";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReaderNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping smart-card-readers-smart-card-reader-g {\r
+    description\r
+      "Grouping object for Device.SmartCardReaders.SmartCardReader.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.Alias";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.Enable";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.Status";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.Status";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.Name";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.Name";\r
+    }\r
+    leaf reset-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.ResetTime";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.ResetTime";\r
+    }\r
+    leaf decryption-failed-counter {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.DecryptionFailedCounter";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.DecryptionFailedCounter";\r
+    }\r
+    leaf decryption-failed-no-key-counter {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.DecryptionFailedNoKeyCounter";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.DecryptionFailedNoKeyCounter";\r
+    }\r
+  }\r
+\r
+  grouping smart-card-reader-smart-card-g {\r
+    description\r
+      "Grouping object for Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.";\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Status";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Status";\r
+    }\r
+    leaf type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Type";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Type";\r
+    }\r
+    leaf application {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Application";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.Application";\r
+    }\r
+    leaf serial-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.SerialNumber";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.SerialNumber";\r
+    }\r
+    leaf atr {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.ATR";\r
+      reference\r
+        "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.ATR";\r
+    }\r
+  }\r
+\r
+  grouping device-software-modules-g {\r
+    description\r
+      "Grouping object for Device.SoftwareModules.";\r
+    leaf exec-env-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnvNumberOfEntries";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnvNumberOfEntries";\r
+    }\r
+    leaf deployment-unit-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnitNumberOfEntries";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnitNumberOfEntries";\r
+    }\r
+    leaf execution-unit-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnitNumberOfEntries";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnitNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping software-modules-deployment-unit-g {\r
+    description\r
+      "Grouping object for Device.SoftwareModules.DeploymentUnit.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf uuid {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.UUID";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.UUID";\r
+    }\r
+    leaf duid {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.DUID";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.DUID";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Alias";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Name";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Name";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Status";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Status";\r
+    }\r
+    leaf resolved {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Resolved";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Resolved";\r
+    }\r
+    leaf url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.URL";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.URL";\r
+    }\r
+    leaf description {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Description";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Description";\r
+    }\r
+    leaf vendor {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Vendor";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Vendor";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Version";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.Version";\r
+    }\r
+    leaf vendor-log-list {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.VendorLogList";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.VendorLogList";\r
+    }\r
+    leaf vendor-config-list {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.VendorConfigList";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.VendorConfigList";\r
+    }\r
+    leaf execution-unit-list {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.ExecutionUnitList";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.ExecutionUnitList";\r
+    }\r
+    leaf execution-env-ref {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.ExecutionEnvRef";\r
+      reference\r
+        "Device.SoftwareModules.DeploymentUnit.{i}.ExecutionEnvRef";\r
+    }\r
+  }\r
+\r
+  grouping software-modules-exec-env-g {\r
+    description\r
+      "Grouping object for Device.SoftwareModules.ExecEnv.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.Enable";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.Status";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.Alias";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.Name";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.Name";\r
+    }\r
+    leaf type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.Type";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.Type";\r
+    }\r
+    leaf initial-run-level {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.InitialRunLevel";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.InitialRunLevel";\r
+    }\r
+    leaf current-run-level {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.CurrentRunLevel";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.CurrentRunLevel";\r
+    }\r
+    leaf initial-execution-unit-run-level {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.InitialExecutionUnitRunLevel";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.InitialExecutionUnitRunLevel";\r
+    }\r
+    leaf vendor {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.Vendor";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.Vendor";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.Version";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.Version";\r
+    }\r
+    leaf parent-exec-env {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.ParentExecEnv";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.ParentExecEnv";\r
+    }\r
+    leaf allocated-disk-space {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.AllocatedDiskSpace";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.AllocatedDiskSpace";\r
+    }\r
+    leaf available-disk-space {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.AvailableDiskSpace";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.AvailableDiskSpace";\r
+    }\r
+    leaf allocated-memory {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.AllocatedMemory";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.AllocatedMemory";\r
+    }\r
+    leaf available-memory {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.AvailableMemory";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.AvailableMemory";\r
+    }\r
+    leaf active-execution-units {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.ActiveExecutionUnits";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.ActiveExecutionUnits";\r
+    }\r
+    leaf processor-ref-list {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecEnv.{i}.ProcessorRefList";\r
+      reference\r
+        "Device.SoftwareModules.ExecEnv.{i}.ProcessorRefList";\r
+    }\r
+  }\r
+\r
+  grouping software-modules-execution-unit-g {\r
+    description\r
+      "Grouping object for Device.SoftwareModules.ExecutionUnit.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf euid {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.EUID";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.EUID";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Alias";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Name";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Name";\r
+    }\r
+    leaf exec-env-label {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.ExecEnvLabel";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.ExecEnvLabel";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Status";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Status";\r
+    }\r
+    leaf execution-fault-code {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionFaultCode";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionFaultCode";\r
+    }\r
+    leaf execution-fault-message {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionFaultMessage";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionFaultMessage";\r
+    }\r
+    leaf auto-start {\r
+      type boolean;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.AutoStart";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.AutoStart";\r
+    }\r
+    leaf run-level {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.RunLevel";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.RunLevel";\r
+    }\r
+    leaf vendor {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Vendor";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Vendor";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Version";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Version";\r
+    }\r
+    leaf description {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Description";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.Description";\r
+    }\r
+    leaf disk-space-in-use {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.DiskSpaceInUse";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.DiskSpaceInUse";\r
+    }\r
+    leaf memory-in-use {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.MemoryInUse";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.MemoryInUse";\r
+    }\r
+    leaf references {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.References";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.References";\r
+    }\r
+    leaf associated-process-list {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.AssociatedProcessList";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.AssociatedProcessList";\r
+    }\r
+    leaf vendor-log-list {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.VendorLogList";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.VendorLogList";\r
+    }\r
+    leaf vendor-config-list {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.VendorConfigList";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.VendorConfigList";\r
+    }\r
+    leaf supported-data-model-list {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.SupportedDataModelList";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.SupportedDataModelList";\r
+    }\r
+    leaf execution-env-ref {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionEnvRef";\r
+      reference\r
+        "Device.SoftwareModules.ExecutionUnit.{i}.ExecutionEnvRef";\r
+    }\r
+  }\r
+\r
+  grouping device-time-g {\r
+    description\r
+      "Grouping object for Device.Time.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Time.Enable";\r
+      reference\r
+        "Device.Time.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Time.Status";\r
+      reference\r
+        "Device.Time.Status";\r
+    }\r
+    leaf ntp-server1 {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Time.NTPServer1";\r
+      reference\r
+        "Device.Time.NTPServer1";\r
+    }\r
+    leaf ntp-server2 {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Time.NTPServer2";\r
+      reference\r
+        "Device.Time.NTPServer2";\r
+    }\r
+    leaf ntp-server3 {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Time.NTPServer3";\r
+      reference\r
+        "Device.Time.NTPServer3";\r
+    }\r
+    leaf ntp-server4 {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Time.NTPServer4";\r
+      reference\r
+        "Device.Time.NTPServer4";\r
+    }\r
+    leaf ntp-server5 {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Time.NTPServer5";\r
+      reference\r
+        "Device.Time.NTPServer5";\r
+    }\r
+    leaf current-local-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.Time.CurrentLocalTime";\r
+      reference\r
+        "Device.Time.CurrentLocalTime";\r
+    }\r
+    leaf local-time-zone {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.Time.LocalTimeZone";\r
+      reference\r
+        "Device.Time.LocalTimeZone";\r
+    }\r
+  }\r
+\r
+  grouping device-upa-g {\r
+    description\r
+      "Grouping object for Device.UPA.";\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.UPA.InterfaceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping diagnostics-interface-measurement-g {\r
+    description\r
+      "Grouping object for Device.UPA.Diagnostics.InterfaceMeasurement.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Canceled {\r
+          description\r
+            "Enum Value - Canceled";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error {\r
+          description\r
+            "Enum Value - Error";\r
+        }\r
+        enum Error_InvalidPort {\r
+          description\r
+            "Enum Value - Error_InvalidPort";\r
+        }\r
+      }\r
+      description\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState";\r
+      reference\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState";\r
+    }\r
+    leaf type {\r
+      type enumeration {\r
+        enum SNR {\r
+          description\r
+            "Enum Value - SNR";\r
+        }\r
+        enum CFR {\r
+          description\r
+            "Enum Value - CFR";\r
+        }\r
+      }\r
+      description\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.Type";\r
+      reference\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.Type";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.Interface";\r
+      reference\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.Interface";\r
+    }\r
+    leaf port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.Port";\r
+      reference\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.Port";\r
+    }\r
+    leaf measurements {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.Measurements";\r
+      reference\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.Measurements";\r
+    }\r
+    leaf rx-gain {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.RxGain";\r
+      reference\r
+        "Device.UPA.Diagnostics.InterfaceMeasurement.RxGain";\r
+    }\r
+  }\r
+\r
+  grouping upa-interface-g {\r
+    description\r
+      "Grouping object for Device.UPA.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.UPA.Interface.{i}.Enable";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Status";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.UPA.Interface.{i}.Alias";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Name";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.UPA.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.UPA.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.UPA.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Upstream";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Upstream";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.MACAddress";\r
+      reference\r
+        "Device.UPA.Interface.{i}.MACAddress";\r
+    }\r
+    leaf firmware-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.FirmwareVersion";\r
+      reference\r
+        "Device.UPA.Interface.{i}.FirmwareVersion";\r
+    }\r
+    leaf max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.MaxBitRate";\r
+      reference\r
+        "Device.UPA.Interface.{i}.MaxBitRate";\r
+    }\r
+    leaf node-type {\r
+      type enumeration {\r
+        enum AP {\r
+          description\r
+            "Enum Value - AP";\r
+        }\r
+        enum EP {\r
+          description\r
+            "Enum Value - EP";\r
+        }\r
+      }\r
+      description\r
+        "Device.UPA.Interface.{i}.NodeType";\r
+      reference\r
+        "Device.UPA.Interface.{i}.NodeType";\r
+    }\r
+    leaf logical-network {\r
+      type string {\r
+        length "min..20";\r
+      }\r
+      description\r
+        "Device.UPA.Interface.{i}.LogicalNetwork";\r
+      reference\r
+        "Device.UPA.Interface.{i}.LogicalNetwork";\r
+    }\r
+    leaf encryption-method {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum DES {\r
+          description\r
+            "Enum Value - DES";\r
+        }\r
+        enum 3DES {\r
+          description\r
+            "Enum Value - 3DES";\r
+        }\r
+        enum AES128 {\r
+          description\r
+            "Enum Value - AES128";\r
+        }\r
+        enum AES256 {\r
+          description\r
+            "Enum Value - AES256";\r
+        }\r
+      }\r
+      description\r
+        "Device.UPA.Interface.{i}.EncryptionMethod";\r
+      reference\r
+        "Device.UPA.Interface.{i}.EncryptionMethod";\r
+    }\r
+    leaf power-backoff-enabled {\r
+      type boolean;\r
+      description\r
+        "Device.UPA.Interface.{i}.PowerBackoffEnabled";\r
+      reference\r
+        "Device.UPA.Interface.{i}.PowerBackoffEnabled";\r
+    }\r
+    leaf power-backoff-mechanism-active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.PowerBackoffMechanismActive";\r
+      reference\r
+        "Device.UPA.Interface.{i}.PowerBackoffMechanismActive";\r
+    }\r
+    leaf est-application-throughput {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.EstApplicationThroughput";\r
+      reference\r
+        "Device.UPA.Interface.{i}.EstApplicationThroughput";\r
+    }\r
+    leaf active-notch-enable {\r
+      type boolean;\r
+      description\r
+        "Device.UPA.Interface.{i}.ActiveNotchEnable";\r
+      reference\r
+        "Device.UPA.Interface.{i}.ActiveNotchEnable";\r
+    }\r
+    leaf active-notch-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.ActiveNotchNumberOfEntries";\r
+      reference\r
+        "Device.UPA.Interface.{i}.ActiveNotchNumberOfEntries";\r
+    }\r
+    leaf associated-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+    }\r
+    leaf bridge-for-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.BridgeForNumberOfEntries";\r
+      reference\r
+        "Device.UPA.Interface.{i}.BridgeForNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping interface-active-notch-g {\r
+    description\r
+      "Grouping object for Device.UPA.Interface.{i}.ActiveNotch.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Enable";\r
+      reference\r
+        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Alias";\r
+      reference\r
+        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Alias";\r
+    }\r
+    leaf start-freq {\r
+      type uint32;\r
+      description\r
+        "Device.UPA.Interface.{i}.ActiveNotch.{i}.StartFreq";\r
+      reference\r
+        "Device.UPA.Interface.{i}.ActiveNotch.{i}.StartFreq";\r
+    }\r
+    leaf stop-freq {\r
+      type uint32;\r
+      description\r
+        "Device.UPA.Interface.{i}.ActiveNotch.{i}.StopFreq";\r
+      reference\r
+        "Device.UPA.Interface.{i}.ActiveNotch.{i}.StopFreq";\r
+    }\r
+    leaf depth {\r
+      type uint32;\r
+      description\r
+        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Depth";\r
+      reference\r
+        "Device.UPA.Interface.{i}.ActiveNotch.{i}.Depth";\r
+    }\r
+  }\r
+\r
+  grouping upa-interface-associated-device-g {\r
+    description\r
+      "Grouping object for Device.UPA.Interface.{i}.AssociatedDevice.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.MACAddress";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.MACAddress";\r
+    }\r
+    leaf port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.Port";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.Port";\r
+    }\r
+    leaf logical-network {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.LogicalNetwork";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.LogicalNetwork";\r
+    }\r
+    leaf phy-tx-throughput {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.PhyTxThroughput";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.PhyTxThroughput";\r
+    }\r
+    leaf phy-rx-throughput {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.PhyRxThroughput";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.PhyRxThroughput";\r
+    }\r
+    leaf real-phy-rx-throughput {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.RealPhyRxThroughput";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.RealPhyRxThroughput";\r
+    }\r
+    leaf estimated-plr {\r
+      type uint32 {\r
+        range "0..100";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.EstimatedPLR";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.EstimatedPLR";\r
+    }\r
+    leaf mean-estimated-att {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.MeanEstimatedAtt";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.MeanEstimatedAtt";\r
+    }\r
+    leaf smart-route-intermediate-plcmac {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.SmartRouteIntermediatePLCMAC";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.SmartRouteIntermediatePLCMAC";\r
+    }\r
+    leaf direct-route {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.DirectRoute";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.DirectRoute";\r
+    }\r
+    leaf active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.Active";\r
+      reference\r
+        "Device.UPA.Interface.{i}.AssociatedDevice.{i}.Active";\r
+    }\r
+  }\r
+\r
+  grouping interface-bridge-for-g {\r
+    description\r
+      "Grouping object for Device.UPA.Interface.{i}.BridgeFor.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.UPA.Interface.{i}.BridgeFor.{i}.Alias";\r
+      reference\r
+        "Device.UPA.Interface.{i}.BridgeFor.{i}.Alias";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.BridgeFor.{i}.MACAddress";\r
+      reference\r
+        "Device.UPA.Interface.{i}.BridgeFor.{i}.MACAddress";\r
+    }\r
+    leaf port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.BridgeFor.{i}.Port";\r
+      reference\r
+        "Device.UPA.Interface.{i}.BridgeFor.{i}.Port";\r
+    }\r
+  }\r
+\r
+  grouping upa-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.UPA.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPA.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.UPA.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping u-pn-p-description-g {\r
+    description\r
+      "Grouping object for Device.UPnP.Description.";\r
+    leaf device-description-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceDescriptionNumberOfEntries";\r
+      reference\r
+        "Device.UPnP.Description.DeviceDescriptionNumberOfEntries";\r
+    }\r
+    leaf device-instance-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstanceNumberOfEntries";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstanceNumberOfEntries";\r
+    }\r
+    leaf service-instance-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.ServiceInstanceNumberOfEntries";\r
+      reference\r
+        "Device.UPnP.Description.ServiceInstanceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping description-device-description-g {\r
+    description\r
+      "Grouping object for Device.UPnP.Description.DeviceDescription.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf url-base {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceDescription.{i}.URLBase";\r
+      reference\r
+        "Device.UPnP.Description.DeviceDescription.{i}.URLBase";\r
+    }\r
+    leaf spec-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceDescription.{i}.SpecVersion";\r
+      reference\r
+        "Device.UPnP.Description.DeviceDescription.{i}.SpecVersion";\r
+    }\r
+    leaf host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceDescription.{i}.Host";\r
+      reference\r
+        "Device.UPnP.Description.DeviceDescription.{i}.Host";\r
+    }\r
+  }\r
+\r
+  grouping description-device-instance-g {\r
+    description\r
+      "Grouping object for Device.UPnP.Description.DeviceInstance.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf udn {\r
+      type string {\r
+        length "min..36";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.UDN";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.UDN";\r
+    }\r
+    leaf parent-device {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ParentDevice";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ParentDevice";\r
+    }\r
+    leaf discovery-device {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.DiscoveryDevice";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.DiscoveryDevice";\r
+    }\r
+    leaf device-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.DeviceType";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.DeviceType";\r
+    }\r
+    leaf friendly-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.FriendlyName";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.FriendlyName";\r
+    }\r
+    leaf device-category {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.DeviceCategory";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.DeviceCategory";\r
+    }\r
+    leaf manufacturer {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.Manufacturer";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.Manufacturer";\r
+    }\r
+    leaf manufacturer-oui {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ManufacturerOUI";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ManufacturerOUI";\r
+    }\r
+    leaf manufacturer-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ManufacturerURL";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ManufacturerURL";\r
+    }\r
+    leaf model-description {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ModelDescription";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ModelDescription";\r
+    }\r
+    leaf model-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ModelName";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ModelName";\r
+    }\r
+    leaf model-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ModelNumber";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ModelNumber";\r
+    }\r
+    leaf model-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ModelURL";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.ModelURL";\r
+    }\r
+    leaf serial-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.SerialNumber";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.SerialNumber";\r
+    }\r
+    leaf upc {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.UPC";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.UPC";\r
+    }\r
+    leaf presentation-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.DeviceInstance.{i}.PresentationURL";\r
+      reference\r
+        "Device.UPnP.Description.DeviceInstance.{i}.PresentationURL";\r
+    }\r
+  }\r
+\r
+  grouping description-service-instance-g {\r
+    description\r
+      "Grouping object for Device.UPnP.Description.ServiceInstance.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf parent-device {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.ServiceInstance.{i}.ParentDevice";\r
+      reference\r
+        "Device.UPnP.Description.ServiceInstance.{i}.ParentDevice";\r
+    }\r
+    leaf service-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.ServiceInstance.{i}.ServiceId";\r
+      reference\r
+        "Device.UPnP.Description.ServiceInstance.{i}.ServiceId";\r
+    }\r
+    leaf service-discovery {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.ServiceInstance.{i}.ServiceDiscovery";\r
+      reference\r
+        "Device.UPnP.Description.ServiceInstance.{i}.ServiceDiscovery";\r
+    }\r
+    leaf service-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.ServiceInstance.{i}.ServiceType";\r
+      reference\r
+        "Device.UPnP.Description.ServiceInstance.{i}.ServiceType";\r
+    }\r
+    leaf scpdurl {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.ServiceInstance.{i}.SCPDURL";\r
+      reference\r
+        "Device.UPnP.Description.ServiceInstance.{i}.SCPDURL";\r
+    }\r
+    leaf control-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.ServiceInstance.{i}.ControlURL";\r
+      reference\r
+        "Device.UPnP.Description.ServiceInstance.{i}.ControlURL";\r
+    }\r
+    leaf event-sub-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Description.ServiceInstance.{i}.EventSubURL";\r
+      reference\r
+        "Device.UPnP.Description.ServiceInstance.{i}.EventSubURL";\r
+    }\r
+  }\r
+\r
+  grouping u-pn-p-device-g {\r
+    description\r
+      "Grouping object for Device.UPnP.Device.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.UPnP.Device.Enable";\r
+      reference\r
+        "Device.UPnP.Device.Enable";\r
+    }\r
+    leaf u-pn-p-media-server {\r
+      type boolean;\r
+      description\r
+        "Device.UPnP.Device.UPnPMediaServer";\r
+      reference\r
+        "Device.UPnP.Device.UPnPMediaServer";\r
+    }\r
+    leaf u-pn-p-media-renderer {\r
+      type boolean;\r
+      description\r
+        "Device.UPnP.Device.UPnPMediaRenderer";\r
+      reference\r
+        "Device.UPnP.Device.UPnPMediaRenderer";\r
+    }\r
+    leaf u-pn-pwlan-access-point {\r
+      type boolean;\r
+      description\r
+        "Device.UPnP.Device.UPnPWLANAccessPoint";\r
+      reference\r
+        "Device.UPnP.Device.UPnPWLANAccessPoint";\r
+    }\r
+    leaf u-pn-p-qo-s-device {\r
+      type boolean;\r
+      description\r
+        "Device.UPnP.Device.UPnPQoSDevice";\r
+      reference\r
+        "Device.UPnP.Device.UPnPQoSDevice";\r
+    }\r
+    leaf u-pn-p-qo-s-policy-holder {\r
+      type boolean;\r
+      description\r
+        "Device.UPnP.Device.UPnPQoSPolicyHolder";\r
+      reference\r
+        "Device.UPnP.Device.UPnPQoSPolicyHolder";\r
+    }\r
+    leaf u-pn-pigd {\r
+      type boolean;\r
+      description\r
+        "Device.UPnP.Device.UPnPIGD";\r
+      reference\r
+        "Device.UPnP.Device.UPnPIGD";\r
+    }\r
+    leaf u-pn-pdm-basic-mgmt {\r
+      type boolean;\r
+      description\r
+        "Device.UPnP.Device.UPnPDMBasicMgmt";\r
+      reference\r
+        "Device.UPnP.Device.UPnPDMBasicMgmt";\r
+    }\r
+    leaf u-pn-pdm-configuration-mgmt {\r
+      type boolean;\r
+      description\r
+        "Device.UPnP.Device.UPnPDMConfigurationMgmt";\r
+      reference\r
+        "Device.UPnP.Device.UPnPDMConfigurationMgmt";\r
+    }\r
+    leaf u-pn-pdm-software-mgmt {\r
+      type boolean;\r
+      description\r
+        "Device.UPnP.Device.UPnPDMSoftwareMgmt";\r
+      reference\r
+        "Device.UPnP.Device.UPnPDMSoftwareMgmt";\r
+    }\r
+  }\r
+\r
+  grouping device-capabilities-g {\r
+    description\r
+      "Grouping object for Device.UPnP.Device.Capabilities.";\r
+    leaf u-pn-p-architecture {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPArchitecture";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPArchitecture";\r
+    }\r
+    leaf u-pn-p-architecture-minor-ver {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPArchitectureMinorVer";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPArchitectureMinorVer";\r
+    }\r
+    leaf u-pn-p-media-server {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPMediaServer";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPMediaServer";\r
+    }\r
+    leaf u-pn-p-media-renderer {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPMediaRenderer";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPMediaRenderer";\r
+    }\r
+    leaf u-pn-pwlan-access-point {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPWLANAccessPoint";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPWLANAccessPoint";\r
+    }\r
+    leaf u-pn-p-basic-device {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPBasicDevice";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPBasicDevice";\r
+    }\r
+    leaf u-pn-p-qo-s-device {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPQoSDevice";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPQoSDevice";\r
+    }\r
+    leaf u-pn-p-qo-s-policy-holder {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPQoSPolicyHolder";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPQoSPolicyHolder";\r
+    }\r
+    leaf u-pn-pigd {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPIGD";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPIGD";\r
+    }\r
+    leaf u-pn-pdm-basic-mgmt {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPDMBasicMgmt";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPDMBasicMgmt";\r
+    }\r
+    leaf u-pn-pdm-configuration-mgmt {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPDMConfigurationMgmt";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPDMConfigurationMgmt";\r
+    }\r
+    leaf u-pn-pdm-software-mgmt {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Device.Capabilities.UPnPDMSoftwareMgmt";\r
+      reference\r
+        "Device.UPnP.Device.Capabilities.UPnPDMSoftwareMgmt";\r
+    }\r
+  }\r
+\r
+  grouping u-pn-p-discovery-g {\r
+    description\r
+      "Grouping object for Device.UPnP.Discovery.";\r
+    leaf root-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.RootDeviceNumberOfEntries";\r
+      reference\r
+        "Device.UPnP.Discovery.RootDeviceNumberOfEntries";\r
+    }\r
+    leaf device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.DeviceNumberOfEntries";\r
+      reference\r
+        "Device.UPnP.Discovery.DeviceNumberOfEntries";\r
+    }\r
+    leaf service-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.ServiceNumberOfEntries";\r
+      reference\r
+        "Device.UPnP.Discovery.ServiceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping u-pn-p-discovery-device-g {\r
+    description\r
+      "Grouping object for Device.UPnP.Discovery.Device.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Device.{i}.Status";\r
+      reference\r
+        "Device.UPnP.Discovery.Device.{i}.Status";\r
+    }\r
+    leaf uuid {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Device.{i}.UUID";\r
+      reference\r
+        "Device.UPnP.Discovery.Device.{i}.UUID";\r
+    }\r
+    leaf usn {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Device.{i}.USN";\r
+      reference\r
+        "Device.UPnP.Discovery.Device.{i}.USN";\r
+    }\r
+    leaf lease-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Device.{i}.LeaseTime";\r
+      reference\r
+        "Device.UPnP.Discovery.Device.{i}.LeaseTime";\r
+    }\r
+    leaf location {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Device.{i}.Location";\r
+      reference\r
+        "Device.UPnP.Discovery.Device.{i}.Location";\r
+    }\r
+    leaf server {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Device.{i}.Server";\r
+      reference\r
+        "Device.UPnP.Discovery.Device.{i}.Server";\r
+    }\r
+    leaf host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Device.{i}.Host";\r
+      reference\r
+        "Device.UPnP.Discovery.Device.{i}.Host";\r
+    }\r
+    leaf last-update {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Device.{i}.LastUpdate";\r
+      reference\r
+        "Device.UPnP.Discovery.Device.{i}.LastUpdate";\r
+    }\r
+  }\r
+\r
+  grouping discovery-root-device-g {\r
+    description\r
+      "Grouping object for Device.UPnP.Discovery.RootDevice.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.RootDevice.{i}.Status";\r
+      reference\r
+        "Device.UPnP.Discovery.RootDevice.{i}.Status";\r
+    }\r
+    leaf uuid {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.RootDevice.{i}.UUID";\r
+      reference\r
+        "Device.UPnP.Discovery.RootDevice.{i}.UUID";\r
+    }\r
+    leaf usn {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.RootDevice.{i}.USN";\r
+      reference\r
+        "Device.UPnP.Discovery.RootDevice.{i}.USN";\r
+    }\r
+    leaf lease-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.RootDevice.{i}.LeaseTime";\r
+      reference\r
+        "Device.UPnP.Discovery.RootDevice.{i}.LeaseTime";\r
+    }\r
+    leaf location {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.RootDevice.{i}.Location";\r
+      reference\r
+        "Device.UPnP.Discovery.RootDevice.{i}.Location";\r
+    }\r
+    leaf server {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.RootDevice.{i}.Server";\r
+      reference\r
+        "Device.UPnP.Discovery.RootDevice.{i}.Server";\r
+    }\r
+    leaf host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.RootDevice.{i}.Host";\r
+      reference\r
+        "Device.UPnP.Discovery.RootDevice.{i}.Host";\r
+    }\r
+    leaf last-update {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.RootDevice.{i}.LastUpdate";\r
+      reference\r
+        "Device.UPnP.Discovery.RootDevice.{i}.LastUpdate";\r
+    }\r
+  }\r
+\r
+  grouping discovery-service-g {\r
+    description\r
+      "Grouping object for Device.UPnP.Discovery.Service.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Service.{i}.Status";\r
+      reference\r
+        "Device.UPnP.Discovery.Service.{i}.Status";\r
+    }\r
+    leaf usn {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Service.{i}.USN";\r
+      reference\r
+        "Device.UPnP.Discovery.Service.{i}.USN";\r
+    }\r
+    leaf lease-time {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Service.{i}.LeaseTime";\r
+      reference\r
+        "Device.UPnP.Discovery.Service.{i}.LeaseTime";\r
+    }\r
+    leaf location {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Service.{i}.Location";\r
+      reference\r
+        "Device.UPnP.Discovery.Service.{i}.Location";\r
+    }\r
+    leaf server {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Service.{i}.Server";\r
+      reference\r
+        "Device.UPnP.Discovery.Service.{i}.Server";\r
+    }\r
+    leaf host {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Service.{i}.Host";\r
+      reference\r
+        "Device.UPnP.Discovery.Service.{i}.Host";\r
+    }\r
+    leaf last-update {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Service.{i}.LastUpdate";\r
+      reference\r
+        "Device.UPnP.Discovery.Service.{i}.LastUpdate";\r
+    }\r
+    leaf parent-device {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UPnP.Discovery.Service.{i}.ParentDevice";\r
+      reference\r
+        "Device.UPnP.Discovery.Service.{i}.ParentDevice";\r
+    }\r
+  }\r
+\r
+  grouping device-usb-g {\r
+    description\r
+      "Grouping object for Device.USB.";\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.USB.InterfaceNumberOfEntries";\r
+    }\r
+    leaf port-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.PortNumberOfEntries";\r
+      reference\r
+        "Device.USB.PortNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping usb-interface-g {\r
+    description\r
+      "Grouping object for Device.USB.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.USB.Interface.{i}.Enable";\r
+      reference\r
+        "Device.USB.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Status";\r
+      reference\r
+        "Device.USB.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.USB.Interface.{i}.Alias";\r
+      reference\r
+        "Device.USB.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Name";\r
+      reference\r
+        "Device.USB.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.USB.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.USB.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.USB.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Upstream";\r
+      reference\r
+        "Device.USB.Interface.{i}.Upstream";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.MACAddress";\r
+      reference\r
+        "Device.USB.Interface.{i}.MACAddress";\r
+    }\r
+    leaf max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.MaxBitRate";\r
+      reference\r
+        "Device.USB.Interface.{i}.MaxBitRate";\r
+    }\r
+    leaf port {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Port";\r
+      reference\r
+        "Device.USB.Interface.{i}.Port";\r
+    }\r
+  }\r
+\r
+  grouping usb-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.USB.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.USB.Interface.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping usb-port-g {\r
+    description\r
+      "Grouping object for Device.USB.Port.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.USB.Port.{i}.Alias";\r
+      reference\r
+        "Device.USB.Port.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.Port.{i}.Name";\r
+      reference\r
+        "Device.USB.Port.{i}.Name";\r
+    }\r
+    leaf standard {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.Port.{i}.Standard";\r
+      reference\r
+        "Device.USB.Port.{i}.Standard";\r
+    }\r
+    leaf type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.Port.{i}.Type";\r
+      reference\r
+        "Device.USB.Port.{i}.Type";\r
+    }\r
+    leaf receptacle {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.Port.{i}.Receptacle";\r
+      reference\r
+        "Device.USB.Port.{i}.Receptacle";\r
+    }\r
+    leaf rate {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.Port.{i}.Rate";\r
+      reference\r
+        "Device.USB.Port.{i}.Rate";\r
+    }\r
+    leaf power {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.Port.{i}.Power";\r
+      reference\r
+        "Device.USB.Port.{i}.Power";\r
+    }\r
+  }\r
+\r
+  grouping usb-usb-hosts-g {\r
+    description\r
+      "Grouping object for Device.USB.USBHosts.";\r
+    leaf host-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.HostNumberOfEntries";\r
+      reference\r
+        "Device.USB.USBHosts.HostNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping usb-hosts-host-g {\r
+    description\r
+      "Grouping object for Device.USB.USBHosts.Host.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Alias";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Enable";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Enable";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Name";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Name";\r
+    }\r
+    leaf type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Type";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Type";\r
+    }\r
+    leaf power-management-enable {\r
+      type boolean;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.PowerManagementEnable";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.PowerManagementEnable";\r
+    }\r
+    leaf usb-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.USBVersion";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.USBVersion";\r
+    }\r
+    leaf device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.DeviceNumberOfEntries";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.DeviceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping host-device-g {\r
+    description\r
+      "Grouping object for Device.USB.USBHosts.Host.{i}.Device.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf device-number {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceNumber";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceNumber";\r
+    }\r
+    leaf usb-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.USBVersion";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.USBVersion";\r
+    }\r
+    leaf device-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceClass";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceClass";\r
+    }\r
+    leaf device-sub-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceSubClass";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceSubClass";\r
+    }\r
+    leaf device-version {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceVersion";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceVersion";\r
+    }\r
+    leaf device-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceProtocol";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.DeviceProtocol";\r
+    }\r
+    leaf product-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.ProductID";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.ProductID";\r
+    }\r
+    leaf vendor-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.VendorID";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.VendorID";\r
+    }\r
+    leaf manufacturer {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Manufacturer";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Manufacturer";\r
+    }\r
+    leaf product-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.ProductClass";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.ProductClass";\r
+    }\r
+    leaf serial-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.SerialNumber";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.SerialNumber";\r
+    }\r
+    leaf port {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Port";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Port";\r
+    }\r
+    leaf usb-port {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.USBPort";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.USBPort";\r
+    }\r
+    leaf rate {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Rate";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Rate";\r
+    }\r
+    leaf parent {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Parent";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Parent";\r
+    }\r
+    leaf max-children {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.MaxChildren";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.MaxChildren";\r
+    }\r
+    leaf is-suspended {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.IsSuspended";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.IsSuspended";\r
+    }\r
+    leaf is-self-powered {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.IsSelfPowered";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.IsSelfPowered";\r
+    }\r
+    leaf configuration-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.ConfigurationNumberOfEntries";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.ConfigurationNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping device-configuration-g {\r
+    description\r
+      "Grouping object for Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf configuration-number {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.ConfigurationNumber";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.ConfigurationNumber";\r
+    }\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.InterfaceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping configuration-interface-g {\r
+    description\r
+      "Grouping object for Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf interface-number {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceNumber";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceNumber";\r
+    }\r
+    leaf interface-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceClass";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceClass";\r
+    }\r
+    leaf interface-sub-class {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceSubClass";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceSubClass";\r
+    }\r
+    leaf interface-protocol {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceProtocol";\r
+      reference\r
+        "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.InterfaceProtocol";\r
+    }\r
+  }\r
+\r
+  grouping device-user-interface-g {\r
+    description\r
+      "Grouping object for Device.UserInterface.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.UserInterface.Enable";\r
+      reference\r
+        "Device.UserInterface.Enable";\r
+    }\r
+    leaf password-required {\r
+      type boolean;\r
+      description\r
+        "Device.UserInterface.PasswordRequired";\r
+      reference\r
+        "Device.UserInterface.PasswordRequired";\r
+    }\r
+    leaf password-user-selectable {\r
+      type boolean;\r
+      description\r
+        "Device.UserInterface.PasswordUserSelectable";\r
+      reference\r
+        "Device.UserInterface.PasswordUserSelectable";\r
+    }\r
+    leaf upgrade-available {\r
+      type boolean;\r
+      description\r
+        "Device.UserInterface.UpgradeAvailable";\r
+      reference\r
+        "Device.UserInterface.UpgradeAvailable";\r
+    }\r
+    leaf warranty-date {\r
+      type string;\r
+      description\r
+        "Device.UserInterface.WarrantyDate";\r
+      reference\r
+        "Device.UserInterface.WarrantyDate";\r
+    }\r
+    leaf isp-name {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.UserInterface.ISPName";\r
+      reference\r
+        "Device.UserInterface.ISPName";\r
+    }\r
+    leaf isp-help-desk {\r
+      type string {\r
+        length "min..32";\r
+      }\r
+      description\r
+        "Device.UserInterface.ISPHelpDesk";\r
+      reference\r
+        "Device.UserInterface.ISPHelpDesk";\r
+    }\r
+    leaf isp-home-page {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.UserInterface.ISPHomePage";\r
+      reference\r
+        "Device.UserInterface.ISPHomePage";\r
+    }\r
+    leaf isp-help-page {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.UserInterface.ISPHelpPage";\r
+      reference\r
+        "Device.UserInterface.ISPHelpPage";\r
+    }\r
+    leaf isp-logo {\r
+      type string {\r
+        length "0..4095";\r
+      }\r
+      description\r
+        "Device.UserInterface.ISPLogo";\r
+      reference\r
+        "Device.UserInterface.ISPLogo";\r
+    }\r
+    leaf isp-logo-size {\r
+      type uint32 {\r
+        range "0..4095";\r
+      }\r
+      description\r
+        "Device.UserInterface.ISPLogoSize";\r
+      reference\r
+        "Device.UserInterface.ISPLogoSize";\r
+    }\r
+    leaf isp-mail-server {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.UserInterface.ISPMailServer";\r
+      reference\r
+        "Device.UserInterface.ISPMailServer";\r
+    }\r
+    leaf isp-news-server {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.UserInterface.ISPNewsServer";\r
+      reference\r
+        "Device.UserInterface.ISPNewsServer";\r
+    }\r
+    leaf text-color {\r
+      type string {\r
+        length "3";\r
+      }\r
+      description\r
+        "Device.UserInterface.TextColor";\r
+      reference\r
+        "Device.UserInterface.TextColor";\r
+    }\r
+    leaf background-color {\r
+      type string {\r
+        length "3";\r
+      }\r
+      description\r
+        "Device.UserInterface.BackgroundColor";\r
+      reference\r
+        "Device.UserInterface.BackgroundColor";\r
+    }\r
+    leaf button-color {\r
+      type string {\r
+        length "3";\r
+      }\r
+      description\r
+        "Device.UserInterface.ButtonColor";\r
+      reference\r
+        "Device.UserInterface.ButtonColor";\r
+    }\r
+    leaf button-text-color {\r
+      type string {\r
+        length "3";\r
+      }\r
+      description\r
+        "Device.UserInterface.ButtonTextColor";\r
+      reference\r
+        "Device.UserInterface.ButtonTextColor";\r
+    }\r
+    leaf auto-update-server {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.UserInterface.AutoUpdateServer";\r
+      reference\r
+        "Device.UserInterface.AutoUpdateServer";\r
+    }\r
+    leaf user-update-server {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.UserInterface.UserUpdateServer";\r
+      reference\r
+        "Device.UserInterface.UserUpdateServer";\r
+    }\r
+    leaf available-languages {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UserInterface.AvailableLanguages";\r
+      reference\r
+        "Device.UserInterface.AvailableLanguages";\r
+    }\r
+    leaf current-language {\r
+      type string {\r
+        length "min..16";\r
+      }\r
+      description\r
+        "Device.UserInterface.CurrentLanguage";\r
+      reference\r
+        "Device.UserInterface.CurrentLanguage";\r
+    }\r
+  }\r
+\r
+  grouping user-interface-local-display-g {\r
+    description\r
+      "Grouping object for Device.UserInterface.LocalDisplay.";\r
+    leaf movable {\r
+      type boolean;\r
+      description\r
+        "Device.UserInterface.LocalDisplay.Movable";\r
+      reference\r
+        "Device.UserInterface.LocalDisplay.Movable";\r
+    }\r
+    leaf resizable {\r
+      type boolean;\r
+      description\r
+        "Device.UserInterface.LocalDisplay.Resizable";\r
+      reference\r
+        "Device.UserInterface.LocalDisplay.Resizable";\r
+    }\r
+    leaf pos-x {\r
+      type int32;\r
+      description\r
+        "Device.UserInterface.LocalDisplay.PosX";\r
+      reference\r
+        "Device.UserInterface.LocalDisplay.PosX";\r
+    }\r
+    leaf pos-y {\r
+      type int32;\r
+      description\r
+        "Device.UserInterface.LocalDisplay.PosY";\r
+      reference\r
+        "Device.UserInterface.LocalDisplay.PosY";\r
+    }\r
+    leaf width {\r
+      type uint32;\r
+      description\r
+        "Device.UserInterface.LocalDisplay.Width";\r
+      reference\r
+        "Device.UserInterface.LocalDisplay.Width";\r
+    }\r
+    leaf height {\r
+      type uint32;\r
+      description\r
+        "Device.UserInterface.LocalDisplay.Height";\r
+      reference\r
+        "Device.UserInterface.LocalDisplay.Height";\r
+    }\r
+    leaf display-width {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UserInterface.LocalDisplay.DisplayWidth";\r
+      reference\r
+        "Device.UserInterface.LocalDisplay.DisplayWidth";\r
+    }\r
+    leaf display-height {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UserInterface.LocalDisplay.DisplayHeight";\r
+      reference\r
+        "Device.UserInterface.LocalDisplay.DisplayHeight";\r
+    }\r
+  }\r
+\r
+  grouping user-interface-messages-g {\r
+    description\r
+      "Grouping object for Device.UserInterface.Messages.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.UserInterface.Messages.Enable";\r
+      reference\r
+        "Device.UserInterface.Messages.Enable";\r
+    }\r
+    leaf title {\r
+      type string {\r
+        length "min..128";\r
+      }\r
+      description\r
+        "Device.UserInterface.Messages.Title";\r
+      reference\r
+        "Device.UserInterface.Messages.Title";\r
+    }\r
+    leaf sub-title {\r
+      type string {\r
+        length "min..128";\r
+      }\r
+      description\r
+        "Device.UserInterface.Messages.SubTitle";\r
+      reference\r
+        "Device.UserInterface.Messages.SubTitle";\r
+    }\r
+    leaf text {\r
+      type string;\r
+      description\r
+        "Device.UserInterface.Messages.Text";\r
+      reference\r
+        "Device.UserInterface.Messages.Text";\r
+    }\r
+    leaf icon-type {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Greeting {\r
+          description\r
+            "Enum Value - Greeting";\r
+        }\r
+        enum Information {\r
+          description\r
+            "Enum Value - Information";\r
+        }\r
+        enum Warning {\r
+          description\r
+            "Enum Value - Warning";\r
+        }\r
+        enum Important {\r
+          description\r
+            "Enum Value - Important";\r
+        }\r
+        enum Urgent {\r
+          description\r
+            "Enum Value - Urgent";\r
+        }\r
+        enum Advertisement {\r
+          description\r
+            "Enum Value - Advertisement";\r
+        }\r
+      }\r
+      description\r
+        "Device.UserInterface.Messages.IconType";\r
+      reference\r
+        "Device.UserInterface.Messages.IconType";\r
+    }\r
+    leaf message-color {\r
+      type string {\r
+        length "3";\r
+      }\r
+      description\r
+        "Device.UserInterface.Messages.MessageColor";\r
+      reference\r
+        "Device.UserInterface.Messages.MessageColor";\r
+    }\r
+    leaf background-color {\r
+      type string {\r
+        length "3";\r
+      }\r
+      description\r
+        "Device.UserInterface.Messages.BackgroundColor";\r
+      reference\r
+        "Device.UserInterface.Messages.BackgroundColor";\r
+    }\r
+    leaf title-color {\r
+      type string {\r
+        length "3";\r
+      }\r
+      description\r
+        "Device.UserInterface.Messages.TitleColor";\r
+      reference\r
+        "Device.UserInterface.Messages.TitleColor";\r
+    }\r
+    leaf sub-title-color {\r
+      type string {\r
+        length "3";\r
+      }\r
+      description\r
+        "Device.UserInterface.Messages.SubTitleColor";\r
+      reference\r
+        "Device.UserInterface.Messages.SubTitleColor";\r
+    }\r
+    leaf requested-number-of-repetitions {\r
+      type uint32;\r
+      description\r
+        "Device.UserInterface.Messages.RequestedNumberOfRepetitions";\r
+      reference\r
+        "Device.UserInterface.Messages.RequestedNumberOfRepetitions";\r
+    }\r
+    leaf executed-number-of-repetitions {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.UserInterface.Messages.ExecutedNumberOfRepetitions";\r
+      reference\r
+        "Device.UserInterface.Messages.ExecutedNumberOfRepetitions";\r
+    }\r
+  }\r
+\r
+  grouping user-interface-remote-access-g {\r
+    description\r
+      "Grouping object for Device.UserInterface.RemoteAccess.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.UserInterface.RemoteAccess.Enable";\r
+      reference\r
+        "Device.UserInterface.RemoteAccess.Enable";\r
+    }\r
+    leaf port {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.UserInterface.RemoteAccess.Port";\r
+      reference\r
+        "Device.UserInterface.RemoteAccess.Port";\r
+    }\r
+    leaf supported-protocols {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.UserInterface.RemoteAccess.SupportedProtocols";\r
+      reference\r
+        "Device.UserInterface.RemoteAccess.SupportedProtocols";\r
+    }\r
+    leaf protocol {\r
+      type string;\r
+      description\r
+        "Device.UserInterface.RemoteAccess.Protocol";\r
+      reference\r
+        "Device.UserInterface.RemoteAccess.Protocol";\r
+    }\r
+  }\r
+\r
+  grouping device-users-g {\r
+    description\r
+      "Grouping object for Device.Users.";\r
+    leaf user-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.Users.UserNumberOfEntries";\r
+      reference\r
+        "Device.Users.UserNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping users-user-g {\r
+    description\r
+      "Grouping object for Device.Users.User.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Users.User.{i}.Alias";\r
+      reference\r
+        "Device.Users.User.{i}.Alias";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.Users.User.{i}.Enable";\r
+      reference\r
+        "Device.Users.User.{i}.Enable";\r
+    }\r
+    leaf remote-access-capable {\r
+      type boolean;\r
+      description\r
+        "Device.Users.User.{i}.RemoteAccessCapable";\r
+      reference\r
+        "Device.Users.User.{i}.RemoteAccessCapable";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.Users.User.{i}.Username";\r
+      reference\r
+        "Device.Users.User.{i}.Username";\r
+    }\r
+    leaf language {\r
+      type string {\r
+        length "min..16";\r
+      }\r
+      description\r
+        "Device.Users.User.{i}.Language";\r
+      reference\r
+        "Device.Users.User.{i}.Language";\r
+    }\r
+  }\r
+\r
+  grouping device-vxlan-g {\r
+    description\r
+      "Grouping object for Device.VXLAN.";\r
+    leaf tunnel-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.TunnelNumberOfEntries";\r
+      reference\r
+        "Device.VXLAN.TunnelNumberOfEntries";\r
+    }\r
+    leaf filter-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.FilterNumberOfEntries";\r
+      reference\r
+        "Device.VXLAN.FilterNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping vxlan-filter-g {\r
+    description\r
+      "Grouping object for Device.VXLAN.Filter.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.VXLAN.Filter.{i}.Enable";\r
+      reference\r
+        "Device.VXLAN.Filter.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Filter.{i}.Status";\r
+      reference\r
+        "Device.VXLAN.Filter.{i}.Status";\r
+    }\r
+    leaf order {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.VXLAN.Filter.{i}.Order";\r
+      reference\r
+        "Device.VXLAN.Filter.{i}.Order";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.VXLAN.Filter.{i}.Alias";\r
+      reference\r
+        "Device.VXLAN.Filter.{i}.Alias";\r
+    }\r
+    leaf interface {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.VXLAN.Filter.{i}.Interface";\r
+      reference\r
+        "Device.VXLAN.Filter.{i}.Interface";\r
+    }\r
+    leaf all-interfaces {\r
+      type boolean;\r
+      description\r
+        "Device.VXLAN.Filter.{i}.AllInterfaces";\r
+      reference\r
+        "Device.VXLAN.Filter.{i}.AllInterfaces";\r
+    }\r
+    leaf vlanid-check {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.VXLAN.Filter.{i}.VLANIDCheck";\r
+      reference\r
+        "Device.VXLAN.Filter.{i}.VLANIDCheck";\r
+    }\r
+    leaf vlanid-exclude {\r
+      type boolean;\r
+      description\r
+        "Device.VXLAN.Filter.{i}.VLANIDExclude";\r
+      reference\r
+        "Device.VXLAN.Filter.{i}.VLANIDExclude";\r
+    }\r
+    leaf dscp-mark-policy {\r
+      type int32 {\r
+        range "-2..63";\r
+      }\r
+      description\r
+        "Device.VXLAN.Filter.{i}.DSCPMarkPolicy";\r
+      reference\r
+        "Device.VXLAN.Filter.{i}.DSCPMarkPolicy";\r
+    }\r
+  }\r
+\r
+  grouping vxlan-tunnel-g {\r
+    description\r
+      "Grouping object for Device.VXLAN.Tunnel.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Enable";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Status";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Alias";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Alias";\r
+    }\r
+    leaf remote-endpoints {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.RemoteEndpoints";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.RemoteEndpoints";\r
+    }\r
+    leaf keep-alive-policy {\r
+      type enumeration {\r
+        enum ICMP {\r
+          description\r
+            "Enum Value - ICMP";\r
+        }\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+      }\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.KeepAlivePolicy";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.KeepAlivePolicy";\r
+    }\r
+    leaf keep-alive-timeout {\r
+      type uint32;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.KeepAliveTimeout";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.KeepAliveTimeout";\r
+    }\r
+    leaf keep-alive-threshold {\r
+      type uint32;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.KeepAliveThreshold";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.KeepAliveThreshold";\r
+    }\r
+    leaf delivery-header-protocol {\r
+      type enumeration {\r
+        enum IPv4 {\r
+          description\r
+            "Enum Value - IPv4";\r
+        }\r
+        enum IPv6 {\r
+          description\r
+            "Enum Value - IPv6";\r
+        }\r
+      }\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.DeliveryHeaderProtocol";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.DeliveryHeaderProtocol";\r
+    }\r
+    leaf default-dscp-mark {\r
+      type uint32;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.DefaultDSCPMark";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.DefaultDSCPMark";\r
+    }\r
+    leaf connected-remote-endpoint {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.ConnectedRemoteEndpoint";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.ConnectedRemoteEndpoint";\r
+    }\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.InterfaceNumberOfEntries";\r
+    }\r
+    leaf source-port {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.SourcePort";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.SourcePort";\r
+    }\r
+    leaf remote-port {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.RemotePort";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.RemotePort";\r
+    }\r
+  }\r
+\r
+  grouping vxlan-tunnel-interface-g {\r
+    description\r
+      "Grouping object for Device.VXLAN.Tunnel.{i}.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Enable";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Status";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Alias";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Name";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf vni {\r
+      type int32 {\r
+        range "-1 | 0..16777215";\r
+      }\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.VNI";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.VNI";\r
+    }\r
+  }\r
+\r
+  grouping vxlan-tunnel-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf discard-checksum-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.DiscardChecksumReceived";\r
+    }\r
+    leaf discard-sequence-number-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.DiscardSequenceNumberReceived";\r
+    }\r
+  }\r
+\r
+  grouping vxlan-tunnel-stats-g {\r
+    description\r
+      "Grouping object for Device.VXLAN.Tunnel.{i}.Stats.";\r
+    leaf keep-alive-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Stats.KeepAliveSent";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Stats.KeepAliveSent";\r
+    }\r
+    leaf keep-alive-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Stats.KeepAliveReceived";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Stats.KeepAliveReceived";\r
+    }\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.VXLAN.Tunnel.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.VXLAN.Tunnel.{i}.Stats.ErrorsReceived";\r
+    }\r
+  }\r
+\r
+  grouping device-wi-fi-g {\r
+    description\r
+      "Grouping object for Device.WiFi.";\r
+    leaf radio-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.RadioNumberOfEntries";\r
+      reference\r
+        "Device.WiFi.RadioNumberOfEntries";\r
+    }\r
+    leaf ssid-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSIDNumberOfEntries";\r
+      reference\r
+        "Device.WiFi.SSIDNumberOfEntries";\r
+    }\r
+    leaf access-point-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPointNumberOfEntries";\r
+      reference\r
+        "Device.WiFi.AccessPointNumberOfEntries";\r
+    }\r
+    leaf end-point-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPointNumberOfEntries";\r
+      reference\r
+        "Device.WiFi.EndPointNumberOfEntries";\r
+    }\r
+    leaf reset-counter {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.ResetCounter";\r
+      reference\r
+        "Device.WiFi.ResetCounter";\r
+    }\r
+  }\r
+\r
+  grouping wi-fi-access-point-g {\r
+    description\r
+      "Grouping object for Device.WiFi.AccessPoint.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Enable";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Status";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Alias";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Alias";\r
+    }\r
+    leaf ssid-reference {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.SSIDReference";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.SSIDReference";\r
+    }\r
+    leaf ssid-advertisement-enabled {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.SSIDAdvertisementEnabled";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.SSIDAdvertisementEnabled";\r
+    }\r
+    leaf retry-limit {\r
+      type uint32 {\r
+        range "0..7";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.RetryLimit";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.RetryLimit";\r
+    }\r
+    leaf wmm-capability {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.WMMCapability";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.WMMCapability";\r
+    }\r
+    leaf uapsd-capability {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.UAPSDCapability";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.UAPSDCapability";\r
+    }\r
+    leaf wmm-enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.WMMEnable";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.WMMEnable";\r
+    }\r
+    leaf uapsd-enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.UAPSDEnable";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.UAPSDEnable";\r
+    }\r
+    leaf associated-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDeviceNumberOfEntries";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDeviceNumberOfEntries";\r
+    }\r
+    leaf max-associated-devices {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.MaxAssociatedDevices";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.MaxAssociatedDevices";\r
+    }\r
+    leaf isolation-enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.IsolationEnable";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.IsolationEnable";\r
+    }\r
+    leaf mac-address-control-enabled {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.MACAddressControlEnabled";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.MACAddressControlEnabled";\r
+    }\r
+    leaf allowed-mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AllowedMACAddress";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AllowedMACAddress";\r
+    }\r
+    leaf max-allowed-associations {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.MaxAllowedAssociations";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.MaxAllowedAssociations";\r
+    }\r
+  }\r
+\r
+  grouping access-point-ac-g {\r
+    description\r
+      "Grouping object for Device.WiFi.AccessPoint.{i}.AC.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf access-category {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.AccessCategory";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.AccessCategory";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Alias";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Alias";\r
+    }\r
+    leaf aifsn {\r
+      type uint32 {\r
+        range "2..15";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.AIFSN";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.AIFSN";\r
+    }\r
+    leaf ecw-min {\r
+      type uint32 {\r
+        range "0..15";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.ECWMin";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.ECWMin";\r
+    }\r
+    leaf ecw-max {\r
+      type uint32 {\r
+        range "0..15";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.ECWMax";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.ECWMax";\r
+    }\r
+    leaf tx-op-max {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.TxOpMax";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.TxOpMax";\r
+    }\r
+    leaf ack-policy {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.AckPolicy";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.AckPolicy";\r
+    }\r
+    leaf out-q-len-histogram-intervals {\r
+      type string;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.OutQLenHistogramIntervals";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.OutQLenHistogramIntervals";\r
+    }\r
+    leaf out-q-len-histogram-sample-interval {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.OutQLenHistogramSampleInterval";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.OutQLenHistogramSampleInterval";\r
+    }\r
+  }\r
+\r
+  grouping ac-stats-g {\r
+    description\r
+      "Grouping object for Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf retrans-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.RetransCount";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.RetransCount";\r
+    }\r
+    leaf out-q-len-histogram {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.OutQLenHistogram";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.OutQLenHistogram";\r
+    }\r
+  }\r
+\r
+  grouping access-point-accounting-g {\r
+    description\r
+      "Grouping object for Device.WiFi.AccessPoint.{i}.Accounting.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.Enable";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.Enable";\r
+    }\r
+    leaf server-ip-addr {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.ServerIPAddr";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.ServerIPAddr";\r
+    }\r
+    leaf secondary-server-ip-addr {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.SecondaryServerIPAddr";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.SecondaryServerIPAddr";\r
+    }\r
+    leaf server-port {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.ServerPort";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.ServerPort";\r
+    }\r
+    leaf secondary-server-port {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.SecondaryServerPort";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.SecondaryServerPort";\r
+    }\r
+    leaf interim-interval {\r
+      type uint32 {\r
+        range "0..60";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.InterimInterval";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Accounting.InterimInterval";\r
+    }\r
+  }\r
+\r
+  grouping access-point-associated-device-g {\r
+    description\r
+      "Grouping object for Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.MACAddress";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.MACAddress";\r
+    }\r
+    leaf operating-standard {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.OperatingStandard";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.OperatingStandard";\r
+    }\r
+    leaf authentication-state {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.AuthenticationState";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.AuthenticationState";\r
+    }\r
+    leaf last-data-downlink-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataDownlinkRate";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataDownlinkRate";\r
+    }\r
+    leaf last-data-uplink-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataUplinkRate";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataUplinkRate";\r
+    }\r
+    leaf association-time {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.AssociationTime";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.AssociationTime";\r
+    }\r
+    leaf signal-strength {\r
+      type int32 {\r
+        range "-200..0";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.SignalStrength";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.SignalStrength";\r
+    }\r
+    leaf noise {\r
+      type int32 {\r
+        range "-200..0";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Noise";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Noise";\r
+    }\r
+    leaf retransmissions {\r
+      type uint32 {\r
+        range "0..100";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Retransmissions";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Retransmissions";\r
+    }\r
+    leaf active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Active";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Active";\r
+    }\r
+  }\r
+\r
+  grouping associated-device-stats-g {\r
+    description\r
+      "Grouping object for Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf retrans-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.RetransCount";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.RetransCount";\r
+    }\r
+    leaf failed-retrans-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.FailedRetransCount";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.FailedRetransCount";\r
+    }\r
+    leaf retry-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.RetryCount";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.RetryCount";\r
+    }\r
+    leaf multiple-retry-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.MultipleRetryCount";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.MultipleRetryCount";\r
+    }\r
+  }\r
+\r
+  grouping access-point-security-g {\r
+    description\r
+      "Grouping object for Device.WiFi.AccessPoint.{i}.Security.";\r
+    leaf modes-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Security.ModesSupported";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Security.ModesSupported";\r
+    }\r
+    leaf mode-enabled {\r
+      type string;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Security.ModeEnabled";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Security.ModeEnabled";\r
+    }\r
+    leaf rekeying-interval {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Security.RekeyingInterval";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Security.RekeyingInterval";\r
+    }\r
+    leaf radius-server-ip-addr {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Security.RadiusServerIPAddr";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Security.RadiusServerIPAddr";\r
+    }\r
+    leaf secondary-radius-server-ip-addr {\r
+      type string {\r
+        length "min..45";\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Security.SecondaryRadiusServerIPAddr";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Security.SecondaryRadiusServerIPAddr";\r
+    }\r
+    leaf radius-server-port {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Security.RadiusServerPort";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Security.RadiusServerPort";\r
+    }\r
+    leaf secondary-radius-server-port {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Security.SecondaryRadiusServerPort";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Security.SecondaryRadiusServerPort";\r
+    }\r
+    leaf mfp-config {\r
+      type enumeration {\r
+        enum Disabled {\r
+          description\r
+            "Enum Value - Disabled";\r
+        }\r
+        enum Optional {\r
+          description\r
+            "Enum Value - Optional";\r
+        }\r
+        enum Required {\r
+          description\r
+            "Enum Value - Required";\r
+        }\r
+      }\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.Security.MFPConfig";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.Security.MFPConfig";\r
+    }\r
+  }\r
+\r
+  grouping access-point-wps-g {\r
+    description\r
+      "Grouping object for Device.WiFi.AccessPoint.{i}.WPS.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.WPS.Enable";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.WPS.Enable";\r
+    }\r
+    leaf config-methods-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsSupported";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsSupported";\r
+    }\r
+    leaf config-methods-enabled {\r
+      type string;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsEnabled";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsEnabled";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.WPS.Status";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.WPS.Status";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.AccessPoint.{i}.WPS.Version";\r
+      reference\r
+        "Device.WiFi.AccessPoint.{i}.WPS.Version";\r
+    }\r
+  }\r
+\r
+  grouping wi-fi-end-point-g {\r
+    description\r
+      "Grouping object for Device.WiFi.EndPoint.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Enable";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Status";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Alias";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Alias";\r
+    }\r
+    leaf profile-reference {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.ProfileReference";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.ProfileReference";\r
+    }\r
+    leaf ssid-reference {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.SSIDReference";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.SSIDReference";\r
+    }\r
+    leaf profile-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.ProfileNumberOfEntries";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.ProfileNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping end-point-ac-g {\r
+    description\r
+      "Grouping object for Device.WiFi.EndPoint.{i}.AC.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf access-category {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.AccessCategory";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.AccessCategory";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Alias";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Alias";\r
+    }\r
+    leaf aifsn {\r
+      type uint32 {\r
+        range "2..15";\r
+      }\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.AIFSN";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.AIFSN";\r
+    }\r
+    leaf ecw-min {\r
+      type uint32 {\r
+        range "0..15";\r
+      }\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.ECWMin";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.ECWMin";\r
+    }\r
+    leaf ecw-max {\r
+      type uint32 {\r
+        range "0..15";\r
+      }\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.ECWMax";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.ECWMax";\r
+    }\r
+    leaf tx-op-max {\r
+      type uint32 {\r
+        range "0..255";\r
+      }\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.TxOpMax";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.TxOpMax";\r
+    }\r
+    leaf ack-policy {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.AckPolicy";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.AckPolicy";\r
+    }\r
+    leaf out-q-len-histogram-intervals {\r
+      type string;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.OutQLenHistogramIntervals";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.OutQLenHistogramIntervals";\r
+    }\r
+    leaf out-q-len-histogram-sample-interval {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.OutQLenHistogramSampleInterval";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.OutQLenHistogramSampleInterval";\r
+    }\r
+  }\r
+\r
+  grouping end-point-ac-stats-g {\r
+    description\r
+      "Grouping object for Device.WiFi.EndPoint.{i}.AC.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf retrans-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.RetransCount";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.RetransCount";\r
+    }\r
+    leaf out-q-len-histogram {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.OutQLenHistogram";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.OutQLenHistogram";\r
+    }\r
+  }\r
+\r
+  grouping end-point-profile-g {\r
+    description\r
+      "Grouping object for Device.WiFi.EndPoint.{i}.Profile.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Enable";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Status";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Alias";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Alias";\r
+    }\r
+    leaf ssid {\r
+      type string {\r
+        length "min..32";\r
+      }\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.SSID";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.SSID";\r
+    }\r
+    leaf location {\r
+      type string;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Location";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Location";\r
+    }\r
+    leaf priority {\r
+      type uint32 {\r
+        range "min..255";\r
+      }\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Priority";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Priority";\r
+    }\r
+  }\r
+\r
+  grouping profile-security-g {\r
+    description\r
+      "Grouping object for Device.WiFi.EndPoint.{i}.Profile.{i}.Security.";\r
+    leaf mode-enabled {\r
+      type string;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Security.ModeEnabled";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Security.ModeEnabled";\r
+    }\r
+    leaf mfp-config {\r
+      type enumeration {\r
+        enum Disabled {\r
+          description\r
+            "Enum Value - Disabled";\r
+        }\r
+        enum Optional {\r
+          description\r
+            "Enum Value - Optional";\r
+        }\r
+        enum Required {\r
+          description\r
+            "Enum Value - Required";\r
+        }\r
+      }\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Security.MFPConfig";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Profile.{i}.Security.MFPConfig";\r
+    }\r
+  }\r
+\r
+  grouping end-point-security-g {\r
+    description\r
+      "Grouping object for Device.WiFi.EndPoint.{i}.Security.";\r
+    leaf modes-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Security.ModesSupported";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Security.ModesSupported";\r
+    }\r
+  }\r
+\r
+  grouping end-point-stats-g {\r
+    description\r
+      "Grouping object for Device.WiFi.EndPoint.{i}.Stats.";\r
+    leaf last-data-downlink-rate {\r
+      type uint32 {\r
+        range "1000..600000";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Stats.LastDataDownlinkRate";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Stats.LastDataDownlinkRate";\r
+    }\r
+    leaf last-data-uplink-rate {\r
+      type uint32 {\r
+        range "1000..600000";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Stats.LastDataUplinkRate";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Stats.LastDataUplinkRate";\r
+    }\r
+    leaf signal-strength {\r
+      type int32 {\r
+        range "-200..0";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Stats.SignalStrength";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Stats.SignalStrength";\r
+    }\r
+    leaf retransmissions {\r
+      type uint32 {\r
+        range "0..100";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.Stats.Retransmissions";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.Stats.Retransmissions";\r
+    }\r
+  }\r
+\r
+  grouping end-point-wps-g {\r
+    description\r
+      "Grouping object for Device.WiFi.EndPoint.{i}.WPS.";\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.WPS.Enable";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.WPS.Enable";\r
+    }\r
+    leaf config-methods-supported {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.WPS.ConfigMethodsSupported";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.WPS.ConfigMethodsSupported";\r
+    }\r
+    leaf config-methods-enabled {\r
+      type string;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.WPS.ConfigMethodsEnabled";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.WPS.ConfigMethodsEnabled";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.WPS.Status";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.WPS.Status";\r
+    }\r
+    leaf version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.EndPoint.{i}.WPS.Version";\r
+      reference\r
+        "Device.WiFi.EndPoint.{i}.WPS.Version";\r
+    }\r
+  }\r
+\r
+  grouping wi-fi-neighboring-wi-fi-diagnostic-g {\r
+    description\r
+      "Grouping object for Device.WiFi.NeighboringWiFiDiagnostic.";\r
+    leaf diagnostics-state {\r
+      type enumeration {\r
+        enum None {\r
+          description\r
+            "Enum Value - None";\r
+        }\r
+        enum Requested {\r
+          description\r
+            "Enum Value - Requested";\r
+        }\r
+        enum Canceled {\r
+          description\r
+            "Enum Value - Canceled";\r
+        }\r
+        enum Complete {\r
+          description\r
+            "Enum Value - Complete";\r
+        }\r
+        enum Error {\r
+          description\r
+            "Enum Value - Error";\r
+        }\r
+        enum Completed {\r
+          description\r
+            "Enum Value - Completed";\r
+        }\r
+      }\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState";\r
+    }\r
+    leaf result-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.ResultNumberOfEntries";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.ResultNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping neighboring-wi-fi-diagnostic-result-g {\r
+    description\r
+      "Grouping object for Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf radio {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Radio";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Radio";\r
+    }\r
+    leaf ssid {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SSID";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SSID";\r
+    }\r
+    leaf bssid {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BSSID";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BSSID";\r
+    }\r
+    leaf mode {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Mode";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Mode";\r
+    }\r
+    leaf channel {\r
+      type uint32 {\r
+        range "1..255";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Channel";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Channel";\r
+    }\r
+    leaf signal-strength {\r
+      type int32 {\r
+        range "-200..0";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SignalStrength";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SignalStrength";\r
+    }\r
+    leaf security-mode-enabled {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SecurityModeEnabled";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SecurityModeEnabled";\r
+    }\r
+    leaf encryption-mode {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.EncryptionMode";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.EncryptionMode";\r
+    }\r
+    leaf operating-frequency-band {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingFrequencyBand";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingFrequencyBand";\r
+    }\r
+    leaf supported-standards {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SupportedStandards";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SupportedStandards";\r
+    }\r
+    leaf operating-standards {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingStandards";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingStandards";\r
+    }\r
+    leaf operating-channel-bandwidth {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingChannelBandwidth";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingChannelBandwidth";\r
+    }\r
+    leaf beacon-period {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BeaconPeriod";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BeaconPeriod";\r
+    }\r
+    leaf noise {\r
+      type int32 {\r
+        range "-200..0";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Noise";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Noise";\r
+    }\r
+    leaf basic-data-transfer-rates {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BasicDataTransferRates";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BasicDataTransferRates";\r
+    }\r
+    leaf supported-data-transfer-rates {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SupportedDataTransferRates";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SupportedDataTransferRates";\r
+    }\r
+    leaf dtim-period {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.DTIMPeriod";\r
+      reference\r
+        "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.DTIMPeriod";\r
+    }\r
+  }\r
+\r
+  grouping wi-fi-radio-g {\r
+    description\r
+      "Grouping object for Device.WiFi.Radio.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Enable";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Status";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.Alias";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Name";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.LastChange";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.LowerLayers";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.LowerLayers";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Upstream";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Upstream";\r
+    }\r
+    leaf max-bit-rate {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.MaxBitRate";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.MaxBitRate";\r
+    }\r
+    leaf supported-frequency-bands {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.SupportedFrequencyBands";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.SupportedFrequencyBands";\r
+    }\r
+    leaf operating-frequency-band {\r
+      type string;\r
+      description\r
+        "Device.WiFi.Radio.{i}.OperatingFrequencyBand";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.OperatingFrequencyBand";\r
+    }\r
+    leaf supported-standards {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.SupportedStandards";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.SupportedStandards";\r
+    }\r
+    leaf operating-standards {\r
+      type string;\r
+      description\r
+        "Device.WiFi.Radio.{i}.OperatingStandards";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.OperatingStandards";\r
+    }\r
+    leaf possible-channels {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.PossibleChannels";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.PossibleChannels";\r
+    }\r
+    leaf channels-in-use {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.ChannelsInUse";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.ChannelsInUse";\r
+    }\r
+    leaf channel {\r
+      type uint32 {\r
+        range "1..255";\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.Channel";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Channel";\r
+    }\r
+    leaf auto-channel-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.AutoChannelSupported";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.AutoChannelSupported";\r
+    }\r
+    leaf auto-channel-enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.Radio.{i}.AutoChannelEnable";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.AutoChannelEnable";\r
+    }\r
+    leaf auto-channel-refresh-period {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.Radio.{i}.AutoChannelRefreshPeriod";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.AutoChannelRefreshPeriod";\r
+    }\r
+    leaf channel-last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.ChannelLastChange";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.ChannelLastChange";\r
+    }\r
+    leaf channel-last-selection-reason {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.ChannelLastSelectionReason";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.ChannelLastSelectionReason";\r
+    }\r
+    leaf max-supported-ssi-ds {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.MaxSupportedSSIDs";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.MaxSupportedSSIDs";\r
+    }\r
+    leaf max-supported-associations {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.MaxSupportedAssociations";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.MaxSupportedAssociations";\r
+    }\r
+    leaf firmware-version {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.FirmwareVersion";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.FirmwareVersion";\r
+    }\r
+    leaf supported-operating-channel-bandwidths {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.SupportedOperatingChannelBandwidths";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.SupportedOperatingChannelBandwidths";\r
+    }\r
+    leaf operating-channel-bandwidth {\r
+      type string;\r
+      description\r
+        "Device.WiFi.Radio.{i}.OperatingChannelBandwidth";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.OperatingChannelBandwidth";\r
+    }\r
+    leaf current-operating-channel-bandwidth {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.CurrentOperatingChannelBandwidth";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.CurrentOperatingChannelBandwidth";\r
+    }\r
+    leaf extension-channel {\r
+      type enumeration {\r
+        enum AboveControlChannel {\r
+          description\r
+            "Enum Value - AboveControlChannel";\r
+        }\r
+        enum BelowControlChannel {\r
+          description\r
+            "Enum Value - BelowControlChannel";\r
+        }\r
+        enum Auto {\r
+          description\r
+            "Enum Value - Auto";\r
+        }\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.ExtensionChannel";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.ExtensionChannel";\r
+    }\r
+    leaf guard-interval {\r
+      type enumeration {\r
+        enum 400nsec {\r
+          description\r
+            "Enum Value - 400nsec";\r
+        }\r
+        enum 800nsec {\r
+          description\r
+            "Enum Value - 800nsec";\r
+        }\r
+        enum Auto {\r
+          description\r
+            "Enum Value - Auto";\r
+        }\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.GuardInterval";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.GuardInterval";\r
+    }\r
+    leaf mcs {\r
+      type int32 {\r
+        range "-1..15 | 16..31";\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.MCS";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.MCS";\r
+    }\r
+    leaf transmit-power-supported {\r
+      type int32 {\r
+        range "-1..100";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.TransmitPowerSupported";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.TransmitPowerSupported";\r
+    }\r
+    leaf transmit-power {\r
+      type int32 {\r
+        range "-1..100";\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.TransmitPower";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.TransmitPower";\r
+    }\r
+    leaf ieee80211h-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.IEEE80211hSupported";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.IEEE80211hSupported";\r
+    }\r
+    leaf ieee80211h-enabled {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.Radio.{i}.IEEE80211hEnabled";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.IEEE80211hEnabled";\r
+    }\r
+    leaf regulatory-domain {\r
+      type string {\r
+        length "3";\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.RegulatoryDomain";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.RegulatoryDomain";\r
+    }\r
+    leaf retry-limit {\r
+      type uint32 {\r
+        range "0..7";\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.RetryLimit";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.RetryLimit";\r
+    }\r
+    leaf cca-request {\r
+      type string {\r
+        length "11";\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.CCARequest";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.CCARequest";\r
+    }\r
+    leaf cca-report {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.CCAReport";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.CCAReport";\r
+    }\r
+    leaf rpi-histogram-request {\r
+      type string {\r
+        length "11";\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.RPIHistogramRequest";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.RPIHistogramRequest";\r
+    }\r
+    leaf rpi-histogram-report {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.RPIHistogramReport";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.RPIHistogramReport";\r
+    }\r
+    leaf fragmentation-threshold {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.Radio.{i}.FragmentationThreshold";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.FragmentationThreshold";\r
+    }\r
+    leaf rts-threshold {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.Radio.{i}.RTSThreshold";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.RTSThreshold";\r
+    }\r
+    leaf long-retry-limit {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.Radio.{i}.LongRetryLimit";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.LongRetryLimit";\r
+    }\r
+    leaf beacon-period {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.Radio.{i}.BeaconPeriod";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.BeaconPeriod";\r
+    }\r
+    leaf dtim-period {\r
+      type uint32;\r
+      description\r
+        "Device.WiFi.Radio.{i}.DTIMPeriod";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.DTIMPeriod";\r
+    }\r
+    leaf packet-aggregation-enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.Radio.{i}.PacketAggregationEnable";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.PacketAggregationEnable";\r
+    }\r
+    leaf preamble-type {\r
+      type enumeration {\r
+        enum short {\r
+          description\r
+            "Enum Value - short";\r
+        }\r
+        enum auto {\r
+          description\r
+            "Enum Value - auto";\r
+        }\r
+      }\r
+      description\r
+        "Device.WiFi.Radio.{i}.PreambleType";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.PreambleType";\r
+    }\r
+    leaf basic-data-transmit-rates {\r
+      type string;\r
+      description\r
+        "Device.WiFi.Radio.{i}.BasicDataTransmitRates";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.BasicDataTransmitRates";\r
+    }\r
+    leaf operational-data-transmit-rates {\r
+      type string;\r
+      description\r
+        "Device.WiFi.Radio.{i}.OperationalDataTransmitRates";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.OperationalDataTransmitRates";\r
+    }\r
+    leaf supported-data-transmit-rates {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.SupportedDataTransmitRates";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.SupportedDataTransmitRates";\r
+    }\r
+  }\r
+\r
+  grouping radio-stats-g {\r
+    description\r
+      "Grouping object for Device.WiFi.Radio.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf plcp-error-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.PLCPErrorCount";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.PLCPErrorCount";\r
+    }\r
+    leaf fcs-error-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.FCSErrorCount";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.FCSErrorCount";\r
+    }\r
+    leaf invalid-mac-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.InvalidMACCount";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.InvalidMACCount";\r
+    }\r
+    leaf packets-other-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.PacketsOtherReceived";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.PacketsOtherReceived";\r
+    }\r
+    leaf noise {\r
+      type int32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.Noise";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.Noise";\r
+    }\r
+    leaf total-channel-change-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.TotalChannelChangeCount";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.TotalChannelChangeCount";\r
+    }\r
+    leaf manual-channel-change-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.ManualChannelChangeCount";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.ManualChannelChangeCount";\r
+    }\r
+    leaf auto-startup-channel-change-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.AutoStartupChannelChangeCount";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.AutoStartupChannelChangeCount";\r
+    }\r
+    leaf auto-user-channel-change-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.AutoUserChannelChangeCount";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.AutoUserChannelChangeCount";\r
+    }\r
+    leaf auto-refresh-channel-change-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.AutoRefreshChannelChangeCount";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.AutoRefreshChannelChangeCount";\r
+    }\r
+    leaf auto-dynamic-channel-change-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.AutoDynamicChannelChangeCount";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.AutoDynamicChannelChangeCount";\r
+    }\r
+    leaf auto-dfs-channel-change-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.Radio.{i}.Stats.AutoDFSChannelChangeCount";\r
+      reference\r
+        "Device.WiFi.Radio.{i}.Stats.AutoDFSChannelChangeCount";\r
+    }\r
+  }\r
+\r
+  grouping wi-fi-ssid-g {\r
+    description\r
+      "Grouping object for Device.WiFi.SSID.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Enable";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Status";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.WiFi.SSID.{i}.Alias";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Name";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.LastChange";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.WiFi.SSID.{i}.LowerLayers";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.LowerLayers";\r
+    }\r
+    leaf bssid {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.BSSID";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.BSSID";\r
+    }\r
+    leaf mac-address {\r
+      type string {\r
+        length "min..17";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.MACAddress";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.MACAddress";\r
+    }\r
+    leaf ssid {\r
+      type string {\r
+        length "min..32";\r
+      }\r
+      description\r
+        "Device.WiFi.SSID.{i}.SSID";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.SSID";\r
+    }\r
+    leaf upstream {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Upstream";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Upstream";\r
+    }\r
+  }\r
+\r
+  grouping ssid-stats-g {\r
+    description\r
+      "Grouping object for Device.WiFi.SSID.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf retrans-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.RetransCount";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.RetransCount";\r
+    }\r
+    leaf failed-retrans-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.FailedRetransCount";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.FailedRetransCount";\r
+    }\r
+    leaf retry-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.RetryCount";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.RetryCount";\r
+    }\r
+    leaf multiple-retry-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.MultipleRetryCount";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.MultipleRetryCount";\r
+    }\r
+    leaf ack-failure-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.ACKFailureCount";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.ACKFailureCount";\r
+    }\r
+    leaf aggregated-packet-count {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.AggregatedPacketCount";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.AggregatedPacketCount";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-proto-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.WiFi.SSID.{i}.Stats.UnknownProtoPacketsReceived";\r
+      reference\r
+        "Device.WiFi.SSID.{i}.Stats.UnknownProtoPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping device-xmpp-g {\r
+    description\r
+      "Grouping object for Device.XMPP.";\r
+    leaf connection-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.XMPP.ConnectionNumberOfEntries";\r
+      reference\r
+        "Device.XMPP.ConnectionNumberOfEntries";\r
+    }\r
+    leaf supported-server-connect-algorithms {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.XMPP.SupportedServerConnectAlgorithms";\r
+      reference\r
+        "Device.XMPP.SupportedServerConnectAlgorithms";\r
+    }\r
+  }\r
+\r
+  grouping xmpp-connection-g {\r
+    description\r
+      "Grouping object for Device.XMPP.Connection.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.XMPP.Connection.{i}.Enable";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.Alias";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Alias";\r
+    }\r
+    leaf username {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.Username";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Username";\r
+    }\r
+    leaf domain {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.Domain";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Domain";\r
+    }\r
+    leaf resource {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.Resource";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Resource";\r
+    }\r
+    leaf jabber-id {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.XMPP.Connection.{i}.JabberID";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.JabberID";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.XMPP.Connection.{i}.Status";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Status";\r
+    }\r
+    leaf last-change-date {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.XMPP.Connection.{i}.LastChangeDate";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.LastChangeDate";\r
+    }\r
+    leaf server-connect-algorithm {\r
+      type string;\r
+      description\r
+        "Device.XMPP.Connection.{i}.ServerConnectAlgorithm";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.ServerConnectAlgorithm";\r
+    }\r
+    leaf keep-alive-interval {\r
+      type int32 {\r
+        range "-1..max";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.KeepAliveInterval";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.KeepAliveInterval";\r
+    }\r
+    leaf server-connect-attempts {\r
+      type uint32;\r
+      description\r
+        "Device.XMPP.Connection.{i}.ServerConnectAttempts";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.ServerConnectAttempts";\r
+    }\r
+    leaf server-retry-initial-interval {\r
+      type uint32 {\r
+        range "1..65535";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.ServerRetryInitialInterval";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.ServerRetryInitialInterval";\r
+    }\r
+    leaf server-retry-interval-multiplier {\r
+      type uint32 {\r
+        range "1000..65535";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.ServerRetryIntervalMultiplier";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.ServerRetryIntervalMultiplier";\r
+    }\r
+    leaf server-retry-max-interval {\r
+      type uint32 {\r
+        range "1..max";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.ServerRetryMaxInterval";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.ServerRetryMaxInterval";\r
+    }\r
+    leaf use-tls {\r
+      type boolean;\r
+      description\r
+        "Device.XMPP.Connection.{i}.UseTLS";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.UseTLS";\r
+    }\r
+    leaf tls-established {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.XMPP.Connection.{i}.TLSEstablished";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.TLSEstablished";\r
+    }\r
+    leaf server-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.XMPP.Connection.{i}.ServerNumberOfEntries";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.ServerNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping connection-server-g {\r
+    description\r
+      "Grouping object for Device.XMPP.Connection.{i}.Server.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.XMPP.Connection.{i}.Server.{i}.Enable";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Server.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.Server.{i}.Alias";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Server.{i}.Alias";\r
+    }\r
+    leaf priority {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.Server.{i}.Priority";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Server.{i}.Priority";\r
+    }\r
+    leaf weight {\r
+      type int32 {\r
+        range "-1..65535";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.Server.{i}.Weight";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Server.{i}.Weight";\r
+    }\r
+    leaf server-address {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.Server.{i}.ServerAddress";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Server.{i}.ServerAddress";\r
+    }\r
+    leaf port {\r
+      type uint32 {\r
+        range "0..65535";\r
+      }\r
+      description\r
+        "Device.XMPP.Connection.{i}.Server.{i}.Port";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Server.{i}.Port";\r
+    }\r
+  }\r
+\r
+  grouping connection-stats-g {\r
+    description\r
+      "Grouping object for Device.XMPP.Connection.{i}.Stats.";\r
+    leaf received-messages {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.XMPP.Connection.{i}.Stats.ReceivedMessages";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Stats.ReceivedMessages";\r
+    }\r
+    leaf transmitted-messages {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.XMPP.Connection.{i}.Stats.TransmittedMessages";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Stats.TransmittedMessages";\r
+    }\r
+    leaf received-error-messages {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.XMPP.Connection.{i}.Stats.ReceivedErrorMessages";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Stats.ReceivedErrorMessages";\r
+    }\r
+    leaf transmitted-error-messages {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.XMPP.Connection.{i}.Stats.TransmittedErrorMessages";\r
+      reference\r
+        "Device.XMPP.Connection.{i}.Stats.TransmittedErrorMessages";\r
+    }\r
+  }\r
+\r
+  grouping device-zig-bee-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.";\r
+    leaf interface-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.InterfaceNumberOfEntries";\r
+      reference\r
+        "Device.ZigBee.InterfaceNumberOfEntries";\r
+    }\r
+    leaf zdo-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDONumberOfEntries";\r
+      reference\r
+        "Device.ZigBee.ZDONumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping zig-bee-discovery-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.Discovery.";\r
+    leaf area-network-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Discovery.AreaNetworkNumberOfEntries";\r
+      reference\r
+        "Device.ZigBee.Discovery.AreaNetworkNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping discovery-area-network-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.Discovery.AreaNetwork.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.Enable";\r
+      reference\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.Enable";\r
+    }\r
+    leaf last-update {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.LastUpdate";\r
+      reference\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.LastUpdate";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.Status";\r
+      reference\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.Alias";\r
+      reference\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.Alias";\r
+    }\r
+    leaf coordinator {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.Coordinator";\r
+      reference\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.Coordinator";\r
+    }\r
+    leaf zdo-reference {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.ZDOReference";\r
+      reference\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.ZDOReference";\r
+    }\r
+    leaf zdo-list {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.ZDOList";\r
+      reference\r
+        "Device.ZigBee.Discovery.AreaNetwork.{i}.ZDOList";\r
+    }\r
+  }\r
+\r
+  grouping zig-bee-interface-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.Interface.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Enable";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Enable";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Status";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Status";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Alias";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Alias";\r
+    }\r
+    leaf name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Name";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Name";\r
+    }\r
+    leaf last-change {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.LastChange";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.LastChange";\r
+    }\r
+    leaf lower-layers {\r
+      type string {\r
+        length "min..1024";\r
+      }\r
+      description\r
+        "Device.ZigBee.Interface.{i}.LowerLayers";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.LowerLayers";\r
+    }\r
+    leaf ieee-address {\r
+      type string {\r
+        length "min..23";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.IEEEAddress";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.IEEEAddress";\r
+    }\r
+    leaf network-address {\r
+      type string {\r
+        length "min..4";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.NetworkAddress";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.NetworkAddress";\r
+    }\r
+    leaf zdo-reference {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.ZDOReference";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.ZDOReference";\r
+    }\r
+    leaf associated-device-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.AssociatedDeviceNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping zig-bee-interface-associated-device-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf ieee-address {\r
+      type string {\r
+        length "min..23";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.IEEEAddress";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.IEEEAddress";\r
+    }\r
+    leaf network-address {\r
+      type string {\r
+        length "min..4";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.NetworkAddress";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.NetworkAddress";\r
+    }\r
+    leaf active {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.Active";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.Active";\r
+    }\r
+    leaf zdo-reference {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.ZDOReference";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.ZDOReference";\r
+    }\r
+  }\r
+\r
+  grouping zig-bee-interface-stats-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.Interface.{i}.Stats.";\r
+    leaf bytes-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.BytesSent";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.BytesSent";\r
+    }\r
+    leaf bytes-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.BytesReceived";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.BytesReceived";\r
+    }\r
+    leaf packets-sent {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.PacketsSent";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.PacketsSent";\r
+    }\r
+    leaf packets-received {\r
+      type uint64;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.PacketsReceived";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.PacketsReceived";\r
+    }\r
+    leaf errors-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.ErrorsSent";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.ErrorsSent";\r
+    }\r
+    leaf errors-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.ErrorsReceived";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.ErrorsReceived";\r
+    }\r
+    leaf unicast-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.UnicastPacketsSent";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.UnicastPacketsSent";\r
+    }\r
+    leaf unicast-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.UnicastPacketsReceived";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.UnicastPacketsReceived";\r
+    }\r
+    leaf discard-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.DiscardPacketsSent";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.DiscardPacketsSent";\r
+    }\r
+    leaf discard-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.DiscardPacketsReceived";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.DiscardPacketsReceived";\r
+    }\r
+    leaf multicast-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.MulticastPacketsSent";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.MulticastPacketsSent";\r
+    }\r
+    leaf multicast-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.MulticastPacketsReceived";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.MulticastPacketsReceived";\r
+    }\r
+    leaf broadcast-packets-sent {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.BroadcastPacketsSent";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.BroadcastPacketsSent";\r
+    }\r
+    leaf broadcast-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.BroadcastPacketsReceived";\r
+    }\r
+    leaf unknown-packets-received {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.Interface.{i}.Stats.UnknownPacketsReceived";\r
+      reference\r
+        "Device.ZigBee.Interface.{i}.Stats.UnknownPacketsReceived";\r
+    }\r
+  }\r
+\r
+  grouping zig-bee-zdo-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Alias";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Alias";\r
+    }\r
+    leaf ieee-address {\r
+      type string {\r
+        length "min..23";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.IEEEAddress";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.IEEEAddress";\r
+    }\r
+    leaf network-address {\r
+      type string {\r
+        length "min..4";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NetworkAddress";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NetworkAddress";\r
+    }\r
+    leaf binding-table-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.BindingTableNumberOfEntries";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.BindingTableNumberOfEntries";\r
+    }\r
+    leaf group-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.GroupNumberOfEntries";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.GroupNumberOfEntries";\r
+    }\r
+    leaf application-endpoint-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpointNumberOfEntries";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpointNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping zdo-application-endpoint-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.Enable";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.Alias";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.Alias";\r
+    }\r
+    leaf endpoint-id {\r
+      type uint32 {\r
+        range "min..240";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.EndpointId";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.EndpointId";\r
+    }\r
+  }\r
+\r
+  grouping application-endpoint-simple-descriptor-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.";\r
+    leaf profile-id {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.ProfileId";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.ProfileId";\r
+    }\r
+    leaf device-id {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.DeviceId";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.DeviceId";\r
+    }\r
+    leaf device-version {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.DeviceVersion";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.DeviceVersion";\r
+    }\r
+    leaf input-cluster-list {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.InputClusterList";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.InputClusterList";\r
+    }\r
+    leaf output-cluster-list {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.OutputClusterList";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.OutputClusterList";\r
+    }\r
+  }\r
+\r
+  grouping zdo-binding-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.Binding.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.Enable";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.Alias";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.Alias";\r
+    }\r
+    leaf source-endpoint {\r
+      type uint32 {\r
+        range "min..240";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.SourceEndpoint";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.SourceEndpoint";\r
+    }\r
+    leaf source-address {\r
+      type string {\r
+        length "min..23";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.SourceAddress";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.SourceAddress";\r
+    }\r
+    leaf cluster-id {\r
+      type uint32 {\r
+        range "min..65535";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.ClusterId";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.ClusterId";\r
+    }\r
+    leaf destination-address-mode {\r
+      type enumeration {\r
+        enum Group {\r
+          description\r
+            "Enum Value - Group";\r
+        }\r
+        enum Endpoint {\r
+          description\r
+            "Enum Value - Endpoint";\r
+        }\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.DestinationAddressMode";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.DestinationAddressMode";\r
+    }\r
+    leaf destination-endpoint {\r
+      type uint32 {\r
+        range "min..240";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.DestinationEndpoint";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.DestinationEndpoint";\r
+    }\r
+    leaf ieee-destination-address {\r
+      type string {\r
+        length "min..23";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.IEEEDestinationAddress";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.IEEEDestinationAddress";\r
+    }\r
+    leaf group-destination-address {\r
+      type string {\r
+        length "min..4";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.GroupDestinationAddress";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Binding.{i}.GroupDestinationAddress";\r
+    }\r
+  }\r
+\r
+  grouping zdo-complex-descriptor-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.ComplexDescriptor.";\r
+    leaf descriptor-available {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.DescriptorAvailable";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.DescriptorAvailable";\r
+    }\r
+    leaf language {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.Language";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.Language";\r
+    }\r
+    leaf character-set {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.CharacterSet";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.CharacterSet";\r
+    }\r
+    leaf manufacturer-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.ManufacturerName";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.ManufacturerName";\r
+    }\r
+    leaf model-name {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.ModelName";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.ModelName";\r
+    }\r
+    leaf serial-number {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.SerialNumber";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.SerialNumber";\r
+    }\r
+    leaf device-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.DeviceURL";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.DeviceURL";\r
+    }\r
+    leaf icon {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.Icon";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.Icon";\r
+    }\r
+    leaf icon-url {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.IconURL";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.ComplexDescriptor.IconURL";\r
+    }\r
+  }\r
+\r
+  grouping zdo-group-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.Group.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf enable {\r
+      type boolean;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Group.{i}.Enable";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Group.{i}.Enable";\r
+    }\r
+    leaf alias {\r
+      type string {\r
+        length "min..64";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Group.{i}.Alias";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Group.{i}.Alias";\r
+    }\r
+    leaf group-id {\r
+      type string {\r
+        length "min..4";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Group.{i}.GroupId";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Group.{i}.GroupId";\r
+    }\r
+    leaf endpoint-list {\r
+      type string {\r
+        length "min..256";\r
+      }\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Group.{i}.EndpointList";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Group.{i}.EndpointList";\r
+    }\r
+  }\r
+\r
+  grouping zdo-network-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.Network.";\r
+    leaf neighbor-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Network.NeighborNumberOfEntries";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Network.NeighborNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping network-neighbor-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf neighbor {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Neighbor";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Neighbor";\r
+    }\r
+    leaf lqi {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.LQI";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.LQI";\r
+    }\r
+    leaf relationship {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Relationship";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Relationship";\r
+    }\r
+    leaf permit-join {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.PermitJoin";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.PermitJoin";\r
+    }\r
+    leaf depth {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Depth";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.Depth";\r
+    }\r
+  }\r
+\r
+  grouping zdo-node-descriptor-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.NodeDescriptor.";\r
+    leaf logical-type {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.LogicalType";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.LogicalType";\r
+    }\r
+    leaf complex-descriptor-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ComplexDescriptorSupported";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ComplexDescriptorSupported";\r
+    }\r
+    leaf user-descriptor-supported {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.UserDescriptorSupported";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.UserDescriptorSupported";\r
+    }\r
+    leaf frequency-band {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.FrequencyBand";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.FrequencyBand";\r
+    }\r
+    leaf mac-capability {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MACCapability";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MACCapability";\r
+    }\r
+    leaf manufacture-code {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ManufactureCode";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ManufactureCode";\r
+    }\r
+    leaf maximum-buffer-size {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumBufferSize";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumBufferSize";\r
+    }\r
+    leaf maximum-incoming-transfer-size {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumIncomingTransferSize";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumIncomingTransferSize";\r
+    }\r
+    leaf maximum-outgoing-transfer-size {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumOutgoingTransferSize";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.MaximumOutgoingTransferSize";\r
+    }\r
+    leaf server-mask {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ServerMask";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.ServerMask";\r
+    }\r
+    leaf descriptor-capability {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.DescriptorCapability";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeDescriptor.DescriptorCapability";\r
+    }\r
+  }\r
+\r
+  grouping zdo-node-manager-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.NodeManager.";\r
+    leaf routing-table-number-of-entries {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTableNumberOfEntries";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTableNumberOfEntries";\r
+    }\r
+  }\r
+\r
+  grouping node-manager-routing-table-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.";\r
+    leaf index {\r
+      type uint16;\r
+      description\r
+        "Index attribute";\r
+    }\r
+    leaf destination-address {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.DestinationAddress";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.DestinationAddress";\r
+    }\r
+    leaf next-hop-address {\r
+      type string {\r
+        length "min..4";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.NextHopAddress";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.NextHopAddress";\r
+    }\r
+    leaf status {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.Status";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.Status";\r
+    }\r
+    leaf memory-constrained {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.MemoryConstrained";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.MemoryConstrained";\r
+    }\r
+    leaf many-to-one {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.ManyToOne";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.ManyToOne";\r
+    }\r
+    leaf route-record-required {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.RouteRecordRequired";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.RouteRecordRequired";\r
+    }\r
+  }\r
+\r
+  grouping zdo-power-descriptor-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.PowerDescriptor.";\r
+    leaf current-power-mode {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerMode";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerMode";\r
+    }\r
+    leaf available-power-source {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.PowerDescriptor.AvailablePowerSource";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.PowerDescriptor.AvailablePowerSource";\r
+    }\r
+    leaf current-power-source {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerSource";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerSource";\r
+    }\r
+    leaf current-power-source-level {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerSourceLevel";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.PowerDescriptor.CurrentPowerSourceLevel";\r
+    }\r
+  }\r
+\r
+  grouping zdo-security-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.Security.";\r
+    leaf trust-center-address {\r
+      type string {\r
+        length "min..23";\r
+      }\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Security.TrustCenterAddress";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Security.TrustCenterAddress";\r
+    }\r
+    leaf security-level {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Security.SecurityLevel";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Security.SecurityLevel";\r
+    }\r
+    leaf time-out-period {\r
+      type uint32;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.Security.TimeOutPeriod";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.Security.TimeOutPeriod";\r
+    }\r
+  }\r
+\r
+  grouping zdo-user-descriptor-g {\r
+    description\r
+      "Grouping object for Device.ZigBee.ZDO.{i}.UserDescriptor.";\r
+    leaf descriptor-available {\r
+      type boolean;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.UserDescriptor.DescriptorAvailable";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.UserDescriptor.DescriptorAvailable";\r
+    }\r
+    leaf description {\r
+      type string;\r
+      config false;\r
+      description\r
+        "Device.ZigBee.ZDO.{i}.UserDescriptor.Description";\r
+      reference\r
+        "Device.ZigBee.ZDO.{i}.UserDescriptor.Description";\r
+    }\r
+  }\r
+\r
+  grouping atm-diagnostics-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping device-dlna-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping dns-diagnostics-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping bonded-channel-ethernet-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping bonding-group-ethernet-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping dsl-diagnostics-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping device-fap-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping ghn-diagnostics-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping hpna-diagnostics-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping device-lan-config-security-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping device-lldp-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping management-server-download-availability-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping interface-pp-po-a-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping device-services-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping execution-unit-extensions-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping upa-diagnostics-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  grouping device-u-pn-p-g {\r
+    description\r
+      "Grouping object";\r
+  }\r
+\r
+  container device {\r
+    description\r
+      "Container for object class Device.";\r
+    reference\r
+      "Device.";\r
+    uses device-g;\r
+    container atm {\r
+      description\r
+        "Container for object class Device.ATM.";\r
+      reference\r
+        "Device.ATM.";\r
+      uses device-atm-g;\r
+      container diagnostics {\r
+        description\r
+          "Container for object class Device.ATM.Diagnostics.";\r
+        reference\r
+          "Device.ATM.Diagnostics.";\r
+        uses atm-diagnostics-g;\r
+        container f5-loopback {\r
+          description\r
+            "Container for object class Device.ATM.Diagnostics.F5Loopback.";\r
+          reference\r
+            "Device.ATM.Diagnostics.F5Loopback.";\r
+          uses diagnostics-f5-loopback-g;\r
+        }\r
+      }\r
+      list link {\r
+        key "index";\r
+        description\r
+          "Device.ATM.Link.{i}.";\r
+        reference\r
+          "Device.ATM.Link.{i}.";\r
+        uses atm-link-g;\r
+        container qo-s {\r
+          description\r
+            "Container for object class Device.ATM.Link.{i}.QoS.";\r
+          reference\r
+            "Device.ATM.Link.{i}.QoS.";\r
+          uses link-qo-s-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.ATM.Link.{i}.Stats.";\r
+          reference\r
+            "Device.ATM.Link.{i}.Stats.";\r
+          uses link-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container basapm {\r
+      description\r
+        "Container for object class Device.BASAPM.";\r
+      reference\r
+        "Device.BASAPM.";\r
+      uses device-basapm-g;\r
+      list measurement-endpoint {\r
+        key "index";\r
+        description\r
+          "Device.BASAPM.MeasurementEndpoint.{i}.";\r
+        reference\r
+          "Device.BASAPM.MeasurementEndpoint.{i}.";\r
+        uses basapm-measurement-endpoint-g;\r
+        container customer-device {\r
+          description\r
+            "Container for object class Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.";\r
+          reference\r
+            "Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.";\r
+          uses measurement-endpoint-customer-device-g;\r
+        }\r
+        container isp-device {\r
+          description\r
+            "Container for object class Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.";\r
+          reference\r
+            "Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.";\r
+          uses measurement-endpoint-isp-device-g;\r
+        }\r
+      }\r
+    }\r
+    container bridging {\r
+      description\r
+        "Container for object class Device.Bridging.";\r
+      reference\r
+        "Device.Bridging.";\r
+      uses device-bridging-g;\r
+      list bridge {\r
+        key "index";\r
+        description\r
+          "Device.Bridging.Bridge.{i}.";\r
+        reference\r
+          "Device.Bridging.Bridge.{i}.";\r
+        uses bridging-bridge-g;\r
+        list port {\r
+          key "index";\r
+          description\r
+            "Device.Bridging.Bridge.{i}.Port.{i}.";\r
+          reference\r
+            "Device.Bridging.Bridge.{i}.Port.{i}.";\r
+          uses bridge-port-g;\r
+          container priority-code-point {\r
+            description\r
+              "Container for object class Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.";\r
+            reference\r
+              "Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.";\r
+            uses port-priority-code-point-g;\r
+          }\r
+          container stats {\r
+            description\r
+              "Container for object class Device.Bridging.Bridge.{i}.Port.{i}.Stats.";\r
+            reference\r
+              "Device.Bridging.Bridge.{i}.Port.{i}.Stats.";\r
+            uses port-stats-g;\r
+          }\r
+        }\r
+        list vlan {\r
+          key "index";\r
+          description\r
+            "Device.Bridging.Bridge.{i}.VLAN.{i}.";\r
+          reference\r
+            "Device.Bridging.Bridge.{i}.VLAN.{i}.";\r
+          uses bridge-vlan-g;\r
+        }\r
+        list vlan-port {\r
+          key "index";\r
+          description\r
+            "Device.Bridging.Bridge.{i}.VLANPort.{i}.";\r
+          reference\r
+            "Device.Bridging.Bridge.{i}.VLANPort.{i}.";\r
+          uses bridge-vlan-port-g;\r
+        }\r
+      }\r
+      list filter {\r
+        key "index";\r
+        description\r
+          "Device.Bridging.Filter.{i}.";\r
+        reference\r
+          "Device.Bridging.Filter.{i}.";\r
+        uses bridging-filter-g;\r
+      }\r
+      list provider-bridge {\r
+        key "index";\r
+        description\r
+          "Device.Bridging.ProviderBridge.{i}.";\r
+        reference\r
+          "Device.Bridging.ProviderBridge.{i}.";\r
+        uses bridging-provider-bridge-g;\r
+      }\r
+    }\r
+    container bulk-data {\r
+      description\r
+        "Container for object class Device.BulkData.";\r
+      reference\r
+        "Device.BulkData.";\r
+      uses device-bulk-data-g;\r
+      list profile {\r
+        key "index";\r
+        description\r
+          "Device.BulkData.Profile.{i}.";\r
+        reference\r
+          "Device.BulkData.Profile.{i}.";\r
+        uses bulk-data-profile-g;\r
+        container csv-encoding {\r
+          description\r
+            "Container for object class Device.BulkData.Profile.{i}.CSVEncoding.";\r
+          reference\r
+            "Device.BulkData.Profile.{i}.CSVEncoding.";\r
+          uses profile-csv-encoding-g;\r
+        }\r
+        container http {\r
+          description\r
+            "Container for object class Device.BulkData.Profile.{i}.HTTP.";\r
+          reference\r
+            "Device.BulkData.Profile.{i}.HTTP.";\r
+          uses profile-http-g;\r
+          list request-uri-parameter {\r
+            key "index";\r
+            description\r
+              "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.";\r
+            reference\r
+              "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.";\r
+            uses http-request-uri-parameter-g;\r
+          }\r
+        }\r
+        container json-encoding {\r
+          description\r
+            "Container for object class Device.BulkData.Profile.{i}.JSONEncoding.";\r
+          reference\r
+            "Device.BulkData.Profile.{i}.JSONEncoding.";\r
+          uses profile-json-encoding-g;\r
+        }\r
+        list parameter {\r
+          key "index";\r
+          description\r
+            "Device.BulkData.Profile.{i}.Parameter.{i}.";\r
+          reference\r
+            "Device.BulkData.Profile.{i}.Parameter.{i}.";\r
+          uses profile-parameter-g;\r
+        }\r
+      }\r
+    }\r
+    container captive-portal {\r
+      description\r
+        "Container for object class Device.CaptivePortal.";\r
+      reference\r
+        "Device.CaptivePortal.";\r
+      uses device-captive-portal-g;\r
+    }\r
+    container cellular {\r
+      description\r
+        "Container for object class Device.Cellular.";\r
+      reference\r
+        "Device.Cellular.";\r
+      uses device-cellular-g;\r
+      list access-point {\r
+        key "index";\r
+        description\r
+          "Device.Cellular.AccessPoint.{i}.";\r
+        reference\r
+          "Device.Cellular.AccessPoint.{i}.";\r
+        uses cellular-access-point-g;\r
+      }\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.Cellular.Interface.{i}.";\r
+        reference\r
+          "Device.Cellular.Interface.{i}.";\r
+        uses cellular-interface-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.Cellular.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.Cellular.Interface.{i}.Stats.";\r
+          uses interface-stats-g;\r
+        }\r
+        container usim {\r
+          description\r
+            "Container for object class Device.Cellular.Interface.{i}.USIM.";\r
+          reference\r
+            "Device.Cellular.Interface.{i}.USIM.";\r
+          uses interface-usim-g;\r
+        }\r
+      }\r
+    }\r
+    container dhcpv4 {\r
+      description\r
+        "Container for object class Device.DHCPv4.";\r
+      reference\r
+        "Device.DHCPv4.";\r
+      uses device-dhcpv4-g;\r
+      list client {\r
+        key "index";\r
+        description\r
+          "Device.DHCPv4.Client.{i}.";\r
+        reference\r
+          "Device.DHCPv4.Client.{i}.";\r
+        uses dhcpv4-client-g;\r
+        list req-option {\r
+          key "index";\r
+          description\r
+            "Device.DHCPv4.Client.{i}.ReqOption.{i}.";\r
+          reference\r
+            "Device.DHCPv4.Client.{i}.ReqOption.{i}.";\r
+          uses client-req-option-g;\r
+        }\r
+        list sent-option {\r
+          key "index";\r
+          description\r
+            "Device.DHCPv4.Client.{i}.SentOption.{i}.";\r
+          reference\r
+            "Device.DHCPv4.Client.{i}.SentOption.{i}.";\r
+          uses client-sent-option-g;\r
+        }\r
+      }\r
+      container relay {\r
+        description\r
+          "Container for object class Device.DHCPv4.Relay.";\r
+        reference\r
+          "Device.DHCPv4.Relay.";\r
+        uses dhcpv4-relay-g;\r
+        list forwarding {\r
+          key "index";\r
+          description\r
+            "Device.DHCPv4.Relay.Forwarding.{i}.";\r
+          reference\r
+            "Device.DHCPv4.Relay.Forwarding.{i}.";\r
+          uses relay-forwarding-g;\r
+        }\r
+      }\r
+      container server {\r
+        description\r
+          "Container for object class Device.DHCPv4.Server.";\r
+        reference\r
+          "Device.DHCPv4.Server.";\r
+        uses dhcpv4-server-g;\r
+        list pool {\r
+          key "index";\r
+          description\r
+            "Device.DHCPv4.Server.Pool.{i}.";\r
+          reference\r
+            "Device.DHCPv4.Server.Pool.{i}.";\r
+          uses server-pool-g;\r
+          list client {\r
+            key "index";\r
+            description\r
+              "Device.DHCPv4.Server.Pool.{i}.Client.{i}.";\r
+            reference\r
+              "Device.DHCPv4.Server.Pool.{i}.Client.{i}.";\r
+            uses pool-client-g;\r
+            list ipv4-address {\r
+              key "index";\r
+              description\r
+                "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.";\r
+              reference\r
+                "Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.";\r
+              uses client-ipv4-address-g;\r
+            }\r
+            list option {\r
+              key "index";\r
+              description\r
+                "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.";\r
+              reference\r
+                "Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.";\r
+              uses client-option-g;\r
+            }\r
+          }\r
+          list option {\r
+            key "index";\r
+            description\r
+              "Device.DHCPv4.Server.Pool.{i}.Option.{i}.";\r
+            reference\r
+              "Device.DHCPv4.Server.Pool.{i}.Option.{i}.";\r
+            uses pool-option-g;\r
+          }\r
+          list static-address {\r
+            key "index";\r
+            description\r
+              "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.";\r
+            reference\r
+              "Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.";\r
+            uses pool-static-address-g;\r
+          }\r
+        }\r
+      }\r
+    }\r
+    container dhcpv6 {\r
+      description\r
+        "Container for object class Device.DHCPv6.";\r
+      reference\r
+        "Device.DHCPv6.";\r
+      uses device-dhcpv6-g;\r
+      list client {\r
+        key "index";\r
+        description\r
+          "Device.DHCPv6.Client.{i}.";\r
+        reference\r
+          "Device.DHCPv6.Client.{i}.";\r
+        uses dhcpv6-client-g;\r
+        list received-option {\r
+          key "index";\r
+          description\r
+            "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.";\r
+          reference\r
+            "Device.DHCPv6.Client.{i}.ReceivedOption.{i}.";\r
+          uses client-received-option-g;\r
+        }\r
+        list sent-option {\r
+          key "index";\r
+          description\r
+            "Device.DHCPv6.Client.{i}.SentOption.{i}.";\r
+          reference\r
+            "Device.DHCPv6.Client.{i}.SentOption.{i}.";\r
+          uses dhcpv6-client-sent-option-g;\r
+        }\r
+        list server {\r
+          key "index";\r
+          description\r
+            "Device.DHCPv6.Client.{i}.Server.{i}.";\r
+          reference\r
+            "Device.DHCPv6.Client.{i}.Server.{i}.";\r
+          uses client-server-g;\r
+        }\r
+      }\r
+      container server {\r
+        description\r
+          "Container for object class Device.DHCPv6.Server.";\r
+        reference\r
+          "Device.DHCPv6.Server.";\r
+        uses dhcpv6-server-g;\r
+        list pool {\r
+          key "index";\r
+          description\r
+            "Device.DHCPv6.Server.Pool.{i}.";\r
+          reference\r
+            "Device.DHCPv6.Server.Pool.{i}.";\r
+          uses dhcpv6-server-pool-g;\r
+          list client {\r
+            key "index";\r
+            description\r
+              "Device.DHCPv6.Server.Pool.{i}.Client.{i}.";\r
+            reference\r
+              "Device.DHCPv6.Server.Pool.{i}.Client.{i}.";\r
+            uses server-pool-client-g;\r
+            list ipv6-address {\r
+              key "index";\r
+              description\r
+                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.";\r
+              reference\r
+                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.";\r
+              uses client-ipv6-address-g;\r
+            }\r
+            list ipv6-prefix {\r
+              key "index";\r
+              description\r
+                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.";\r
+              reference\r
+                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.";\r
+              uses client-ipv6-prefix-g;\r
+            }\r
+            list option {\r
+              key "index";\r
+              description\r
+                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.";\r
+              reference\r
+                "Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.";\r
+              uses pool-client-option-g;\r
+            }\r
+          }\r
+          list option {\r
+            key "index";\r
+            description\r
+              "Device.DHCPv6.Server.Pool.{i}.Option.{i}.";\r
+            reference\r
+              "Device.DHCPv6.Server.Pool.{i}.Option.{i}.";\r
+            uses server-pool-option-g;\r
+          }\r
+        }\r
+      }\r
+    }\r
+    container dlna {\r
+      description\r
+        "Container for object class Device.DLNA.";\r
+      reference\r
+        "Device.DLNA.";\r
+      uses device-dlna-g;\r
+      container capabilities {\r
+        description\r
+          "Container for object class Device.DLNA.Capabilities.";\r
+        reference\r
+          "Device.DLNA.Capabilities.";\r
+        uses dlna-capabilities-g;\r
+      }\r
+    }\r
+    container dns {\r
+      description\r
+        "Container for object class Device.DNS.";\r
+      reference\r
+        "Device.DNS.";\r
+      uses device-dns-g;\r
+      container client {\r
+        description\r
+          "Container for object class Device.DNS.Client.";\r
+        reference\r
+          "Device.DNS.Client.";\r
+        uses dns-client-g;\r
+        list server {\r
+          key "index";\r
+          description\r
+            "Device.DNS.Client.Server.{i}.";\r
+          reference\r
+            "Device.DNS.Client.Server.{i}.";\r
+          uses dns-client-server-g;\r
+        }\r
+      }\r
+      container diagnostics {\r
+        description\r
+          "Container for object class Device.DNS.Diagnostics.";\r
+        reference\r
+          "Device.DNS.Diagnostics.";\r
+        uses dns-diagnostics-g;\r
+        container ns-lookup-diagnostics {\r
+          description\r
+            "Container for object class Device.DNS.Diagnostics.NSLookupDiagnostics.";\r
+          reference\r
+            "Device.DNS.Diagnostics.NSLookupDiagnostics.";\r
+          uses diagnostics-ns-lookup-diagnostics-g;\r
+          list result {\r
+            key "index";\r
+            description\r
+              "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.";\r
+            reference\r
+              "Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.";\r
+            uses ns-lookup-diagnostics-result-g;\r
+          }\r
+        }\r
+      }\r
+      container relay {\r
+        description\r
+          "Container for object class Device.DNS.Relay.";\r
+        reference\r
+          "Device.DNS.Relay.";\r
+        uses dns-relay-g;\r
+        list forwarding {\r
+          key "index";\r
+          description\r
+            "Device.DNS.Relay.Forwarding.{i}.";\r
+          reference\r
+            "Device.DNS.Relay.Forwarding.{i}.";\r
+          uses dns-relay-forwarding-g;\r
+        }\r
+      }\r
+      container sd {\r
+        description\r
+          "Container for object class Device.DNS.SD.";\r
+        reference\r
+          "Device.DNS.SD.";\r
+        uses dns-sd-g;\r
+        list service {\r
+          key "index";\r
+          description\r
+            "Device.DNS.SD.Service.{i}.";\r
+          reference\r
+            "Device.DNS.SD.Service.{i}.";\r
+          uses sd-service-g;\r
+          list text-record {\r
+            key "index";\r
+            description\r
+              "Device.DNS.SD.Service.{i}.TextRecord.{i}.";\r
+            reference\r
+              "Device.DNS.SD.Service.{i}.TextRecord.{i}.";\r
+            uses service-text-record-g;\r
+          }\r
+        }\r
+      }\r
+    }\r
+    container dsl {\r
+      description\r
+        "Container for object class Device.DSL.";\r
+      reference\r
+        "Device.DSL.";\r
+      uses device-dsl-g;\r
+      list bonding-group {\r
+        key "index";\r
+        description\r
+          "Device.DSL.BondingGroup.{i}.";\r
+        reference\r
+          "Device.DSL.BondingGroup.{i}.";\r
+        uses dsl-bonding-group-g;\r
+        list bonded-channel {\r
+          key "index";\r
+          description\r
+            "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.";\r
+          reference\r
+            "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.";\r
+          uses bonding-group-bonded-channel-g;\r
+          container ethernet {\r
+            description\r
+              "Container for object class Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.";\r
+            reference\r
+              "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.";\r
+            uses bonded-channel-ethernet-g;\r
+            container stats {\r
+              description\r
+                "Container for object class Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.";\r
+              reference\r
+                "Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.";\r
+              uses ethernet-stats-g;\r
+            }\r
+          }\r
+        }\r
+        container ethernet {\r
+          description\r
+            "Container for object class Device.DSL.BondingGroup.{i}.Ethernet.";\r
+          reference\r
+            "Device.DSL.BondingGroup.{i}.Ethernet.";\r
+          uses bonding-group-ethernet-g;\r
+          container stats {\r
+            description\r
+              "Container for object class Device.DSL.BondingGroup.{i}.Ethernet.Stats.";\r
+            reference\r
+              "Device.DSL.BondingGroup.{i}.Ethernet.Stats.";\r
+            uses bonding-group-ethernet-stats-g;\r
+          }\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.DSL.BondingGroup.{i}.Stats.";\r
+          reference\r
+            "Device.DSL.BondingGroup.{i}.Stats.";\r
+          uses bonding-group-stats-g;\r
+          container current-day {\r
+            description\r
+              "Container for object class Device.DSL.BondingGroup.{i}.Stats.CurrentDay.";\r
+            reference\r
+              "Device.DSL.BondingGroup.{i}.Stats.CurrentDay.";\r
+            uses stats-current-day-g;\r
+          }\r
+          container quarter-hour {\r
+            description\r
+              "Container for object class Device.DSL.BondingGroup.{i}.Stats.QuarterHour.";\r
+            reference\r
+              "Device.DSL.BondingGroup.{i}.Stats.QuarterHour.";\r
+            uses stats-quarter-hour-g;\r
+          }\r
+          container total {\r
+            description\r
+              "Container for object class Device.DSL.BondingGroup.{i}.Stats.Total.";\r
+            reference\r
+              "Device.DSL.BondingGroup.{i}.Stats.Total.";\r
+            uses stats-total-g;\r
+          }\r
+        }\r
+      }\r
+      list channel {\r
+        key "index";\r
+        description\r
+          "Device.DSL.Channel.{i}.";\r
+        reference\r
+          "Device.DSL.Channel.{i}.";\r
+        uses dsl-channel-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.DSL.Channel.{i}.Stats.";\r
+          reference\r
+            "Device.DSL.Channel.{i}.Stats.";\r
+          uses channel-stats-g;\r
+          container current-day {\r
+            description\r
+              "Container for object class Device.DSL.Channel.{i}.Stats.CurrentDay.";\r
+            reference\r
+              "Device.DSL.Channel.{i}.Stats.CurrentDay.";\r
+            uses channel-stats-current-day-g;\r
+          }\r
+          container last-showtime {\r
+            description\r
+              "Container for object class Device.DSL.Channel.{i}.Stats.LastShowtime.";\r
+            reference\r
+              "Device.DSL.Channel.{i}.Stats.LastShowtime.";\r
+            uses stats-last-showtime-g;\r
+          }\r
+          container quarter-hour {\r
+            description\r
+              "Container for object class Device.DSL.Channel.{i}.Stats.QuarterHour.";\r
+            reference\r
+              "Device.DSL.Channel.{i}.Stats.QuarterHour.";\r
+            uses channel-stats-quarter-hour-g;\r
+          }\r
+          container showtime {\r
+            description\r
+              "Container for object class Device.DSL.Channel.{i}.Stats.Showtime.";\r
+            reference\r
+              "Device.DSL.Channel.{i}.Stats.Showtime.";\r
+            uses stats-showtime-g;\r
+          }\r
+          container total {\r
+            description\r
+              "Container for object class Device.DSL.Channel.{i}.Stats.Total.";\r
+            reference\r
+              "Device.DSL.Channel.{i}.Stats.Total.";\r
+            uses channel-stats-total-g;\r
+          }\r
+        }\r
+      }\r
+      container diagnostics {\r
+        description\r
+          "Container for object class Device.DSL.Diagnostics.";\r
+        reference\r
+          "Device.DSL.Diagnostics.";\r
+        uses dsl-diagnostics-g;\r
+        container adsl-line-test {\r
+          description\r
+            "Container for object class Device.DSL.Diagnostics.ADSLLineTest.";\r
+          reference\r
+            "Device.DSL.Diagnostics.ADSLLineTest.";\r
+          uses diagnostics-adsl-line-test-g;\r
+        }\r
+      }\r
+      list line {\r
+        key "index";\r
+        description\r
+          "Device.DSL.Line.{i}.";\r
+        reference\r
+          "Device.DSL.Line.{i}.";\r
+        uses dsl-line-g;\r
+        container data-gathering {\r
+          description\r
+            "Container for object class Device.DSL.Line.{i}.DataGathering.";\r
+          reference\r
+            "Device.DSL.Line.{i}.DataGathering.";\r
+          uses line-data-gathering-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.DSL.Line.{i}.Stats.";\r
+          reference\r
+            "Device.DSL.Line.{i}.Stats.";\r
+          uses line-stats-g;\r
+          container current-day {\r
+            description\r
+              "Container for object class Device.DSL.Line.{i}.Stats.CurrentDay.";\r
+            reference\r
+              "Device.DSL.Line.{i}.Stats.CurrentDay.";\r
+            uses line-stats-current-day-g;\r
+          }\r
+          container last-showtime {\r
+            description\r
+              "Container for object class Device.DSL.Line.{i}.Stats.LastShowtime.";\r
+            reference\r
+              "Device.DSL.Line.{i}.Stats.LastShowtime.";\r
+            uses line-stats-last-showtime-g;\r
+          }\r
+          container quarter-hour {\r
+            description\r
+              "Container for object class Device.DSL.Line.{i}.Stats.QuarterHour.";\r
+            reference\r
+              "Device.DSL.Line.{i}.Stats.QuarterHour.";\r
+            uses line-stats-quarter-hour-g;\r
+          }\r
+          container showtime {\r
+            description\r
+              "Container for object class Device.DSL.Line.{i}.Stats.Showtime.";\r
+            reference\r
+              "Device.DSL.Line.{i}.Stats.Showtime.";\r
+            uses line-stats-showtime-g;\r
+          }\r
+          container total {\r
+            description\r
+              "Container for object class Device.DSL.Line.{i}.Stats.Total.";\r
+            reference\r
+              "Device.DSL.Line.{i}.Stats.Total.";\r
+            uses line-stats-total-g;\r
+          }\r
+        }\r
+        container test-params {\r
+          description\r
+            "Container for object class Device.DSL.Line.{i}.TestParams.";\r
+          reference\r
+            "Device.DSL.Line.{i}.TestParams.";\r
+          uses line-test-params-g;\r
+        }\r
+      }\r
+    }\r
+    container ds-lite {\r
+      description\r
+        "Container for object class Device.DSLite.";\r
+      reference\r
+        "Device.DSLite.";\r
+      uses device-ds-lite-g;\r
+      list interface-setting {\r
+        key "index";\r
+        description\r
+          "Device.DSLite.InterfaceSetting.{i}.";\r
+        reference\r
+          "Device.DSLite.InterfaceSetting.{i}.";\r
+        uses ds-lite-interface-setting-g;\r
+      }\r
+    }\r
+    container device-info {\r
+      description\r
+        "Container for object class Device.DeviceInfo.";\r
+      reference\r
+        "Device.DeviceInfo.";\r
+      uses device-device-info-g;\r
+      list device-image-file {\r
+        key "index";\r
+        description\r
+          "Device.DeviceInfo.DeviceImageFile.{i}.";\r
+        reference\r
+          "Device.DeviceInfo.DeviceImageFile.{i}.";\r
+        uses device-info-device-image-file-g;\r
+      }\r
+      list firmware-image {\r
+        key "index";\r
+        description\r
+          "Device.DeviceInfo.FirmwareImage.{i}.";\r
+        reference\r
+          "Device.DeviceInfo.FirmwareImage.{i}.";\r
+        uses device-info-firmware-image-g;\r
+      }\r
+      list location {\r
+        key "index";\r
+        description\r
+          "Device.DeviceInfo.Location.{i}.";\r
+        reference\r
+          "Device.DeviceInfo.Location.{i}.";\r
+        uses device-info-location-g;\r
+      }\r
+      container memory-status {\r
+        description\r
+          "Container for object class Device.DeviceInfo.MemoryStatus.";\r
+        reference\r
+          "Device.DeviceInfo.MemoryStatus.";\r
+        uses device-info-memory-status-g;\r
+      }\r
+      container network-properties {\r
+        description\r
+          "Container for object class Device.DeviceInfo.NetworkProperties.";\r
+        reference\r
+          "Device.DeviceInfo.NetworkProperties.";\r
+        uses device-info-network-properties-g;\r
+      }\r
+      container process-status {\r
+        description\r
+          "Container for object class Device.DeviceInfo.ProcessStatus.";\r
+        reference\r
+          "Device.DeviceInfo.ProcessStatus.";\r
+        uses device-info-process-status-g;\r
+        list process {\r
+          key "index";\r
+          description\r
+            "Device.DeviceInfo.ProcessStatus.Process.{i}.";\r
+          reference\r
+            "Device.DeviceInfo.ProcessStatus.Process.{i}.";\r
+          uses process-status-process-g;\r
+        }\r
+      }\r
+      list processor {\r
+        key "index";\r
+        description\r
+          "Device.DeviceInfo.Processor.{i}.";\r
+        reference\r
+          "Device.DeviceInfo.Processor.{i}.";\r
+        uses device-info-processor-g;\r
+      }\r
+      container proxier-info {\r
+        description\r
+          "Container for object class Device.DeviceInfo.ProxierInfo.";\r
+        reference\r
+          "Device.DeviceInfo.ProxierInfo.";\r
+        uses device-info-proxier-info-g;\r
+      }\r
+      list supported-data-model {\r
+        key "index";\r
+        description\r
+          "Device.DeviceInfo.SupportedDataModel.{i}.";\r
+        reference\r
+          "Device.DeviceInfo.SupportedDataModel.{i}.";\r
+        uses device-info-supported-data-model-g;\r
+      }\r
+      container temperature-status {\r
+        description\r
+          "Container for object class Device.DeviceInfo.TemperatureStatus.";\r
+        reference\r
+          "Device.DeviceInfo.TemperatureStatus.";\r
+        uses device-info-temperature-status-g;\r
+        list temperature-sensor {\r
+          key "index";\r
+          description\r
+            "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.";\r
+          reference\r
+            "Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.";\r
+          uses temperature-status-temperature-sensor-g;\r
+        }\r
+      }\r
+      list vendor-config-file {\r
+        key "index";\r
+        description\r
+          "Device.DeviceInfo.VendorConfigFile.{i}.";\r
+        reference\r
+          "Device.DeviceInfo.VendorConfigFile.{i}.";\r
+        uses device-info-vendor-config-file-g;\r
+      }\r
+      list vendor-log-file {\r
+        key "index";\r
+        description\r
+          "Device.DeviceInfo.VendorLogFile.{i}.";\r
+        reference\r
+          "Device.DeviceInfo.VendorLogFile.{i}.";\r
+        uses device-info-vendor-log-file-g;\r
+      }\r
+    }\r
+    container dynamic-dns {\r
+      description\r
+        "Container for object class Device.DynamicDNS.";\r
+      reference\r
+        "Device.DynamicDNS.";\r
+      uses device-dynamic-dns-g;\r
+      list client {\r
+        key "index";\r
+        description\r
+          "Device.DynamicDNS.Client.{i}.";\r
+        reference\r
+          "Device.DynamicDNS.Client.{i}.";\r
+        uses dynamic-dns-client-g;\r
+        list hostname {\r
+          key "index";\r
+          description\r
+            "Device.DynamicDNS.Client.{i}.Hostname.{i}.";\r
+          reference\r
+            "Device.DynamicDNS.Client.{i}.Hostname.{i}.";\r
+          uses client-hostname-g;\r
+        }\r
+      }\r
+      list server {\r
+        key "index";\r
+        description\r
+          "Device.DynamicDNS.Server.{i}.";\r
+        reference\r
+          "Device.DynamicDNS.Server.{i}.";\r
+        uses dynamic-dns-server-g;\r
+      }\r
+    }\r
+    container etsi-m2-m {\r
+      description\r
+        "Container for object class Device.ETSIM2M.";\r
+      reference\r
+        "Device.ETSIM2M.";\r
+      uses device-etsi-m2-m-g;\r
+      list scl {\r
+        key "index";\r
+        description\r
+          "Device.ETSIM2M.SCL.{i}.";\r
+        reference\r
+          "Device.ETSIM2M.SCL.{i}.";\r
+        uses etsi-m2-m-scl-g;\r
+        list area-nwk-device-info-instance {\r
+          key "index";\r
+          description\r
+            "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.";\r
+          reference\r
+            "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.";\r
+          uses scl-area-nwk-device-info-instance-g;\r
+          list property {\r
+            key "index";\r
+            description\r
+              "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.";\r
+            reference\r
+              "Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.";\r
+            uses area-nwk-device-info-instance-property-g;\r
+          }\r
+        }\r
+        list area-nwk-instance {\r
+          key "index";\r
+          description\r
+            "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.";\r
+          reference\r
+            "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.";\r
+          uses scl-area-nwk-instance-g;\r
+          list property {\r
+            key "index";\r
+            description\r
+              "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.";\r
+            reference\r
+              "Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.";\r
+            uses area-nwk-instance-property-g;\r
+          }\r
+        }\r
+        container discovery {\r
+          description\r
+            "Container for object class Device.ETSIM2M.SCL.{i}.Discovery.";\r
+          reference\r
+            "Device.ETSIM2M.SCL.{i}.Discovery.";\r
+          uses scl-discovery-g;\r
+        }\r
+        container reregistration {\r
+          description\r
+            "Container for object class Device.ETSIM2M.SCL.{i}.Reregistration.";\r
+          reference\r
+            "Device.ETSIM2M.SCL.{i}.Reregistration.";\r
+          uses scl-reregistration-g;\r
+          container action-status {\r
+            description\r
+              "Container for object class Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.";\r
+            reference\r
+              "Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.";\r
+            uses reregistration-action-status-g;\r
+          }\r
+        }\r
+        list saf-policy-set {\r
+          key "index";\r
+          description\r
+            "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.";\r
+          reference\r
+            "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.";\r
+          uses scl-saf-policy-set-g;\r
+          list anp-policy {\r
+            key "index";\r
+            description\r
+              "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.";\r
+            reference\r
+              "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.";\r
+            uses saf-policy-set-anp-policy-g;\r
+            list block-period {\r
+              key "index";\r
+              description\r
+                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.";\r
+              reference\r
+                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.";\r
+              uses anp-policy-block-period-g;\r
+            }\r
+            list request-category {\r
+              key "index";\r
+              description\r
+                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.";\r
+              reference\r
+                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.";\r
+              uses anp-policy-request-category-g;\r
+              list schedule {\r
+                key "index";\r
+                description\r
+                  "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.";\r
+                reference\r
+                  "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.";\r
+                uses request-category-schedule-g;\r
+                list abs-time-span {\r
+                  key "index";\r
+                  description\r
+                    "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.";\r
+                  reference\r
+                    "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.";\r
+                  uses schedule-abs-time-span-g;\r
+                }\r
+              }\r
+            }\r
+          }\r
+          container m2-msp-policy {\r
+            description\r
+              "Container for object class Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.";\r
+            reference\r
+              "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.";\r
+            uses saf-policy-set-m2-msp-policy-g;\r
+            list request-category {\r
+              key "index";\r
+              description\r
+                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.";\r
+              reference\r
+                "Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.";\r
+              uses m2-msp-policy-request-category-g;\r
+            }\r
+          }\r
+        }\r
+      }\r
+    }\r
+    container ethernet {\r
+      description\r
+        "Container for object class Device.Ethernet.";\r
+      reference\r
+        "Device.Ethernet.";\r
+      uses device-ethernet-g;\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.Ethernet.Interface.{i}.";\r
+        reference\r
+          "Device.Ethernet.Interface.{i}.";\r
+        uses ethernet-interface-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.Ethernet.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.Ethernet.Interface.{i}.Stats.";\r
+          uses ethernet-interface-stats-g;\r
+        }\r
+      }\r
+      list lag {\r
+        key "index";\r
+        description\r
+          "Device.Ethernet.LAG.{i}.";\r
+        reference\r
+          "Device.Ethernet.LAG.{i}.";\r
+        uses ethernet-lag-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.Ethernet.LAG.{i}.Stats.";\r
+          reference\r
+            "Device.Ethernet.LAG.{i}.Stats.";\r
+          uses lag-stats-g;\r
+        }\r
+      }\r
+      list link {\r
+        key "index";\r
+        description\r
+          "Device.Ethernet.Link.{i}.";\r
+        reference\r
+          "Device.Ethernet.Link.{i}.";\r
+        uses ethernet-link-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.Ethernet.Link.{i}.Stats.";\r
+          reference\r
+            "Device.Ethernet.Link.{i}.Stats.";\r
+          uses ethernet-link-stats-g;\r
+        }\r
+      }\r
+      list rmon-stats {\r
+        key "index";\r
+        description\r
+          "Device.Ethernet.RMONStats.{i}.";\r
+        reference\r
+          "Device.Ethernet.RMONStats.{i}.";\r
+        uses ethernet-rmon-stats-g;\r
+      }\r
+      list vlan-termination {\r
+        key "index";\r
+        description\r
+          "Device.Ethernet.VLANTermination.{i}.";\r
+        reference\r
+          "Device.Ethernet.VLANTermination.{i}.";\r
+        uses ethernet-vlan-termination-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.Ethernet.VLANTermination.{i}.Stats.";\r
+          reference\r
+            "Device.Ethernet.VLANTermination.{i}.Stats.";\r
+          uses vlan-termination-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container fap {\r
+      description\r
+        "Container for object class Device.FAP.";\r
+      reference\r
+        "Device.FAP.";\r
+      uses device-fap-g;\r
+      container application-platform {\r
+        description\r
+          "Container for object class Device.FAP.ApplicationPlatform.";\r
+        reference\r
+          "Device.FAP.ApplicationPlatform.";\r
+        uses fap-application-platform-g;\r
+        container capabilities {\r
+          description\r
+            "Container for object class Device.FAP.ApplicationPlatform.Capabilities.";\r
+          reference\r
+            "Device.FAP.ApplicationPlatform.Capabilities.";\r
+          uses application-platform-capabilities-g;\r
+        }\r
+        container control {\r
+          description\r
+            "Container for object class Device.FAP.ApplicationPlatform.Control.";\r
+          reference\r
+            "Device.FAP.ApplicationPlatform.Control.";\r
+          uses application-platform-control-g;\r
+          container femto-awareness {\r
+            description\r
+              "Container for object class Device.FAP.ApplicationPlatform.Control.FemtoAwareness.";\r
+            reference\r
+              "Device.FAP.ApplicationPlatform.Control.FemtoAwareness.";\r
+            uses control-femto-awareness-g;\r
+          }\r
+          container mms {\r
+            description\r
+              "Container for object class Device.FAP.ApplicationPlatform.Control.MMS.";\r
+            reference\r
+              "Device.FAP.ApplicationPlatform.Control.MMS.";\r
+            uses control-mms-g;\r
+          }\r
+          container sms {\r
+            description\r
+              "Container for object class Device.FAP.ApplicationPlatform.Control.SMS.";\r
+            reference\r
+              "Device.FAP.ApplicationPlatform.Control.SMS.";\r
+            uses control-sms-g;\r
+          }\r
+          container terminal-location {\r
+            description\r
+              "Container for object class Device.FAP.ApplicationPlatform.Control.TerminalLocation.";\r
+            reference\r
+              "Device.FAP.ApplicationPlatform.Control.TerminalLocation.";\r
+            uses control-terminal-location-g;\r
+          }\r
+        }\r
+        container monitoring {\r
+          description\r
+            "Container for object class Device.FAP.ApplicationPlatform.Monitoring.";\r
+          reference\r
+            "Device.FAP.ApplicationPlatform.Monitoring.";\r
+          uses application-platform-monitoring-g;\r
+          container femto-awareness {\r
+            description\r
+              "Container for object class Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.";\r
+            reference\r
+              "Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.";\r
+            uses monitoring-femto-awareness-g;\r
+          }\r
+          container mms {\r
+            description\r
+              "Container for object class Device.FAP.ApplicationPlatform.Monitoring.MMS.";\r
+            reference\r
+              "Device.FAP.ApplicationPlatform.Monitoring.MMS.";\r
+            uses monitoring-mms-g;\r
+          }\r
+          container sms {\r
+            description\r
+              "Container for object class Device.FAP.ApplicationPlatform.Monitoring.SMS.";\r
+            reference\r
+              "Device.FAP.ApplicationPlatform.Monitoring.SMS.";\r
+            uses monitoring-sms-g;\r
+          }\r
+          container terminal-location {\r
+            description\r
+              "Container for object class Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.";\r
+            reference\r
+              "Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.";\r
+            uses monitoring-terminal-location-g;\r
+          }\r
+        }\r
+      }\r
+      container gps {\r
+        description\r
+          "Container for object class Device.FAP.GPS.";\r
+        reference\r
+          "Device.FAP.GPS.";\r
+        uses fap-gps-g;\r
+        container agps-server-config {\r
+          description\r
+            "Container for object class Device.FAP.GPS.AGPSServerConfig.";\r
+          reference\r
+            "Device.FAP.GPS.AGPSServerConfig.";\r
+          uses gps-agps-server-config-g;\r
+        }\r
+        container continuous-gps-status {\r
+          description\r
+            "Container for object class Device.FAP.GPS.ContinuousGPSStatus.";\r
+          reference\r
+            "Device.FAP.GPS.ContinuousGPSStatus.";\r
+          uses gps-continuous-gps-status-g;\r
+        }\r
+      }\r
+      container perf-mgmt {\r
+        description\r
+          "Container for object class Device.FAP.PerfMgmt.";\r
+        reference\r
+          "Device.FAP.PerfMgmt.";\r
+        uses fap-perf-mgmt-g;\r
+        list config {\r
+          key "index";\r
+          description\r
+            "Device.FAP.PerfMgmt.Config.{i}.";\r
+          reference\r
+            "Device.FAP.PerfMgmt.Config.{i}.";\r
+          uses perf-mgmt-config-g;\r
+        }\r
+      }\r
+    }\r
+    container fast {\r
+      description\r
+        "Container for object class Device.FAST.";\r
+      reference\r
+        "Device.FAST.";\r
+      uses device-fast-g;\r
+      list line {\r
+        key "index";\r
+        description\r
+          "Device.FAST.Line.{i}.";\r
+        reference\r
+          "Device.FAST.Line.{i}.";\r
+        uses fast-line-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.FAST.Line.{i}.Stats.";\r
+          reference\r
+            "Device.FAST.Line.{i}.Stats.";\r
+          uses fast-line-stats-g;\r
+          container current-day {\r
+            description\r
+              "Container for object class Device.FAST.Line.{i}.Stats.CurrentDay.";\r
+            reference\r
+              "Device.FAST.Line.{i}.Stats.CurrentDay.";\r
+            uses fast-line-stats-current-day-g;\r
+          }\r
+          container last-showtime {\r
+            description\r
+              "Container for object class Device.FAST.Line.{i}.Stats.LastShowtime.";\r
+            reference\r
+              "Device.FAST.Line.{i}.Stats.LastShowtime.";\r
+            uses fast-line-stats-last-showtime-g;\r
+          }\r
+          container quarter-hour {\r
+            description\r
+              "Container for object class Device.FAST.Line.{i}.Stats.QuarterHour.";\r
+            reference\r
+              "Device.FAST.Line.{i}.Stats.QuarterHour.";\r
+            uses fast-line-stats-quarter-hour-g;\r
+          }\r
+          container showtime {\r
+            description\r
+              "Container for object class Device.FAST.Line.{i}.Stats.Showtime.";\r
+            reference\r
+              "Device.FAST.Line.{i}.Stats.Showtime.";\r
+            uses fast-line-stats-showtime-g;\r
+          }\r
+          container total {\r
+            description\r
+              "Container for object class Device.FAST.Line.{i}.Stats.Total.";\r
+            reference\r
+              "Device.FAST.Line.{i}.Stats.Total.";\r
+            uses fast-line-stats-total-g;\r
+          }\r
+        }\r
+        container test-params {\r
+          description\r
+            "Container for object class Device.FAST.Line.{i}.TestParams.";\r
+          reference\r
+            "Device.FAST.Line.{i}.TestParams.";\r
+          uses fast-line-test-params-g;\r
+        }\r
+      }\r
+    }\r
+    container fault-mgmt {\r
+      description\r
+        "Container for object class Device.FaultMgmt.";\r
+      reference\r
+        "Device.FaultMgmt.";\r
+      uses device-fault-mgmt-g;\r
+      list current-alarm {\r
+        key "index";\r
+        description\r
+          "Device.FaultMgmt.CurrentAlarm.{i}.";\r
+        reference\r
+          "Device.FaultMgmt.CurrentAlarm.{i}.";\r
+        uses fault-mgmt-current-alarm-g;\r
+      }\r
+      list expedited-event {\r
+        key "index";\r
+        description\r
+          "Device.FaultMgmt.ExpeditedEvent.{i}.";\r
+        reference\r
+          "Device.FaultMgmt.ExpeditedEvent.{i}.";\r
+        uses fault-mgmt-expedited-event-g;\r
+      }\r
+      list history-event {\r
+        key "index";\r
+        description\r
+          "Device.FaultMgmt.HistoryEvent.{i}.";\r
+        reference\r
+          "Device.FaultMgmt.HistoryEvent.{i}.";\r
+        uses fault-mgmt-history-event-g;\r
+      }\r
+      list queued-event {\r
+        key "index";\r
+        description\r
+          "Device.FaultMgmt.QueuedEvent.{i}.";\r
+        reference\r
+          "Device.FaultMgmt.QueuedEvent.{i}.";\r
+        uses fault-mgmt-queued-event-g;\r
+      }\r
+      list supported-alarm {\r
+        key "index";\r
+        description\r
+          "Device.FaultMgmt.SupportedAlarm.{i}.";\r
+        reference\r
+          "Device.FaultMgmt.SupportedAlarm.{i}.";\r
+        uses fault-mgmt-supported-alarm-g;\r
+      }\r
+    }\r
+    container firewall {\r
+      description\r
+        "Container for object class Device.Firewall.";\r
+      reference\r
+        "Device.Firewall.";\r
+      uses device-firewall-g;\r
+      list chain {\r
+        key "index";\r
+        description\r
+          "Device.Firewall.Chain.{i}.";\r
+        reference\r
+          "Device.Firewall.Chain.{i}.";\r
+        uses firewall-chain-g;\r
+        list rule {\r
+          key "index";\r
+          description\r
+            "Device.Firewall.Chain.{i}.Rule.{i}.";\r
+          reference\r
+            "Device.Firewall.Chain.{i}.Rule.{i}.";\r
+          uses chain-rule-g;\r
+        }\r
+      }\r
+      list level {\r
+        key "index";\r
+        description\r
+          "Device.Firewall.Level.{i}.";\r
+        reference\r
+          "Device.Firewall.Level.{i}.";\r
+        uses firewall-level-g;\r
+      }\r
+    }\r
+    container gre {\r
+      description\r
+        "Container for object class Device.GRE.";\r
+      reference\r
+        "Device.GRE.";\r
+      uses device-gre-g;\r
+      list filter {\r
+        key "index";\r
+        description\r
+          "Device.GRE.Filter.{i}.";\r
+        reference\r
+          "Device.GRE.Filter.{i}.";\r
+        uses gre-filter-g;\r
+      }\r
+      list tunnel {\r
+        key "index";\r
+        description\r
+          "Device.GRE.Tunnel.{i}.";\r
+        reference\r
+          "Device.GRE.Tunnel.{i}.";\r
+        uses gre-tunnel-g;\r
+        list interface {\r
+          key "index";\r
+          description\r
+            "Device.GRE.Tunnel.{i}.Interface.{i}.";\r
+          reference\r
+            "Device.GRE.Tunnel.{i}.Interface.{i}.";\r
+          uses tunnel-interface-g;\r
+          container stats {\r
+            description\r
+              "Container for object class Device.GRE.Tunnel.{i}.Interface.{i}.Stats.";\r
+            reference\r
+              "Device.GRE.Tunnel.{i}.Interface.{i}.Stats.";\r
+            uses tunnel-interface-stats-g;\r
+          }\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.GRE.Tunnel.{i}.Stats.";\r
+          reference\r
+            "Device.GRE.Tunnel.{i}.Stats.";\r
+          uses tunnel-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container gateway-info {\r
+      description\r
+        "Container for object class Device.GatewayInfo.";\r
+      reference\r
+        "Device.GatewayInfo.";\r
+      uses device-gateway-info-g;\r
+    }\r
+    container ghn {\r
+      description\r
+        "Container for object class Device.Ghn.";\r
+      reference\r
+        "Device.Ghn.";\r
+      uses device-ghn-g;\r
+      container diagnostics {\r
+        description\r
+          "Container for object class Device.Ghn.Diagnostics.";\r
+        reference\r
+          "Device.Ghn.Diagnostics.";\r
+        uses ghn-diagnostics-g;\r
+        container phy-throughput {\r
+          description\r
+            "Container for object class Device.Ghn.Diagnostics.PHYThroughput.";\r
+          reference\r
+            "Device.Ghn.Diagnostics.PHYThroughput.";\r
+          uses diagnostics-phy-throughput-g;\r
+          list result {\r
+            key "index";\r
+            description\r
+              "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.";\r
+            reference\r
+              "Device.Ghn.Diagnostics.PHYThroughput.Result.{i}.";\r
+            uses phy-throughput-result-g;\r
+          }\r
+        }\r
+        container performance-monitoring {\r
+          description\r
+            "Container for object class Device.Ghn.Diagnostics.PerformanceMonitoring.";\r
+          reference\r
+            "Device.Ghn.Diagnostics.PerformanceMonitoring.";\r
+          uses diagnostics-performance-monitoring-g;\r
+          container channels {\r
+            description\r
+              "Container for object class Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.";\r
+            reference\r
+              "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.";\r
+            uses performance-monitoring-channels-g;\r
+            list channel {\r
+              key "index";\r
+              description\r
+                "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";\r
+              reference\r
+                "Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";\r
+              uses channels-channel-g;\r
+            }\r
+          }\r
+          container nodes {\r
+            description\r
+              "Container for object class Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.";\r
+            reference\r
+              "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.";\r
+            uses performance-monitoring-nodes-g;\r
+            list node {\r
+              key "index";\r
+              description\r
+                "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";\r
+              reference\r
+                "Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";\r
+              uses nodes-node-g;\r
+            }\r
+          }\r
+        }\r
+      }\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.Ghn.Interface.{i}.";\r
+        reference\r
+          "Device.Ghn.Interface.{i}.";\r
+        uses ghn-interface-g;\r
+        list associated-device {\r
+          key "index";\r
+          description\r
+            "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.";\r
+          reference\r
+            "Device.Ghn.Interface.{i}.AssociatedDevice.{i}.";\r
+          uses interface-associated-device-g;\r
+        }\r
+        container dm-info {\r
+          description\r
+            "Container for object class Device.Ghn.Interface.{i}.DMInfo.";\r
+          reference\r
+            "Device.Ghn.Interface.{i}.DMInfo.";\r
+          uses interface-dm-info-g;\r
+        }\r
+        container sc-info {\r
+          description\r
+            "Container for object class Device.Ghn.Interface.{i}.SCInfo.";\r
+          reference\r
+            "Device.Ghn.Interface.{i}.SCInfo.";\r
+          uses interface-sc-info-g;\r
+        }\r
+        list sm-masked-band {\r
+          key "index";\r
+          description\r
+            "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.";\r
+          reference\r
+            "Device.Ghn.Interface.{i}.SMMaskedBand.{i}.";\r
+          uses interface-sm-masked-band-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.Ghn.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.Ghn.Interface.{i}.Stats.";\r
+          uses ghn-interface-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container hpna {\r
+      description\r
+        "Container for object class Device.HPNA.";\r
+      reference\r
+        "Device.HPNA.";\r
+      uses device-hpna-g;\r
+      container diagnostics {\r
+        description\r
+          "Container for object class Device.HPNA.Diagnostics.";\r
+        reference\r
+          "Device.HPNA.Diagnostics.";\r
+        uses hpna-diagnostics-g;\r
+        container phy-throughput {\r
+          description\r
+            "Container for object class Device.HPNA.Diagnostics.PHYThroughput.";\r
+          reference\r
+            "Device.HPNA.Diagnostics.PHYThroughput.";\r
+          uses hpna-diagnostics-phy-throughput-g;\r
+          list result {\r
+            key "index";\r
+            description\r
+              "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.";\r
+            reference\r
+              "Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.";\r
+            uses diagnostics-phy-throughput-result-g;\r
+          }\r
+        }\r
+        container performance-monitoring {\r
+          description\r
+            "Container for object class Device.HPNA.Diagnostics.PerformanceMonitoring.";\r
+          reference\r
+            "Device.HPNA.Diagnostics.PerformanceMonitoring.";\r
+          uses hpna-diagnostics-performance-monitoring-g;\r
+          container channels {\r
+            description\r
+              "Container for object class Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.";\r
+            reference\r
+              "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.";\r
+            uses diagnostics-performance-monitoring-channels-g;\r
+            list channel {\r
+              key "index";\r
+              description\r
+                "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";\r
+              reference\r
+                "Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.";\r
+              uses performance-monitoring-channels-channel-g;\r
+            }\r
+          }\r
+          container nodes {\r
+            description\r
+              "Container for object class Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.";\r
+            reference\r
+              "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.";\r
+            uses diagnostics-performance-monitoring-nodes-g;\r
+            list node {\r
+              key "index";\r
+              description\r
+                "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";\r
+              reference\r
+                "Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.";\r
+              uses performance-monitoring-nodes-node-g;\r
+            }\r
+          }\r
+        }\r
+      }\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.HPNA.Interface.{i}.";\r
+        reference\r
+          "Device.HPNA.Interface.{i}.";\r
+        uses hpna-interface-g;\r
+        list associated-device {\r
+          key "index";\r
+          description\r
+            "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.";\r
+          reference\r
+            "Device.HPNA.Interface.{i}.AssociatedDevice.{i}.";\r
+          uses hpna-interface-associated-device-g;\r
+        }\r
+        container qo-s {\r
+          description\r
+            "Container for object class Device.HPNA.Interface.{i}.QoS.";\r
+          reference\r
+            "Device.HPNA.Interface.{i}.QoS.";\r
+          uses interface-qo-s-g;\r
+          list flow-spec {\r
+            key "index";\r
+            description\r
+              "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.";\r
+            reference\r
+              "Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.";\r
+            uses qo-s-flow-spec-g;\r
+          }\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.HPNA.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.HPNA.Interface.{i}.Stats.";\r
+          uses hpna-interface-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container home-plug {\r
+      description\r
+        "Container for object class Device.HomePlug.";\r
+      reference\r
+        "Device.HomePlug.";\r
+      uses device-home-plug-g;\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.HomePlug.Interface.{i}.";\r
+        reference\r
+          "Device.HomePlug.Interface.{i}.";\r
+        uses home-plug-interface-g;\r
+        list associated-device {\r
+          key "index";\r
+          description\r
+            "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.";\r
+          reference\r
+            "Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.";\r
+          uses home-plug-interface-associated-device-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.HomePlug.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.HomePlug.Interface.{i}.Stats.";\r
+          uses home-plug-interface-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container hosts {\r
+      description\r
+        "Container for object class Device.Hosts.";\r
+      reference\r
+        "Device.Hosts.";\r
+      uses device-hosts-g;\r
+      list host {\r
+        key "index";\r
+        description\r
+          "Device.Hosts.Host.{i}.";\r
+        reference\r
+          "Device.Hosts.Host.{i}.";\r
+        uses hosts-host-g;\r
+        list ipv4-address {\r
+          key "index";\r
+          description\r
+            "Device.Hosts.Host.{i}.IPv4Address.{i}.";\r
+          reference\r
+            "Device.Hosts.Host.{i}.IPv4Address.{i}.";\r
+          uses host-ipv4-address-g;\r
+        }\r
+        list ipv6-address {\r
+          key "index";\r
+          description\r
+            "Device.Hosts.Host.{i}.IPv6Address.{i}.";\r
+          reference\r
+            "Device.Hosts.Host.{i}.IPv6Address.{i}.";\r
+          uses host-ipv6-address-g;\r
+        }\r
+        container wan-stats {\r
+          description\r
+            "Container for object class Device.Hosts.Host.{i}.WANStats.";\r
+          reference\r
+            "Device.Hosts.Host.{i}.WANStats.";\r
+          uses host-wan-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container ieee1905 {\r
+      description\r
+        "Container for object class Device.IEEE1905.";\r
+      reference\r
+        "Device.IEEE1905.";\r
+      uses device-ieee1905-g;\r
+      container al {\r
+        description\r
+          "Container for object class Device.IEEE1905.AL.";\r
+        reference\r
+          "Device.IEEE1905.AL.";\r
+        uses ieee1905-al-g;\r
+        container forwarding-table {\r
+          description\r
+            "Container for object class Device.IEEE1905.AL.ForwardingTable.";\r
+          reference\r
+            "Device.IEEE1905.AL.ForwardingTable.";\r
+          uses al-forwarding-table-g;\r
+          list forwarding-rule {\r
+            key "index";\r
+            description\r
+              "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.";\r
+            reference\r
+              "Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.";\r
+            uses forwarding-table-forwarding-rule-g;\r
+          }\r
+        }\r
+        list interface {\r
+          key "index";\r
+          description\r
+            "Device.IEEE1905.AL.Interface.{i}.";\r
+          reference\r
+            "Device.IEEE1905.AL.Interface.{i}.";\r
+          uses al-interface-g;\r
+          list link {\r
+            key "index";\r
+            description\r
+              "Device.IEEE1905.AL.Interface.{i}.Link.{i}.";\r
+            reference\r
+              "Device.IEEE1905.AL.Interface.{i}.Link.{i}.";\r
+            uses interface-link-g;\r
+            container metric {\r
+              description\r
+                "Container for object class Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.";\r
+              reference\r
+                "Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.";\r
+              uses link-metric-g;\r
+            }\r
+          }\r
+          list vendor-properties {\r
+            key "index";\r
+            description\r
+              "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.";\r
+            reference\r
+              "Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.";\r
+            uses interface-vendor-properties-g;\r
+          }\r
+        }\r
+        container network-topology {\r
+          description\r
+            "Container for object class Device.IEEE1905.AL.NetworkTopology.";\r
+          reference\r
+            "Device.IEEE1905.AL.NetworkTopology.";\r
+          uses al-network-topology-g;\r
+          list change-log {\r
+            key "index";\r
+            description\r
+              "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.";\r
+            reference\r
+              "Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.";\r
+            uses network-topology-change-log-g;\r
+          }\r
+          list ieee1905-device {\r
+            key "index";\r
+            description\r
+              "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.";\r
+            reference\r
+              "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.";\r
+            uses network-topology-ieee1905-device-g;\r
+            list bridging-tuple {\r
+              key "index";\r
+              description\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.";\r
+              reference\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.";\r
+              uses ieee1905-device-bridging-tuple-g;\r
+            }\r
+            list ieee1905-neighbor {\r
+              key "index";\r
+              description\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.";\r
+              reference\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.";\r
+              uses ieee1905-device-ieee1905-neighbor-g;\r
+              list metric {\r
+                key "index";\r
+                description\r
+                  "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.";\r
+                reference\r
+                  "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.";\r
+                uses ieee1905-neighbor-metric-g;\r
+              }\r
+            }\r
+            list ipv4-address {\r
+              key "index";\r
+              description\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.";\r
+              reference\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.";\r
+              uses ieee1905-device-ipv4-address-g;\r
+            }\r
+            list ipv6-address {\r
+              key "index";\r
+              description\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.";\r
+              reference\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.";\r
+              uses ieee1905-device-ipv6-address-g;\r
+            }\r
+            list interface {\r
+              key "index";\r
+              description\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.";\r
+              reference\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.";\r
+              uses ieee1905-device-interface-g;\r
+            }\r
+            list l2-neighbor {\r
+              key "index";\r
+              description\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.";\r
+              reference\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.";\r
+              uses ieee1905-device-l2-neighbor-g;\r
+            }\r
+            list non-ieee1905-neighbor {\r
+              key "index";\r
+              description\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.";\r
+              reference\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.";\r
+              uses ieee1905-device-non-ieee1905-neighbor-g;\r
+            }\r
+            list vendor-properties {\r
+              key "index";\r
+              description\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.";\r
+              reference\r
+                "Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.";\r
+              uses ieee1905-device-vendor-properties-g;\r
+            }\r
+          }\r
+        }\r
+        container networking-registrar {\r
+          description\r
+            "Container for object class Device.IEEE1905.AL.NetworkingRegistrar.";\r
+          reference\r
+            "Device.IEEE1905.AL.NetworkingRegistrar.";\r
+          uses al-networking-registrar-g;\r
+        }\r
+        container security {\r
+          description\r
+            "Container for object class Device.IEEE1905.AL.Security.";\r
+          reference\r
+            "Device.IEEE1905.AL.Security.";\r
+          uses al-security-g;\r
+        }\r
+      }\r
+    }\r
+    container ieee8021x {\r
+      description\r
+        "Container for object class Device.IEEE8021x.";\r
+      reference\r
+        "Device.IEEE8021x.";\r
+      uses device-ieee8021x-g;\r
+      list supplicant {\r
+        key "index";\r
+        description\r
+          "Device.IEEE8021x.Supplicant.{i}.";\r
+        reference\r
+          "Device.IEEE8021x.Supplicant.{i}.";\r
+        uses ieee8021x-supplicant-g;\r
+        container eapm-d5 {\r
+          description\r
+            "Container for object class Device.IEEE8021x.Supplicant.{i}.EAPMD5.";\r
+          reference\r
+            "Device.IEEE8021x.Supplicant.{i}.EAPMD5.";\r
+          uses supplicant-eapm-d5-g;\r
+        }\r
+        container eaptls {\r
+          description\r
+            "Container for object class Device.IEEE8021x.Supplicant.{i}.EAPTLS.";\r
+          reference\r
+            "Device.IEEE8021x.Supplicant.{i}.EAPTLS.";\r
+          uses supplicant-eaptls-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.IEEE8021x.Supplicant.{i}.Stats.";\r
+          reference\r
+            "Device.IEEE8021x.Supplicant.{i}.Stats.";\r
+          uses supplicant-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container ip {\r
+      description\r
+        "Container for object class Device.IP.";\r
+      reference\r
+        "Device.IP.";\r
+      uses device-ip-g;\r
+      list active-port {\r
+        key "index";\r
+        description\r
+          "Device.IP.ActivePort.{i}.";\r
+        reference\r
+          "Device.IP.ActivePort.{i}.";\r
+        uses ip-active-port-g;\r
+      }\r
+      container diagnostics {\r
+        description\r
+          "Container for object class Device.IP.Diagnostics.";\r
+        reference\r
+          "Device.IP.Diagnostics.";\r
+        uses ip-diagnostics-g;\r
+        container download-diagnostics {\r
+          description\r
+            "Container for object class Device.IP.Diagnostics.DownloadDiagnostics.";\r
+          reference\r
+            "Device.IP.Diagnostics.DownloadDiagnostics.";\r
+          uses diagnostics-download-diagnostics-g;\r
+          list incremental-result {\r
+            key "index";\r
+            description\r
+              "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.";\r
+            reference\r
+              "Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.";\r
+            uses download-diagnostics-incremental-result-g;\r
+          }\r
+          list per-connection-result {\r
+            key "index";\r
+            description\r
+              "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.";\r
+            reference\r
+              "Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.";\r
+            uses download-diagnostics-per-connection-result-g;\r
+          }\r
+        }\r
+        container ip-ping {\r
+          description\r
+            "Container for object class Device.IP.Diagnostics.IPPing.";\r
+          reference\r
+            "Device.IP.Diagnostics.IPPing.";\r
+          uses diagnostics-ip-ping-g;\r
+        }\r
+        container server-selection-diagnostics {\r
+          description\r
+            "Container for object class Device.IP.Diagnostics.ServerSelectionDiagnostics.";\r
+          reference\r
+            "Device.IP.Diagnostics.ServerSelectionDiagnostics.";\r
+          uses diagnostics-server-selection-diagnostics-g;\r
+        }\r
+        container trace-route {\r
+          description\r
+            "Container for object class Device.IP.Diagnostics.TraceRoute.";\r
+          reference\r
+            "Device.IP.Diagnostics.TraceRoute.";\r
+          uses diagnostics-trace-route-g;\r
+          list route-hops {\r
+            key "index";\r
+            description\r
+              "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.";\r
+            reference\r
+              "Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.";\r
+            uses trace-route-route-hops-g;\r
+          }\r
+        }\r
+        container udp-echo-config {\r
+          description\r
+            "Container for object class Device.IP.Diagnostics.UDPEchoConfig.";\r
+          reference\r
+            "Device.IP.Diagnostics.UDPEchoConfig.";\r
+          uses diagnostics-udp-echo-config-g;\r
+        }\r
+        container udp-echo-diagnostics {\r
+          description\r
+            "Container for object class Device.IP.Diagnostics.UDPEchoDiagnostics.";\r
+          reference\r
+            "Device.IP.Diagnostics.UDPEchoDiagnostics.";\r
+          uses diagnostics-udp-echo-diagnostics-g;\r
+          list individual-packet-result {\r
+            key "index";\r
+            description\r
+              "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.";\r
+            reference\r
+              "Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.";\r
+            uses udp-echo-diagnostics-individual-packet-result-g;\r
+          }\r
+        }\r
+        container upload-diagnostics {\r
+          description\r
+            "Container for object class Device.IP.Diagnostics.UploadDiagnostics.";\r
+          reference\r
+            "Device.IP.Diagnostics.UploadDiagnostics.";\r
+          uses diagnostics-upload-diagnostics-g;\r
+          list incremental-result {\r
+            key "index";\r
+            description\r
+              "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.";\r
+            reference\r
+              "Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.";\r
+            uses upload-diagnostics-incremental-result-g;\r
+          }\r
+          list per-connection-result {\r
+            key "index";\r
+            description\r
+              "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.";\r
+            reference\r
+              "Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.";\r
+            uses upload-diagnostics-per-connection-result-g;\r
+          }\r
+        }\r
+      }\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.IP.Interface.{i}.";\r
+        reference\r
+          "Device.IP.Interface.{i}.";\r
+        uses ip-interface-g;\r
+        list ipv4-address {\r
+          key "index";\r
+          description\r
+            "Device.IP.Interface.{i}.IPv4Address.{i}.";\r
+          reference\r
+            "Device.IP.Interface.{i}.IPv4Address.{i}.";\r
+          uses interface-ipv4-address-g;\r
+        }\r
+        list ipv6-address {\r
+          key "index";\r
+          description\r
+            "Device.IP.Interface.{i}.IPv6Address.{i}.";\r
+          reference\r
+            "Device.IP.Interface.{i}.IPv6Address.{i}.";\r
+          uses interface-ipv6-address-g;\r
+        }\r
+        list ipv6-prefix {\r
+          key "index";\r
+          description\r
+            "Device.IP.Interface.{i}.IPv6Prefix.{i}.";\r
+          reference\r
+            "Device.IP.Interface.{i}.IPv6Prefix.{i}.";\r
+          uses interface-ipv6-prefix-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.IP.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.IP.Interface.{i}.Stats.";\r
+          uses ip-interface-stats-g;\r
+        }\r
+        list twamp-reflector {\r
+          key "index";\r
+          description\r
+            "Device.IP.Interface.{i}.TWAMPReflector.{i}.";\r
+          reference\r
+            "Device.IP.Interface.{i}.TWAMPReflector.{i}.";\r
+          uses interface-twamp-reflector-g;\r
+        }\r
+      }\r
+    }\r
+    container i-psec {\r
+      description\r
+        "Container for object class Device.IPsec.";\r
+      reference\r
+        "Device.IPsec.";\r
+      uses device-i-psec-g;\r
+      list filter {\r
+        key "index";\r
+        description\r
+          "Device.IPsec.Filter.{i}.";\r
+        reference\r
+          "Device.IPsec.Filter.{i}.";\r
+        uses i-psec-filter-g;\r
+      }\r
+      list ikev2-sa {\r
+        key "index";\r
+        description\r
+          "Device.IPsec.IKEv2SA.{i}.";\r
+        reference\r
+          "Device.IPsec.IKEv2SA.{i}.";\r
+        uses i-psec-ikev2-sa-g;\r
+        list child-sa {\r
+          key "index";\r
+          description\r
+            "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.";\r
+          reference\r
+            "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.";\r
+          uses ikev2-sa-child-sa-g;\r
+          container stats {\r
+            description\r
+              "Container for object class Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.";\r
+            reference\r
+              "Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.";\r
+            uses child-sa-stats-g;\r
+          }\r
+        }\r
+        list received-cp-attr {\r
+          key "index";\r
+          description\r
+            "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.";\r
+          reference\r
+            "Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.";\r
+          uses ikev2-sa-received-cp-attr-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.IPsec.IKEv2SA.{i}.Stats.";\r
+          reference\r
+            "Device.IPsec.IKEv2SA.{i}.Stats.";\r
+          uses ikev2-sa-stats-g;\r
+        }\r
+      }\r
+      list profile {\r
+        key "index";\r
+        description\r
+          "Device.IPsec.Profile.{i}.";\r
+        reference\r
+          "Device.IPsec.Profile.{i}.";\r
+        uses i-psec-profile-g;\r
+        list sent-cp-attr {\r
+          key "index";\r
+          description\r
+            "Device.IPsec.Profile.{i}.SentCPAttr.{i}.";\r
+          reference\r
+            "Device.IPsec.Profile.{i}.SentCPAttr.{i}.";\r
+          uses profile-sent-cp-attr-g;\r
+        }\r
+      }\r
+      container stats {\r
+        description\r
+          "Container for object class Device.IPsec.Stats.";\r
+        reference\r
+          "Device.IPsec.Stats.";\r
+        uses i-psec-stats-g;\r
+      }\r
+      list tunnel {\r
+        key "index";\r
+        description\r
+          "Device.IPsec.Tunnel.{i}.";\r
+        reference\r
+          "Device.IPsec.Tunnel.{i}.";\r
+        uses i-psec-tunnel-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.IPsec.Tunnel.{i}.Stats.";\r
+          reference\r
+            "Device.IPsec.Tunnel.{i}.Stats.";\r
+          uses i-psec-tunnel-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container ipv6rd {\r
+      description\r
+        "Container for object class Device.IPv6rd.";\r
+      reference\r
+        "Device.IPv6rd.";\r
+      uses device-ipv6rd-g;\r
+      list interface-setting {\r
+        key "index";\r
+        description\r
+          "Device.IPv6rd.InterfaceSetting.{i}.";\r
+        reference\r
+          "Device.IPv6rd.InterfaceSetting.{i}.";\r
+        uses ipv6rd-interface-setting-g;\r
+      }\r
+    }\r
+    list interface-stack {\r
+      key "index";\r
+      description\r
+        "Device.InterfaceStack.{i}.";\r
+      reference\r
+        "Device.InterfaceStack.{i}.";\r
+      uses device-interface-stack-g;\r
+    }\r
+    container l2-tpv3 {\r
+      description\r
+        "Container for object class Device.L2TPv3.";\r
+      reference\r
+        "Device.L2TPv3.";\r
+      uses device-l2-tpv3-g;\r
+      list filter {\r
+        key "index";\r
+        description\r
+          "Device.L2TPv3.Filter.{i}.";\r
+        reference\r
+          "Device.L2TPv3.Filter.{i}.";\r
+        uses l2-tpv3-filter-g;\r
+      }\r
+      list tunnel {\r
+        key "index";\r
+        description\r
+          "Device.L2TPv3.Tunnel.{i}.";\r
+        reference\r
+          "Device.L2TPv3.Tunnel.{i}.";\r
+        uses l2-tpv3-tunnel-g;\r
+        list interface {\r
+          key "index";\r
+          description\r
+            "Device.L2TPv3.Tunnel.{i}.Interface.{i}.";\r
+          reference\r
+            "Device.L2TPv3.Tunnel.{i}.Interface.{i}.";\r
+          uses l2-tpv3-tunnel-interface-g;\r
+          container stats {\r
+            description\r
+              "Container for object class Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.";\r
+            reference\r
+              "Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.";\r
+            uses l2-tpv3-tunnel-interface-stats-g;\r
+          }\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.L2TPv3.Tunnel.{i}.Stats.";\r
+          reference\r
+            "Device.L2TPv3.Tunnel.{i}.Stats.";\r
+          uses l2-tpv3-tunnel-stats-g;\r
+        }\r
+        container udp {\r
+          description\r
+            "Container for object class Device.L2TPv3.Tunnel.{i}.UDP.";\r
+          reference\r
+            "Device.L2TPv3.Tunnel.{i}.UDP.";\r
+          uses tunnel-udp-g;\r
+        }\r
+      }\r
+    }\r
+    container lan-config-security {\r
+      description\r
+        "Container for object class Device.LANConfigSecurity.";\r
+      reference\r
+        "Device.LANConfigSecurity.";\r
+      uses device-lan-config-security-g;\r
+    }\r
+    container le-ds {\r
+      description\r
+        "Container for object class Device.LEDs.";\r
+      reference\r
+        "Device.LEDs.";\r
+      uses device-le-ds-g;\r
+      list led {\r
+        key "index";\r
+        description\r
+          "Device.LEDs.LED.{i}.";\r
+        reference\r
+          "Device.LEDs.LED.{i}.";\r
+        uses le-ds-led-g;\r
+        container current-cycle-element {\r
+          description\r
+            "Container for object class Device.LEDs.LED.{i}.CurrentCycleElement.";\r
+          reference\r
+            "Device.LEDs.LED.{i}.CurrentCycleElement.";\r
+          uses led-current-cycle-element-g;\r
+        }\r
+        list cycle-element {\r
+          key "index";\r
+          description\r
+            "Device.LEDs.LED.{i}.CycleElement.{i}.";\r
+          reference\r
+            "Device.LEDs.LED.{i}.CycleElement.{i}.";\r
+          uses led-cycle-element-g;\r
+        }\r
+      }\r
+    }\r
+    container lldp {\r
+      description\r
+        "Container for object class Device.LLDP.";\r
+      reference\r
+        "Device.LLDP.";\r
+      uses device-lldp-g;\r
+      container discovery {\r
+        description\r
+          "Container for object class Device.LLDP.Discovery.";\r
+        reference\r
+          "Device.LLDP.Discovery.";\r
+        uses lldp-discovery-g;\r
+        list device {\r
+          key "index";\r
+          description\r
+            "Device.LLDP.Discovery.Device.{i}.";\r
+          reference\r
+            "Device.LLDP.Discovery.Device.{i}.";\r
+          uses discovery-device-g;\r
+          container device-information {\r
+            description\r
+              "Container for object class Device.LLDP.Discovery.Device.{i}.DeviceInformation.";\r
+            reference\r
+              "Device.LLDP.Discovery.Device.{i}.DeviceInformation.";\r
+            uses device-device-information-g;\r
+            list vendor-specific {\r
+              key "index";\r
+              description\r
+                "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.";\r
+              reference\r
+                "Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.";\r
+              uses device-information-vendor-specific-g;\r
+            }\r
+          }\r
+          list port {\r
+            key "index";\r
+            description\r
+              "Device.LLDP.Discovery.Device.{i}.Port.{i}.";\r
+            reference\r
+              "Device.LLDP.Discovery.Device.{i}.Port.{i}.";\r
+            uses device-port-g;\r
+            container link-information {\r
+              description\r
+                "Container for object class Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.";\r
+              reference\r
+                "Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.";\r
+              uses port-link-information-g;\r
+            }\r
+          }\r
+        }\r
+      }\r
+    }\r
+    container lmap {\r
+      description\r
+        "Container for object class Device.LMAP.";\r
+      reference\r
+        "Device.LMAP.";\r
+      uses device-lmap-g;\r
+      list event {\r
+        key "index";\r
+        description\r
+          "Device.LMAP.Event.{i}.";\r
+        reference\r
+          "Device.LMAP.Event.{i}.";\r
+        uses lmap-event-g;\r
+        container calendar-timer {\r
+          description\r
+            "Container for object class Device.LMAP.Event.{i}.CalendarTimer.";\r
+          reference\r
+            "Device.LMAP.Event.{i}.CalendarTimer.";\r
+          uses event-calendar-timer-g;\r
+        }\r
+        container one-off {\r
+          description\r
+            "Container for object class Device.LMAP.Event.{i}.OneOff.";\r
+          reference\r
+            "Device.LMAP.Event.{i}.OneOff.";\r
+          uses event-one-off-g;\r
+        }\r
+        container periodic-timer {\r
+          description\r
+            "Container for object class Device.LMAP.Event.{i}.PeriodicTimer.";\r
+          reference\r
+            "Device.LMAP.Event.{i}.PeriodicTimer.";\r
+          uses event-periodic-timer-g;\r
+        }\r
+      }\r
+      list measurement-agent {\r
+        key "index";\r
+        description\r
+          "Device.LMAP.MeasurementAgent.{i}.";\r
+        reference\r
+          "Device.LMAP.MeasurementAgent.{i}.";\r
+        uses lmap-measurement-agent-g;\r
+        list communication-channel {\r
+          key "index";\r
+          description\r
+            "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.";\r
+          reference\r
+            "Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.";\r
+          uses measurement-agent-communication-channel-g;\r
+        }\r
+        container controller {\r
+          description\r
+            "Container for object class Device.LMAP.MeasurementAgent.{i}.Controller.";\r
+          reference\r
+            "Device.LMAP.MeasurementAgent.{i}.Controller.";\r
+          uses measurement-agent-controller-g;\r
+        }\r
+        list instruction {\r
+          key "index";\r
+          description\r
+            "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.";\r
+          reference\r
+            "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.";\r
+          uses measurement-agent-instruction-g;\r
+          list measurement-suppression {\r
+            key "index";\r
+            description\r
+              "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.";\r
+            reference\r
+              "Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.";\r
+            uses instruction-measurement-suppression-g;\r
+          }\r
+        }\r
+        list schedule {\r
+          key "index";\r
+          description\r
+            "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.";\r
+          reference\r
+            "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.";\r
+          uses measurement-agent-schedule-g;\r
+          list action {\r
+            key "index";\r
+            description\r
+              "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.";\r
+            reference\r
+              "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.";\r
+            uses schedule-action-g;\r
+            list option {\r
+              key "index";\r
+              description\r
+                "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.";\r
+              reference\r
+                "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.";\r
+              uses action-option-g;\r
+            }\r
+            container stats {\r
+              description\r
+                "Container for object class Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.";\r
+              reference\r
+                "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.";\r
+              uses action-stats-g;\r
+            }\r
+          }\r
+          container stats {\r
+            description\r
+              "Container for object class Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.";\r
+            reference\r
+              "Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.";\r
+            uses schedule-stats-g;\r
+          }\r
+        }\r
+        list task {\r
+          key "index";\r
+          description\r
+            "Device.LMAP.MeasurementAgent.{i}.Task.{i}.";\r
+          reference\r
+            "Device.LMAP.MeasurementAgent.{i}.Task.{i}.";\r
+          uses measurement-agent-task-g;\r
+          list option {\r
+            key "index";\r
+            description\r
+              "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.";\r
+            reference\r
+              "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.";\r
+            uses task-option-g;\r
+          }\r
+          list registry {\r
+            key "index";\r
+            description\r
+              "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.";\r
+            reference\r
+              "Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.";\r
+            uses task-registry-g;\r
+          }\r
+        }\r
+        list task-capability {\r
+          key "index";\r
+          description\r
+            "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.";\r
+          reference\r
+            "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.";\r
+          uses measurement-agent-task-capability-g;\r
+          list registry {\r
+            key "index";\r
+            description\r
+              "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.";\r
+            reference\r
+              "Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.";\r
+            uses task-capability-registry-g;\r
+          }\r
+        }\r
+      }\r
+      list report {\r
+        key "index";\r
+        description\r
+          "Device.LMAP.Report.{i}.";\r
+        reference\r
+          "Device.LMAP.Report.{i}.";\r
+        uses lmap-report-g;\r
+        list result {\r
+          key "index";\r
+          description\r
+            "Device.LMAP.Report.{i}.Result.{i}.";\r
+          reference\r
+            "Device.LMAP.Report.{i}.Result.{i}.";\r
+          uses report-result-g;\r
+          list conflict {\r
+            key "index";\r
+            description\r
+              "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.";\r
+            reference\r
+              "Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.";\r
+            uses result-conflict-g;\r
+          }\r
+          list option {\r
+            key "index";\r
+            description\r
+              "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.";\r
+            reference\r
+              "Device.LMAP.Report.{i}.Result.{i}.Option.{i}.";\r
+            uses result-option-g;\r
+          }\r
+          list report-table {\r
+            key "index";\r
+            description\r
+              "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.";\r
+            reference\r
+              "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.";\r
+            uses result-report-table-g;\r
+            list registry {\r
+              key "index";\r
+              description\r
+                "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.";\r
+              reference\r
+                "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.";\r
+              uses report-table-registry-g;\r
+            }\r
+            list result-row {\r
+              key "index";\r
+              description\r
+                "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.";\r
+              reference\r
+                "Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.";\r
+              uses report-table-result-row-g;\r
+            }\r
+          }\r
+        }\r
+      }\r
+    }\r
+    container map {\r
+      description\r
+        "Container for object class Device.MAP.";\r
+      reference\r
+        "Device.MAP.";\r
+      uses device-map-g;\r
+      list domain {\r
+        key "index";\r
+        description\r
+          "Device.MAP.Domain.{i}.";\r
+        reference\r
+          "Device.MAP.Domain.{i}.";\r
+        uses map-domain-g;\r
+        container interface {\r
+          description\r
+            "Container for object class Device.MAP.Domain.{i}.Interface.";\r
+          reference\r
+            "Device.MAP.Domain.{i}.Interface.";\r
+          uses domain-interface-g;\r
+          container stats {\r
+            description\r
+              "Container for object class Device.MAP.Domain.{i}.Interface.Stats.";\r
+            reference\r
+              "Device.MAP.Domain.{i}.Interface.Stats.";\r
+            uses domain-interface-stats-g;\r
+          }\r
+        }\r
+        list rule {\r
+          key "index";\r
+          description\r
+            "Device.MAP.Domain.{i}.Rule.{i}.";\r
+          reference\r
+            "Device.MAP.Domain.{i}.Rule.{i}.";\r
+          uses domain-rule-g;\r
+        }\r
+      }\r
+    }\r
+    container mqtt {\r
+      description\r
+        "Container for object class Device.MQTT.";\r
+      reference\r
+        "Device.MQTT.";\r
+      uses device-mqtt-g;\r
+      list broker {\r
+        key "index";\r
+        description\r
+          "Device.MQTT.Broker.{i}.";\r
+        reference\r
+          "Device.MQTT.Broker.{i}.";\r
+        uses mqtt-broker-g;\r
+        list bridge {\r
+          key "index";\r
+          description\r
+            "Device.MQTT.Broker.{i}.Bridge.{i}.";\r
+          reference\r
+            "Device.MQTT.Broker.{i}.Bridge.{i}.";\r
+          uses broker-bridge-g;\r
+          list server {\r
+            key "index";\r
+            description\r
+              "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.";\r
+            reference\r
+              "Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.";\r
+            uses bridge-server-g;\r
+          }\r
+          list subscription {\r
+            key "index";\r
+            description\r
+              "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.";\r
+            reference\r
+              "Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.";\r
+            uses bridge-subscription-g;\r
+          }\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.MQTT.Broker.{i}.Stats.";\r
+          reference\r
+            "Device.MQTT.Broker.{i}.Stats.";\r
+          uses broker-stats-g;\r
+        }\r
+      }\r
+      container capabilities {\r
+        description\r
+          "Container for object class Device.MQTT.Capabilities.";\r
+        reference\r
+          "Device.MQTT.Capabilities.";\r
+        uses mqtt-capabilities-g;\r
+      }\r
+      list client {\r
+        key "index";\r
+        description\r
+          "Device.MQTT.Client.{i}.";\r
+        reference\r
+          "Device.MQTT.Client.{i}.";\r
+        uses mqtt-client-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.MQTT.Client.{i}.Stats.";\r
+          reference\r
+            "Device.MQTT.Client.{i}.Stats.";\r
+          uses client-stats-g;\r
+        }\r
+        list subscription {\r
+          key "index";\r
+          description\r
+            "Device.MQTT.Client.{i}.Subscription.{i}.";\r
+          reference\r
+            "Device.MQTT.Client.{i}.Subscription.{i}.";\r
+          uses client-subscription-g;\r
+        }\r
+      }\r
+    }\r
+    container management-server {\r
+      description\r
+        "Container for object class Device.ManagementServer.";\r
+      reference\r
+        "Device.ManagementServer.";\r
+      uses device-management-server-g;\r
+      container autonomous-transfer-complete-policy {\r
+        description\r
+          "Container for object class Device.ManagementServer.AutonomousTransferCompletePolicy.";\r
+        reference\r
+          "Device.ManagementServer.AutonomousTransferCompletePolicy.";\r
+        uses management-server-autonomous-transfer-complete-policy-g;\r
+      }\r
+      container du-state-change-compl-policy {\r
+        description\r
+          "Container for object class Device.ManagementServer.DUStateChangeComplPolicy.";\r
+        reference\r
+          "Device.ManagementServer.DUStateChangeComplPolicy.";\r
+        uses management-server-du-state-change-compl-policy-g;\r
+      }\r
+      container download-availability {\r
+        description\r
+          "Container for object class Device.ManagementServer.DownloadAvailability.";\r
+        reference\r
+          "Device.ManagementServer.DownloadAvailability.";\r
+        uses management-server-download-availability-g;\r
+        container announcement {\r
+          description\r
+            "Container for object class Device.ManagementServer.DownloadAvailability.Announcement.";\r
+          reference\r
+            "Device.ManagementServer.DownloadAvailability.Announcement.";\r
+          uses download-availability-announcement-g;\r
+          list group {\r
+            key "index";\r
+            description\r
+              "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.";\r
+            reference\r
+              "Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.";\r
+            uses announcement-group-g;\r
+          }\r
+        }\r
+        container query {\r
+          description\r
+            "Container for object class Device.ManagementServer.DownloadAvailability.Query.";\r
+          reference\r
+            "Device.ManagementServer.DownloadAvailability.Query.";\r
+          uses download-availability-query-g;\r
+        }\r
+      }\r
+      list embedded-device {\r
+        key "index";\r
+        description\r
+          "Device.ManagementServer.EmbeddedDevice.{i}.";\r
+        reference\r
+          "Device.ManagementServer.EmbeddedDevice.{i}.";\r
+        uses management-server-embedded-device-g;\r
+      }\r
+      container heartbeat-policy {\r
+        description\r
+          "Container for object class Device.ManagementServer.HeartbeatPolicy.";\r
+        reference\r
+          "Device.ManagementServer.HeartbeatPolicy.";\r
+        uses management-server-heartbeat-policy-g;\r
+      }\r
+      list inform-parameter {\r
+        key "index";\r
+        description\r
+          "Device.ManagementServer.InformParameter.{i}.";\r
+        reference\r
+          "Device.ManagementServer.InformParameter.{i}.";\r
+        uses management-server-inform-parameter-g;\r
+      }\r
+      list manageable-device {\r
+        key "index";\r
+        description\r
+          "Device.ManagementServer.ManageableDevice.{i}.";\r
+        reference\r
+          "Device.ManagementServer.ManageableDevice.{i}.";\r
+        uses management-server-manageable-device-g;\r
+      }\r
+      container standby-policy {\r
+        description\r
+          "Container for object class Device.ManagementServer.StandbyPolicy.";\r
+        reference\r
+          "Device.ManagementServer.StandbyPolicy.";\r
+        uses management-server-standby-policy-g;\r
+      }\r
+      list virtual-device {\r
+        key "index";\r
+        description\r
+          "Device.ManagementServer.VirtualDevice.{i}.";\r
+        reference\r
+          "Device.ManagementServer.VirtualDevice.{i}.";\r
+        uses management-server-virtual-device-g;\r
+      }\r
+    }\r
+    container mo-ca {\r
+      description\r
+        "Container for object class Device.MoCA.";\r
+      reference\r
+        "Device.MoCA.";\r
+      uses device-mo-ca-g;\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.MoCA.Interface.{i}.";\r
+        reference\r
+          "Device.MoCA.Interface.{i}.";\r
+        uses mo-ca-interface-g;\r
+        list associated-device {\r
+          key "index";\r
+          description\r
+            "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.";\r
+          reference\r
+            "Device.MoCA.Interface.{i}.AssociatedDevice.{i}.";\r
+          uses mo-ca-interface-associated-device-g;\r
+        }\r
+        container qo-s {\r
+          description\r
+            "Container for object class Device.MoCA.Interface.{i}.QoS.";\r
+          reference\r
+            "Device.MoCA.Interface.{i}.QoS.";\r
+          uses mo-ca-interface-qo-s-g;\r
+          list flow-stats {\r
+            key "index";\r
+            description\r
+              "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.";\r
+            reference\r
+              "Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.";\r
+            uses qo-s-flow-stats-g;\r
+          }\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.MoCA.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.MoCA.Interface.{i}.Stats.";\r
+          uses mo-ca-interface-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container nat {\r
+      description\r
+        "Container for object class Device.NAT.";\r
+      reference\r
+        "Device.NAT.";\r
+      uses device-nat-g;\r
+      list interface-setting {\r
+        key "index";\r
+        description\r
+          "Device.NAT.InterfaceSetting.{i}.";\r
+        reference\r
+          "Device.NAT.InterfaceSetting.{i}.";\r
+        uses nat-interface-setting-g;\r
+      }\r
+      list port-mapping {\r
+        key "index";\r
+        description\r
+          "Device.NAT.PortMapping.{i}.";\r
+        reference\r
+          "Device.NAT.PortMapping.{i}.";\r
+        uses nat-port-mapping-g;\r
+      }\r
+    }\r
+    container neighbor-discovery {\r
+      description\r
+        "Container for object class Device.NeighborDiscovery.";\r
+      reference\r
+        "Device.NeighborDiscovery.";\r
+      uses device-neighbor-discovery-g;\r
+      list interface-setting {\r
+        key "index";\r
+        description\r
+          "Device.NeighborDiscovery.InterfaceSetting.{i}.";\r
+        reference\r
+          "Device.NeighborDiscovery.InterfaceSetting.{i}.";\r
+        uses neighbor-discovery-interface-setting-g;\r
+      }\r
+    }\r
+    container optical {\r
+      description\r
+        "Container for object class Device.Optical.";\r
+      reference\r
+        "Device.Optical.";\r
+      uses device-optical-g;\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.Optical.Interface.{i}.";\r
+        reference\r
+          "Device.Optical.Interface.{i}.";\r
+        uses optical-interface-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.Optical.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.Optical.Interface.{i}.Stats.";\r
+          uses optical-interface-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container pcp {\r
+      description\r
+        "Container for object class Device.PCP.";\r
+      reference\r
+        "Device.PCP.";\r
+      uses device-pcp-g;\r
+      list client {\r
+        key "index";\r
+        description\r
+          "Device.PCP.Client.{i}.";\r
+        reference\r
+          "Device.PCP.Client.{i}.";\r
+        uses pcp-client-g;\r
+        container pcp-proxy {\r
+          description\r
+            "Container for object class Device.PCP.Client.{i}.PCPProxy.";\r
+          reference\r
+            "Device.PCP.Client.{i}.PCPProxy.";\r
+          uses client-pcp-proxy-g;\r
+        }\r
+        list server {\r
+          key "index";\r
+          description\r
+            "Device.PCP.Client.{i}.Server.{i}.";\r
+          reference\r
+            "Device.PCP.Client.{i}.Server.{i}.";\r
+          uses pcp-client-server-g;\r
+          list inbound-mapping {\r
+            key "index";\r
+            description\r
+              "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.";\r
+            reference\r
+              "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.";\r
+            uses server-inbound-mapping-g;\r
+            list filter {\r
+              key "index";\r
+              description\r
+                "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.";\r
+              reference\r
+                "Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.";\r
+              uses inbound-mapping-filter-g;\r
+            }\r
+          }\r
+          list outbound-mapping {\r
+            key "index";\r
+            description\r
+              "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.";\r
+            reference\r
+              "Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.";\r
+            uses server-outbound-mapping-g;\r
+          }\r
+        }\r
+        container u-pn-piwf {\r
+          description\r
+            "Container for object class Device.PCP.Client.{i}.UPnPIWF.";\r
+          reference\r
+            "Device.PCP.Client.{i}.UPnPIWF.";\r
+          uses client-u-pn-piwf-g;\r
+        }\r
+      }\r
+    }\r
+    container ppp {\r
+      description\r
+        "Container for object class Device.PPP.";\r
+      reference\r
+        "Device.PPP.";\r
+      uses device-ppp-g;\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.PPP.Interface.{i}.";\r
+        reference\r
+          "Device.PPP.Interface.{i}.";\r
+        uses ppp-interface-g;\r
+        container ipcp {\r
+          description\r
+            "Container for object class Device.PPP.Interface.{i}.IPCP.";\r
+          reference\r
+            "Device.PPP.Interface.{i}.IPCP.";\r
+          uses interface-ipcp-g;\r
+        }\r
+        container ipv6-cp {\r
+          description\r
+            "Container for object class Device.PPP.Interface.{i}.IPv6CP.";\r
+          reference\r
+            "Device.PPP.Interface.{i}.IPv6CP.";\r
+          uses interface-ipv6-cp-g;\r
+        }\r
+        container pp-po-a {\r
+          description\r
+            "Container for object class Device.PPP.Interface.{i}.PPPoA.";\r
+          reference\r
+            "Device.PPP.Interface.{i}.PPPoA.";\r
+          uses interface-pp-po-a-g;\r
+        }\r
+        container pp-po-e {\r
+          description\r
+            "Container for object class Device.PPP.Interface.{i}.PPPoE.";\r
+          reference\r
+            "Device.PPP.Interface.{i}.PPPoE.";\r
+          uses interface-pp-po-e-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.PPP.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.PPP.Interface.{i}.Stats.";\r
+          uses ppp-interface-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container ptm {\r
+      description\r
+        "Container for object class Device.PTM.";\r
+      reference\r
+        "Device.PTM.";\r
+      uses device-ptm-g;\r
+      list link {\r
+        key "index";\r
+        description\r
+          "Device.PTM.Link.{i}.";\r
+        reference\r
+          "Device.PTM.Link.{i}.";\r
+        uses ptm-link-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.PTM.Link.{i}.Stats.";\r
+          reference\r
+            "Device.PTM.Link.{i}.Stats.";\r
+          uses ptm-link-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container periodic-statistics {\r
+      description\r
+        "Container for object class Device.PeriodicStatistics.";\r
+      reference\r
+        "Device.PeriodicStatistics.";\r
+      uses device-periodic-statistics-g;\r
+      list sample-set {\r
+        key "index";\r
+        description\r
+          "Device.PeriodicStatistics.SampleSet.{i}.";\r
+        reference\r
+          "Device.PeriodicStatistics.SampleSet.{i}.";\r
+        uses periodic-statistics-sample-set-g;\r
+        list parameter {\r
+          key "index";\r
+          description\r
+            "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.";\r
+          reference\r
+            "Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.";\r
+          uses sample-set-parameter-g;\r
+        }\r
+      }\r
+    }\r
+    container qo-s {\r
+      description\r
+        "Container for object class Device.QoS.";\r
+      reference\r
+        "Device.QoS.";\r
+      uses device-qo-s-g;\r
+      list app {\r
+        key "index";\r
+        description\r
+          "Device.QoS.App.{i}.";\r
+        reference\r
+          "Device.QoS.App.{i}.";\r
+        uses qo-s-app-g;\r
+      }\r
+      list classification {\r
+        key "index";\r
+        description\r
+          "Device.QoS.Classification.{i}.";\r
+        reference\r
+          "Device.QoS.Classification.{i}.";\r
+        uses qo-s-classification-g;\r
+      }\r
+      list flow {\r
+        key "index";\r
+        description\r
+          "Device.QoS.Flow.{i}.";\r
+        reference\r
+          "Device.QoS.Flow.{i}.";\r
+        uses qo-s-flow-g;\r
+      }\r
+      list policer {\r
+        key "index";\r
+        description\r
+          "Device.QoS.Policer.{i}.";\r
+        reference\r
+          "Device.QoS.Policer.{i}.";\r
+        uses qo-s-policer-g;\r
+      }\r
+      list queue {\r
+        key "index";\r
+        description\r
+          "Device.QoS.Queue.{i}.";\r
+        reference\r
+          "Device.QoS.Queue.{i}.";\r
+        uses qo-s-queue-g;\r
+      }\r
+      list queue-stats {\r
+        key "index";\r
+        description\r
+          "Device.QoS.QueueStats.{i}.";\r
+        reference\r
+          "Device.QoS.QueueStats.{i}.";\r
+        uses qo-s-queue-stats-g;\r
+      }\r
+      list shaper {\r
+        key "index";\r
+        description\r
+          "Device.QoS.Shaper.{i}.";\r
+        reference\r
+          "Device.QoS.Shaper.{i}.";\r
+        uses qo-s-shaper-g;\r
+      }\r
+    }\r
+    container router-advertisement {\r
+      description\r
+        "Container for object class Device.RouterAdvertisement.";\r
+      reference\r
+        "Device.RouterAdvertisement.";\r
+      uses device-router-advertisement-g;\r
+      list interface-setting {\r
+        key "index";\r
+        description\r
+          "Device.RouterAdvertisement.InterfaceSetting.{i}.";\r
+        reference\r
+          "Device.RouterAdvertisement.InterfaceSetting.{i}.";\r
+        uses router-advertisement-interface-setting-g;\r
+        list option {\r
+          key "index";\r
+          description\r
+            "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.";\r
+          reference\r
+            "Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.";\r
+          uses interface-setting-option-g;\r
+        }\r
+      }\r
+    }\r
+    container routing {\r
+      description\r
+        "Container for object class Device.Routing.";\r
+      reference\r
+        "Device.Routing.";\r
+      uses device-routing-g;\r
+      container rip {\r
+        description\r
+          "Container for object class Device.Routing.RIP.";\r
+        reference\r
+          "Device.Routing.RIP.";\r
+        uses routing-rip-g;\r
+        list interface-setting {\r
+          key "index";\r
+          description\r
+            "Device.Routing.RIP.InterfaceSetting.{i}.";\r
+          reference\r
+            "Device.Routing.RIP.InterfaceSetting.{i}.";\r
+          uses rip-interface-setting-g;\r
+        }\r
+      }\r
+      container route-information {\r
+        description\r
+          "Container for object class Device.Routing.RouteInformation.";\r
+        reference\r
+          "Device.Routing.RouteInformation.";\r
+        uses routing-route-information-g;\r
+        list interface-setting {\r
+          key "index";\r
+          description\r
+            "Device.Routing.RouteInformation.InterfaceSetting.{i}.";\r
+          reference\r
+            "Device.Routing.RouteInformation.InterfaceSetting.{i}.";\r
+          uses route-information-interface-setting-g;\r
+        }\r
+      }\r
+      list router {\r
+        key "index";\r
+        description\r
+          "Device.Routing.Router.{i}.";\r
+        reference\r
+          "Device.Routing.Router.{i}.";\r
+        uses routing-router-g;\r
+        list ipv4-forwarding {\r
+          key "index";\r
+          description\r
+            "Device.Routing.Router.{i}.IPv4Forwarding.{i}.";\r
+          reference\r
+            "Device.Routing.Router.{i}.IPv4Forwarding.{i}.";\r
+          uses router-ipv4-forwarding-g;\r
+        }\r
+        list ipv6-forwarding {\r
+          key "index";\r
+          description\r
+            "Device.Routing.Router.{i}.IPv6Forwarding.{i}.";\r
+          reference\r
+            "Device.Routing.Router.{i}.IPv6Forwarding.{i}.";\r
+          uses router-ipv6-forwarding-g;\r
+        }\r
+      }\r
+    }\r
+    container security {\r
+      description\r
+        "Container for object class Device.Security.";\r
+      reference\r
+        "Device.Security.";\r
+      uses device-security-g;\r
+      list certificate {\r
+        key "index";\r
+        description\r
+          "Device.Security.Certificate.{i}.";\r
+        reference\r
+          "Device.Security.Certificate.{i}.";\r
+        uses security-certificate-g;\r
+      }\r
+    }\r
+    container self-test-diagnostics {\r
+      description\r
+        "Container for object class Device.SelfTestDiagnostics.";\r
+      reference\r
+        "Device.SelfTestDiagnostics.";\r
+      uses device-self-test-diagnostics-g;\r
+    }\r
+    container services {\r
+      description\r
+        "Container for object class Device.Services.";\r
+      reference\r
+        "Device.Services.";\r
+      uses device-services-g;\r
+    }\r
+    container smart-card-readers {\r
+      description\r
+        "Container for object class Device.SmartCardReaders.";\r
+      reference\r
+        "Device.SmartCardReaders.";\r
+      uses device-smart-card-readers-g;\r
+      list smart-card-reader {\r
+        key "index";\r
+        description\r
+          "Device.SmartCardReaders.SmartCardReader.{i}.";\r
+        reference\r
+          "Device.SmartCardReaders.SmartCardReader.{i}.";\r
+        uses smart-card-readers-smart-card-reader-g;\r
+        container smart-card {\r
+          description\r
+            "Container for object class Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.";\r
+          reference\r
+            "Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.";\r
+          uses smart-card-reader-smart-card-g;\r
+        }\r
+      }\r
+    }\r
+    container software-modules {\r
+      description\r
+        "Container for object class Device.SoftwareModules.";\r
+      reference\r
+        "Device.SoftwareModules.";\r
+      uses device-software-modules-g;\r
+      list deployment-unit {\r
+        key "index";\r
+        description\r
+          "Device.SoftwareModules.DeploymentUnit.{i}.";\r
+        reference\r
+          "Device.SoftwareModules.DeploymentUnit.{i}.";\r
+        uses software-modules-deployment-unit-g;\r
+      }\r
+      list exec-env {\r
+        key "index";\r
+        description\r
+          "Device.SoftwareModules.ExecEnv.{i}.";\r
+        reference\r
+          "Device.SoftwareModules.ExecEnv.{i}.";\r
+        uses software-modules-exec-env-g;\r
+      }\r
+      list execution-unit {\r
+        key "index";\r
+        description\r
+          "Device.SoftwareModules.ExecutionUnit.{i}.";\r
+        reference\r
+          "Device.SoftwareModules.ExecutionUnit.{i}.";\r
+        uses software-modules-execution-unit-g;\r
+        container extensions {\r
+          description\r
+            "Container for object class Device.SoftwareModules.ExecutionUnit.{i}.Extensions.";\r
+          reference\r
+            "Device.SoftwareModules.ExecutionUnit.{i}.Extensions.";\r
+          uses execution-unit-extensions-g;\r
+        }\r
+      }\r
+    }\r
+    container time {\r
+      description\r
+        "Container for object class Device.Time.";\r
+      reference\r
+        "Device.Time.";\r
+      uses device-time-g;\r
+    }\r
+    container upa {\r
+      description\r
+        "Container for object class Device.UPA.";\r
+      reference\r
+        "Device.UPA.";\r
+      uses device-upa-g;\r
+      container diagnostics {\r
+        description\r
+          "Container for object class Device.UPA.Diagnostics.";\r
+        reference\r
+          "Device.UPA.Diagnostics.";\r
+        uses upa-diagnostics-g;\r
+        container interface-measurement {\r
+          description\r
+            "Container for object class Device.UPA.Diagnostics.InterfaceMeasurement.";\r
+          reference\r
+            "Device.UPA.Diagnostics.InterfaceMeasurement.";\r
+          uses diagnostics-interface-measurement-g;\r
+        }\r
+      }\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.UPA.Interface.{i}.";\r
+        reference\r
+          "Device.UPA.Interface.{i}.";\r
+        uses upa-interface-g;\r
+        list active-notch {\r
+          key "index";\r
+          description\r
+            "Device.UPA.Interface.{i}.ActiveNotch.{i}.";\r
+          reference\r
+            "Device.UPA.Interface.{i}.ActiveNotch.{i}.";\r
+          uses interface-active-notch-g;\r
+        }\r
+        list associated-device {\r
+          key "index";\r
+          description\r
+            "Device.UPA.Interface.{i}.AssociatedDevice.{i}.";\r
+          reference\r
+            "Device.UPA.Interface.{i}.AssociatedDevice.{i}.";\r
+          uses upa-interface-associated-device-g;\r
+        }\r
+        list bridge-for {\r
+          key "index";\r
+          description\r
+            "Device.UPA.Interface.{i}.BridgeFor.{i}.";\r
+          reference\r
+            "Device.UPA.Interface.{i}.BridgeFor.{i}.";\r
+          uses interface-bridge-for-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.UPA.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.UPA.Interface.{i}.Stats.";\r
+          uses upa-interface-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container u-pn-p {\r
+      description\r
+        "Container for object class Device.UPnP.";\r
+      reference\r
+        "Device.UPnP.";\r
+      uses device-u-pn-p-g;\r
+      container description {\r
+        description\r
+          "Container for object class Device.UPnP.Description.";\r
+        reference\r
+          "Device.UPnP.Description.";\r
+        uses u-pn-p-description-g;\r
+        list device-description {\r
+          key "index";\r
+          description\r
+            "Device.UPnP.Description.DeviceDescription.{i}.";\r
+          reference\r
+            "Device.UPnP.Description.DeviceDescription.{i}.";\r
+          uses description-device-description-g;\r
+        }\r
+        list device-instance {\r
+          key "index";\r
+          description\r
+            "Device.UPnP.Description.DeviceInstance.{i}.";\r
+          reference\r
+            "Device.UPnP.Description.DeviceInstance.{i}.";\r
+          uses description-device-instance-g;\r
+        }\r
+        list service-instance {\r
+          key "index";\r
+          description\r
+            "Device.UPnP.Description.ServiceInstance.{i}.";\r
+          reference\r
+            "Device.UPnP.Description.ServiceInstance.{i}.";\r
+          uses description-service-instance-g;\r
+        }\r
+      }\r
+      container device {\r
+        description\r
+          "Container for object class Device.UPnP.Device.";\r
+        reference\r
+          "Device.UPnP.Device.";\r
+        uses u-pn-p-device-g;\r
+        container capabilities {\r
+          description\r
+            "Container for object class Device.UPnP.Device.Capabilities.";\r
+          reference\r
+            "Device.UPnP.Device.Capabilities.";\r
+          uses device-capabilities-g;\r
+        }\r
+      }\r
+      container discovery {\r
+        description\r
+          "Container for object class Device.UPnP.Discovery.";\r
+        reference\r
+          "Device.UPnP.Discovery.";\r
+        uses u-pn-p-discovery-g;\r
+        list device {\r
+          key "index";\r
+          description\r
+            "Device.UPnP.Discovery.Device.{i}.";\r
+          reference\r
+            "Device.UPnP.Discovery.Device.{i}.";\r
+          uses u-pn-p-discovery-device-g;\r
+        }\r
+        list root-device {\r
+          key "index";\r
+          description\r
+            "Device.UPnP.Discovery.RootDevice.{i}.";\r
+          reference\r
+            "Device.UPnP.Discovery.RootDevice.{i}.";\r
+          uses discovery-root-device-g;\r
+        }\r
+        list service {\r
+          key "index";\r
+          description\r
+            "Device.UPnP.Discovery.Service.{i}.";\r
+          reference\r
+            "Device.UPnP.Discovery.Service.{i}.";\r
+          uses discovery-service-g;\r
+        }\r
+      }\r
+    }\r
+    container usb {\r
+      description\r
+        "Container for object class Device.USB.";\r
+      reference\r
+        "Device.USB.";\r
+      uses device-usb-g;\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.USB.Interface.{i}.";\r
+        reference\r
+          "Device.USB.Interface.{i}.";\r
+        uses usb-interface-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.USB.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.USB.Interface.{i}.Stats.";\r
+          uses usb-interface-stats-g;\r
+        }\r
+      }\r
+      list port {\r
+        key "index";\r
+        description\r
+          "Device.USB.Port.{i}.";\r
+        reference\r
+          "Device.USB.Port.{i}.";\r
+        uses usb-port-g;\r
+      }\r
+      container usb-hosts {\r
+        description\r
+          "Container for object class Device.USB.USBHosts.";\r
+        reference\r
+          "Device.USB.USBHosts.";\r
+        uses usb-usb-hosts-g;\r
+        list host {\r
+          key "index";\r
+          description\r
+            "Device.USB.USBHosts.Host.{i}.";\r
+          reference\r
+            "Device.USB.USBHosts.Host.{i}.";\r
+          uses usb-hosts-host-g;\r
+          list device {\r
+            key "index";\r
+            description\r
+              "Device.USB.USBHosts.Host.{i}.Device.{i}.";\r
+            reference\r
+              "Device.USB.USBHosts.Host.{i}.Device.{i}.";\r
+            uses host-device-g;\r
+            list configuration {\r
+              key "index";\r
+              description\r
+                "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.";\r
+              reference\r
+                "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.";\r
+              uses device-configuration-g;\r
+              list interface {\r
+                key "index";\r
+                description\r
+                  "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.";\r
+                reference\r
+                  "Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.";\r
+                uses configuration-interface-g;\r
+              }\r
+            }\r
+          }\r
+        }\r
+      }\r
+    }\r
+    container user-interface {\r
+      description\r
+        "Container for object class Device.UserInterface.";\r
+      reference\r
+        "Device.UserInterface.";\r
+      uses device-user-interface-g;\r
+      container local-display {\r
+        description\r
+          "Container for object class Device.UserInterface.LocalDisplay.";\r
+        reference\r
+          "Device.UserInterface.LocalDisplay.";\r
+        uses user-interface-local-display-g;\r
+      }\r
+      container messages {\r
+        description\r
+          "Container for object class Device.UserInterface.Messages.";\r
+        reference\r
+          "Device.UserInterface.Messages.";\r
+        uses user-interface-messages-g;\r
+      }\r
+      container remote-access {\r
+        description\r
+          "Container for object class Device.UserInterface.RemoteAccess.";\r
+        reference\r
+          "Device.UserInterface.RemoteAccess.";\r
+        uses user-interface-remote-access-g;\r
+      }\r
+    }\r
+    container users {\r
+      description\r
+        "Container for object class Device.Users.";\r
+      reference\r
+        "Device.Users.";\r
+      uses device-users-g;\r
+      list user {\r
+        key "index";\r
+        description\r
+          "Device.Users.User.{i}.";\r
+        reference\r
+          "Device.Users.User.{i}.";\r
+        uses users-user-g;\r
+      }\r
+    }\r
+    container vxlan {\r
+      description\r
+        "Container for object class Device.VXLAN.";\r
+      reference\r
+        "Device.VXLAN.";\r
+      uses device-vxlan-g;\r
+      list filter {\r
+        key "index";\r
+        description\r
+          "Device.VXLAN.Filter.{i}.";\r
+        reference\r
+          "Device.VXLAN.Filter.{i}.";\r
+        uses vxlan-filter-g;\r
+      }\r
+      list tunnel {\r
+        key "index";\r
+        description\r
+          "Device.VXLAN.Tunnel.{i}.";\r
+        reference\r
+          "Device.VXLAN.Tunnel.{i}.";\r
+        uses vxlan-tunnel-g;\r
+        list interface {\r
+          key "index";\r
+          description\r
+            "Device.VXLAN.Tunnel.{i}.Interface.{i}.";\r
+          reference\r
+            "Device.VXLAN.Tunnel.{i}.Interface.{i}.";\r
+          uses vxlan-tunnel-interface-g;\r
+          container stats {\r
+            description\r
+              "Container for object class Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.";\r
+            reference\r
+              "Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.";\r
+            uses vxlan-tunnel-interface-stats-g;\r
+          }\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.VXLAN.Tunnel.{i}.Stats.";\r
+          reference\r
+            "Device.VXLAN.Tunnel.{i}.Stats.";\r
+          uses vxlan-tunnel-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container wi-fi {\r
+      description\r
+        "Container for object class Device.WiFi.";\r
+      reference\r
+        "Device.WiFi.";\r
+      uses device-wi-fi-g;\r
+      list access-point {\r
+        key "index";\r
+        description\r
+          "Device.WiFi.AccessPoint.{i}.";\r
+        reference\r
+          "Device.WiFi.AccessPoint.{i}.";\r
+        uses wi-fi-access-point-g;\r
+        list ac {\r
+          key "index";\r
+          description\r
+            "Device.WiFi.AccessPoint.{i}.AC.{i}.";\r
+          reference\r
+            "Device.WiFi.AccessPoint.{i}.AC.{i}.";\r
+          uses access-point-ac-g;\r
+          container stats {\r
+            description\r
+              "Container for object class Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.";\r
+            reference\r
+              "Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.";\r
+            uses ac-stats-g;\r
+          }\r
+        }\r
+        container accounting {\r
+          description\r
+            "Container for object class Device.WiFi.AccessPoint.{i}.Accounting.";\r
+          reference\r
+            "Device.WiFi.AccessPoint.{i}.Accounting.";\r
+          uses access-point-accounting-g;\r
+        }\r
+        list associated-device {\r
+          key "index";\r
+          description\r
+            "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.";\r
+          reference\r
+            "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.";\r
+          uses access-point-associated-device-g;\r
+          container stats {\r
+            description\r
+              "Container for object class Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.";\r
+            reference\r
+              "Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.";\r
+            uses associated-device-stats-g;\r
+          }\r
+        }\r
+        container security {\r
+          description\r
+            "Container for object class Device.WiFi.AccessPoint.{i}.Security.";\r
+          reference\r
+            "Device.WiFi.AccessPoint.{i}.Security.";\r
+          uses access-point-security-g;\r
+        }\r
+        container wps {\r
+          description\r
+            "Container for object class Device.WiFi.AccessPoint.{i}.WPS.";\r
+          reference\r
+            "Device.WiFi.AccessPoint.{i}.WPS.";\r
+          uses access-point-wps-g;\r
+        }\r
+      }\r
+      list end-point {\r
+        key "index";\r
+        description\r
+          "Device.WiFi.EndPoint.{i}.";\r
+        reference\r
+          "Device.WiFi.EndPoint.{i}.";\r
+        uses wi-fi-end-point-g;\r
+        list ac {\r
+          key "index";\r
+          description\r
+            "Device.WiFi.EndPoint.{i}.AC.{i}.";\r
+          reference\r
+            "Device.WiFi.EndPoint.{i}.AC.{i}.";\r
+          uses end-point-ac-g;\r
+          container stats {\r
+            description\r
+              "Container for object class Device.WiFi.EndPoint.{i}.AC.{i}.Stats.";\r
+            reference\r
+              "Device.WiFi.EndPoint.{i}.AC.{i}.Stats.";\r
+            uses end-point-ac-stats-g;\r
+          }\r
+        }\r
+        list profile {\r
+          key "index";\r
+          description\r
+            "Device.WiFi.EndPoint.{i}.Profile.{i}.";\r
+          reference\r
+            "Device.WiFi.EndPoint.{i}.Profile.{i}.";\r
+          uses end-point-profile-g;\r
+          container security {\r
+            description\r
+              "Container for object class Device.WiFi.EndPoint.{i}.Profile.{i}.Security.";\r
+            reference\r
+              "Device.WiFi.EndPoint.{i}.Profile.{i}.Security.";\r
+            uses profile-security-g;\r
+          }\r
+        }\r
+        container security {\r
+          description\r
+            "Container for object class Device.WiFi.EndPoint.{i}.Security.";\r
+          reference\r
+            "Device.WiFi.EndPoint.{i}.Security.";\r
+          uses end-point-security-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.WiFi.EndPoint.{i}.Stats.";\r
+          reference\r
+            "Device.WiFi.EndPoint.{i}.Stats.";\r
+          uses end-point-stats-g;\r
+        }\r
+        container wps {\r
+          description\r
+            "Container for object class Device.WiFi.EndPoint.{i}.WPS.";\r
+          reference\r
+            "Device.WiFi.EndPoint.{i}.WPS.";\r
+          uses end-point-wps-g;\r
+        }\r
+      }\r
+      container neighboring-wi-fi-diagnostic {\r
+        description\r
+          "Container for object class Device.WiFi.NeighboringWiFiDiagnostic.";\r
+        reference\r
+          "Device.WiFi.NeighboringWiFiDiagnostic.";\r
+        uses wi-fi-neighboring-wi-fi-diagnostic-g;\r
+        list result {\r
+          key "index";\r
+          description\r
+            "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.";\r
+          reference\r
+            "Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.";\r
+          uses neighboring-wi-fi-diagnostic-result-g;\r
+        }\r
+      }\r
+      list radio {\r
+        key "index";\r
+        description\r
+          "Device.WiFi.Radio.{i}.";\r
+        reference\r
+          "Device.WiFi.Radio.{i}.";\r
+        uses wi-fi-radio-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.WiFi.Radio.{i}.Stats.";\r
+          reference\r
+            "Device.WiFi.Radio.{i}.Stats.";\r
+          uses radio-stats-g;\r
+        }\r
+      }\r
+      list ssid {\r
+        key "index";\r
+        description\r
+          "Device.WiFi.SSID.{i}.";\r
+        reference\r
+          "Device.WiFi.SSID.{i}.";\r
+        uses wi-fi-ssid-g;\r
+        container stats {\r
+          description\r
+            "Container for object class Device.WiFi.SSID.{i}.Stats.";\r
+          reference\r
+            "Device.WiFi.SSID.{i}.Stats.";\r
+          uses ssid-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container xmpp {\r
+      description\r
+        "Container for object class Device.XMPP.";\r
+      reference\r
+        "Device.XMPP.";\r
+      uses device-xmpp-g;\r
+      list connection {\r
+        key "index";\r
+        description\r
+          "Device.XMPP.Connection.{i}.";\r
+        reference\r
+          "Device.XMPP.Connection.{i}.";\r
+        uses xmpp-connection-g;\r
+        list server {\r
+          key "index";\r
+          description\r
+            "Device.XMPP.Connection.{i}.Server.{i}.";\r
+          reference\r
+            "Device.XMPP.Connection.{i}.Server.{i}.";\r
+          uses connection-server-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.XMPP.Connection.{i}.Stats.";\r
+          reference\r
+            "Device.XMPP.Connection.{i}.Stats.";\r
+          uses connection-stats-g;\r
+        }\r
+      }\r
+    }\r
+    container zig-bee {\r
+      description\r
+        "Container for object class Device.ZigBee.";\r
+      reference\r
+        "Device.ZigBee.";\r
+      uses device-zig-bee-g;\r
+      container discovery {\r
+        description\r
+          "Container for object class Device.ZigBee.Discovery.";\r
+        reference\r
+          "Device.ZigBee.Discovery.";\r
+        uses zig-bee-discovery-g;\r
+        list area-network {\r
+          key "index";\r
+          description\r
+            "Device.ZigBee.Discovery.AreaNetwork.{i}.";\r
+          reference\r
+            "Device.ZigBee.Discovery.AreaNetwork.{i}.";\r
+          uses discovery-area-network-g;\r
+        }\r
+      }\r
+      list interface {\r
+        key "index";\r
+        description\r
+          "Device.ZigBee.Interface.{i}.";\r
+        reference\r
+          "Device.ZigBee.Interface.{i}.";\r
+        uses zig-bee-interface-g;\r
+        list associated-device {\r
+          key "index";\r
+          description\r
+            "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.";\r
+          reference\r
+            "Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.";\r
+          uses zig-bee-interface-associated-device-g;\r
+        }\r
+        container stats {\r
+          description\r
+            "Container for object class Device.ZigBee.Interface.{i}.Stats.";\r
+          reference\r
+            "Device.ZigBee.Interface.{i}.Stats.";\r
+          uses zig-bee-interface-stats-g;\r
+        }\r
+      }\r
+      list zdo {\r
+        key "index";\r
+        description\r
+          "Device.ZigBee.ZDO.{i}.";\r
+        reference\r
+          "Device.ZigBee.ZDO.{i}.";\r
+        uses zig-bee-zdo-g;\r
+        list application-endpoint {\r
+          key "index";\r
+          description\r
+            "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.";\r
+          reference\r
+            "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.";\r
+          uses zdo-application-endpoint-g;\r
+          container simple-descriptor {\r
+            description\r
+              "Container for object class Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.";\r
+            reference\r
+              "Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.";\r
+            uses application-endpoint-simple-descriptor-g;\r
+          }\r
+        }\r
+        list binding {\r
+          key "index";\r
+          description\r
+            "Device.ZigBee.ZDO.{i}.Binding.{i}.";\r
+          reference\r
+            "Device.ZigBee.ZDO.{i}.Binding.{i}.";\r
+          uses zdo-binding-g;\r
+        }\r
+        container complex-descriptor {\r
+          description\r
+            "Container for object class Device.ZigBee.ZDO.{i}.ComplexDescriptor.";\r
+          reference\r
+            "Device.ZigBee.ZDO.{i}.ComplexDescriptor.";\r
+          uses zdo-complex-descriptor-g;\r
+        }\r
+        list group {\r
+          key "index";\r
+          description\r
+            "Device.ZigBee.ZDO.{i}.Group.{i}.";\r
+          reference\r
+            "Device.ZigBee.ZDO.{i}.Group.{i}.";\r
+          uses zdo-group-g;\r
+        }\r
+        container network {\r
+          description\r
+            "Container for object class Device.ZigBee.ZDO.{i}.Network.";\r
+          reference\r
+            "Device.ZigBee.ZDO.{i}.Network.";\r
+          uses zdo-network-g;\r
+          list neighbor {\r
+            key "index";\r
+            description\r
+              "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.";\r
+            reference\r
+              "Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.";\r
+            uses network-neighbor-g;\r
+          }\r
+        }\r
+        container node-descriptor {\r
+          description\r
+            "Container for object class Device.ZigBee.ZDO.{i}.NodeDescriptor.";\r
+          reference\r
+            "Device.ZigBee.ZDO.{i}.NodeDescriptor.";\r
+          uses zdo-node-descriptor-g;\r
+        }\r
+        container node-manager {\r
+          description\r
+            "Container for object class Device.ZigBee.ZDO.{i}.NodeManager.";\r
+          reference\r
+            "Device.ZigBee.ZDO.{i}.NodeManager.";\r
+          uses zdo-node-manager-g;\r
+          list routing-table {\r
+            key "index";\r
+            description\r
+              "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.";\r
+            reference\r
+              "Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.";\r
+            uses node-manager-routing-table-g;\r
+          }\r
+        }\r
+        container power-descriptor {\r
+          description\r
+            "Container for object class Device.ZigBee.ZDO.{i}.PowerDescriptor.";\r
+          reference\r
+            "Device.ZigBee.ZDO.{i}.PowerDescriptor.";\r
+          uses zdo-power-descriptor-g;\r
+        }\r
+        container security {\r
+          description\r
+            "Container for object class Device.ZigBee.ZDO.{i}.Security.";\r
+          reference\r
+            "Device.ZigBee.ZDO.{i}.Security.";\r
+          uses zdo-security-g;\r
+        }\r
+        container user-descriptor {\r
+          description\r
+            "Container for object class Device.ZigBee.ZDO.{i}.UserDescriptor.";\r
+          reference\r
+            "Device.ZigBee.ZDO.{i}.UserDescriptor.";\r
+          uses zdo-user-descriptor-g;\r
+        }\r
+      }\r
+    }\r
+  }\r
+}\r