<?xml version="1.0" encoding="UTF-8"?>
<!--
  TR-069 InternetGatewayDevice:1.2 Root Object definition

  Copyright (c) 2009-2017, Broadband Forum
  
  Redistribution and use in source and binary forms, with or
  without modification, are permitted provided that the following
  conditions are met:
  
  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.
  
  2. Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials
     provided with the distribution.
  
  3. Neither the name of the copyright holder nor the names of its
     contributors may be used to endorse or promote products
     derived from this software without specific prior written
     permission.
  
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
  The above license is used as a license under copyright only.
  Please reference the Forum IPR Policy for patent licensing terms
  <https://www.broadband-forum.org/ipr-policy>.
  
  Any moral rights which are necessary to exercise under the above
  license grant are also deemed granted under this license.
  
  Summary:
  TR-069 InternetGatewayDevice:1.2 Root Object Definition.  Contains definition of
  InternetGatewayDevice:1.2 Root Object.

  Version History:
  March 2009: tr-098-1-1-0.xml, corresponds to TR-098 Amendment 1 sections 2.4 (Data
              Model), 2.4.1 (Inform and Notification Requirements) and 3 (Profile
              Definitions).
  September 2009: tr-098-1-1-0.xml (name unchanged)
              - changed WLANConfigurationNumberOfEntries to (wrong but consistent)
                LANWLANConfigurationNumberOfEntries
              - fixed cwmp-datamodel.xsd to be cwmp-datamodel-1-0.xsd
-->
<dm:document
    xmlns:dm="urn:broadband-forum-org:cwmp:datamodel-1-14"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
      urn:broadband-forum-org:cwmp:datamodel-1-14
        http://www.broadband-forum.org/cwmp/cwmp-datamodel-1-14.xsd"
    spec="urn:broadband-forum-org:tr-098-1-1-0">

  <dataType name="IPAddress">
    <description>
      IP address, i.e. IPv4 address (or IPv4 subnet mask) or IPv6 address.

      All IPv4 addresses and subnet masks MUST be represented as strings in
      IPv4 dotted-decimal notation. Here are some examples of valid IPv4
      address textual representations:

      * 216.52.29.100

      * 192.168.1.254

      All IPv6 addresses MUST be represented using any of the 3 standard
      textual representations defined in {{bibref|RFC4291}} Sections 2.2.1,
      2.2.2 and 2.2.3. Both lower-case and upper-case letters can be used, but
      use of lower-case letters is RECOMMENDED. Here are some examples of valid
      IPv6 address textual representations:

      * 1080:0:0:800:ba98:3210:11aa:12dd

      * 1080::800:ba98:3210:11aa:12dd

      * 0:0:0:0:0:0:13.1.68.3

      IPv6 addresses MUST NOT include zone identifiers. Zone identifiers are
      discussed in {{bibref|RFC4007|Section 6}}.

      Unspecified or inapplicable addresses (or IPv4 subnet masks) MUST be
      represented as empty strings unless otherwise specified by the parameter
      definition.
    </description>
    <string>
      <size maxLength="45"/>
    </string>
  </dataType>

  <dataType name="MACAddress">
    <description>
      All MAC addresses are represented as strings of 12 hexadecimal digits
      (digits 0-9, letters A-F or a-f) displayed as six pairs of digits
      separated by colons. Unspecified or inapplicable MAC addresses MUST be
      represented as empty strings unless otherwise specified by the parameter
      definition.
    </description>
    <string>
      <size maxLength="17"/>
      <pattern value=""/>
      <pattern value="([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"/>
    </string>
  </dataType>

  <bibliography>
    <reference id="3GPP-TS.23.003">
      <name>3GPP TS 23.003</name>
      <title>Numbering, addressing and identification</title>
      <organization>3GPP CT WG4</organization>
      <hyperlink>https://www.3gpp.org/ftp/Specs/html-info/23003.htm</hyperlink>
    </reference>
    <reference id="OUI">
      <name>Organizationally Unique Identifiers (OUIs)</name>
      <hyperlink>https://standards.ieee.org/faqs/regauth</hyperlink>
    </reference>
    <reference id="IEEE_EUI64">
      <name>
        Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority
      </name>
      <title>
        Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority
      </title>
      <organization>IEEE</organization>
      <date>March 1997</date>
      <hyperlink>
        https://standards.ieee.org/regauth/oui/tutorials/EUI64.html
      </hyperlink>
    </reference>
    <reference id="IANA-uri-schemes">
      <name>IANA Uniform Resource Identifier (URI) Schemes Registry</name>
      <title>Uniform Resource Identifier (URI) Schemes</title>
      <organization>IANA</organization>
      <hyperlink>https://www.iana.org/assignments/uri-schemes</hyperlink>
    </reference>
    <reference id="RFC2616">
      <name>RFC 2616</name>
      <title>Hypertext Transfer Protocol - HTTP/1.1</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>1999</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2616</hyperlink>
    </reference>
    <reference id="RFC3489">
      <name>RFC 3489</name>
      <title>
        STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network
        Address Translators (NATs)
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3489</hyperlink>
    </reference>
    <reference id="RFC3986">
      <name>RFC 3986</name>
      <title>Uniform Resource Identifier (URI): Generic Syntax</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3986</hyperlink>
    </reference>
    <reference id="RFC4007">
      <name>RFC 4007</name>
      <title>IPv6 Scoped Address Architecture</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4007</hyperlink>
    </reference>
    <reference id="RFC4122">
      <name>RFC 4122</name>
      <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2005</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4122</hyperlink>
    </reference>
    <reference id="RFC4291">
      <name>RFC 4291</name>
      <title>IP Version 6 Addressing Architecture</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2006</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4291</hyperlink>
    </reference>
    <reference id="RFC4632">
      <name>RFC 4632</name>
      <title>
        Classless Inter-domain Routing (CIDR): The Internet Address Assignment
        and Aggregation Plan
      </title>
      <organization>IETF</organization>
      <date>2006</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4632</hyperlink>
    </reference>
    <reference id="RFC7159">
      <name>RFC7159</name>
      <title>
        The JavaScript Object Notation (JSON) Data Interchange Format
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>March 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7159</hyperlink>
    </reference>
    <reference id="RFC7230">
      <name>RFC 7230</name>
      <title>
        Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>June 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7230</hyperlink>
    </reference>
    <reference id="RFC7252">
      <name>RFC 7252</name>
      <title>The Constrained Application Protocol (CoAP)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>June 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7252</hyperlink>
    </reference>
    <reference id="RFC8089">
      <name>RFC 8089</name>
      <title>The "file" URI Scheme</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>February 2017</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc8089</hyperlink>
    </reference>
    <reference id="RFC8141">
      <name>RFC 8141</name>
      <title>Uniform Resource Names (URNs)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>April 2017</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc8141</hyperlink>
    </reference>
    <reference id="TR-069a1">
      <name>TR-069 Amendment 1</name>
      <title>CPE WAN Management Protocol</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>December 2006</date>
    </reference>
    <reference id="TR-069">
      <name>TR-069 Amendment 6</name>
      <title>CPE WAN Management Protocol</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>April 2018</date>
    </reference>
    <reference id="TR-098a1">
      <name>TR-098 Amendment 1</name>
      <title>Internet Gateway Device Data Model for TR-069</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>December 2006</date>
    </reference>
    <reference id="TR-106">
      <name>TR-106 Amendment 8</name>
      <title>Data Model Template for CWMP Endpoints and USP Agents</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>May 2018</date>
    </reference>
    <reference id="BLUE">
      <name>Blue</name>
      <title>A New Class of Active Queue Management Algorithms</title>
      <hyperlink>
        https://en.wikipedia.org/wiki/Blue_(queue_management_algorithm)
      </hyperlink>
    </reference>
    <reference id="HTML4.01">
      <name>HTML 4.01 Specification</name>
      <organization>W3C</organization>
      <hyperlink>https://www.w3.org/TR/html4</hyperlink>
    </reference>
    <reference id="RED">
      <name>References on RED (Random Early Detection) Queue Management</name>
      <hyperlink>http://www.icir.org/floyd/red.html</hyperlink>
    </reference>
    <reference id="SOAP1.1">
      <name>Simple Object Access Protocol (SOAP) 1.1</name>
      <organization>W3C</organization>
      <hyperlink>https://www.w3.org/TR/2000/NOTE-SOAP-20000508</hyperlink>
    </reference>
    <reference id="ZigBee2007">
      <name>ZigBee 2007 Specification</name>
      <title>ZigBee 2007 Specification</title>
      <organization>ZigBee Alliance</organization>
      <date>October 2007</date>
      <hyperlink>https://csa-iot.org/all-solutions/zigbee</hyperlink>
    </reference>
  </bibliography>

  <model name="InternetGatewayDevice:1.2">

    <object name="InternetGatewayDevice." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        The top-level object for an Internet Gateway Device.
      </description>

      <parameter name="DeviceSummary" access="readOnly" forcedInform="true"
          dmr:previousParameter="">
        <description>
          As defined in {{bibref|TR-106}}.
        </description>
        <syntax>
          <string>
            <size maxLength="1024"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LANDeviceNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|LANDevice}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="WANDeviceNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|WANDevice}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Services." access="readOnly"
        minEntries="1" maxEntries="1" dmr:previousObject="">
      <description>
        This object contains general services information.
      </description>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains general device information.
      </description>

      <parameter name="Manufacturer" access="readOnly">
        <description>
          The manufacturer of the CPE (human readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ManufacturerOUI" access="readOnly">
        <description>
          Organizationally unique identifier of the device manufacturer.  Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros.  The value MUST be a valid OUI as defined in {{bibref|OUI}}.
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModelName" access="readOnly">
        <description>
          Model name of the CPE (human readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Description" access="readOnly">
        <description>
          A full description of the CPE device (human readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProductClass" access="readOnly">
        <description>
          Identifier of the class of product for which the serial number applies.  That is, for a given manufacturer, this parameter is used to identify the product or class of product over which the {{param|SerialNumber}} parameter is unique.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly">
        <description>
          Serial number of the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="HardwareVersion" access="readOnly" forcedInform="true">
        <description>
          A string identifying the particular CPE model and version.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SoftwareVersion" access="readOnly"
          activeNotify="forceEnabled" forcedInform="true">
        <description>
          A string identifying the software version currently installed in the CPE.
          To allow version comparisons, this element SHOULD be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation.  For example, ''3.0.21''where the components mean: ''Major.Minor.Build''.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModemFirmwareVersion" access="readOnly">
        <description>
          A string identifying the version of the modem firmware currently installed in the CPE.  This is applicable only when the modem firmware is separable from the overall CPE software.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EnabledOptions" access="readOnly">
        <description>
          The OptionName of each Option that is currently enabled in the CPE.  The OptionName of each is identical to the OptionName element of the OptionStruct described in {{bibref|TR-069a1}}.  Only those options are listed whose State indicates the option is enabled.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="AdditionalHardwareVersion" access="readOnly">
        <description>
          Any additional hardware version information the vendor might wish to supply.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="AdditionalSoftwareVersion" access="readOnly">
        <description>
          Any additional software version information the vendor might wish to supply.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SpecVersion" access="readOnly" status="deprecated"
          forcedInform="true">
        <description>
          Represents the version of the specification implemented by the device.  Currently 1.0 is the only available version.  The value of this parameter MUST equal "1.0".
          This parameter is DEPRECATED because its value is fixed and it therefore serves no purpose.  However, it is a Forced Inform parameter and therefore cannot be OBSOLETED.
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </string>
          <default type="object" value="1.0"/>
        </syntax>
      </parameter>

      <parameter name="ProvisioningCode" access="readWrite"
          activeNotify="forceEnabled" forcedInform="true">
        <description>
          Identifier of the primary service provider and other provisioning information, which MAY be used by the ACS to determine service provider-specific customization and provisioning parameters.
          If not {{empty}}, this argument SHOULD be in the form of a hierarchical descriptor with one or more nodes specified.  Each node in the hierarchy is represented as a 4-character sub-string, containing only numerals or upper-case letters.  If there is more than one node indicated, each node is separated by a "." (dot).  Examples: "TLCO" or "TLCO.GRP2".
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UpTime" access="readOnly">
        <description>
          Time in seconds since the CPE was last restarted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FirstUseDate" access="readOnly">
        <description>
          Date and time in UTC that the CPE first both successfully established an IP-layer network connection and acquired an absolute time reference using NTP or equivalent over that network connection.  The CPE MAY reset this date after a factory reset.

          If NTP or equivalent is not available, this parameter, if present, SHOULD be set to the Unknown Time value.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="DeviceLog" access="readOnly">
        <description>
          Vendor-specific log(s).
        </description>
        <syntax>
          <string>
            <size maxLength="32768"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="VendorConfigFileNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|VendorConfigFile}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo.VendorConfigFile.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="VendorConfigFileNumberOfEntries">
      <description>
        Every instance of this object is a Vendor Configuration File, and contains parameters associated with the Vendor Configuration File.

        This table of Vendor Configuration Files is for information only and does not allow the ACS to operate on these files in any way.
        Whenever the CPE successfully downloads a configuration file as a result of the Download RPC with the FileType argument of ''3 Vendor Configuration File'', the CPE MUST update this table.  If the name of the file (determined as described in the definition of the {{param|Name}} parameter) differs from that of any existing instance, then the CPE MUST create a new instance to represent this file.  If instead, the name of the file is identical to that of an existing instance, then the CPE MUST update the content of the existing instance with the new version, date, and (optionally) description of the file.{{nokeys}}
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>

      <parameter name="Name" access="readOnly">
        <description>
          Name of the vendor configuration file.

          If the CPE is able to obtain the name of the configuration file from the file itself, then the value of this parameter MUST be set to that name.
          Otherwise, if the CPE can extract the file name from the URL used to download the configuration file, then the value of this parameter MUST be set to that name.
          Otherwise, the value of this parameter MUST be set to the value of the TargetFileName argument of the Download RPC used to download this configuration file.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Version" access="readOnly">
        <description>
          A string identifying the configuration file version currently used in the CPE.

          If the CPE is able to obtain the version of the configuration file from the file itself, then the value of this parameter MUST be set to the obtained value.
          Otherwise, the value of this parameter MUST be {{empty}}.
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Date" access="readOnly">
        <description>
          Date and time when the content of the current version of this vendor configuration file was first applied by the CPE.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="Description" access="readOnly">
        <description>
          A description of the vendor configuration file (human-readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceConfig." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains general configuration parameters.
      </description>

      <parameter name="PersistentData" access="readWrite">
        <description>
          Arbitrary user data that MUST persist across CPE reboots.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConfigFile" access="readWrite">
        <description>
          A dump of the currently running configuration on the CPE.  This parameter enables the ability to backup and restore the last known good state of the CPE.  It returns a vendor-specific document that defines the state of the CPE.  The document MUST be capable of restoring the CPE's state when written back to the CPE using SetParameterValues.
        </description>
        <syntax>
          <string>
            <size maxLength="32768"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.ManagementServer." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating to the CPE's association with an ACS.
      </description>

      <parameter name="URL" access="readWrite">
        <description>
          URL, as defined in {{bibref|RFC3986}}, for the CPE to connect to the ACS using the CPE WAN Management Protocol.
          This parameter MUST be in the form of a valid HTTP or HTTPS URL {{bibref|RFC2616}}.
          The ''host'' portion of this URL is used by the CPE for validating the ACS certificate when using SSL or TLS.
          Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value.  If an ACS modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Username" access="readWrite">
        <description>
          Username used to authenticate the CPE when making a connection to the ACS using the CPE WAN Management Protocol.
          This username is used only for HTTP-based authentication of the CPE.

          Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value.  If an ACS modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Password" access="readWrite">
        <description>
          Password used to authenticate the CPE when making a connection to the ACS using the CPE WAN Management Protocol.
          This password is used only for HTTP-based authentication of the CPE.

          Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value.  If an ACS modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PeriodicInformEnable" access="readWrite">
        <description>
          Whether or not the CPE MUST periodically send CPE information to the ACS using the Inform method call.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PeriodicInformInterval" access="readWrite">
        <description>
          The duration in seconds of the interval for which the CPE MUST attempt to connect with the ACS and call the Inform method if {{param|PeriodicInformEnable}} is {{true}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PeriodicInformTime" access="readWrite">
        <description>
          An absolute time reference in UTC to determine when the CPE will initiate the periodic Inform method calls.  Each Inform call MUST occur at this reference time plus or minus an integer multiple of the {{param|PeriodicInformInterval}}.
          {{param}} is used only to set the "phase" of the periodic Informs.  The actual value of {{param}} can be arbitrarily far into the past or future.
          For example, if {{param|PeriodicInformInterval}} is 86400 (a day) and if {{param}} is set to UTC midnight on some day (in the past, present, or future) then periodic Informs will occur every day at UTC midnight.  These MUST begin on the very next midnight, even if {{param}} refers to a day in the future.
          The Unknown Time value defined in {{bibref|TR-098a1|section 2.2}} indicates that no particular time reference is specified.  That is, the CPE MAY locally choose the time reference, and is required only to adhere to the specified {{param|PeriodicInformInterval}}.
          If absolute time is not available to the CPE, its periodic Inform behavior MUST be the same as if the {{param}} parameter was set to the Unknown Time value.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ParameterKey" access="readOnly" activeNotify="canDeny"
          forcedInform="true">
        <description>
          {{param}} provides the ACS a reliable and extensible means to track changes made by the ACS.  The value of {{param}} MUST be equal to the value of the ParameterKey argument from the most recent successful SetParameterValues, AddObject, or DeleteObject method call from the ACS.
          The CPE MUST set {{param}} to the value specified in the corresponding method arguments if and only if the method completes successfully and no fault response is generated.  If a method call does not complete successfully (implying that the changes requested in the method did not take effect), the value of {{param}} MUST NOT be modified.
          The CPE MUST only modify the value of {{param}} as a result of SetParameterValues, AddObject, DeleteObject, or due to a factory reset.  On factory reset, the value of {{param}} MUST be set to {{empty}}.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionRequestURL" access="readOnly"
          activeNotify="forceEnabled" forcedInform="true">
        <description>
          HTTP URL, as defined in {{bibref|RFC3986}}, for an ACS to make a Connection Request notification to the CPE.
          In the form:
          http://host:port/path
          The ''host'' portion of the URL MAY be the IP address for the management interface of the CPE in lieu of a host name.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionRequestUsername" access="readWrite">
        <description>
          Username used to authenticate an ACS making a Connection Request to the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionRequestPassword" access="readWrite">
        <description>
          Password used to authenticate an ACS making a Connection Request to the CPE.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UpgradesManaged" access="readWrite">
        <description>
          Indicates whether or not the ACS will manage upgrades for the CPE.  If {{true}}, the CPE SHOULD NOT use other means other than the ACS to seek out available upgrades.  If {{false}}, the CPE MAY use other means for this purpose.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="KickURL" access="readOnly">
        <description>
          Present only for a CPE that supports the Kicked RPC method.
          LAN-accessible URL, as defined in {{bibref|RFC3986}}, from which the CPE can be "kicked" to initiate the Kicked RPC method call.  MUST be an absolute URL including a host name or IP address as would be used on the LAN side of the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DownloadProgressURL" access="readOnly">
        <description>
          Present only for a CPE that provides a LAN-side web page to show progress during a file download.
          LAN-accessible URL, as defined in {{bibref|RFC3986}}, to which a web-server associated with the ACS MAY redirect a user's browser on initiation of a file download to observer the status of the download.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UDPConnectionRequestAddress" access="readOnly">
        <description>
          Address and port to which an ACS MAY send a UDP Connection Request to the CPE (see {{bibref|TR-069a1|Annex G}}).
          This parameter is represented in the form of an Authority element as defined in {{bibref|RFC3986}}.  The value MUST be in one of the following two forms:
          : host:port
          : host
          When {{param|STUNEnable}} is {{true}}, the ''host'' and ''port'' portions of this parameter MUST represent the public address and port corresponding to the NAT binding through which the ACS can send UDP Connection Request messages (once this information is learned by the CPE through the use of STUN).
          When {{param|STUNEnable}} is {{false}}, the ''host'' and ''port'' portions of the URL MUST represent the local IP address and port on which the CPE is listening for UDP Connection Request messages.
          The second form of this parameter MAY be used only if the port value is equal to "80".
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UDPConnectionRequestAddressNotificationLimit"
          access="readWrite">
        <description>
          The minimum time, in seconds, between Active Notifications resulting from changes to the {{param|UDPConnectionRequestAddress}} (if Active Notification is enabled).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="STUNEnable" access="readWrite">
        <description>
          Enables or disables the use of STUN by the CPE.  This applies only to the use of STUN in association with the ACS to allow UDP Connection Requests.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="STUNServerAddress" access="readWrite">
        <description>
          Host name or IP address of the STUN server for the CPE to send Binding Requests if STUN is enabled via {{param|STUNEnable}}.
          If {{empty}} and {{param|STUNEnable}} is {{true}}, the CPE MUST use the address of the ACS extracted from the host portion of the ACS URL.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="STUNServerPort" access="readWrite">
        <description>
          Port number of the STUN server for the CPE to send Binding Requests if STUN is enabled via {{param|STUNEnable}}.
          By default, this SHOULD be the equal to the default STUN port, 3478.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="STUNUsername" access="readWrite">
        <description>
          If not {{empty}}, the value of the STUN USERNAME attribute to be used in Binding Requests (only if message integrity has been requested by the STUN server).
          If {{empty}}, the CPE MUST NOT send STUN Binding Requests with message integrity.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="STUNPassword" access="readWrite">
        <description>
          The value of the STUN Password to be used in computing the MESSAGE-INTEGRITY attribute to be used in Binding Requests (only if message integrity has been requested by the STUN server).
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="STUNMaximumKeepAlivePeriod" access="readWrite">
        <description>
          If STUN Is enabled, the maximum period, in seconds, that STUN Binding Requests MUST be sent by the CPE for the purpose of maintaining the binding in the Gateway.  This applies specifically to Binding Requests sent from the UDP Connection Request address and port.
          A value of -1 indicates that no maximum period is specified.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="STUNMinimumKeepAlivePeriod" access="readWrite">
        <description>
          If STUN Is enabled, the minimum period, in seconds, that STUN Binding Requests can be sent by the CPE for the purpose of maintaining the binding in the Gateway.  This limit applies only to Binding Requests sent from the UDP Connection Request address and port, and only those that do not contain the BINDING-CHANGE attribute.  This limit does not apply to retransmissions following the procedures defined in {{bibref|RFC3489}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="NATDetected" access="readOnly">
        <description>
          When STUN is enabled, this parameter indicates whether or not the CPE has detected address and/or port mapping in use.
          A {{true}} value indicates that the received MAPPED-ADDRESS in the most recent Binding Response differs from the CPE's source address and port.
          When STUNEnable is {{false}}, this value MUST be {{false}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ManageableDeviceNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|ManageableDevice}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ManageableDeviceNotificationLimit" access="readWrite">
        <description>
          The minimum time, in seconds, between Active Notifications resulting from changes to the {{param|ManageableDeviceNumberOfEntries}} (if Active Notification is enabled).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.ManagementServer.ManageableDevice.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ManageableDeviceNumberOfEntries">
      <description>
        Each entry in this table corresponds to a distinct LAN Device that supports Device-Gateway Association according to {{bibref|TR-069a1|Annex F}} as indicated by the presence of the DHCP option specified in that Annex.
      </description>
      <uniqueKey>
        <parameter ref="ManufacturerOUI"/>
        <parameter ref="SerialNumber"/>
        <parameter ref="ProductClass"/>
      </uniqueKey>

      <parameter name="ManufacturerOUI" access="readOnly"
          activeNotify="canDeny">
        <description>
          Organizationally unique identifier of the Device manufacturer as provided to the Gateway by the Device.  Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros.  The value MUST be a valid OUI as defined in {{bibref|OUI}}.
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly" activeNotify="canDeny">
        <description>
          Serial number of the Device as provided to the Gateway by the Device.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProductClass" access="readOnly" activeNotify="canDeny">
        <description>
          Identifier of the class of product for which the Device's serial number applies as provided to the Gateway by the Device.
          If the Device does not provide a Product Class, then this parameter MUST be {{empty}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Time." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating an NTP or SNTP time client in the CPE.
      </description>

      <parameter name="NTPServer1" access="readWrite">
        <description>
          First NTP timeserver.  Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer2" access="readWrite">
        <description>
          Second NTP timeserver.  Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer3" access="readWrite">
        <description>
          Third NTP timeserver.  Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer4" access="readWrite">
        <description>
          Fourth NTP timeserver.  Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer5" access="readWrite">
        <description>
          Fifth NTP timeserver.  Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CurrentLocalTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current date and time in the CPE's local time zone.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="LocalTimeZone" access="readWrite">
        <description>
          The local time offset from UTC in the form:
          : +hh:mm
          : -hh:mm
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LocalTimeZoneName" access="readWrite">
        <description>
          Name of the local time zone (human readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DaylightSavingsUsed" access="readWrite">
        <description>
          Whether or not daylight savings time is in use in the CPE's local time zone.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="DaylightSavingsStart" access="readWrite">
        <description>
          Date and time daylight savings time begins if used in local standard time.  If daylight savings time is not used, this value is ignored.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="DaylightSavingsEnd" access="readWrite">
        <description>
          Date and time daylight savings time ends if used in local daylight time.  If daylight savings time is not used, this value is ignored.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UserInterface." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating to the user interface of the CPE.
      </description>

      <parameter name="PasswordRequired" access="readWrite">
        <description>
          Present only if the CPE provides a password-protected LAN-side user interface.
          Indicates whether or not the local user interface MUST require a password to be chosen by the user.  If {{false}}, the choice of whether or not a password is used is left to the user.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PasswordUserSelectable" access="readWrite">
        <description>
          Present only if the CPE provides a password-protected LAN-side user interface and supports LAN-side Auto-Configuration.
          Indicates whether or not a password to protect the local user interface of the CPE MAY be selected by the user directly, or MUST be equal to the password used by the LAN-side Auto-Configuration protocol.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UpgradeAvailable" access="readWrite">
        <description>
          Indicates that a CPE upgrade is available, allowing the CPE to display this information to the user.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="WarrantyDate" access="readWrite">
        <description>
          Indicates the date and time in UTC that the warranty associated with the CPE is to expire.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ISPName" access="readWrite">
        <description>
          The name of the customer's ISP.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPHelpDesk" access="readWrite">
        <description>
          The help desk phone number of the ISP.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPHomePage" access="readWrite">
        <description>
          The URL of the ISP's home page.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPHelpPage" access="readWrite">
        <description>
          The URL of the ISP's on-line support page.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPLogo" access="readWrite">
        <description>
          Base64 encoded GIF or JPEG image. The binary image is constrained to 4095 bytes or less.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="4095"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="ISPLogoSize" access="readWrite">
        <description>
          Un-encoded binary image size in bytes.
          If ISPLogoSize input value is 0 then the ISPLogo is cleared.
          ISPLogoSize can also be used as a check to verify correct transfer and conversion of Base64 string to image size.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="4095"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ISPMailServer" access="readWrite">
        <description>
          The URL of the ISP's mail server.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPNewsServer" access="readWrite">
        <description>
          The URL of the ISP's news server.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TextColor" access="readWrite">
        <description>
          The color of text on the GUI screens in RGB hexidecimal notation (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BackgroundColor" access="readWrite">
        <description>
          The color of the GUI screen backgrounds in RGB hexidecimal notation (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ButtonColor" access="readWrite">
        <description>
          The color of buttons on the GUI screens in RGB hexidecimal notation (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ButtonTextColor" access="readWrite">
        <description>
          The color of text on buttons on the GUI screens in RGB hexidecimal notation (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AutoUpdateServer" access="readWrite">
        <description>
          The server the CPE can check to see if an update is available for direct download to it.  This MUST NOT be used by the CPE if the {{param|InternetGatewayDevice.ManagementServer.UpgradesManaged}} parameter is {{true}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UserUpdateServer" access="readWrite">
        <description>
          The server where a user can check via a web browser if an update is available for download to a PC.  This MUST NOT be used by the CPE if the {{param|InternetGatewayDevice.ManagementServer.UpgradesManaged}} parameter is {{true}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExampleLogin" access="readWrite">
        <description>
          An example of a correct login, according to ISP-specific rules.
        </description>
        <syntax>
          <string>
            <size maxLength="40"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExamplePassword" access="readWrite">
        <description>
          An example of a correct password, according to ISP-specific rules.
        </description>
        <syntax>
          <string>
            <size maxLength="30"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer3Forwarding." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object allows the handling of the routing and forwarding configuration of the device.
      </description>

      <parameter name="DefaultConnectionService" access="readWrite">
        <description>
          Specifies the default WAN interface.  The content is the full hierarchical parameter name of the default layer-3 connection object.  Example: ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ForwardNumberOfEntries" access="readOnly">
        <description>
          Number of forwarding instances.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ForwardNumberOfEntries" enableParameter="Enable">
      <description>
        Layer-3 forwarding table.
        In addition to statically configured routes, this table MUST include dynamic routes learned through layer-3 routing protocols, including RIP, OSPF, DHCP, and IPCP.  The CPE MAY reject attempts to delete or modify a dynamic route entry.
        For each incoming packet, the layer-3 forwarding decision is conceptually made as follows:
        * Only table entries with a matching {{param|ForwardingPolicy}} are considered, i.e. those that either do not specify a {{param|ForwardingPolicy}}, or else specify a {{param|ForwardingPolicy}} that matches that of the incoming packet.
        * For the remaining table entries, those for which the source address/mask matches are sorted by longest prefix, i.e. with the most specific networks first (an unspecified source address is a wild-card and always matches, with a prefix length of zero).
        * For the remaining table entries, those for which the destination address/mask matches are sorted by longest prefix, i.e. with the most specific networks first (an unspecified destination address is a wild-card and always matches, with a prefix length of zero).
        * The first of the remaining table entries is applied to the packet.
      </description>
      <uniqueKey>
        <parameter ref="DestIPAddress"/>
        <parameter ref="DestSubnetMask"/>
        <parameter ref="SourceIPAddress"/>
        <parameter ref="SourceSubnetMask"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the forwarding entry.  On creation, an entry is disabled by default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of the forwarding entry.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="Type" access="readWrite" status="deprecated">
        <description>
          Indicates the type of route.

          {{enum}}
          This parameter is DEPRECATED because its value could conflict with {{param|DestIPAddress}} and/or {{param|DestSubnetMask}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Default"/>
            <enumeration value="Network"/>
            <enumeration value="Host"/>
          </string>
          <default type="object" value="Host"/>
        </syntax>
      </parameter>

      <parameter name="DestIPAddress" access="readWrite">
        <description>
          Destination address.  {{empty}} or a value of "0.0.0.0" indicates no destination address is specified.

          A Forwarding table entry for which {{param}} and {{param|DestSubnetMask}} are both {{empty}} or "0.0.0.0" is a default route.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestSubnetMask" access="readWrite">
        <description>
          Destination subnet mask.  {{empty}} or a value of "0.0.0.0" indicates no destination subnet mask is specified.

          If a destination subnet mask is specified, the {{param}} is ANDed with the destination address before comparing with the {{param|DestIPAddress}}.  Otherwise, the full destination address is used as is.
          A Forwarding table entry for which {{param|DestIPAddress}} and {{param}} are both {{empty}} or "0.0.0.0" is a default route.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceIPAddress" access="readWrite">
        <description>
          Source address.  {{empty}} or a value of "0.0.0.0" indicates no source address is specified.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceSubnetMask" access="readWrite">
        <description>
          Source subnet mask.  {{empty}} or a value of "0.0.0.0" indicates no source subnet mask is specified.

          If a source subnet mask is specified, the {{param}} is ANDed with the source address before comparing with the {{param|SourceIPAddress}}.  Otherwise, the full source address is used as is.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="GatewayIPAddress" access="readWrite">
        <description>
          IP address of the gateway.

          Only one of {{param}} and {{param|Interface}} SHOULD be configured for a route.
          If both are configured, {{param}} and {{param|Interface}} MUST be self-consistent.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          Specifies the egress interface associated with this entry.  The content is the full hierarchical parameter name of the layer-3 connection object.  Example: ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.

          Only one of {{param|GatewayIPAddress}} and {{param}} SHOULD be configured for a route.
          If both are configured, {{param|GatewayIPAddress}} and {{param}} MUST be self-consistent.
          For a route that was configured by setting {{param|GatewayIPAddress}} but not {{param}}, read access to {{param}} MUST return the full hierarchical parameter name for the route's egress interface.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ForwardingMetric" access="readWrite">
        <description>
          Forwarding metric.  A value of -1 indicates this metric is not used.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="MTU" access="readWrite">
        <description>
          The maximum allowed size of an Ethernet frame for this route.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="1540"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ForwardingPolicy" access="readWrite">
        <description>
          Identifier of a set of classes or flows that have the corresponding {{param}} value as defined in the ''QueueManagement'' object.
          A value of -1 indicates no {{param}} is specified.
          If specified, this forwarding entry is to apply only to traffic associated with the specified classes and flows.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANConfigSecurity." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains generic device configuration information.
      </description>

      <parameter name="ConfigPassword" access="readWrite">
        <description>
          A password to allow LAN access to protected auto-configuration services.
          If the CPE supports TR-064 (LAN-side DSL CPE Configuration Protocol), this parameter is to be used as the ''dslf-config'' password (as defined in TR-064).
          If the CPE has a user interface with password protection enabled, this parameter is also to be used as the user password for password-protected operations.  However, this parameter MUST NOT be used to set the user password if the optional parameter {{param|InternetGatewayDevice.UserInterface.PasswordUserSelectable}} is {{true}}.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.IPPingDiagnostics." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object provides access to an IP-layer ping test.
      </description>

      <parameter name="DiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicates availability of diagnostic data.  {{enum}}
          If the ACS sets the value of this parameter to {{enum|Requested}}, the CPE MUST initiate the corresponding diagnostic test.  When writing, the only allowed value is {{enum|Requested}}.  To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set either prior to or at the same time as (in the same SetParameterValues) setting the {{param}} to {{enum|Requested}}.
          When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic.
          When the test is completed, the value of this parameter MUST be either {{enum|Complete}} (if the test completed successfully), or one of the ''Error'' values listed above.
          If the value of this parameter is anything other than {{enum|Complete}}, the values of the results parameters for this test are indeterminate.
          When the diagnostic initiated by the ACS is completed (successfully or not), the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code ''8 DIAGNOSTICS COMPLETE'' in the Inform message.
          After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots.  After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to {{enum|None}}.
          Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to {{enum|None}}.
          While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to {{enum|None}}.
          While the test is in progress, setting this parameter to {{enum|Requested}} (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters.
        </description>
        <syntax>
          <string>
            <enumeration value="None" access="readOnly"/>
            <enumeration value="Requested"/>
            <enumeration value="Complete" access="readOnly"/>
            <enumeration value="Error_CannotResolveHostName" access="readOnly"/>
            <enumeration value="Error_Internal" access="readOnly"/>
            <enumeration value="Error_Other" access="readOnly"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          Specifies the WAN or LAN IP-layer interface over which the test is to be performed.  The content is the full hierarchical parameter name of the interface.
          The following is a WAN interface example:
          : ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''
          The following is a LAN interface example:
          : ''InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.IPInterface.1''

          The value of this parameter MUST be either a valid interface or {{empty}}.  An attempt to set this parameter to a different value MUST be rejected as an invalid parameter value.
          If {{empty}} is specified, the CPE MUST use the interface as directed by its routing policy (Forwarding table entries) to determine the appropriate interface.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Host" access="readWrite">
        <description>
          Host name or address of the host to ping.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NumberOfRepetitions" access="readWrite">
        <description>
          Number of repetitions of the ping test to perform before reporting the results.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Timeout" access="readWrite">
        <description>
          Timeout in milliseconds for the ping test.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DataBlockSize" access="readWrite">
        <description>
          Size of the data block in bytes to be sent for each ping.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DSCP" access="readWrite">
        <description>
          DiffServ codepoint to be used for the test packets.  By default the CPE SHOULD set this value to zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="63"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SuccessCount" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the number of successful pings (those in which a successful response was received prior to the timeout) in the most recent ping test.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FailureCount" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the number of failed pings in the most recent ping test.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AverageResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the average response time in milliseconds over all repetitions with successful responses of the most recent ping test.  If there were no successful responses, this value MUST be zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MinimumResponseTmie" access="readOnly" status="deleted">
        <description>
          Result parameter indicating the minimum response time in milliseconds over all repetitions with successful responses of the most recent ping test.  If there were no successful responses, this value MUST be zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaximumResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the maximum response time in milliseconds over all repetitions with successful responses of the most recent ping test.  If there were no successful responses, this value MUST be zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MinimumResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the minimum response time in milliseconds over all repetitions with successful responses of the most recent ping test.  If there were no successful responses, this value MUST be zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANDevice.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANDeviceNumberOfEntries">
      <description>
        Each instance contains all LAN-related objects for a given bridged subnet.
      </description>

      <parameter name="LANEthernetInterfaceNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|LANEthernetInterfaceConfig}} in this ''LANDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LANUSBInterfaceNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|LANUSBInterfaceConfig}} in this ''LANDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LANWLANConfigurationNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|WLANConfiguration}} in this ''LANDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object enables reporting of LAN-related device information and setting and configuring LAN IP addressing.
      </description>

      <parameter name="DHCPServerConfigurable" access="readWrite">
        <description>
          Enables the configuration of the DHCP server on the LAN interface.  If this variable is set to {{false}}, the CPE SHOULD restore its default DHCP server settings.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="DHCPServerEnable" access="readWrite">
        <description>
          Enables or disables the DHCP server on the LAN interface.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="DHCPRelay" access="readOnly" status="deprecated">
        <description>
          Indicates if the DHCP server performs the role of a server (0) or a relay (1) on the LAN interface.

          This parameter is DEPRECATED because the functionality that it describes is not well-defined.  The CPE MAY set it to the value that it thinks most appropriate, based on its configuration.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MinAddress" access="readWrite">
        <description>
          Specifies first address in the pool to be assigned by the DHCP server on the LAN interface.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="MaxAddress" access="readWrite">
        <description>
          Specifies last address in the pool to be assigned by the DHCP server on the LAN interface.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="ReservedAddresses" access="readWrite">
        <description>
          Comma separated list of addresses marked reserved from the address allocation pool.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="SubnetMask" access="readWrite">
        <description>
          Specifies the client's network subnet mask.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DNSServers" access="readWrite">
        <description>
          DNS servers offered to DHCP clients.  Support for more than three DNS Servers is OPTIONAL.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DomainName" access="readWrite">
        <description>
          Sets the domain name to provide to clients on the LAN interface.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="IPRouters" access="readWrite">
        <description>
          IP addresses of routers on this subnet.  Also known as default gateway.  Support for more than one Router address is OPTIONAL.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DHCPLeaseTime" access="readWrite">
        <description>
          Specifies the lease time in seconds of client assigned addresses.  A value of -1 indicates an infinite lease.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="UseAllocatedWAN" access="readWrite">
        <description>
          {{enum}}
          If {{enum|Normal}}, then DHCP addresses are to be allocated out of a private address pool.
          If {{enum|UseAllocatedSubnet}}, instructs the CPE to allocate DHCP addresses from the WAN subnet block for the WAN connection identified in {{param|AssociatedConnection}}.
          If {{enum|Passthrough}}, then the specified LAN Host identified by the Passthrough MAC address is given the WAN IP address.
        </description>
        <syntax>
          <string>
            <enumeration value="Normal"/>
            <enumeration value="UseAllocatedSubnet"/>
            <enumeration value="Passthrough"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AssociatedConnection" access="readWrite">
        <description>
          Specifies the connection instance for the connection to be used for address allocation if {{param|UseAllocatedWAN}} is set to {{enum|UseAllocatedSubnet|UseAllocatedWAN}} or {{enum|Passthrough|UseAllocatedWAN}}.  The content is the full hierarchical parameter name of the default layer-3 connection object.  Example: ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PassthroughLease" access="readWrite">
        <description>
          DHCP lease time in seconds given to the specified LAN Host when the WAN IP address is passed-through.
          Note: A temporary private IP address with short lease (for example, 1 min) might be given to the passthrough LAN Host before the WAN IP address is acquired.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PassthroughMACAddress" access="readWrite">
        <description>
          Hardware address of the LAN Host that is used to passthrough the WAN IP address if {{param|UseAllocatedWAN}} is {{enum|Passthrough|UseAllocatedWAN}}.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="AllowedMACAddresses" access="readWrite">
        <description>
          Hardware addresses that are allowed to connect to this connection if ''MACAddressControlEnabled'' is 1 for a given interface.
        </description>
        <syntax>
          <list>
            <size maxLength="512"/>
          </list>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="IPInterfaceNumberOfEntries" access="readOnly">
        <description>
          Number of IP interface at LAN side of the CPE. 1 is a typical value for CPE not supporting Multihomed interfaces.  Support for more than one interface instance is OPTIONAL.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.IPInterface.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="IPInterfaceNumberOfEntries"
        enableParameter="Enable">
      <description>
        IP interface table.
      </description>
      <uniqueKey>
        <parameter ref="IPInterfaceIPAddress"/>
        <parameter ref="IPInterfaceSubnetMask"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this entry.  On creation, an entry is disabled by default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="IPInterfaceIPAddress" access="readWrite">
        <description>
          IP address of the LAN-side interface of the CPE.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="IPInterfaceSubnetMask" access="readWrite">
        <description>
          Subnet mask of the LAN-side interface of the IGD.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="IPInterfaceAddressingType" access="readWrite">
        <description>
          Represents the addressing method used to assign the LAN-side IP address of the CPE on this interface.
        </description>
        <syntax>
          <string>
            <enumeration value="DHCP"/>
            <enumeration value="Static"/>
            <enumeration value="AutoIP"/>
          </string>
          <default type="object" value="DHCP"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANEthernetInterfaceNumberOfEntries">
      <description>
        This object models an Ethernet LAN connection on a CPE device.  This object MUST be implemented for CPE that contain an Ethernet interface on the LAN side.
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this interface.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this interface.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="NoLink"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The physical address of the interface.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddressControlEnabled" access="readWrite">
        <description>
          Indicates whether MAC Address Control is enabled or not on this interface.  MAC Address Control limits the clients that connect to those that match a list of allowed MAC addresses specified in {{param|InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.AllowedMACAddresses}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MaxBitRate" access="readWrite">
        <description>
          The maximum upstream and downstream bit rate available to this connection.
        </description>
        <syntax>
          <string>
            <enumeration value="10"/>
            <enumeration value="100"/>
            <enumeration value="1000"/>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DuplexMode" access="readWrite">
        <description>
          The duplex mode available to this connection.
        </description>
        <syntax>
          <string>
            <enumeration value="Half"/>
            <enumeration value="Full"/>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for an Ethernet LAN interface on a CPE device.
      </description>

      <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes sent over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes received over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of packets sent over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of packets received over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANUSBInterfaceConfig.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANUSBInterfaceNumberOfEntries">
      <description>
        This object models a USB LAN connection on a CPE device.  This object MUST be implemented for CPE that contain a USB interface on the LAN side.
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this interface.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this interface.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="NoLink"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The physical address of the interface.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddressControlEnabled" access="readWrite">
        <description>
          Indicates whether MAC Address Control is enabled or not on this interface.  MAC Address Control limits the clients that connect to those that match a list of allowed MAC addresses specified in {{param|InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.AllowedMACAddresses}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Standard" access="readOnly">
        <description>
          USB version supported by the device.
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Type" access="readOnly">
        <description>
          Type of the USB interface.
        </description>
        <syntax>
          <string>
            <enumeration value="Host"/>
            <enumeration value="Hub"/>
            <enumeration value="Device"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Rate" access="readOnly">
        <description>
          Speed of the USB interface.
        </description>
        <syntax>
          <string>
            <enumeration value="Low"/>
            <enumeration value="Full"/>
            <enumeration value="High">
              <description>USB 2.0</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Power" access="readOnly">
        <description>
          Power configuration of the USB interface.
        </description>
        <syntax>
          <string>
            <enumeration value="Self"/>
            <enumeration value="Bus"/>
            <enumeration value="Unknown"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANUSBInterfaceConfig.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for a USB LAN interface on a CPE device.
      </description>

      <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes sent over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes received over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellsSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of cells sent over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellsReceived" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of cells received over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANWLANConfigurationNumberOfEntries">
      <description>
        This object models an 802.11 LAN connection on a CPE device.  This object MUST be implemented for CPE that contain an 802.11 interface on the LAN side.
      </description>
      <uniqueKey>
        <parameter ref="BSSID"/>
      </uniqueKey>
      <uniqueKey>
        <parameter ref="SSID"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this interface.

          When there are multiple ''WLANConfiguration'' instances, e.g. each instance supports a different 802.11 standard or has a different security configuration, this parameter can be used to control which of the instances are currently enabled.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this interface.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BSSID" access="readOnly">
        <description>
          The MAC address of the interface.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="MaxBitRate" access="readWrite">
        <description>
          The maximum upstream and downstream bit rate available to this connection in Mbps.  Either ''Auto'', or the largest of the {{param|OperationalDataTransmitRates}} values.
        </description>
        <syntax>
          <string>
            <size maxLength="4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Channel" access="readWrite">
        <description>
          The current radio channel used by the connection.  Note: There is currently no way of requesting automatic selection of a channel.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SSID" access="readWrite">
        <description>
          The current service set identifier in use by the connection.  The SSID is an identifier that is attached to packets sent over the wireless LAN that functions as a "password" for joining a particular radio network (BSS).  Note: If an access point wishes to be known by more than one SSID, it MUST provide a ''WLANConfiguration'' instance for each SSID.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BeaconType" access="readWrite">
        <description>
          The capabilities that are currently enabled on the access point (and that are announced via beacons if {{param|BeaconAdvertisementEnabled}} is {{true}}). Write access to this parameter enables and disables such capabilities.
          An attempt to set this parameter to one of the required (mandatory) values MAY be rejected if (and only if) the requested capability is not available on this ''WLANConfiguration'' instance but is available on another ''WLANConfiguration'' instance within this Internet Gateway Device. For example, only basic 802.11 might be supported by one virtual AP, and only WPA might be supported by another virtual AP.
          A value of {{enum|None}} means that no capabilities are currently enabled on the access point and that no stations will be able to associate with it.  {{enum}}
          {{enum|11i}} SHOULD be taken to refer to both the 802.11i specification and to the WPA2 specification (any WPA2-certified device will implement all mandatory parts of the 802.11i standard).
          The OBSOLETED values are those for Basic + WPA/WPA2  mixed modes, which are not permitted by the WPA specifications.
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="Basic"/>
            <enumeration value="WPA"/>
            <enumeration value="11i" optional="true"/>
            <enumeration value="BasicandWPA" optional="true"
                status="obsoleted"/>
            <enumeration value="Basicand11i" optional="true"
                status="obsoleted"/>
            <enumeration value="WPAand11i" optional="true"/>
            <enumeration value="BasicandWPAand11i" optional="true"
                status="obsoleted"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MACAddressControlEnabled" access="readWrite">
        <description>
          Indicates whether MAC Address Control is enabled or not on this interface.  MAC Address Control limits the clients that connect to those that match a list of allowed MAC addresses specified in {{param|InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.AllowedMACAddresses}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Standard" access="readOnly">
        <description>
          Indicates which IEEE 802.11 standard this ''WLANConfiguration'' instance is configured for.  {{enum}}
          Where each value indicates support for only the indicated standard.
          If the device is configured simultaneously for more than one standard, a separate ''WLANConfiguration'' instance MUST be used for each supported standard.
        </description>
        <syntax>
          <string>
            <enumeration value="a"/>
            <enumeration value="b"/>
            <enumeration value="g"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WEPKeyIndex" access="readWrite">
        <description>
          The index of the default WEP key.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="4"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="KeyPassphrase" access="readWrite">
        <description>
          A passphrase from which the WEP keys are to be generated.
          This parameter is the same as the parameter ''InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.PreSharedKey.1.KeyPassphrase'' for the same instance of ''WLANConfiguration''.  When either parameter is changed, the value of the other is changed as well.
          If {{param}} is written, all four WEP keys are immediately generated.  The ACS SHOULD NOT set the passphrase and also set the WEP keys directly (the result of doing this is undefined).
          This MUST either be a valid key length divided by 8, in which case each byte contributes 8 bits to the key, or else MUST consist of Hex digits and be a valid key length divided by 4, in which case each byte contributes 4 bits to the key.
          Note: If a passphrase is used, all four WEP keys will be the same.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="63"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WEPEncryptionLevel" access="readOnly">
        <description>
          Supported key lengths.  {{enum}}
          Any additional vendor-specific values MUST start with the key length in bits.
          This parameter does not enforce a given encryption level but only indicates capabilities.  The WEP encryption level for a given key is inferred from the key length.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="40-bit"/>
            <enumeration value="104-bit"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BasicEncryptionModes" access="readWrite">
        <description>
          Encryption modes that are available when basic 802.11 is enabled. {{enum|WEPEncryption}} implies that all wireless clients can use WEP for data encryption.

          {{enum}}
          If this ''WLANConfiguration'' instance does not support basic 802.11 then this parameter MUST NOT be present in this instance of the ''WLANConfiguration'' object.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="None"/>
            <enumeration value="WEPEncryption"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BasicAuthenticationMode" access="readWrite">
        <description>
          Authentication modes that are available when basic 802.11 is enabled.

          {{enum}}
          If this ''WLANConfiguration'' instance does not support basic 802.11 then this parameter MUST NOT be present in this instance of the ''WLANConfiguration'' object.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="None">
              <description action="replace">Open authentication</description>
            </enumeration>
            <enumeration value="EAPAuthentication" optional="true"/>
            <enumeration value="SharedAuthentication" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WPAEncryptionModes" access="readWrite">
        <description>
          Encryption modes that are available when WPA is enabled.

          {{enum}}
          If this ''WLANConfiguration'' instance does not support WPA then this parameter MUST NOT be present in this instance of the ''WLANConfiguration'' object.
          The DEPRECATED values are those that combine WEP with TKIP and/or AES, which is not permitted by the WPA specifications.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="WEPEncryption" status="deprecated"/>
            <enumeration value="TKIPEncryption"/>
            <enumeration value="WEPandTKIPEncryption" status="deprecated"/>
            <enumeration value="AESEncryption" optional="true"/>
            <enumeration value="WEPandAESEncryption" optional="true"
                status="deprecated"/>
            <enumeration value="TKIPandAESEncryption" optional="true"/>
            <enumeration value="WEPandTKIPandAESEncryption" optional="true"
                status="deprecated"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WPAAuthenticationMode" access="readWrite">
        <description>
          Authentication modes that are available when WPA is enabled.

          {{enum}}
          If this ''WLANConfiguration'' instance does not support WPA then this parameter MUST NOT be present in this instance of the ''WLANConfiguration'' object.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="PSKAuthentication"/>
            <enumeration value="EAPAuthentication" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="IEEE11iEncryptionModes" access="readWrite">
        <description>
          Encryption modes that are available when 802.11i is enabled.

          {{enum}}
          If this ''WLANConfiguration'' instance does not support 802.11i then this parameter MUST NOT be present in this instance of the ''WLANConfiguration'' object.
          ''IEEE11i'' SHOULD be taken to refer to both the 802.11i specification and to the WPA2 specification (any WPA2-certified device will implement all mandatory parts of the 802.11i standard).
          The DEPRECATED values are those that combine WEP with TKIP and/or AES, which is not permitted by the WPA2 specifications.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="WEPEncryption" status="deprecated"/>
            <enumeration value="TKIPEncryption" optional="true"/>
            <enumeration value="WEPandTKIPEncryption" status="deprecated"/>
            <enumeration value="AESEncryption" optional="true"/>
            <enumeration value="WEPandAESEncryption" optional="true"
                status="deprecated"/>
            <enumeration value="TKIPandAESEncryption" optional="true"/>
            <enumeration value="WEPandTKIPandAESEncryption" optional="true"
                status="deprecated"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="IEEE11iAuthenticationMode" access="readWrite">
        <description>
          Authentication modes that are available when 802.11i is enabled.

          {{enum}}
          If this ''WLANConfiguration'' instance does not support 802.11i then this parameter MUST NOT be present in this instance of the ''WLANConfiguration'' object.
          ''IEEE11i'' SHOULD be taken to refer to both the 802.11i specification and to the WPA2 specification (any WPA2-certified device will implement all mandatory parts of the 802.11i standard).
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="PSKAuthentication"/>
            <enumeration value="EAPAuthentication" optional="true"/>
            <enumeration value="EAPandPSKAuthentication" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PossibleChannels" access="readOnly">
        <description>
          Possible radio channels for the wireless standard (a, b or g) and the regulatory domain.
          Ranges in the form "n-m" are permitted.
          For example, for 802.11b and North America, would be "1-11".
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="BasicDataTransmitRates" access="readWrite">
        <description>
          Maximum access point data transmit rates in Mbps for unicast, multicast and broadcast frames.
          For example, a value of "1,2", indicates that unicast, multicast and broadcast frames can be transmitted at 1 Mbps and 2 Mbps.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="OperationalDataTransmitRates" access="readWrite">
        <description>
          Maximum access point data transmit rates in Mbps for unicast frames (a superset of {{param|BasicDataTransmitRates}}).
          Given the value of {{param|BasicDataTransmitRates}} from the example above, {{param}} might be "1,2,5.5,11", indicating that unicast frames can additionally be transmitted at 5.5 Mbps and 11 Mbps.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="PossibleDataTransmitRates" access="readOnly">
        <description>
          Data transmit rates for unicast frames at which the access point will permit a station to connect (a subset of {{param|OperationalDataTransmitRates}}).
          Given the values of {{param|BasicDataTransmitRates}} and {{param|OperationalDataTransmitRates}} from the examples above, {{param}} might be "1,2,5.5", indicating that the AP will only permit connections at 1 Mbps, 2 Mbps and 5.5 Mbps, even though it could theoretically accept connections at 11 Mbps.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="InsecureOOBAccessEnabled" access="readWrite">
        <description>
          Indicates whether insecure write access via mechanisms other than the CPE WAN Management Protocol is permitted to the parameters in this object.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="BeaconAdvertisementEnabled" access="readWrite">
        <description>
          Indicates whether or not the access point is sending out beacons.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="RadioEnabled" access="readWrite">
        <description>
          Indicates whether or not the access point radio is enabled.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AutoRateFallBackEnabled" access="readWrite">
        <description>
          Indicates whether the access point can automatically reduce the data rate in the event of undue noise or contention.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="LocationDescription" access="readWrite">
        <description>
          An XML description of information used to identify the access point by name and physical location.  The CPE is not expected to parse this string, but simply to treat it as an opaque string.  {{empty}} indicates no location has been set.
        </description>
        <syntax>
          <string>
            <size maxLength="4096"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="RegulatoryDomain" access="readWrite">
        <description>
          802.11d Regulatory Domain String.  First two octets are ISO/IEC 3166-1 two-character country code.  The third octet is either " " (all environments), "O" (outside) or "I" (inside).
        </description>
        <syntax>
          <string>
            <size maxLength="3"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TotalPSKFailures" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of times pre-shared key (PSK) authentication has failed (relevant only to WPA and 802.11i).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalIntegrityFailures" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of times the MICHAEL integrity check has failed (relevant only to WPA and 802.11i)
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ChannelsInUse" access="readOnly" activeNotify="canDeny">
        <description>
          Channels that the access point determines to be currently in use (including any that it is using itself).
          Ranges in the form "n-m" are permitted.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DeviceOperationMode" access="readWrite">
        <description>
          The current access-point operating mode.  The optional modes permit the AP to be configured as a wireless bridge (to bridge two wired networks), repeater (a bridge that also serves wireless clients), or wireless station. Ad hoc stations are not supported.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="InfrastructureAccessPoint"/>
            <enumeration value="WirelessBridge" optional="true"/>
            <enumeration value="WirelessRepeater" optional="true"/>
            <enumeration value="WirelessStation" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DistanceFromRoot" access="readWrite">
        <description>
          The number of hops from the root access point to the wireless repeater or bridge.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PeerBSSID" access="readWrite">
        <description>
          The MAC address of the peer in wireless repeater or bridge mode.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="AuthenticationServiceMode" access="readWrite">
        <description>
          Indicates whether another service is involved in client authentication ({{enum|LinkAuthentication}} for a co-located authentication server; {{enum|RadiusClient}} for an external RADIUS server).
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="LinkAuthentication" optional="true"/>
            <enumeration value="RadiusClient" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TotalBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes sent over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes received over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of packets sent over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of packets received over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalAssociations" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of devices currently associated with the access point.  This corresponds to the number of entries in the {{object|AssociatedDeivce}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.AssociatedDevice.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="TotalAssociations">
      <description>
        A table of the devices currently associated with the access point.  The size of this table is given by {{param|InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.TotalAssociations}}.  This object MUST be implemented for CPE that contain an 802.11 interface on the LAN side.
      </description>
      <uniqueKey>
        <parameter ref="AssociatedDeviceMACAddress"/>
      </uniqueKey>

      <parameter name="AssociatedDeviceMACAddress" access="readOnly"
          activeNotify="canDeny">
        <description>
          The MAC address of an associated device.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="AssociatedDeviceIPAddress" access="readOnly"
          activeNotify="canDeny">
        <description>
          The IP address or DNS name of an associated device.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AssociatedDeviceAuthenticationState" access="readOnly"
          activeNotify="canDeny">
        <description>
          Whether an associated device has authenticated ({{true}}) or not ({{false}}).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="LastRequestedUnicastCipher" access="readOnly"
          activeNotify="canDeny">
        <description>
          The unicast cipher that was most recently used for a station with a specified MAC address (802.11i only).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastRequestedMulticastCipher" access="readOnly"
          activeNotify="canDeny">
        <description>
          The multicast cipher that was most recently used for a station with a specified MAC address (802.11i only).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastPMKId" access="readOnly" activeNotify="canDeny">
        <description>
          The pairwise master key (PMK) that was most recently used for a station with a specified MAC address (802.11i only).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.WEPKey.{i}."
        access="readOnly" minEntries="4" maxEntries="4">
      <description>
        This is a table of WEP keys.  The size of this table is fixed with exactly 4 entries (with instance numbers 1 through 4).  This object MUST be implemented for CPE that contain an 802.11 interface on the LAN side.
      </description>

      <parameter name="WEPKey" access="readWrite">
        <description>
          A WEP key expressed as a hexadecimal string.
          The WEP encryption level for a given key is inferred from the key length, e.g. 10 characters for 40-bit encryption, or 26 characters for 104-bit encryption (keys do not all have to be of the same length, although they will be if the CPE uses {{param|InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.KeyPassphrase}} to generate them).
          If {{param|InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.KeyPassphrase}} is written, all four WEP keys are immediately generated.  The ACS SHOULD NOT set the passphrase and also set the WEP keys directly (the result of doing this is undefined).
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.PreSharedKey.{i}."
        access="readOnly" minEntries="10" maxEntries="10">
      <description>
        This is a table of preshared keys.  The size of this table is fixed with exactly 10 entries (with instance numbers 1 through 10).  This object MUST be implemented for CPE that contain an 802.11 interface on the LAN side.
      </description>

      <parameter name="PreSharedKey" access="readWrite">
        <description>
          A literal WPA PSK expressed as a hexadecimal string.
          The first table entry contains the default {{param}} (''InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.PreSharedKey.1.PreSharedKey'').
          If {{param|KeyPassphrase}} is written, the PSK is immediately generated.  The ACS SHOULD NOT set the passphrase and also set the PSK directly (the result of doing this is undefined).
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="KeyPassphrase" access="readWrite">
        <description>
          A passphrase from which the PSK is to be generated.
          The first table entry is the same as the parameter {{param|InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.KeyPassphrase}} for the same instance of ''WLANConfiguration''.  When either parameter is changed, the value of the other is changed as well.
          If {{param}} is written, the PSK is immediately generated.  The ACS SHOULD NOT set the passphrase and also set the PSK directly (the result of doing this is undefined).
          The key is generated as specified by WPA, which uses PBKDF2 from PKCS #5: Password-based Cryptography Specification Version 2.0 (RFC2898).
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="63"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AssociatedDeviceMACAddress" access="readWrite">
        <description>
          The MAC address associated with a preshared key, or {{empty}} if no MAC address is associated with the key.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANDevice.{i}.Hosts."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object provides information about each of the hosts on the LAN, including those whose IP address was allocated by the CPE using DHCP as well as hosts with statically allocated IP addresses.
      </description>

      <parameter name="HostNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|Host}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANDevice.{i}.Hosts.Host.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="HostNumberOfEntries">
      <description>
        Host table.
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="IPAddress" access="readOnly">
        <description>
          Current IP Address of the host.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="AddressSource" access="readOnly">
        <description>
          Indicates whether the IP address of the host was allocated by the CPE using DHCP, was assigned to the host statically, or was assigned using automatic IP address allocation.
        </description>
        <syntax>
          <string>
            <enumeration value="DHCP"/>
            <enumeration value="Static"/>
            <enumeration value="AutoIP"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LeaseTimeRemaining" access="readOnly"
          activeNotify="canDeny">
        <description>
          DHCP lease time remaining in seconds.  A value of -1 indicates an infinite lease.  The value MUST be 0 (zero) if the {{param|AddressSource}} is not {{enum|DHCP|AddressSource}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          MAC address of the host.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="HostName" access="readOnly">
        <description>
          The device's host name or {{empty}} if unknown.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InterfaceType" access="readOnly">
        <description>
          Type of physical interface through which this host is connected to the CPE.
        </description>
        <syntax>
          <string>
            <enumeration value="Ethernet"/>
            <enumeration value="USB"/>
            <enumeration value="802.11"/>
            <enumeration value="HomePNA"/>
            <enumeration value="HomePlug"/>
            <enumeration value="Other"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Active" access="readOnly">
        <description>
          Whether or not the host is currently present on the LAN.  The method of presence detection is a local matter to the CPE.
          The ability to list inactive hosts is OPTIONAL.  If the CPE includes inactive hosts in this table, this variable MUST be set to zero for each inactive host.  The length of time an inactive host remains listed in this table is a local matter to the CPE.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.WANDevice.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="WANDeviceNumberOfEntries">
      <description>
        Each instance contains all objects associated with a particular physical WAN interface.
      </description>

      <parameter name="WANConnectionNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|WANConnectionDevice}} in this ''WANDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANCommonInterfaceConfig."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object models WAN interface properties common across all connection instances.
      </description>

      <parameter name="EnabledForInternet" access="readWrite">
        <description>
          Used to enable or disable access to and from the Internet across all connection instances.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="WANAccessType" access="readOnly">
        <description>
          Specifies the WAN access (modem) type.
        </description>
        <syntax>
          <string>
            <enumeration value="DSL"/>
            <enumeration value="Ethernet"/>
            <enumeration value="POTS"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Layer1UpstreamMaxBitRate" access="readOnly">
        <description>
          Specifies the maximum upstream theoretical bit rate for the WAN device in bits per second.  This describes the maximum possible rate given the type of interface assuming the best-case operating environment, regardless of the current operating rate.
          For example, if the physical interface is 100BaseT, this value would be 100000000, regardless of the current operating rate.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Layer1DownstreamMaxBitRate" access="readOnly">
        <description>
          Specifies the maximum downstream theoretical bit rate for the WAN device in bits per second.  This describes the maximum possible rate given the type of interface assuming the best-case operating environment, regardless of the current operating rate.
          For example, if the physical interface is 100BaseT, this value would be 100000000, regardless of the current operating rate.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PhysicalLinkStatus" access="readOnly">
        <description>
          Indicates the state of the physical connection (link) from WANDevice to a connected entity.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Down"/>
            <enumeration value="Initializing"/>
            <enumeration value="Unavailable"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WANAccessProvider" access="readOnly">
        <description>
          Name of the Service Provider providing link connectivity on the WAN.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TotalBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The cumulative counter for total number of bytes sent upstream across all connection service instances on the WAN device.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The cumulative counter for total number of bytes received downstream across all connection service instances on the WAN device.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The cumulative counter for total number of packets (IP or PPP) sent upstream across all connection service instances on the WAN device.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The cumulative counter for total number of packets (IP or PPP) received downstream across all connection service instances on the WAN device.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaximumActiveConnections" access="readOnly"
          activeNotify="canDeny">
        <description>
          Indicates the maximum number of active connections the CPE can simultaneously support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="NumberOfActiveConnections" access="readOnly">
        <description>
          Number of WAN connection service instances currently active on this WAN interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANCommonInterfaceConfig.Connection.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="NumberOfActiveConnections">
      <description>
        Active connection table.
      </description>
      <uniqueKey>
        <parameter ref="ActiveConnectionServiceID"/>
      </uniqueKey>

      <parameter name="ActiveConnectionDeviceContainer" access="readOnly">
        <description>
          Specifies a WAN connection device object associated with this connection instance.  The content is the full hierarchical parameter name of the WAN connection device.  Example: ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ActiveConnectionServiceID" access="readOnly">
        <description>
          Specifies a WAN connection object associated with this connection instance.  The content is the full hierarchical parameter name of the layer-3 connection object.  Example: ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        This object models physical layer properties specific to a single physical connection of a DSL modem used for Internet access on a CPE.  This object is required for a CPE with a DSL modem WAN interface, and is exclusive of any other ''WAN*InterfaceConfig'' object within a given ''WANDevice'' instance.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the link.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Status of the DSL physical link.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Initializing"/>
            <enumeration value="EstablishingLink"/>
            <enumeration value="NoSignal"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModulationType" access="readOnly">
        <description>
          Indicates the type of modulation used on the connection.
        </description>
        <syntax>
          <string>
            <enumeration value="ADSL_G.dmt"/>
            <enumeration value="ADSL_G.lite"/>
            <enumeration value="ADSL_G.dmt.bis"/>
            <enumeration value="ADSL_re-adsl"/>
            <enumeration value="ADSL_2plus"/>
            <enumeration value="ADLS_four"/>
            <enumeration value="ADSL_ANSI_T1.413"/>
            <enumeration value="G.shdsl"/>
            <enumeration value="IDSL"/>
            <enumeration value="HDSL"/>
            <enumeration value="SDSL"/>
            <enumeration value="VDSL"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LineEncoding" access="readOnly">
        <description>
          The line encoding method used in establishing the Layer 1 DSL connection between the CPE and the DSLAM.  Note: Generally speaking, this variable does not change after provisioning.
        </description>
        <syntax>
          <string>
            <enumeration value="DMT"/>
            <enumeration value="CAP"/>
            <enumeration value="2B1Q"/>
            <enumeration value="43BT"/>
            <enumeration value="PAM"/>
            <enumeration value="QAM"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DataPath" access="readOnly">
        <description>
          Indicates whether the data path is fast (lower latency) or interleaved (lower error rate).
        </description>
        <syntax>
          <string>
            <enumeration value="Interleaved"/>
            <enumeration value="Fast"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InterleaveDepth" access="readOnly">
        <description>
          ADSL Interleaved depth.  This variable is only applicable if {{param|DataPath}} = {{enum|Interleaved|DataPath}}.  Otherwise, the value of this parameter MUST be zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LineNumber" access="readOnly">
        <description>
          Signifies the line pair that the modem is using to connection.  {{param}} = 1 is the innermost pair.
        </description>
        <syntax>
          <int>
            <range minInclusive="1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="UpstreamCurrRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current physical layer aggregate data rate (expressed in Kbps) of the upstream DSL connection.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DownstreamCurrRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current physical layer aggregate data rate (expressed in Kbps) of the downstream DSL connection.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UpstreamMaxRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current attainable rate (expressed in Kbps) of the upstream DSL channel.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DownstreamMaxRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current attainable rate (expressed in Kbps) of the downstream DSL channel.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UpstreamNoiseMargin" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current signal-to-noise ratio (expressed in 0.1 db) of the upstream DSL connection.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="DownstreamNoiseMargin" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current signal-to-noise ratio (expressed in 0.1 db) of the downstream DSL connection.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="UpstreamAttenuation" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current upstream signal loss (expressed in 0.1 dB).
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="DownstreamAttenuation" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current downstream signal loss (expressed in 0.1 dB).
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="UpstreamPower" access="readOnly" activeNotify="canDeny">
        <description>
          The current output power at the CPE's DSL interface (expressed in 0.1 dBmV),
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="DownstreamPower" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current received power at the CPE's DSL interface (expressed in 0.1 dBmV),
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="ATURVendor" access="readOnly">
        <description>
          ATU-R vendor identifier as defined in G.994.1 and T1.413.  In the case of G.994.1 this corresponds to the four-octet provider code, which MUST be represented as eight hexadecimal digits.
        </description>
        <syntax>
          <string>
            <size maxLength="8"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATURCountry" access="readOnly">
        <description>
          T.35 country code of the ATU-R vendor as defined in G.994.1, where the two-octet value defined in G.994.1 MUST be represented as four hexadecimal digits.
        </description>
        <syntax>
          <string>
            <size maxLength="4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATURANSIStd" access="readOnly">
        <description>
          ATU-R T1.413 Revision Number as defined in T1.413 Issue 2.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATURANSIRev" access="readOnly">
        <description>
          ATU-R Vendor Revision Number as defined in T1.413 Issue 2.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCVendor" access="readOnly">
        <description>
          ATU-C vendor identifier as defined in G.994.1 and T1.413.  In the case of G.994.1 this corresponds to the four-octet provider code, which MUST be represented as eight hexadecimal digits.
        </description>
        <syntax>
          <string>
            <size maxLength="8"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATUCCountry" access="readOnly">
        <description>
          T.35 country code of the ATU-C vendor as defined in G.994.1, where the two-octet value defined in G.994.1 MUST be represented as four hexadecimal digits.
        </description>
        <syntax>
          <string>
            <size maxLength="4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATUCANSIStd" access="readOnly">
        <description>
          ATU-C T1.413 Revision Number as defined in T1.413 Issue 2.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCANSIRev" access="readOnly">
        <description>
          ATU-C Vendor Revision Number as defined in T1.413 Issue 2.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalStart" access="readOnly" activeNotify="canDeny">
        <description>
          Number of seconds since the beginning of the period used for collection of ''Total'' statistics.
          Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ShowtimeStart" access="readOnly" activeNotify="canDeny">
        <description>
          Number of seconds since the most recent DSL Showtime-the beginning of the period used for collection of ''Showtime'' statistics.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LastShowtimeStart" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of seconds since the second most recent DSL Showtime-the beginning of the period used for collection of ''LastShowtime'' statistics.
          If the CPE has not retained information about the second most recent Showtime (e.g., on reboot), the start of ''LastShowtime'' statistics MAY temporarily coincide with the start of ''Showtime'' statistics.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CurrentDayStart" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of seconds since the beginning of the period used for collection of ''CurrentDay'' statistics.
          The CPE MAY align the beginning of each ''CurrentDay'' interval with days in the UTC time zone, but is not required to do so.
          Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QuarterHourStart" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of seconds since the beginning of the period used for collection of ''QuarterHour'' statistics.
          The CPE MAY align the beginning of each ''QuarterHour'' interval with real-time quarter-hour intervals, but is not required to do so.
          Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for a WAN DSL physical interface.
      </description>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.Total."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains DSL total statistics.
      </description>

      <parameter name="ReceiveBlocks" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of successfully received blocks, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of successfully transmitted blocks, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of cell-delineation errors (total seconds with NCD or LCD failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of link-retrain errors (Full Initialization Count as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of initialization errors (LINIT failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitTimeouts" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of initialization timeout errors.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossOfFraming" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of loss-of-framing errors (LOF failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErroredSecs" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of errored seconds (ES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of severely errored seconds (SES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of FEC errors detected (FEC-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCFECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of FEC errors detected by the ATU-C (FEC-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of HEC errors detected (HEC-P as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of HEC errors detected by the ATU-C (HEC-PFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of CRC errors detected (CV-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of CRC errors detected by the ATU-C (CV-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.Showtime."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains DSL statistics accumulated since the most recent DSL Showtime.
      </description>

      <parameter name="ReceiveBlocks" access="readOnly" activeNotify="canDeny">
        <description>
          Number of successfully received blocks since the most recent DSL Showtime, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of successfully transmitted blocks since the most recent DSL Showtime, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny">
        <description>
          Number of cell-delineation errors since the most recent DSL Showtime (total seconds with NCD or LCD failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny">
        <description>
          Number of link-retrain errors since the most recent DSL Showtime (Full Initialization Count as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization errors since the most recent DSL Showtime (LINIT failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitTimeouts" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization timeout errors since the most recent DSL Showtime.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossOfFraming" access="readOnly" activeNotify="canDeny">
        <description>
          Number of loss-of-framing errors since the most recent DSL Showtime (LOF failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErroredSecs" access="readOnly" activeNotify="canDeny">
        <description>
          Number of errored seconds since the most recent DSL Showtime (ES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds since the most recent DSL Showtime (SES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected since the most recent DSL Showtime (FEC-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCFECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected by the ATU-C since the most recent DSL Showtime (FEC-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected since the most recent DSL Showtime (HEC-P as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected by the ATU-C since the most recent DSL Showtime (HEC-PFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected since the most recent DSL Showtime (CV-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected by the ATU-C since the most recent DSL Showtime (CV-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.LastShowtime."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains DSL statistics accumulated since the second most recent DSL Showtime.
      </description>

      <parameter name="ReceiveBlocks" access="readOnly" activeNotify="canDeny">
        <description>
          Number of successfully received blocks since the second most recent DSL Showtime, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of successfully transmitted blocks since the second most recent DSL Showtime, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny">
        <description>
          Number of cell-delineation errors since the second most recent DSL Showtime (total seconds with NCD or LCD failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny">
        <description>
          Number of link-retrain errors since the second most recent DSL Showtime (Full Initialization Count as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization errors since the second most recent DSL Showtime (LINIT failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitTimeouts" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization timeout errors since the second most recent DSL Showtime.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossOfFraming" access="readOnly" activeNotify="canDeny">
        <description>
          Number of loss-of-framing errors since the second most recent DSL Showtime (LOF failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErroredSecs" access="readOnly" activeNotify="canDeny">
        <description>
          Number of errored seconds since the second most recent DSL Showtime (ES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds since the second most recent DSL Showtime (SES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected since the second most recent DSL Showtime (FEC-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCFECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected by the ATU-C since the second most recent DSL Showtime (FEC-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected since the second most recent DSL Showtime (HEC-P as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected by the ATU-C since the second most recent DSL Showtime (HEC-PFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected since the second most recent DSL Showtime (CV-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected by the ATU-C since the second most recent DSL Showtime (CV-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.CurrentDay."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains DSL statistics accumulated during the current day.
      </description>

      <parameter name="ReceiveBlocks" access="readOnly" activeNotify="canDeny">
        <description>
          Number of successfully received blocks during the current day, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of successfully transmitted blocks during the current day, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny">
        <description>
          Number of cell-delineation errors during the current day (total seconds with NCD or LCD failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny">
        <description>
          Number of link-retrain errors during the current day (Full Initialization Count as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization errors during the current day (LINIT failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitTimeouts" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization timeout errors during the current day.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossOfFraming" access="readOnly" activeNotify="canDeny">
        <description>
          Number of loss-of-framing errors during the current day (LOF failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErroredSecs" access="readOnly" activeNotify="canDeny">
        <description>
          Number of errored seconds during the current day (ES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds during the current day (SES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected during the current day (FEC-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCFECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected by the ATU-C during the current day (FEC-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected during the current day (HEC-P as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected by the ATU-C during the current day (HEC-PFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected during the current day (CV-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected by the ATU-C during the current day (CV-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.QuarterHour."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains DSL statistics accumulated during the current quarter hour.
      </description>

      <parameter name="ReceiveBlocks" access="readOnly" activeNotify="canDeny">
        <description>
          Number of successfully received blocks during the current quarter hour, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of successfully transmitted blocks during the current quarter hour, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny">
        <description>
          Number of cell-delineation errors during the current quarter hour (total seconds with NCD or LCD failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny">
        <description>
          Number of link-retrain errors during the current quarter hour (Full Initialization Count as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization errors during the current quarter hour (LINIT failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitTimeouts" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization timeout errors during the current quarter hour.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossOfFraming" access="readOnly" activeNotify="canDeny">
        <description>
          Number of loss-of-framing errors during the current quarter hour (LOF failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErroredSecs" access="readOnly" activeNotify="canDeny">
        <description>
          Number of errored seconds during the current quarter hour (ES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds during the current quarter hour (SES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected during the current quarter hour (FEC-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCFECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected by the ATU-C during the current quarter hour (FEC-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected during the current quarter hour (HEC-P as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected by the ATU-C during the current quarter hour (HEC-PFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected during the current quarter hour (CV-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected by the ATU-C during the current quarter hour (CV-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANEthernetInterfaceConfig."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        This object models physical layer properties specific to a single Ethernet physical connection used for Internet access on a CPE.  This object is required for a CPE with an Ethernet WAN interface, and is exclusive of any other ''WAN*InterfaceConfig'' object within a given ''WANDevice'' instance.  Note that this object is not related to the Ethernet protocol layer sometimes used in associated with a DSL connection.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this interface.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this interface.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="NoLink"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The physical address of the interface.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MaxBitRate" access="readWrite">
        <description>
          The maximum upstream and downstream bit rate available to this connection.
        </description>
        <syntax>
          <string>
            <enumeration value="10"/>
            <enumeration value="100"/>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DuplexMode" access="readWrite">
        <description>
          The duplex mode available to this connection.
        </description>
        <syntax>
          <string>
            <enumeration value="Half"/>
            <enumeration value="Full"/>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANEthernetInterfaceConfig.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for an Ethernet WAN interface on a CPE device.
      </description>

      <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes sent over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes received over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of packets sent over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of packets received over the interface since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLConnectionManagement."
        access="readOnly" minEntries="1" maxEntries="1" status="obsoleted">
      <description>
        This object is intended for a CPE with a DSL modem WAN interface.
        Note - This object was originally created to allow ''WANConnection'' devices and services to be added dynamically in the IGD object model in TR-064 because UPnP Device Architecture 1.0 did not contain this capability natively.  Because in TR-069 objects can be created and removed using the AddObject and DeleteObject RPCs, ''WANConnection'' interfaces can be managed using these TR-069 mechanisms directly.  Therefore, unlike the TR-064 equivalent, the {{object|ConnectionService}} table within this object is Read-Only in the TR-069 ''InternetGatewayDevice'' data model context.
        This object is OBSOLETED because it serves no purpose.
      </description>

      <parameter name="ConnectionServiceNumberOfEntries" access="readOnly"
          status="obsoleted">
        <description>
          Number of table entries in the ConnectionService table.

          This parameter is OBSOLETED because it is within an OBSOLETED object.  The CPE MAY return a value of 0 for this parameter, regardless of the number of connection services, in which case no {{object|ConnectionService}} instances will exist.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLConnectionManagement.ConnectionService.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ConnectionServiceNumberOfEntries"
        status="obsoleted">
      <description>
        This table contains an entry for each connection service.

        This object is OBSOLETED because it is within an OBSOLETED object.
      </description>
      <uniqueKey>
        <parameter ref="WANConnectionService"/>
      </uniqueKey>

      <parameter name="WANConnectionDevice" access="readOnly"
          status="obsoleted">
        <description>
          Specifies a WAN connection device object associated with this connection instance.  The content is the full hierarchical parameter name of the WAN connection device.  Example: ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2''.

          This parameter is OBSOLETED because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WANConnectionService" access="readOnly"
          status="obsoleted">
        <description>
          Specifies a WAN connection object associated with this connection instance.  The content is the full hierarchical parameter name of the layer-3 connection object.  Example: ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.

          This parameter is OBSOLETED because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DestinationAddress" access="readOnly"
          status="obsoleted">
        <description>
          Destination address of the WANConnectionDevice entry.  One of:
          * ''PVC: VPI/VCI''
          * ''SVC: ATM connection name''
          * ''SVC: ATM address''

          The "PVC:" or "SVC:" prefix is part of the parameter value and MUST be followed by 0 or 1 space characters.  For example, possible values for this parameter are "PVC:8/23" or "PVC: 0/35".
          This parameter is OBSOLETED because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LinkType" access="readOnly" status="obsoleted">
        <description>
          Link Type of the ''WANConnectionDevice'' entry.  One of Link Types as described in ''WANDSLLinkConfig''.
          This parameter is OBSOLETED because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ConnectionType" access="readOnly" status="obsoleted">
        <description>
          Connection Type of the ''WANPPPConnection'' or ''WANIPConnection'' entry. One of ''PossibleConnectionTypes'' as described in ''WAN**Connection'' service.

          This parameter is OBSOLETED because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly" status="obsoleted">
        <description>
          User-readable name of the connection.

          This parameter is OBSOLETED because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.WANDevice.{i}.WANDSLDiagnostics."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object is to provide diagnostic information for a CPE with an ADSL2 or ADSL2+ modem WAN interface, but MAY also be used for ADSL.
      </description>

      <parameter name="LoopDiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicates availability of diagnostic data.  {{enum}}
          If the ACS sets the value of this parameter to {{enum|Requested}}, the CPE MUST initiate the corresponding diagnostic test, which brings down the DSL connection while the test is operating.  When writing, the only allowed value is {{enum|Requested}}.
          When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic.
          When the test is completed, the value of this parameter MUST be either {{enum|Complete}} (if the test completed successfully), or one of the ''Error'' values listed above.
          If the value of this parameter is anything other than {{enum|Complete}}, the values of the results parameters for this test are indeterminate.
          When the diagnostic initiated by the ACS is completed, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the corresponding reason in the Inform message.
          After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object instance) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots.  After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to {{enum|None}}.
        </description>
        <syntax>
          <string>
            <enumeration value="None" access="readOnly"/>
            <enumeration value="Requested"/>
            <enumeration value="Complete" access="readOnly"/>
            <enumeration value="Error_Internal" access="readOnly"/>
            <enumeration value="Error_Other" access="readOnly"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ACTPSDds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream actual power spectral density.  Interpretation of the value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="ACTPSDus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream actual power spectral density.  Interpretation of the value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="ACTATPds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream actual aggregate transmitter power.  Interpretation of the value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="ACTATPus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream actual aggregate transmitter power.  Interpretation of the value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="HLINSCds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream linear representation scale.  Interpretation of the value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="HLINpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream linear channel characteristics per subcarrier.  Each successive pair of integers represents the real and imaginary parts of each complex value.  Maximum number of complex pairs is 256 for ADSL and ADSL2, 512 for ADSL2+.  Interpretation of the value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <list/>
          <int/>
        </syntax>
      </parameter>

      <parameter name="QLNpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream quiet line noise per subcarrier.  Maximum number of elements is 256 for ADSL and ADSL2, 512 for ADSL2+.  Interpretation of the value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <list/>
          <int/>
        </syntax>
      </parameter>

      <parameter name="SNRpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream SNR per subcarrier.  Maximum number of elements is 256 for ADSL and ADSL2, 512 for ADSL2+.  Interpretation of the value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <list/>
          <int/>
        </syntax>
      </parameter>

      <parameter name="BITSpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream bit allocation per subcarrier.  Maximum number of elements is 256 for ADSL and ADSL2, 512 for ADSL2+.  Interpretation of the value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <list/>
          <int/>
        </syntax>
      </parameter>

      <parameter name="GAINSpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream gain allocation per subcarrier.  Maximum number of elements is 256 for ADSL and ADSL2, 512 for ADSL2+.  Interpretation of the value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <list/>
          <int/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="WANConnectionNumberOfEntries">
      <description>
        Each instance contains objects associated with a given WAN link.  In this case of DSL, each instance corresponds to a single ATM VC.  On creation of a ''WANConnectionDevice'' instance, there are initially no connection objects contained within.
      </description>

      <parameter name="WANIPConnectionNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|WANIPConnection}} in this ''WANConnectionDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="WANPPPConnectionNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|WANPPPConnection}} in this ''WANConnectionDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANDSLLinkConfig."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        This object models the ATM layer properties specific to a single physical connection of a DSL modem used for Internet access on a CPE.  This object is intended for a CPE with a DSL modem WAN interface, and is exclusive of any other ''WAN*LinkConfig'' object within a given ''WANConnectionDevice'' instance.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the link.  On creation of a ''WANConnectionDevice'', this object is disabled by default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="LinkStatus" access="readOnly">
        <description>
          Status of the link.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Down"/>
            <enumeration value="Initializing"/>
            <enumeration value="Unavailable"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LinkType" access="readWrite">
        <description>
          Indicates the type of DSL connection and refers to the complete stack of protocol used for this connection.

          {{enum}}
          The value ''PPPoE'' has always been DEPRECATED and ''EoA'' should be used instead (see {{bibref|TR-098a1|Annex B}}).  The ACS MUST NOT set this parameter to ''PPPoE'' and the CPE MUST reject attempts to do so.
        </description>
        <syntax>
          <string>
            <enumeration value="EoA">
              <description>RFC2684 bridged Ethernet over ATM</description>
            </enumeration>
            <enumeration value="IPoA">
              <description>RFC2684 routed IP over ATM</description>
            </enumeration>
            <enumeration value="PPPoA">
              <description>RFC2364 PPP over ATM</description>
            </enumeration>
            <enumeration value="PPPoE" status="deprecated">
              <description>
                RFC2516 PPP over Ethernet on RFC2684 bridged Ethernet over ATM
              </description>
            </enumeration>
            <enumeration value="CIP">
              <description>RFC1577 Classical IP over ATM</description>
            </enumeration>
            <enumeration value="Unconfigured"/>
          </string>
          <default type="object" value="Unconfigured"/>
        </syntax>
      </parameter>

      <parameter name="AutoConfig" access="readOnly">
        <description>
          Indicates if the CPE is currently using some auto configuration mechanisms for this connection.  If this variable is {{true}}, all writable variables in this connection instance become read-only. Any attempt to change one of these variables SHOULD fail and an error SHOULD be returned.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ModulationType" access="readOnly">
        <description>
          Indicates the type of DSL modulation used on the interface associated with this connection (duplication from ''WANDSLInterfaceConfig'').
        </description>
        <syntax>
          <string>
            <enumeration value="ADSL_G.dmt"/>
            <enumeration value="ADSL_G.lite"/>
            <enumeration value="ADSL_G.dmt.bis"/>
            <enumeration value="ADSL_re-adsl"/>
            <enumeration value="ADSL_2plus"/>
            <enumeration value="ADLS_four"/>
            <enumeration value="ADSL_ANSI_T1.413"/>
            <enumeration value="G.shdsl"/>
            <enumeration value="IDSL"/>
            <enumeration value="HDSL"/>
            <enumeration value="SDSL"/>
            <enumeration value="VDSL"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DestinationAddress" access="readWrite">
        <description>
          Destination address of this link.  One of:
          * ''PVC: VPI/VCI''
          * ''SVC: ATM connection name''
          * ''SVC: ATM address''

          The "PVC:" or "SVC:" prefix is part of the parameter value and MUST be followed by 0 or 1 space characters.  For example, possible values for this parameter are "PVC:8/23" or "PVC: 0/35".
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATMEncapsulation" access="readWrite">
        <description>
          Identifies the connection encapsulation that will be used.
        </description>
        <syntax>
          <string>
            <enumeration value="LLC"/>
            <enumeration value="VCMUX"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="FCSPreserved" access="readWrite">
        <description>
          This flag tells if a checksum SHOULD be added in the ATM payload. It does not refer to the checksum of one of the ATM cells or AALX packets. In case of LLC or VCMUX encapsulation, this ATM checksum is the FCS field described in RFC 1483. It is only applicable in the upstream direction.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="VCSearchList" access="readWrite">
        <description>
          Comma separated ordered list of VPI/VCI pairs to search if a link using the {{param|DestinationAddress}} cannot be established.  In the form:
          : ''VPI1/VCI1, VPI2/VCI2, ...''
          Example:
          : ''0/35, 8/35, 1/35''
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ATMAAL" access="readOnly">
        <description>
          Describes the ATM Adaptation Layer (AAL) currently in use on the PVC.
        </description>
        <syntax>
          <string>
            <enumeration value="AAL1"/>
            <enumeration value="AAL2"/>
            <enumeration value="AAL3"/>
            <enumeration value="AAL4"/>
            <enumeration value="AAL5"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATMTransmittedBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current count of successfully transmitted cells.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMReceivedBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current count of successfully received cells.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMQoS" access="readWrite">
        <description>
          Describes the ATM Quality Of Service (QoS) being used on the VC.
        </description>
        <syntax>
          <string>
            <enumeration value="UBR"/>
            <enumeration value="CBR"/>
            <enumeration value="GFR"/>
            <enumeration value="VBR-nrt"/>
            <enumeration value="VBR-rt"/>
            <enumeration value="UBR+"/>
            <enumeration value="ABR"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATMPeakCellRate" access="readWrite">
        <description>
          Specifies the upstream peak cell rate in cells per second.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMMaximumBurstSize" access="readWrite">
        <description>
          Specifies the upstream maximum burst size in cells.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMSustainableCellRate" access="readWrite">
        <description>
          Specifies the upstream sustainable cell rate, in cells per second, used for traffic shaping.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AAL5CRCErrors" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <description>
          Count of the AAL5 layer cyclic redundancy check errors.

          This parameter is DEPRECATED because it overlaps with the {{param|ATMCRCErrors}} parameter. If present, it MUST have the same value as the {{param|ATMCRCErrors}} parameter if AAL5 is in use, or 0 if AAL5 is not in use.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Count of the ATM layer cyclic redundancy check (CRC) errors.
          This refers to CRC errors at the ATM adaptation layer (AAL). The AAL in use is indicated by the {{param|ATMAAL}} parameter. The value of the {{param}} parameter MUST be 0 for AAL types that have no CRCs.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Count of the number of Header Error Check related errors at the ATM layer.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANATMF5LoopbackDiagnostics."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object is provides access to an ATM-layer F5 OAM loopback test.
      </description>

      <parameter name="DiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicates availability of diagnostic data.  {{enum}}
          If the ACS sets the value of this parameter to {{enum|Requested}}, the CPE MUST initiate the corresponding diagnostic test.  When writing, the only allowed value is {{enum|Requested}}.  To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set either prior to or at the same time as (in the same SetParameterValues) setting the {{param}} to {{enum|Requested}}.
          When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic.
          When the test is completed, the value of this parameter MUST be either {{enum|Complete}} (if the test completed successfully), or one of the ''Error'' values listed above.
          If the value of this parameter is anything other than {{enum|Complete}}, the values of the results parameters for this test are indeterminate.
          When the diagnostic initiated by the ACS is completed (successfully or not), the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code ''8 DIAGNOSTICS COMPLETE'' in the Inform message.
          After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object instance) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots.  After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to {{enum|None}}.
          Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to {{enum|None}}.
          While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to {{enum|None}}.
          While the test is in progress, setting this parameter to {{enum|Requested}} (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters.
        </description>
        <syntax>
          <string>
            <enumeration value="None" access="readOnly"/>
            <enumeration value="Requested"/>
            <enumeration value="Complete" access="readOnly"/>
            <enumeration value="Error_Internal" access="readOnly"/>
            <enumeration value="Error_Other" access="readOnly"/>
          </string>
          <default type="object" value="None"/>
        </syntax>
      </parameter>

      <parameter name="NumberOfRepetitions" access="readWrite">
        <description>
          Number of repetitions of the ping test to perform before reporting the results.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
          <default type="object" value="1"/>
        </syntax>
      </parameter>

      <parameter name="Timeout" access="readWrite">
        <description>
          Timeout in milliseconds for the ping test.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SuccessCount" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the number of successful pings (those in which a successful response was received prior to the timeout) in the most recent ping test.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="FailureCount" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the number of failed pings in the most recent ping test.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="AverageResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the average response time in milliseconds over all repetitions with successful responses of the most recent ping test.  If there were no successful responses, this value MUST be zero.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="MinimumResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the minimum response time in milliseconds over all repetitions with successful responses of the most recent ping test.  If there were no successful responses, this value MUST be zero.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="MaximumResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the maximum response time in milliseconds over all repetitions with successful responses of the most recent ping test.  If there were no successful responses, this value MUST be zero.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANEthernetLinkConfig."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        This object models the Ethernet link layer properties specific to a single physical connection used for Internet access on a CPE.  This object is intended for a CPE with an Ethernet WAN interface, and is exclusive of any other ''WAN*LinkConfig'' object within a given ''WANConnectionDevice'' instance.  Note that this object is not related to the Ethernet protocol layer sometimes used in associated with a DSL connection.
      </description>

      <parameter name="EthernetLinkStatus" access="readOnly">
        <description>
          Status of the Ethernet link.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Down"/>
            <enumeration value="Unavailable"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPOTSLinkConfig."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        This object models the POTS link layer properties specific to a single physical connection used for Internet access on a CPE.  This object is intended for a CPE with a POTS WAN interface, and is exclusive of any other ''WAN*LinkConfig'' object within a given ''WANConnectionDevice'' instance.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the link.  On creation of a ''WANConnectionDevice'', this object is disabled by default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="LinkStatus" access="readOnly">
        <description>
          Status of the link.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Down"/>
            <enumeration value="Dialing"/>
            <enumeration value="Connecting"/>
            <enumeration value="Unavailable"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPPhoneNumber" access="readWrite">
        <description>
          Specifies a list of strings separated by semicolon (;), each string representing a phone number to connect to a particular ISP. The digits of the phone number follow the semantics of the ITU-T E.164 specification. Delimiters such as brackets or hyphens between the digits of a phone number are to be ignored by the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ISPInfo" access="readWrite">
        <description>
          Information identifying the Internet Service Provider. The format of the string is vendor specific.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="LinkType" access="readWrite">
        <description>
          This variable indicates the type of POTS link used for the dialup connection.
        </description>
        <syntax>
          <string>
            <enumeration value="PPP_Dialup"/>
          </string>
          <default type="object" value="PPP_Dialup"/>
        </syntax>
      </parameter>

      <parameter name="NumberOfRetries" access="readWrite">
        <description>
          The number of times the CPE SHOULD attempt an Internet connection setup before returning error.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DelayBetweenRetries" access="readWrite">
        <description>
          The number of seconds the CPE SHOULD wait between attempts to setup an Internet connection.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Fclass" access="readOnly">
        <description>
          Specifies capabilities of the POTS modem - i.e., if it handles data ({{enum|0}}), fax ({{enum|1}},{{enum|2}},{{enum|2.0}}), voice ({{enum|8}}), DSVD ({{enum|80}}).
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="0"/>
            <enumeration value="1"/>
            <enumeration value="2"/>
            <enumeration value="2.0"/>
            <enumeration value="8"/>
            <enumeration value="80"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DataModulationSupported" access="readOnly">
        <description>
          The modulation standard currently being used for data.
        </description>
        <syntax>
          <string>
            <enumeration value="V92"/>
            <enumeration value="V90"/>
            <enumeration value="V34"/>
            <enumeration value="V32bis"/>
            <enumeration value="V32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DataProtocol" access="readOnly">
        <description>
          The protocol standard currently being used for data transfers.
        </description>
        <syntax>
          <string>
            <enumeration value="V42_LAPM"/>
            <enumeration value="V42_MNP4"/>
            <enumeration value="V14"/>
            <enumeration value="V80"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DataCompression" access="readOnly">
        <description>
          The compression technology implemented on the modem.
        </description>
        <syntax>
          <string>
            <enumeration value="V42bis"/>
            <enumeration value="MNP5"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PlusVTRCommandSupported" access="readOnly">
        <description>
          Capability for full duplex operation with data and voice.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="WANIPConnectionNumberOfEntries"
        enableParameter="Enable">
      <description>
        This object enables configuration of IP connections on the WAN interface of a CPE.
      </description>
      <uniqueKey>
        <parameter ref="ExternalIPAddress"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the connection instance.  On creation of a ''WANIPConnection'' instance, it is initially disabled.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="ConnectionStatus" access="readOnly">
        <description>
          Current status of the connection.
        </description>
        <syntax>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="Connecting"/>
            <enumeration value="Connected"/>
            <enumeration value="PendingDisconnect"/>
            <enumeration value="Disconneting"/>
            <enumeration value="Disconnected"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PossibleConnectionTypes" access="readOnly">
        <description>
          Types of connections possible for this connection instance.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="IP_Routed"/>
            <enumeration value="IP_Bridged"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionType" access="readWrite">
        <description>
          Specifies the connection type of the connection instance.
        </description>
        <syntax>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="IP_Routed"/>
            <enumeration value="IP_Bridged"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Name" access="readWrite">
        <description>
          User-readable name of this connection.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Uptime" access="readOnly" activeNotify="canDeny">
        <description>
          The time in seconds that this connection has been up.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LastConnectionError" access="readOnly">
        <description>
          The cause of failure for the last connection setup attempt.
        </description>
        <syntax>
          <string>
            <enumeration value="ERROR_NONE"/>
            <enumeration value="ERROR_COMMAND_ABORTED"/>
            <enumeration value="ERROR_NOT_ENABLED_FOR_INTERNET"/>
            <enumeration value="ERROR_USER_DISCONNECT"/>
            <enumeration value="ERROR_ISP_DISCONNECT"/>
            <enumeration value="ERROR_IDLE_DISCONNECT"/>
            <enumeration value="ERROR_FORCED_DISCONNECT"/>
            <enumeration value="ERROR_NO_CARRIER"/>
            <enumeration value="ERROR_IP_CONFIGURATION"/>
            <enumeration value="ERROR_UNKNOWN"/>
          </string>
          <default type="object" value="ERROR_NONE"/>
        </syntax>
      </parameter>

      <parameter name="AutoDisconnectTime" access="readWrite">
        <description>
          The time in seconds since the establishment of the connection after which connection termination is automatically initiated by the CPE.  This occurs irrespective of whether the connection is being used or not.  A value of 0 (zero) indicates that the connection is not to be shut down automatically.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IdleDisconnectTime" access="readWrite">
        <description>
          The time in seconds that if the connection remains idle, the CPE automatically terminates the connection.  A value of 0 (zero) indicates that the connection is not to be shut down automatically.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="WarnDisconnectDelay" access="readWrite">
        <description>
          Time in seconds the Status remains in the pending disconnect state before transitioning to disconnecting state to drop the connection.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RSIPAvailable" access="readOnly">
        <description>
          Indicates if Realm-specific IP (RSIP) is available as a feature on the CPE.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="NATEnabled" access="readWrite">
        <description>
          Indicates if Network Address Translation (NAT) is enabled for this connection.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AddressingType" access="readWrite">
        <description>
          The method used to assign an address to the WAN side interface of the CPE for this connection.
        </description>
        <syntax>
          <string>
            <enumeration value="DHCP"/>
            <enumeration value="Static"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExternalIPAddress" access="readWrite">
        <description>
          This is the external IP address used by NAT for this connection.  This parameter is configurable only if the {{param|AddressingType}} is {{enum|Static|AddressingType}}.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="SubnetMask" access="readWrite">
        <description>
          Subnet mask of the WAN interface.  This parameter is configurable only if the {{param|AddressingType}} is {{enum|Static|AddressingType}}.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DefaultGateway" access="readWrite">
        <description>
          The IP address of the default gateway for this connection.  This parameter is configurable only if the {{param|AddressingType}} is {{enum|Static|AddressingType}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DNSEnabled" access="readWrite">
        <description>
          Whether or not the device SHOULD attempt to query a DNS server across this connection.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DNSOverrideAllowed" access="readWrite">
        <description>
          Whether or not a manually set, non-empty DNS address can be overridden by a DNS entry received from the WAN.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DNSServers" access="readWrite">
        <description>
          DNS server IP addresses for this connection.  Support for more than three DNS Servers is OPTIONAL.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="MaxMTUSize" access="readWrite">
        <description>
          The maximum allowed size of an Ethernet frame from LAN-side devices.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="1540"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readWrite">
        <description>
          The physical address of the ''WANIPConnection'' if applicable.  Configurable only if {{param|MACAddressOverride}} is present and {{true}}.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddressOverride" access="readWrite">
        <description>
          Whether the value of {{param|MACAddress}} parameter can be overridden. If {{false}}, the CPE's default value is used (or restored if it had previously been overridden).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ConnectionTrigger" access="readWrite">
        <description>
          Trigger used to establish the IP connection.

          {{enum}}
          The above values are defined as follows:
          * {{enum|OnDemand}}: If this IP connection is disconnected for any reason, it is to remain disconnected until the CPE has one or more packets to communicate over this connection, at which time the CPE automatically attempts to reestablish the connection.
          * {{enum|AlwaysOn}}: If this IP connection is disconnected for any reason, the CPE automatically attempts to reestablish the connection (and continues to attempt to reestablish the connection as long it remains disconnected).
          * {{enum|Manual}}: If this IP connection is disconnected for any reason, it is to remain disconnected until the user of the CPE explicitly instructs the CPE to reestablish the connection.
          Note that the reason for an IP connection becoming disconnected to begin with might be either external to the CPE, such as non-renewal of a DHCP lease or momentary disconnection of the physical interface, or internal to the CPE, such as use of the {{param|IdleDisconnectTime}} and/or {{param|AutoDisconnectTime}} parameters in this object.
          Note also that the means by which a CPE would keep an IP connection disconnected (while waiting for the designated trigger) if it is otherwise physically connected and has an IP address is a local matter specific to the implementation of the CPE.
        </description>
        <syntax>
          <string>
            <enumeration value="OnDemand"/>
            <enumeration value="AlwaysOn"/>
            <enumeration value="Manual"/>
          </string>
          <default type="object" value="OnDemand"/>
        </syntax>
      </parameter>

      <parameter name="RouteProtocolRx" access="readWrite">
        <description>
          Defines the Rx protocol to be used.
        </description>
        <syntax>
          <string>
            <enumeration value="Off"/>
            <enumeration value="RIPv1" optional="true"/>
            <enumeration value="RIPv2" optional="true"/>
            <enumeration value="OSPF" optional="true"/>
          </string>
          <default type="object" value="Off"/>
        </syntax>
      </parameter>

      <parameter name="PortMappingNumberOfEntries" access="readOnly">
        <description>
          Total number of port mapping entries.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ShapingRate" access="readWrite">
        <description>
          Rate to shape this connection's egress traffic to.  For leaky bucket (constant rate shaping), this is the constant rate.  For token bucket (variable rate shaping), this is the average rate.
          If &lt;= 100, in percent of the rate of the highest rate-constrained layer over which the packet will travel on egress.
          If &gt; 100, in bits per second.
          A value of -1 indicates no shaping.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ShapingBurstSize" access="readWrite">
        <description>
          Burst size in bytes.  For both leaky bucket (constant rate shaping) and token bucket (variable rate shaping) this is the bucket size and is therefore the maximum burst size.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0" status="deleted"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="PortMappingNumberOfEntries"
        enableParameter="PortMappingEnabled">
      <description>
        Port mapping table.
        This table MUST contain all NAT port mappings associated with this connection, including static and dynamic port mappings programmatically created via local control protocol, such as UPnP.
        This table MUST NOT contain dynamic NAT binding entries associated with the normal operation of NAT.
        At most one entry in an instance of this table can exist with all of the same values for {{param|RemoteHost}}, {{param|ExternalPort}}, and {{param|PortMappingProtocol}}.  If the ACS attempts to set the parameters of an existing entry such that this requirement would be violated, the CPE MUST reject the request.  In this case, the SetParameterValues response MUST include a SetParameterValuesFault element for each parameter in the corresponding request whose modification would have resulted in such a violation.  On creation of a new table entry, the CPE MUST choose default values for {{param|ExternalPort}} and {{param|PortMappingProtocol}} such that the new entry does not conflict with any existing entry.
      </description>
      <uniqueKey>
        <parameter ref="RemoteHost"/>
        <parameter ref="ExternalPort"/>
        <parameter ref="PortMappingProtocol"/>
      </uniqueKey>

      <parameter name="PortMappingEnabled" access="readWrite">
        <description>
          Enables or disables the port mapping instance.  On creation, an entry is disabled by default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="PortMappingLeaseDuration" access="readWrite"
          activeNotify="canDeny">
        <description>
          Determines the time to live, in seconds, of a port-mapping lease, where "time to live" means the number of seconds before the port mapping expires.
          A value of 0 means the port mapping is static. Support for dynamic (non-static) port mappings is OPTIONAL.  That is, the only value for {{param}} that MUST be supported is 0.
          For a dynamic (non-static) port mapping, when this parameter is read, the value represents the time remaining on the port-mapping lease.  That is, for a dynamic port mapping, the value counts down toward 0.  When a dynamic port-mapping lease expires, the CPE MUST automatically terminate that port mapping, and MUST automatically delete the corresponding ''PortMapping'' table entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RemoteHost" access="readWrite">
        <description>
          This parameter is the IP address of the source of inbound packets.  {{empty}} indicates a "wildcard" (this will be a wildcard in most cases).  CPE are REQUIRED only to support wildcards.
          When {{param}} is a wildcard, all traffic sent to the {{param|ExternalPort}} on the WAN interface of the gateway is forwarded to the {{param|InternalClient}} on the {{param|InternalPort}}.
          When {{param}} is specified as one external IP address, the NAT will only forward inbound packets from this {{param}} to the {{param|InternalClient}}, all other packets will be dropped.
          If a CPE supports non-wildcard values for {{param}}, it MAY additionally support the ability to have more than one port mapping with the same {{param|ExternalPort}} and {{param|PortMappingProtocol}}, but with differing values of {{param}}.
          When wildcard values are used for {{param}} and/or {{param|ExternalPort}}, the following precedence order applies (with the highest precedence listed first):
          # Explicit {{param}}, explicit {{param|ExternalPort}}
          # Explicit {{param}}, wildcard {{param|ExternalPort}}
          # Wildcard {{param}}, explicit {{param|ExternalPort}}
          # Wildcard {{param}}, wildcard {{param|ExternalPort}}
          If an incoming packet matches the criteria associated with more than one entry in this table, the CPE MUST apply the port mapping associated with the highest precedence entry.
          At most one entry in this table can exist with all of the same values for {{param}}, {{param|ExternalPort}}, and {{param|PortMappingProtocol}}.
        </description>
        <syntax>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ExternalPort" access="readWrite">
        <description>
          The external port that the NAT gateway would listen on for connection requests to a corresponding {{param|InternalPort}}. Inbound packets to this external port on the WAN interface SHOULD be forwarded to {{param|InternalClient}} on the {{param|InternalPort}}.
          A value of zero (0) represents a "wildcard".  If this value is a wildcard, connection request on all external ports (that are not otherwise mapped) will be forwarded to {{param|InternalClient}}.  In the wildcard case, the value(s) of {{param|InternalPort}} on {{param|InternalClient}} are ignored.
          When wildcard values are used for {{param|RemoteHost}} and/or {{param}}, the following precedence order applies (with the highest precedence listed first):
          # Explicit {{param|RemoteHost}}, explicit {{param}}
          # Explicit {{param|RemoteHost}}, wildcard {{param}}
          # Wildcard {{param|RemoteHost}}, explicit {{param}}
          # Wildcard {{param|RemoteHost}}, wildcard {{param}}
          If an incoming packet matches the criteria associated with more than one entry in this table, the CPE MUST apply the port mapping associated with the highest precedence entry.
          At most one entry in this table can exist with all of the same values for {{param|RemoteHost}}, {{param}}, and {{param|PortMappingProtocol}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InternalPort" access="readWrite">
        <description>
          The port on {{param|InternalClient}} that the gateway SHOULD forward connection requests to.  A value of zero (0) is not allowed.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PortMappingProtocol" access="readWrite">
        <description>
          The protocol of the port mapping.

          {{enum}}
          At most one entry in this table can exist with all of the same values for {{param|RemoteHost}}, {{param|ExternalPort}}, and {{param}}.
        </description>
        <syntax>
          <string>
            <enumeration value="TCP"/>
            <enumeration value="UDP"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InternalClient" access="readWrite">
        <description>
          The IP address or DNS host name of an internal client (on the LAN).
          Support for an IP address is mandatory.  If {{param}} is specified as an IP address and the LAN device's IP address subsequently changes, the port mapping MUST remain associated with the original IP address.
          Support for DNS host names is OPTIONAL.  If {{param}} is specified as a DNS host name and the LAN device's IP address subsequently changes, the port mapping MUST remain associated with this LAN device.  In this case, it is the responsibility of the CPE to maintain the name-to-address mapping in the event of IP address changes.  This can be accomplished, for example, by assigning the DNS host name via use of DHCP option 12 (Host Name) or option 81 (FQDN).  Note that the ACS can learn the host name associated with a given LAN device via the ''Hosts'' table ({{object|InternetGatewayDevice.LANDevice.{i}.Hosts}}).
          Read access to this parameter MUST always return the exact value that was last set by the ACS.  For example, if the internal client is set to a DNS host name, it MUST read back as a DNS host name and not as an IP address.
          {{empty}} indicates an unconfigured {{param}}. If this parameter is unconfigured, this port mapping MUST NOT be operational.
          It MUST be possible to set the {{param}} to the broadcast IP address 255.255.255.255 for UDP mappings. This is to enable multiple NAT clients to use the same well-known port simultaneously.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="PortMappingDescription" access="readWrite">
        <description>
          User-readable description of this port mapping.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for all connections within the same ''WANConnectionDevice'' that share a common MAC address.  The contents of this object SHOULD be identical for each such connection.
        This object is intended only for ''WANConnectionDevice''s that can support an Ethernet-layer on this interface (e.g., ''PPPoE'', ''IPoE'').
      </description>

      <parameter name="EthernetBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes sent over all connections within the same ''WANConnectionDevice'' that share a common MAC address since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes received over all connections within the same ''WANConnectionDevice'' that share a common MAC address since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of Ethernet packets sent over all connections within the same ''WANConnectionDevice'' that share a common MAC address since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of Ethernet packets received over all connections within the same ''WANConnectionDevice'' that share a common MAC address since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="WANPPPConnectionNumberOfEntries"
        enableParameter="Enable">
      <description>
        This object enables configuration of PPP connections on the WAN interface of a CPE.
      </description>
      <uniqueKey>
        <parameter ref="ExternalIPAddress"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the connection instance.  On creation of a ''WANPPPConnection'' instance, it is initially disabled.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="ConnectionStatus" access="readOnly">
        <description>
          Current status of the connection.
        </description>
        <syntax>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="Connecting"/>
            <enumeration value="Authenticating"/>
            <enumeration value="Connected"/>
            <enumeration value="PendingDisconnect"/>
            <enumeration value="Disconnecting"/>
            <enumeration value="Disconnected"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PossibleConnectionTypes" access="readOnly">
        <description>
          Types of connections possible for this connection instance.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="IP_Routed"/>
            <enumeration value="DHCP_Spoofed"/>
            <enumeration value="PPPoE_Bridged"/>
            <enumeration value="PPPoE_Relay"/>
            <enumeration value="PPTP_Relay"/>
            <enumeration value="L2TP_Relay"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionType" access="readWrite">
        <description>
          Specifies the connection type of the connection instance.
        </description>
        <syntax>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="IP_Routed"/>
            <enumeration value="DHCP_Spoofed"/>
            <enumeration value="PPPoE_Bridged"/>
            <enumeration value="PPPoE_Relay"/>
            <enumeration value="PPTP_Relay"/>
            <enumeration value="L2TP_Relay"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Name" access="readWrite">
        <description>
          User-readable name of this connection.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Uptime" access="readOnly" activeNotify="canDeny">
        <description>
          The time in seconds that this connection has been up.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LastConnectionError" access="readOnly">
        <description>
          The cause of failure for the last connection setup attempt.
        </description>
        <syntax>
          <string>
            <enumeration value="ERROR_NONE"/>
            <enumeration value="ERROR_ISP_TIME_OUT"/>
            <enumeration value="ERROR_COMMAND_ABORTED"/>
            <enumeration value="ERROR_NOT_ENABLED_FOR_INTERNET"/>
            <enumeration value="ERROR_BAD_PHONE_NUMBER"/>
            <enumeration value="ERROR_USER_DISCONNECT"/>
            <enumeration value="ERROR_ISP_DISCONNECT"/>
            <enumeration value="ERROR_IDLE_DISCONNECT"/>
            <enumeration value="ERROR_FORCED_DISCONNECT"/>
            <enumeration value="ERROR_SERVER_OUT_OF_RESOURCES"/>
            <enumeration value="ERROR_RESTRICTED_LOGON_HOURS"/>
            <enumeration value="ERROR_ACCOUNT_DISABLED"/>
            <enumeration value="ERROR_ACCOUNT_EXPIRED"/>
            <enumeration value="ERROR_PASSWORD_EXPIRED"/>
            <enumeration value="ERROR_AUTHENTICATION_FAILURE"/>
            <enumeration value="ERROR_NO_DIALTONE"/>
            <enumeration value="ERROR_NO_CARRIER"/>
            <enumeration value="ERROR_NO_ANSWER"/>
            <enumeration value="ERROR_LINE_BUSY"/>
            <enumeration value="ERROR_UNSUPPORTED_BITSPERSECOND"/>
            <enumeration value="ERROR_TOO_MANY_LINE_ERRORS"/>
            <enumeration value="ERROR_IP_CONFIGURATION"/>
            <enumeration value="ERROR_UNKNOWN"/>
          </string>
          <default type="object" value="ERROR_NONE"/>
        </syntax>
      </parameter>

      <parameter name="AutoDisconnectTime" access="readWrite">
        <description>
          The time in seconds since the establishment of the connection after which connection termination is automatically initiated by the CPE.  This occurs irrespective of whether the connection is being used or not.  A value of 0 (zero) indicates that the connection is not to be shut down automatically.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IdleDisconnectTime" access="readWrite">
        <description>
          The time in seconds that if the connection remains idle, the CPE automatically terminates the connection.  A value of 0 (zero) indicates that the connection is not to be shut down automatically.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="WarnDisconnectDelay" access="readWrite">
        <description>
          Time in seconds the Status remains in the pending disconnect state before transitioning to disconnecting state to drop the connection.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RSIPAvailable" access="readOnly">
        <description>
          Indicates if Realm-specific IP (RSIP) is available as a feature on the CPE.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="NATEnabled" access="readWrite">
        <description>
          Indicates if Network Address Translation (NAT) is enabled for this connection.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Username" access="readWrite">
        <description>
          Username to be used for authentication.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="Password" access="readWrite">
        <description>
          Password to be usef for authentication.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="PPPEncryptionProtocol" access="readOnly">
        <description>
          Describes the PPP encryption protocol used between the WAN device and the ISP POP.
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="MPPE"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PPPCompressionProtocol" access="readOnly">
        <description>
          Describes the PPP compression protocol used between the WAN device and the ISP POP.
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="Van Jacobsen"/>
            <enumeration value="STAC LZS"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PPPAuthenticationProtocol" access="readOnly">
        <description>
          Describes the PPP authentication protocol used between the WAN device and the ISP POP.
        </description>
        <syntax>
          <string>
            <enumeration value="PAP"/>
            <enumeration value="CHAP"/>
            <enumeration value="MS-CHAP"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExternalIPAddress" access="readOnly">
        <description>
          This is the external IP address used by NAT for this connection.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="RemoteIPAddress" access="readOnly">
        <description>
          The remote IP address for this connection.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="MaxMRUSize" access="readWrite">
        <description>
          The maximum allowed size of frames sent from the remote peer.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="1540"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="CurrentMRUSize" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current MRU in use over this connection.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="1540"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DNSEnabled" access="readWrite">
        <description>
          Whether or not the device SHOULD attempt to query a DNS server across this connection.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DNSOverrideAllowed" access="readWrite">
        <description>
          Whether or not a manually set, non-empty DNS address can be overridden by a DNS entry received from the WAN.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DNSServers" access="readWrite">
        <description>
          DNS server IP addresses for this connection.  Support for more than three DNS Servers is OPTIONAL.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readWrite">
        <description>
          The physical address of the ''WANPPPConnection'' if applicable.  Configurable only if {{param|MACAddressOverride}} is present and {{true}}.

          If {{param|TransportType}} is {{enum|PPPoA|TransportType}}, the value of this parameter is irrelevant and MUST be {{empty}}.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddressOverride" access="readWrite">
        <description>
          Whether the value of {{param|MACAddress}} parameter can be overridden. If {{false}}, the CPE's default value is used (or restored if it had previously been overridden).

          If {{param|TransportType}} is {{enum|PPPoA|TransportType}}, the value of this parameter is irrelevant and MUST be {{false}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TransportType" access="readOnly">
        <description>
          PPP transport type of the connection.
        </description>
        <syntax>
          <string>
            <enumeration value="PPPoA"/>
            <enumeration value="PPPoE"/>
            <enumeration value="L2TP">
              <description>for future use</description>
            </enumeration>
            <enumeration value="PPTP">
              <description>for future use</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="PPPoEACName" access="readWrite">
        <description>
          PPPoE Access Concentrator.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="PPPoEServiceName" access="readWrite">
        <description>
          PPPoE Service Name.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ConnectionTrigger" access="readWrite">
        <description>
          Trigger used to establish the PPP connection.  {{enum}}
          The above values are defined as follows:
          * {{enum|OnDemand}}: If this PPP connection is disconnected for any reason, it is to remain disconnected until the CPE has one or more packets to communicate over this connection, at which time the CPE automatically attempts to reestablish the connection.
          * {{enum|AlwaysOn}}: If this PPP connection is disconnected for any reason, the CPE automatically attempts to reestablish the connection (and continues to attempt to reestablish the connection as long it remains disconnected).
          * {{enum|Manual}}: If this PPP connection is disconnected for any reason, it is to remain disconnected until the user of the CPE explicitly instructs the CPE to reestablish the connection.
          Note that the reason for a PPP connection becoming disconnected to begin with might be either external to the CPE, such as termination by the BRAS or momentary disconnection of the physical interface, or internal to the CPE, such as use of the {{param|IdleDisconnectTime}} and/or {{param|AutoDisconnectTime}} parameters in this object.
        </description>
        <syntax>
          <string>
            <enumeration value="OnDemand"/>
            <enumeration value="AlwaysOn"/>
            <enumeration value="Manual"/>
          </string>
          <default type="object" value="OnDemand"/>
        </syntax>
      </parameter>

      <parameter name="RouteProtocolRx" access="readWrite">
        <description>
          Defines the Rx protocol to be used.
        </description>
        <syntax>
          <string>
            <enumeration value="Off"/>
            <enumeration value="RIPv1" optional="true"/>
            <enumeration value="RIPv2" optional="true"/>
            <enumeration value="OSPF" optional="true"/>
          </string>
          <default type="object" value="Off"/>
        </syntax>
      </parameter>

      <parameter name="PPPLCPEcho" access="readOnly">
        <description>
          PPP LCP Echo period in seconds.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PPPLCPEchoRetry" access="readOnly">
        <description>
          Number of PPP LCP Echo retries within an echo period.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PortMappingNumberOfEntries" access="readOnly">
        <description>
          Total number of port mapping entries.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ShapingRate" access="readWrite">
        <description>
          Rate to shape this connection's egress traffic to.  For leaky bucket (constant rate shaping), this is the constant rate.  For token bucket (variable rate shaping), this is the average rate.
          If &lt;= 100, in percent of the rate of the highest rate-constrained layer over which the packet will travel on egress.
          If &gt; 100, in bits per second.
          A value of -1 indicates no shaping.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ShapingBurstSize" access="readWrite">
        <description>
          Burst size in bytes.  For both leaky bucket (constant rate shaping) and token bucket (variable rate shaping) this is the bucket size and is therefore the maximum burst size.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0" status="deleted"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="PortMappingNumberOfEntries"
        enableParameter="PortMappingEnabled">
      <description>
        Port mapping table.
        This table MUST contain all NAT port mappings associated with this connection, including static and dynamic port mappings programmatically created via local control protocol, such as UPnP.
        This table MUST NOT contain dynamic NAT binding entries associated with the normal operation of NAT.
        At most one entry in an instance of this table can exist with all of the same values for {{param|RemoteHost}}, {{param|ExternalPort}}, and {{param|PortMappingProtocol}}.  If the ACS attempts to set the parameters of an existing entry such that this requirement would be violated, the CPE MUST reject the request.  In this case, the SetParameterValues response MUST include a SetParameterValuesFault element for each parameter in the corresponding request whose modification would have resulted in such a violation.  On creation of a new table entry, the CPE MUST choose default values for {{param|ExternalPort}} and {{param|PortMappingProtocol}} such that the new entry does not conflict with any existing entry.
      </description>
      <uniqueKey>
        <parameter ref="RemoteHost"/>
        <parameter ref="ExternalPort"/>
        <parameter ref="PortMappingProtocol"/>
      </uniqueKey>

      <parameter name="PortMappingEnabled" access="readWrite">
        <description>
          Enables or disables the port mapping instance.  On creation, an entry is disabled by default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="PortMappingLeaseDuration" access="readWrite"
          activeNotify="canDeny">
        <description>
          Determines the time to live, in seconds, of a port-mapping lease, where "time to live" means the number of seconds before the port mapping expires.
          A value of 0 means the port mapping is static. Support for dynamic (non-static) port mappings is OPTIONAL.  That is, the only value for {{param}} that MUST be supported is 0.
          For a dynamic (non-static) port mapping, when this parameter is read, the value represents the time remaining on the port-mapping lease.  That is, for a dynamic port mapping, the value counts down toward 0.  When a dynamic port-mapping lease expires, the CPE MUST automatically terminate that port mapping, and MUST automatically delete the corresponding ''PortMapping'' table entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RemoteHost" access="readWrite">
        <description>
          This parameter is the IP address of the source of inbound packets.  {{empty}} indicates a "wildcard" (this will be a wildcard in most cases).  CPE are REQUIRED only to support wildcards.
          When {{param}} is a wildcard, all traffic sent to the {{param|ExternalPort}} on the WAN interface of the gateway is forwarded to the {{param|InternalClient}} on the {{param|InternalPort}}.
          When {{param}} is specified as one external IP address, the NAT will only forward inbound packets from this {{param}} to the {{param|InternalClient}}, all other packets will be dropped.
          If a CPE supports non-wildcard values for {{param}}, it MAY additionally support the ability to have more than one port mapping with the same {{param|ExternalPort}} and {{param|PortMappingProtocol}}, but with differing values of {{param}}.
          When wildcard values are used for {{param}} and/or {{param|ExternalPort}}, the following precedence order applies (with the highest precedence listed first):
          # Explicit {{param}}, explicit {{param|ExternalPort}}
          # Explicit {{param}}, wildcard {{param|ExternalPort}}
          # Wildcard {{param}}, explicit {{param|ExternalPort}}
          # Wildcard {{param}}, wildcard {{param|ExternalPort}}
          If an incoming packet matches the criteria associated with more than one entry in this table, the CPE MUST apply the port mapping associated with the highest precedence entry.
          At most one entry in this table can exist with all of the same values for {{param}}, {{param|ExternalPort}}, and {{param|PortMappingProtocol}}.
        </description>
        <syntax>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ExternalPort" access="readWrite">
        <description>
          The external port that the NAT gateway would listen on for connection requests to a corresponding {{param|InternalPort}}. Inbound packets to this external port on the WAN interface SHOULD be forwarded to {{param|InternalClient}} on the {{param|InternalPort}}.
          A value of zero (0) represents a "wildcard".  If this value is a wildcard, connection request on all external ports (that are not otherwise mapped) will be forwarded to {{param|InternalClient}}.  In the wildcard case, the value(s) of {{param|InternalPort}} on {{param|InternalClient}} are ignored.
          When wildcard values are used for {{param|RemoteHost}} and/or {{param}}, the following precedence order applies (with the highest precedence listed first):
          # Explicit {{param|RemoteHost}}, explicit {{param}}
          # Explicit {{param|RemoteHost}}, wildcard {{param}}
          # Wildcard {{param|RemoteHost}}, explicit {{param}}
          # Wildcard {{param|RemoteHost}}, wildcard {{param}}
          If an incoming packet matches the criteria associated with more than one entry in this table, the CPE MUST apply the port mapping associated with the highest precedence entry.
          At most one entry in this table can exist with all of the same values for {{param|RemoteHost}}, {{param}}, and {{param|PortMappingProtocol}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InternalPort" access="readWrite">
        <description>
          The port on {{param|InternalClient}} that the gateway SHOULD forward connection requests to.  A value of zero (0) is not allowed.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PortMappingProtocol" access="readWrite">
        <description>
          The protocol of the port mapping.

          {{enum}}
          At most one entry in this table can exist with all of the same values for {{param|RemoteHost}}, {{param|ExternalPort}}, and {{param}}.
        </description>
        <syntax>
          <string>
            <enumeration value="TCP"/>
            <enumeration value="UDP"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InternalClient" access="readWrite">
        <description>
          The IP address or DNS host name of an internal client (on the LAN).
          Support for an IP address is mandatory.  If {{param}} is specified as an IP address and the LAN device's IP address subsequently changes, the port mapping MUST remain associated with the original IP address.
          Support for DNS host names is OPTIONAL.  If {{param}} is specified as a DNS host name and the LAN device's IP address subsequently changes, the port mapping MUST remain associated with this LAN device.  In this case, it is the responsibility of the CPE to maintain the name-to-address mapping in the event of IP address changes.  This can be accomplished, for example, by assigning the DNS host name via use of DHCP option 12 (Host Name) or option 81 (FQDN).  Note that the ACS can learn the host name associated with a given LAN device via the ''Hosts'' table ({{object|InternetGatewayDevice.LANDevice.{i}.Hosts}}).
          Read access to this parameter MUST always return the exact value that was last set by the ACS.  For example, if the internal client is set to a DNS host name, it MUST read back as a DNS host name and not as an IP address.
          {{empty}} indicates an unconfigured {{param}}. If this parameter is unconfigured, this port mapping MUST NOT be operational.
          It MUST be possible to set the {{param}} to the broadcast IP address 255.255.255.255 for UDP mappings. This is to enable multiple NAT clients to use the same well-known port simultaneously.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="PortMappingDescription" access="readWrite">
        <description>
          User-readable description of this port mapping.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for all connections within the same ''WANConnectionDevice'' that share a common MAC address.  The contents of this object SHOULD be identical for each such connection.
        This object is intended only for ''WANConnectionDevice''s that can support an Ethernet-layer on this interface (e.g., ''PPPoE'', ''IPoE'').
      </description>

      <parameter name="EthernetBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes sent over all connections within the same ''WANConnectionDevice'' that share a common MAC address since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes received over all connections within the same ''WANConnectionDevice'' that share a common MAC address since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of Ethernet packets sent over all connections within the same ''WANConnectionDevice'' that share a common MAC address since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of Ethernet packets received over all connections within the same ''WANConnectionDevice'' that share a common MAC address since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer2Bridging." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Layer-2 bridging table.  Specifies bridges between layer-2 LAN and/or WAN interfaces.  Bridges can be defined to include layer-2 filter criteria to selectively bridge traffic between interfaces.
      </description>

      <parameter name="MaxBridgeEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Bridge}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxFilterEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Filter}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxMarkingEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Marking}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BridgeNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|Bridge}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FilterNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|Filter}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MarkingNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|Marking}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AvailableInterfaceNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|AvailableInterface}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer2Bridging.Bridge.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="BridgeNumberOfEntries"
        enableParameter="BridgeEnable">
      <description>
        Bridge table.
      </description>
      <uniqueKey>
        <parameter ref="BridgeKey"/>
      </uniqueKey>

      <parameter name="BridgeKey" access="readOnly">
        <description>
          Unique key for each Bridge table entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BridgeEnable" access="readWrite">
        <description>
          Enables or disables this Bridge table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="BridgeStatus" access="readOnly">
        <description>
          The status of this Bridge table entry.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="BridgeName" access="readWrite">
        <description>
          Human-readable name for this Bridge table entry.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="VLANID" access="readWrite">
        <description>
          The 802.1Q VLAN ID associated with this Bridge.
          A value of 0 indicates either Untagged or PriorityOnly tagging, which are treated identically.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="4094"/>
          </unsignedInt>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer2Bridging.Filter.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="FilterNumberOfEntries"
        enableParameter="FilterEnable">
      <description>
        Filter table containing filter entries each of which is associated with one Bridge as specified by a ''Bridge'' table entry.
      </description>
      <uniqueKey>
        <parameter ref="FilterKey"/>
      </uniqueKey>

      <parameter name="FilterKey" access="readOnly">
        <description>
          Unique key for each Filter table entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FilterEnable" access="readWrite">
        <description>
          Enables or disables this Filter table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="FilterStatus" access="readOnly">
        <description>
          The status of this Filter table entry.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="FilterBridgeReference" access="readWrite">
        <description>
          The ''BridgeKey'' value of the ''Bridge'' table entry associated with this Filter.  A value of -1 indicates the Filter table entry is not associated with a Bridge (and has no effect).
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ExclusivityOrder" access="readWrite">
        <description>
          Whether or not the Filter definition is exclusive of all others.  And if the entry is exclusive, order of precedence.
          A value of 1 or greater indicates an Exclusive Filter, where the value 1 indicates the first entry to be considered (highest precedence).
          A value of 0 indicates a Non-Exclusive Filter.
          For each packet, if the packet matches any Exclusive Filters, the packet is assigned to the Bridge associated with the highest precedence Exclusive Filter to which it matches (lowest {{param}} value).
          If and only if the packet does not match any Exclusive Filters, the packet is assigned to all Bridges associated with each Non-Exclusive Filter for which it matches the defining criteria.
          If a packet matches no Filter, it is discarded.
          When the {{param}} is set to match that of an existing Exclusive Filter (1 or greater), the value for the existing entry and all higher numbered entries is incremented (lowered in precedence) to ensure uniqueness of this value. A deletion or change in {{param}} of an Exclusive Filter causes {{param}} values of other Exclusive Filters (values 1 or greater) to be compacted.
          Note that the use of Exclusive Filters to associate a layer-3 router interface with LAN and/or WAN interfaces via a Bridge entry overrides the default association between layer-3 and layer-2 objects implied by the ''InternetGatewayDevice'' object hierarchy.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="FilterInterface" access="readWrite">
        <description>
          The interface or interfaces associated with this Filter table entry.  The bridge corresponding to this Filter table entry is defined to admit packets on ingress to the bridge from the specified interfaces that meet all of the criteria specified in the Filter table entry.  The following values are defined.
          To associate this Filter with a single interface listed in the AvailableInterface table, the {{param}} value is set to the value of corresponding ''AvailableInterfaceKey''.
          * ''AllInterfaces'' indicates that this Filter is associated with all LAN and WAN interfaces listed in the ''AvailableInterface'' table (all entries of ''InterfaceType'' ''LANInterface'' or ''WANInterface'').
          * ''LANInterfaces'' indicates that this Filter is associated with all LAN interfaces listed in the ''AvailableInterface'' table (all entries of ''InterfaceType'' ''LANInterface'').
          * ''WANInterfaces'' indicates that this Filter is associated with all WAN interfaces listed in the ''AvailableInterface'' table (all entries of ''InterfaceType'' ''WANInterface'').
          * {{empty}} indicates the Filter table entry is not associated with any interface (and has no effect)
        </description>
        <syntax>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="VLANIDFilter" access="readWrite">
        <description>
          The 802.1Q VLAN ID of packets to admit to the specified Bridge through the interfaces specified for this Filter.
          A value of -1 indicates that the default VLAN ID for the Bridge SHOULD be used instead (as specified by {{param|InternetGatewayDevice.Layer2Bridging.Bridge.{i}.VLANID}} for the Bridge table entry associated with this Filter table entry).  On creation of a Filter entry, the default value for this parameter MUST be -1.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="4095"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="AdmitOnlyVLANTagged" access="readWrite">
        <description>
          If {{true}}, on ingress to the interfaces associated with this Filter, the Bridge admits only packets tagged with a VLAN ID that matches the {{param|VLANIDFilter}} parameter (or instead, the VLAN ID for the Bridge if {{param|VLANIDFilter}} is unspecified).
          If {{false}}, on ingress to the interfaces associated with this Filter, the Bridge admits both packets tagged with a VLAN ID that matches the {{param|VLANIDFilter}} parameter (or instead, the VLAN ID for the Bridge if {{param|VLANIDFilter}} is unspecified), and any Untagged or PriorityOnly packets.  All Untagged or PriorityOnly packets are tagged on ingress with the value of the {{param|VLANID}} parameter.
          If the {{param|VLANIDFilter}} parameter (or instead, the VLAN ID for the Bridge if {{param|VLANIDFilter}} is unspecified) is equal to 0, then this parameter is ignored, and only packets that are Untagged or PriorityOnly packets are admitted.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="EthertypeFilterList" access="readWrite">
        <description>
          Comma-separated list of unsigned integers, each representing an Ethertype value.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <unsignedInt/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="EthertypeFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this Filter, the Bridge is defined to admit only those packets that match one of the {{param|EthertypeFilterList}} entries (in either the Ethernet or SNAP Type header).  If the {{param|EthertypeFilterList}} is empty, no packets are admitted.
          If {{true}}, on ingress to the interfaces associated with this Filter, the Bridge is defined to admit all packets except those packets that match one of the {{param|EthertypeFilterList}} entries (in either the Ethernet or SNAP Type header).  If the {{param|EthertypeFilterList}} is empty, packets are admitted regardless of Ethertype.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACAddressFilterList" access="readWrite">
        <description>
          Each list entry MAY optionally specify a bit-mask, where matching of a packet's MAC address is only to be done for bit positions set to one in the mask.  If no mask is specified, all bits of the MAC Address are to be used for matching.
          For example, the list might be: ''01:02:03:04:05:06, 1:22:33:00:00:00/FF:FF:FF:00:00:00, 88:77:66:55:44:33''
        </description>
        <syntax>
          <list>
            <size maxLength="512"/>
          </list>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACAddressFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose source MAC Address matches one of the {{param|SourceMACAddressFilterList}} entries.  If the {{param|SourceMACAddressFilterList}} is empty, no packets are admitted.
          If {{true}}, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose source MAC Address matches one of the {{param|SourceMACAddressFilterList}} entries.  If the {{param|SourceMACAddressFilterList}} is empty, packets are admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACAddressFilterList" access="readWrite">
        <description>
          Each list entry MAY optionally specify a bit-mask, where matching of a packet's MAC address is only to be done for bit positions set to one in the mask.  If no mask is specified, all bits of the MAC Address are to be used for matching.
          For example, the list might be: ''01:02:03:04:05:06, 1:22:33:00:00:00/FF:FF:FF:00:00:00, 88:77:66:55:44:33''
        </description>
        <syntax>
          <list>
            <size maxLength="512"/>
          </list>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACAddressFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose destination MAC Address matches one of the {{param|DestMACAddressFilterList}} entries.  If the {{param|DestMACAddressFilterList}} is empty, no packets are admitted.
          If {{true}}, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose destination MAC Address matches one of the {{param|DestMACAddressFilterList}} entries.  If the {{param|DestMACAddressFilterList}} is empty, packets are admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromVendorClassIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply.  A device is considered matching if it its DHCP Vendor Class Identifier (Option 60 as defined in RFC 2132) in the most recent DHCP lease acquisition or renewal was equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromVendorClassIDFilterExclude"
          access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose source MAC Address matches that of a LAN device previously identified as described in {{param|SourceMACFromVendorClassIDFilter}}.  If {{param|SourceMACFromVendorClassIDFilter}} is {{empty}}, no packets are admitted.
          If {{true}}, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose source MAC Address matches that of a LAN device previously identified as described in {{param|SourceMACFromVendorClassIDFilter}}.  If the {{param|SourceMACFromVendorClassIDFilter}} is {{empty}}, packets are admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromVendorClassIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply.  A device is considered matching if it its DHCP Vendor Class Identifier (Option 60 as defined in RFC 2132) in the most recent DHCP lease acquisition or renewal was equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromVendorClassIDFilterExclude"
          access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose destination MAC Address matches that of a LAN device previously identified as described in {{param|DestMACFromVendorClassIDFilter}}.  If {{param|DestMACFromVendorClassIDFilter}} is {{empty}}, no packets are admitted.
          If {{true}}, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose destination MAC Address matches that of a LAN device previously identified as described in {{param|DestMACFromVendorClassIDFilter}}.  If the {{param|DestMACFromVendorClassIDFilter}} is {{empty}}, packets are admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromClientIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply.  A device is considered matching if it its DHCP Client Identifier (Option 61 as defined in RFC 2132) in the most recent DHCP lease acquisition or renewal was equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromClientIDFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose source MAC Address matches that of a LAN device previously identified as described in {{param|SourceMACFromClientIDFilter}}.  If {{param|SourceMACFromClientIDFilter}} is {{empty}}, no packets are admitted.
          If {{true}}, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose source MAC Address matches that of a LAN device previously identified as described in {{param|SourceMACFromClientIDFilter}}.  If the {{param|SourceMACFromClientIDFilter}} is {{empty}}, packets are admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromClientIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply.  A device is considered matching if it its DHCP Client Identifier (Option 61 as defined in RFC 2132) in the most recent DHCP lease acquisition or renewal was equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromClientIDFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose destination MAC Address matches that of a LAN device previously identified as described in {{param|DestMACFromClientIDFilter}}.  If {{param|DestMACFromClientIDFilter}} is {{empty}}, no packets are admitted.
          If {{true}}, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose destination MAC Address matches that of a LAN device previously identified as described in {{param|DestMACFromClientIDFilter}}.  If the {{param|DestMACFromClientIDFilter}} is {{empty}}, packets are admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromUserClassIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply.  A device is considered matching if it its DHCP User Class Identifier (Option 77 as defined in RFC 3004) in the most recent DHCP lease acquisition or renewal was equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromUserClassIDFilterExclude"
          access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose source MAC Address matches that of a LAN device previously identified as described in {{param|SourceMACFromUserClassIDFilter}}.  If {{param|SourceMACFromUserClassIDFilter}} is {{empty}}, no packets are admitted.
          If {{true}}, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose source MAC Address matches that of a LAN device previously identified as described in {{param|SourceMACFromUserClassIDFilter}}.  If the {{param|SourceMACFromUserClassIDFilter}} is {{empty}}, packets are admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromUserClassIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply.  A device is considered matching if it its DHCP User Class Identifier (Option 77 as defined in RFC 3004) in the most recent DHCP lease acquisition or renewal was equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromUserClassIDFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose destination MAC Address matches that of a LAN device previously identified as described in {{param|DestMACFromUserClassIDFilter}}.  If {{param|DestMACFromUserClassIDFilter}} is {{empty}}, no packets are admitted.
          If {{true}}, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose destination MAC Address matches that of a LAN device previously identified as described in {{param|DestMACFromUserClassIDFilter}}.  If the {{param|DestMACFromUserClassIDFilter}} is {{empty}}, packets are admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer2Bridging.Marking.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="MarkingNumberOfEntries"
        enableParameter="MarkingEnable">
      <description>
        Marking table identifying non-default layer-2 marking behavior for packets on egress from the specified interfaces.
      </description>
      <uniqueKey>
        <parameter ref="MarkingKey"/>
      </uniqueKey>

      <parameter name="MarkingKey" access="readOnly">
        <description>
          Unique key for each Marking table entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MarkingEnable" access="readWrite">
        <description>
          Enables or disables this Marking table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="MarkingStatus" access="readOnly">
        <description>
          The status of this Marking table entry.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="MarkingBridgeReference" access="readWrite">
        <description>
          The ''BridgeKey'' value of the Bridge table entry associated with this Marking table entry.  A value of -1 indicates the Marking table entry is not associated with a Bridge (and has no effect).
          The effect of a Marking table entry applies only to packets that have been admitted to the specified bridge (regardless of the ingress interface).
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="MarkingInterface" access="readWrite">
        <description>
          The interface or interfaces associated with this Marking table entry for which the specified marking behavior is to apply on egress from the associated bridge.  The following values are defined.
          To associate this Marking table entry with a single interface listed in the ''AvailableInterface'' table, the {{param}} value is set to the value of corresponding ''AvailableInterfaceKey''.
          * ''AllInterfaces'' indicates that this Marking table entry is associated with all LAN and WAN interfaces listed in the ''AvailableInterface'' table (all entries of ''InterfaceType'' ''LANInterface'' or ''WANInterface'').
          * ''LANInterfaces'' indicates that this Marking table entry is associated with all LAN interfaces listed in the ''AvailableInterface'' table (all entries of ''InterfaceType'' ''LANInterface'').
          * ''WANInterfaces'' indicates that this Marking table entry is associated with all WAN interfaces listed in the ''AvailableInterface'' table (all entries of ''InterfaceType'' ''WANInterface'').
          * {{empty}} indicates the Marking table entry table entry is not associated with any interface (and has no effect)
          If there is more than one enabled Marking table entry that specifies one or more of the same interfaces for the same bridge (identical values of {{param|MarkingBridgeReference}}), then for packets on egress from the specified bridge to those interfaces, the applied marking MUST be that specified in the Marking table entry among those in conflict with the lowest {{param|MarkingKey}} value.
          If an interface in a given bridge does not have a corresponding Marking table entry, the marking is left unchanged on egress.
        </description>
        <syntax>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="VLANIDUntag" access="readWrite">
        <description>
          If {{true}}, on egress to the interfaces associated with this Marking table entry, all packets are Untagged.  That is, the VLAN tag is stripped from the packet.
          If {{false}}, on egress to the interfaces associated with this Marking table entry, all VLAN tags are left intact (including those added on ingress).
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="VLANIDMark" access="readWrite">
        <description>
          The 802.1Q VLAN ID to be used on egress to the interfaces associated with this Marking table entry (if {{param|VLANIDUntag}} is {{false}}).
          A value of -1 indicates that the default VLAN ID for the Bridge SHOULD be used instead (as specified by {{param|InternetGatewayDevice.Layer2Bridging.Bridge.{i}.VLANID}} for the Bridge table entry associated with this Marking table entry).
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="4095"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityMark" access="readWrite">
        <description>
          Ethernet priority code (as defined in 802.1D) to mark traffic with that falls into this Bridge on egress to the interfaces associated with this Marking table entry. A value of -1 indicates no change from the incoming packet or the mark assigned by the classifier.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="7"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityOverride" access="readWrite">
        <description>
          If {{false}}, on egress to the interfaces associated with this Marking table entry, the {{param|EthernetPriorityMark}}, if specified, is applied only to packets of priority 0.
          If {{true}}, on egress to the interfaces associated with this Marking table entry, the {{param|EthernetPriorityMark}}, if specified, is to be applied to all packets on this Bridge.
          If {{param|VLANIDUntag}} is {{true}}, then no priority marking is done since the tag containing the Ethernet priority is removed.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.Layer2Bridging.AvailableInterface.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="AvailableInterfaceNumberOfEntries">
      <description>
        Table containing all LAN and WAN interfaces that are available to be referenced by the ''Bridge'' table.  Only interfaces that can carry layer-2 bridged traffic are included.
      </description>
      <uniqueKey>
        <parameter ref="AvailableInterfaceKey"/>
      </uniqueKey>

      <parameter name="AvailableInterfaceKey" access="readOnly"
          activeNotify="canDeny">
        <description>
          Unique key for each Interface entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InterfaceType" access="readOnly" activeNotify="canDeny">
        <description>
          Whether the interface is a LAN-side or WAN-side interface, or a LAN-side or WAN-side connection to the Gateway's IP router.
        </description>
        <syntax>
          <string>
            <enumeration value="LANInterface"/>
            <enumeration value="WANInterface"/>
            <enumeration value="LANRouterConnection"/>
            <enumeration value="WANRouterConnection"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InterfaceReference" access="readOnly"
          activeNotify="canDeny">
        <description>
          This table SHOULD contain a single entry for each available LAN and WAN interface.
          For a WAN interface, this parameter is the full hierarchical parameter name of a particular ''WANConnectionDevice''.  A ''WANConnectionDevice'' is considered available (included in this table) only if it supports layer-2 bridged traffic.  That is, this table MUST include only ''WANConnectionDevice''s that contain either a ''WANEthernetLinkConfig'' object, or that contain a ''WANDSLLinkConfig'' object for which the ''LinkType'' is ''EoA''.  For example: ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2''
          For a LAN interface, this parameter is the full hierarchical parameter name of a particular LAN**InterfaceConfig object, or a WLANConfiguration object.  This table SHOULD include one entry for each such object.  For example: ''InternetGatewayDevice.LANDevice.1.LANLANEthernetInterfaceConfig.2''
          For a WAN-side connection to the Gateway's IP router, this parameter is the full hierarchical parameter name of a particular WAN**Connection service.  This table SHOULD include an entry for each layer-3 WAN connection.  For example: ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''
          For a LAN-side connection to the Gateway's IP router, this parameter is the full hierarchical parameter name of a particular LANDevice.  This table SHOULD include an entry for each LANDevice, each of which is associated with a LAN-side layer-3 connection to the Gateway's IP router.  For example: ''InternetGatewayDevice.LANDevice.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Queue management configuration object.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables all queuing operation.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MaxQueues" access="readOnly" activeNotify="canDeny">
        <description>
          The maximum number of queues supported by the CPE. Calculated as the sum of the number of different queues pointed to by Classification table.  For each entry in the Classification table, the count includes a queue for each egress interface to which the corresponding classified traffic could reach.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxClassificationEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the Classification table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ClassificationNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|Classification}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxAppEntries" access="readOnly" activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|App}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AppNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|App}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxFlowEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Flow}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FlowNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|Flow}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxPolicerEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Policer}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PolicerNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|Policer}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxQueueEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Queue}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|Queue}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DefaultForwardingPolicy" access="readWrite">
        <description>
          Identifier of the forwarding policy associated with traffic not associated with any specified classifier.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DefaultPolicer" access="readWrite">
        <description>
          Instance number of the Policer table entry for traffic not associated with any specified classifier.
          A value of -1 indicates a null policer.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="DefaultQueue" access="readWrite">
        <description>
          Instance number of the {{object|Queue}} table entry for traffic not associated with any specified classifier.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DefaultDSCPMark" access="readWrite">
        <description>
          DSCP to mark traffic not associated with any specified classifier.
          A value of -1 indicates no change from the incoming packet.
          A value of -2 indicates automatic marking of DSCP based upon the EthernetPriority value of the incoming packet as defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="DefaultEthernetPriorityMark" access="readWrite">
        <description>
          Ethernet priority code (as defined in 802.1D) to mark traffic not associated with any specified classifier.
          A value of -1 indicates no change from the incoming packet.
          A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="AvailableAppList" access="readOnly">
        <description>
          URNs, each indicating a protocol supported for use as a ProtocolIdentifier in the App table.  This list MAY include any of the URNs defined in {{bibref|TR-098a1|Annex A}} as well as other URNs defined elsewhere.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement.Classification.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ClassificationNumberOfEntries">
      <description>
        Classification table.
      </description>

      <parameter name="ClassificationKey" access="readOnly" status="obsoleted">
        <description>
          Unique key for each classification entry.

          This parameter is OBSOLETED because it serves no purpose (no other parameter references it).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ClassificationEnable" access="readWrite">
        <description>
          Enables or disables this classifier.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="ClassificationStatus" access="readOnly">
        <description>
          The status of this classifier.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="ClassificationOrder" access="readWrite">
        <description>
          Position of the classification entry in the order of precedence.  A value of 1 indicates the first entry considered.  For each packet, the highest ordered entry that matches the classification criteria is applied.  All lower order entries are ignored.
          When this value is modified, if the value matches that of an existing entry, the Order value for the existing entry and all lower Order entries is incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes Order values to be compacted. When a value is changed, incrementing occurs before compaction.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ClassInterface" access="readWrite">
        <description>
          Classification criterion.
          Specifies the LAN or WAN ingress interface associated with this entry.  The content is the full hierarchical parameter name of the particular ''WANDevice'', ''WANConnectionDevice'', ''WAN**Connection'', ''LANDevice'', ''LAN**InterfaceConfig'', or ''WLANConfiguration'' object.
          The following are WAN interface examples:
          * ''InternetGatewayDevice.WANDevice.2''
          * ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''
          The following are LAN interface examples:
          * ''InternetGatewayDevice.LANDevice.3''
          * ''InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig.2''
          * ''InternetGatewayDevice.LANDevice.1.WLANConfiguration.3''
          The string ''WAN'' indicates this entry is to apply to traffic entering from any WAN interface.
          The string ''LAN'' indicates this entry is to apply to traffic entering from any LAN interface.
          The string ''Local'' indicates this entry is to apply to IP-layer traffic entering from a local source within the Internet Gateway Device.
          {{empty}} indicates this classification entry is to apply to all sources.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestIP" access="readWrite">
        <description>
          Classification criterion.
          Destination IP address.  {{empty}} indicates this criterion is not used for classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMask" access="readWrite">
        <description>
          Destination IP address mask.  If not {{empty}}, only the indicated network portion of the DestIP address is to be used for classification.  {{empty}} indicates that the full DestIP address is to be used for classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestIPExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the (masked) DestIP entry, if specified.
          If {{true}}, the class includes all packets except those that match the (masked) DestIP entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourceIP" access="readWrite">
        <description>
          Classification criterion.
          Source IP address.  {{empty}} indicates this criterion is not used for classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMask" access="readWrite">
        <description>
          Source IP address mask.  If not {{empty}}, only the indicated network portion of the SourceIP address is to be used for classification.  {{empty}} indicates that the full SourceIP address is to be used for classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceIPExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the (masked) SourceIP entry, if specified.
          If {{true}}, the class includes all packets except those that match the (masked) SourceIP entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Protocol" access="readWrite">
        <description>
          Classification criterion.
          Protocol number.  A value of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ProtocolExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the Protocol entry, if specified.
          If {{true}}, the class includes all packets except those that match the Protocol entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DestPort" access="readWrite">
        <description>
          Classification criterion.
          Destination port number.  A value of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="DestPortRangeMax" access="readWrite">
        <description>
          Classification criterion.
          If specified, indicates the classification criterion is to include the port range from DestPort through DestPortRangeMax (inclusive).  If specified, DestPortRangeMax MUST be greater than or equal to DestPort.
          A value of -1 indicates that no port range is specified.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="DestPortExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the DestPort entry (or port range), if specified.
          If {{true}}, the class includes all packets except those that match the DestPort entry (or port range), if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourcePort" access="readWrite">
        <description>
          Classification criterion.
          Source port number.  A value of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="SourcePortRangeMax" access="readWrite">
        <description>
          Classification criterion.
          If specified, indicates the classification criterion is to include the port range from SourcePort through SourcePortRangeMax (inclusive).  If specified, SourcePortRangeMax MUST be greater than or equal to SourcePort.
          A value of -1 indicates that no port range is specified.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="SourcePortExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the SourcePort entry (or port range), if specified.
          If {{true}}, the class includes all packets except those that match the SourcePort entry (or port range), if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACAddress" access="readWrite">
        <description>
          Classification criterion.
          Source MAC Address.  {{empty}} indicates this criterion is not used for classification.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACMask" access="readWrite">
        <description>
          Bit-mask for the MAC address, where matching of a packet's MAC address with the SourceMACAddress is only to be done for bit positions set to one in the mask.  A mask of ''FF:FF:FF:FF:FF:FF'' or {{empty}} indicates all bits of the SourceMACAdress are to be used for classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the (masked) SourceMACAddress entry, if specified.
          If {{true}}, the class includes all packets except those that match the (masked) SourceMACAddress entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DestMACAddress" access="readWrite">
        <description>
          Classification criterion.
          Destination MAC Address.  {{empty}} indicates this criterion is not used for classification.
          The use of destination MAC address as a classification criterion is primarily useful only for bridged traffic.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACMask" access="readWrite">
        <description>
          Bit-mask for the MAC address, where matching of a packet's MAC address with the DestMACAddress is only to be done for bit positions set to one in the mask.  A mask of ''FF:FF:FF:FF:FF:FF'' or {{empty}} indicates all bits of the DestMACAdress are to be used for classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the (masked) DestMACAddress entry, if specified.
          If {{true}}, the class includes all packets except those that match the (masked) DestMACAddress entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Ethertype" access="readWrite">
        <description>
          Classification criterion.
          Ethertype as indicated in either the Ethernet or SNAP Type header.  A value of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="EthertypeExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the Ethertype entry, if specified.
          If {{true}}, the class includes all packets except those that match the Ethertype entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SSAP" access="readWrite">
        <description>
          Classification criterion.
          SSAP element in the LLC header.  A value of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="SSAPExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the SSAP entry, if specified.
          If {{true}}, the class includes all packets except those that match the SSAP entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DSAP" access="readWrite">
        <description>
          Classification criterion.
          DSAP element in the LLC header.  A value of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="DSAPExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the DSAP entry, if specified.
          If {{true}}, the class includes all packets except those that match the DSAP entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="LLCControl" access="readWrite">
        <description>
          Classification criterion.
          Control element in the LLC header.  A value of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="LLCControlExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the LLCControl entry, if specified.
          If {{true}}, the class includes all packets except those that match the LLCControl entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SNAPOUI" access="readWrite">
        <description>
          Classification criterion.
          OUI element in the SNAP header.  A value of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="SNAPOUIExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the SNAPOUI entry, if specified.
          If {{true}}, the class includes all packets except those that match the SNAPOUI entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourceVendorClassID" access="readWrite">
        <description>
          Classification criterion.
          Used to identify one or more LAN devices, value of the DHCP Vendor Class Identifier (Option 60) as defined in RFC 2132.
          {{empty}} indicates this criterion is not used for classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceVendorClassIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets sourced from LAN devices that match the SourceVendorClassID entry, if specified.
          If {{true}}, the class includes all packets except those sourced from LAN devices that match the SourceVendorClassID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DestVendorClassID" access="readWrite">
        <description>
          Classification criterion.
          Used to identify one or more LAN devices, value of the DHCP Vendor Class Identifier (Option 60) as defined in RFC 2132.
          {{empty}} indicates this criterion is not used for classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestVendorClassIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets destined for LAN devices that match the DestVendorClassID entry, if specified.
          If {{true}}, the class includes all packets except those destined for LAN devices that match the DestVendorClassID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourceClientID" access="readWrite">
        <description>
          Classification criterion.
          Used to identify one or more LAN devices, value of the DHCP Client Identifier (Option 61) as defined in RFC 2132.
          {{empty}} indicates this criterion is not used for classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceClientIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets sourced from LAN devices that match the SourceClientID entry, if specified.
          If {{true}}, the class includes all packets except those sourced from LAN devices that match the SourceClientID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DestClientID" access="readWrite">
        <description>
          Classification criterion.
          Used to identify one or more LAN devices, value of the DHCP Client Identifier (Option 61) as defined in RFC 2132.
          {{empty}} indicates this criterion is not used for classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestClientIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets destined for LAN devices that match the DestClientID entry, if specified.
          If {{true}}, the class includes all packets except those destined for LAN devices that match the DestClientID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourceUserClassID" access="readWrite">
        <description>
          Classification criterion.
          Used to identify one or more LAN devices, value of the DHCP User Class Identifier (Option 77) as defined in RFC 3004.
          {{empty}} indicates this criterion is not used for classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceUserClassIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets sourced from LAN devices that match the SourceUserClassID entry, if specified.
          If {{true}}, the class includes all packets except those sourced from LAN devices that match the SourceUserClassID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DestUserClassID" access="readWrite">
        <description>
          Classification criterion.
          Used to identify one or more LAN devices, value of the DHCP User Class Identifier (Option 77) as defined in RFC 3004.
          {{empty}} indicates this criterion is not used for classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestUserClassIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets destined for LAN devices that match the DestUserClassID entry, if specified.
          If {{true}}, the class includes all packets except those destined for LAN devices that match the DestUserClassID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="TCPACK" access="readWrite">
        <description>
          Classification criterion.
          If {{false}}, this criterion is not used for classification.
          If {{true}}, this criterion matches with all TCP segments that have the ACK control bit set.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="TCPACKExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the TCPACK entry, if specified.
          If {{true}}, the class includes all packets except those that match the TCPACK entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="IPLengthMin" access="readWrite">
        <description>
          Classification criterion.
          Minimum IP Packet Length (including header) in bytes.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="IPLengthMax" access="readWrite">
        <description>
          Classification criterion.
          Maximum IP Packet Length (including header) in bytes.
          A value of zero indicates that no maximum is specified (an umlimited maximum length).
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="IPLengthExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets whose length (including header) falls within the inclusive range IPLengthMin through IPLengthMax.  A value of zero for both IPLengthMin and IPLengthMax allows any length packet.  An equal non-zero value of IPLengthMin and IPLengthMax allows only a packet with the exact length specified.
          If {{true}}, the class includes all packets except those whose length (including header) falls within the inclusive range IPLengthMin through IPLengthMax.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DSCPCheck" access="readWrite">
        <description>
          Classification criterion.
          DiffServ codepoint (defined in RFC 2474).
          If set to a Class Selector Codepoint (defined in RFC 2474), all DSCP values that match the first 3 bits will be considered a valid match.
          A value of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="DSCPExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the DSCPCheck entry, if specified.
          If {{true}}, the class includes all packets except those that match the DSCPCheck entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DSCPMark" access="readWrite">
        <description>
          Classification result.
          DSCP to mark traffic with that falls into this classification entry.
          A value of -1 indicates no change from the incoming packet.
          A value of -2 indicates automatic marking of DSCP based upon the EthernetPriority value of the incoming packet as defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityCheck" access="readWrite">
        <description>
          Classification criterion.
          Current Ethernet priority as defined in 802.1D.  A value of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the EthernetPriorityCheck entry, if specified.
          If {{true}}, the class includes all packets except those that match the EthernetPriorityCheck entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityMark" access="readWrite">
        <description>
          Classification result.
          Ethernet priority code (as defined in 802.1D) to mark traffic with that falls into this classification entry.
          A value of -1 indicates no change from the incoming packet.
          A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="VLANIDCheck" access="readWrite">
        <description>
          Classification criterion.
          Current Ethernet VLAN ID as defined in 802.1Q.  A value of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="VLANIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the VLANIDCheck entry, if specified.
          If {{true}}, the class includes all packets except those that match the VLANIDCheck entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="ForwardingPolicy" access="readWrite">
        <description>
          Classification result.
          Identifier of the forwarding policy associated with traffic that falls in this classification.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="ClassPolicer" access="readWrite">
        <description>
          Classification result.
          Instance number of the Policer table entry for traffic that falls in this classification.
          A value of -1 indicates a null policer.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ClassQueue" access="readWrite">
        <description>
          Classification result.
          Instance number of the Queue table entry for traffic that falls in this classification.
          A value of -1 indicates a null queue.
          {{param}} and {{param|ClassApp}} are mutually exclusive and one of the two MUST be specified.  If {{param}} is null, {{param|ClassApp}} MUST be specified, and vice versa.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ClassApp" access="readWrite">
        <description>
          Classification result.
          Instance number of the App table entry for traffic that falls in this classification.
          A value of -1 indicates a null App table entry.
          {{param|ClassQueue}} and {{param}} are mutually exclusive and one of the two MUST be specified.  If {{param|ClassQueue}} is null, {{param}} MUST be specified, and vice versa.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement.App.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="AppNumberOfEntries">
      <description>
        Application table.
      </description>

      <parameter name="AppKey" access="readOnly" status="obsoleted">
        <description>
          Unique key for each App table entry.

          This parameter is OBSOLETED because it serves no purpose (no other parameter references it).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AppEnable" access="readWrite">
        <description>
          Enables or disables this App table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="AppStatus" access="readOnly">
        <description>
          The status of this App table entry.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="ProtocolIdentifier" access="readWrite">
        <description>
          URN identifying the protocol associated with the given application.  A set of defined URNs is given in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="AppName" access="readWrite">
        <description>
          Human-readable name associated with this entry in the App table.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="AppDefaultForwardingPolicy" access="readWrite">
        <description>
          Identifier of the forwarding policy associated with traffic associated with this App table entry, but not associated with any specified flow.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="AppDefaultPolicer" access="readWrite">
        <description>
          Instance number of the Policer table entry for traffic associated with this App table entry, but not associated with any specified flow.
          A value of -1 indicates a null policer.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="AppDefaultQueue" access="readWrite">
        <description>
          Instance number of the Queue table entry for traffic associated with this App table entry, but not associated with any specified flow.
          A value of -1 indicates a null queue.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="AppDefaultDSCPMark" access="readWrite">
        <description>
          DSCP to mark traffic associated with this App table entry, but not associated with any specified flow.
          A value of -1 indicates no change from the incoming packet.
          A value of -2 indicates automatic marking of DSCP based upon the EthernetPriority value of the incoming packet as defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="AppDefaultEthernetPriorityMark" access="readWrite">
        <description>
          Ethernet priority code (as defined in 802.1D) to mark traffic associated with this App table entry, but not associated with any specified flow.
          A value of -1 indicates no change from the incoming packet.
          A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement.Flow.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="FlowNumberOfEntries">
      <description>
        Flow table.
      </description>

      <parameter name="FlowKey" access="readOnly" status="obsoleted">
        <description>
          Unique key for each Flow table entry.

          This parameter is OBSOLETED because it serves no purpose (no other parameter references it).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FlowEnable" access="readWrite">
        <description>
          Enables or disables this Flow table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="FlowStatus" access="readOnly">
        <description>
          The status of this Flow table entry.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="FlowType" access="readWrite">
        <description>
          URN identifying the type of flow to be associated with the specified queue and policer.  A set of defined URNs is given in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="FlowTypeParameters" access="readWrite">
        <description>
          List of name-value pairs representing additional criteria to identify the flow type.  The use and interpretation is specific to the particular FlowType URN.Encoded using the "x-www-form-urlencoded" content type defined in {{bibref|HTML4.01}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="FlowName" access="readWrite">
        <description>
          Human-readable name associated with this entry in the Flow table.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="AppIdentifier" access="readWrite">
        <description>
          Instance number of the App table entry associated with this flow.  A value of -1 indicates the flow table is not associated with any App table entry.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="FlowForwardingPolicy" access="readWrite">
        <description>
          Identifier of the forwarding policy associated with this flow.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="FlowPolicer" access="readWrite">
        <description>
          Instance number of the Policer table entry for traffic that falls in this flow.
          A value of -1 indicates a null policer.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="FlowQueue" access="readWrite">
        <description>
          Instance number of the Queue table entry for traffic that falls in this flow.
          A value of -1 indicates a null queue.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="FlowDSCPMark" access="readWrite">
        <description>
          DSCP to mark traffic with that falls into this flow.
          A value of -1 indicates no change from the incoming packet.
          A value of -2 indicates automatic marking of DSCP based upon the EthernetPriority value of the incoming packet as defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="FlowEthernetPriorityMark" access="readWrite">
        <description>
          Ethernet priority code (as defined in 802.1D) to mark traffic with that falls into this flow.
          A value of -1 indicates no change from the incoming packet.
          A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement.Policer.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="PolicerNumberOfEntries">
      <description>
        Policer table.
      </description>

      <parameter name="PolicerKey" access="readOnly" status="obsoleted">
        <description>
          Unique key for each policer entry.

          This parameter is OBSOLETED because it serves no purpose (no other parameter references it).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PolicerEnable" access="readWrite">
        <description>
          Enables or disables this policer.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="PolicerStatus" access="readOnly">
        <description>
          The status of this policer.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="CommittedRate" access="readWrite">
        <description>
          Committed rate allowed for this policer in bits-per-second.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="CommittedBurstSize" access="readWrite">
        <description>
          Committed Burstsize in bytes.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="ExcessBurstSize" access="readWrite">
        <description>
          Excess Burstsize in bytes.
          Applied for a {{enum|SingleRateThreeColor|MeterType}} meter.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="PeakRate" access="readWrite">
        <description>
          Peak rate allowed for this Meter in bits-per-second.
          Applied for {{enum|TwoRateThreeColor|MeterType}} meters.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="PeakBurstSize" access="readWrite">
        <description>
          Peak Burstsize in bytes.
          Applied for {{enum|TwoRateThreeColor|MeterType}} meters.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="MeterType" access="readWrite">
        <description>
          Identifies the method of traffic measurement to be used for this policer.  {{enum}}
          {{enum|SimpleTokenBucket}} makes use of {{param|CommittedRate}} and {{param|CommittedBurstSize}}.
          {{enum|SingleRateThreeColor}} makes use of {{param|CommittedRate}}, {{param|CommittedBurstSize}}, and {{param|ExcessBurstSize}} as defined in RFC 2697.
          {{enum|TwoRateThreeColor}} makes use of {{param|CommittedRate}}, {{param|CommittedBurstSize}}, {{param|PeakRate}}, and {{param|PeakBurstSize}} as defined in RFC 2698.
        </description>
        <syntax>
          <string>
            <enumeration value="SimpleTokenBucket"/>
            <enumeration value="SingleRateThreeColor"/>
            <enumeration value="TwoRateThreeColor"/>
          </string>
          <default type="object" value="SimpleTokenBucket"/>
        </syntax>
      </parameter>

      <parameter name="PossibleMeterTypes" access="readOnly"
          activeNotify="canDeny">
        <description>
          Supported meter types.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="SimpleTokenBucket"/>
            <enumeration value="SingleRateThreeColor"/>
            <enumeration value="TwoRateThreeColor"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConformingAction" access="readWrite">
        <description>
          Instructions for how to handle traffic that is conforming.  {{pattern}}
          {{pattern|Null}} corresponds with no action.
          A {{pattern|Count}} action increases the meter instance count statistics.
          ''&lt;DSCP Value&gt;'' is an unsigned integer that corresponds with a mark action overwriting the traffic's DSCP with the configured DSCP.
        </description>
        <syntax>
          <string>
            <pattern value="Null"/>
            <pattern value="Drop"/>
            <pattern value="Count"/>
            <pattern value="[0-9]|[1-5][0-9]|6[0-3]">
              <description>&lt;DSCP Value&gt;</description>
            </pattern>
          </string>
          <default type="object" value="Null"/>
        </syntax>
      </parameter>

      <parameter name="PartialConformingAction" access="readWrite">
        <description>
          Instructions for how to handle traffic that is partially conforming (colored yellow).  {{pattern}}
          {{pattern|Null}} corresponds with no action.
          A {{pattern|Count}} action increases the meter instance count statistics.
          ''&lt;DSCP Value&gt;'' is an unsigned integer that corresponds with a mark action overwriting the traffic's DSCP with the configured DSCP.Only applies for three-color meters.
        </description>
        <syntax>
          <string>
            <pattern value="Null"/>
            <pattern value="Drop"/>
            <pattern value="Count"/>
            <pattern value="[0-9]|[1-5][0-9]|6[0-3]">
              <description>&lt;DSCP Value&gt;</description>
            </pattern>
          </string>
          <default type="object" value="Drop"/>
        </syntax>
      </parameter>

      <parameter name="NonConformingAction" access="readWrite">
        <description>
          Instructions for how to handle traffic that is non-conforming.  {{pattern}}
          {{pattern|Null}} corresponds with no action.
          A {{pattern|Count}} action increases the meter instance count statistics.
          ''&lt;DSCP Value&gt;'' is an unsigned integer that corresponds with a mark action overwriting the traffic's DSCP with the configured DSCP.
        </description>
        <syntax>
          <string>
            <pattern value="Null"/>
            <pattern value="Drop"/>
            <pattern value="Count"/>
            <pattern value="[0-9]|[1-5][0-9]|6[0-3]">
              <description>&lt;DSCP Value&gt;</description>
            </pattern>
          </string>
          <default type="object" value="Drop"/>
        </syntax>
      </parameter>

      <parameter name="CountedPackets" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of Packets counted as result of a count meter action.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="CountedBytes" access="readOnly" activeNotify="canDeny">
        <description>
          Number of Bytes counted as result of a count meter action.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement.Queue.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="QueueNumberOfEntries">
      <description>
        Queue table.

        This table can contain hardware queues.  The CPE MAY refuse to allow hardware queues to be deleted.
      </description>

      <parameter name="QueueKey" access="readOnly" status="obsoleted">
        <description>
          Unique key for each queue entry.

          This parameter is OBSOLETED because it serves no purpose (no other parameter references it).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueEnable" access="readWrite">
        <description>
          Enables or disables this queue.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="QueueStatus" access="readOnly">
        <description>
          The status of this queue.

          {{enum}}
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="QueueInterface" access="readWrite">
        <description>
          Egress interfaces for which the specified queue MUST exist.  This parameter MUST be in one of the following forms:
          The full hierarchical parameter name of the particular ''WANDevice'', ''WANConnectionDevice'', ''WAN**Connection'', ''LANDevice'', ''LAN**InterfaceConfig'', or ''WLANConfiguration'' object.
          The string ''WAN'', which indicates this entry applies to all WAN interfaces.
          The string ''LAN'', which indicates this entry applies to all LAN interfaces.
          {{empty}}, which indicates this classification entry is to apply to all interfaces.
          Packets classified into this queue that exit through any other interface MUST instead use the default queuing behavior specified in the Queue table entry referenced by {{param|InternetGatewayDevice.QueueManagement.DefaultQueue}}.
          For the default queue itself (the Queue table entry referenced by {{param|InternetGatewayDevice.QueueManagement.DefaultQueue}}), the value of the {{param}} parameter MUST be ignored.  That is, the default queue MUST exist on all egress interfaces.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="QueueBufferLength" access="readOnly">
        <description>
          Number of bytes in the buffer.

          Queue buffer size for all egress interfaces for which this queue exists.  If the buffer size is not the same for all such egress interfaces, this parameter MUST be 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueWeight" access="readWrite">
        <description>
          Weight of this queue in case of {{enum|WFQ|SchedulerAlgorithm}} or {{enum|WRR|SchedulerAlgorithm}}, but only used for queues of equal precedence.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="QueuePrecedence" access="readWrite">
        <description>
          Precedence of this queue relative to others. Lower numbers imply greater precedence.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
          <default type="object" value="1"/>
        </syntax>
      </parameter>

      <parameter name="REDThreshold" access="readWrite">
        <description>
          Random Early Detection threshold, used only when {{param|DropAlgorithm}} is {{enum|RED|DropAlgorithm}}.
          This is the minimum threshold (''min_th'') and is measured as a percentage of the queue size.  If the value is set to zero, the CPE MUST choose a sensible value, e.g. 5 (but the value MUST still read back as zero).
          In this version of the data model, there is no way to set the maximum threshold (''max_th'').  The CPE MUST choose a sensible value, e.g. three times the minimum threshold.
          In this version of the data model, there is no way to set the RED weight (''w_q'').  The CPE MUST choose a sensible value, e.g. 0.002.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="100"/>
          </unsignedInt>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="REDPercentage" access="readWrite">
        <description>
          Random Early Detection percentage, used only when {{param|DropAlgorithm}} is {{enum|RED|DropAlgorithm}}.
          This is the maximum value of the packet marking probability (''max_p'').  If the value is set to zero, the CPE MUST choose a sensible value, e.g. 10 (but the value MUST still read back as zero).
          In this version of the data model, there is no way to set the RED weight (''w_q'').  The CPE MUST choose a sensible value, e.g. 0.002.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="100"/>
          </unsignedInt>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="DropAlgorithm" access="readWrite">
        <description>
          Dropping algorithm used for this queue if congested.
        </description>
        <syntax>
          <string>
            <enumeration value="RED">
              <description action="replace">Random Early Detection {{bibref|RED}}</description>
            </enumeration>
            <enumeration value="DT">
              <description action="replace">Drop Tail</description>
            </enumeration>
            <enumeration value="WRED">
              <description action="replace">Weighted RED</description>
            </enumeration>
            <enumeration value="BLUE">
              <description action="replace">{{bibref|BLUE}}</description>
            </enumeration>
          </string>
          <default type="object" value="DT"/>
        </syntax>
      </parameter>

      <parameter name="SchedulerAlgorithm" access="readWrite">
        <description>
          Scheduling Algorithm used by scheduler.
        </description>
        <syntax>
          <string>
            <enumeration value="WFQ">
              <description action="replace">Weighted Fair Queueing</description>
            </enumeration>
            <enumeration value="WRR">
              <description action="replace">Weighted Round Robin</description>
            </enumeration>
            <enumeration value="SP">
              <description>Strict Priority</description>
            </enumeration>
          </string>
          <default type="object" value="SP"/>
        </syntax>
      </parameter>

      <parameter name="ShapingRate" access="readWrite">
        <description>
          Rate to shape this queue's traffic to.  For leaky bucket (constant rate shaping), this is the constant rate.  For token bucket (variable rate shaping), this is the average rate.
          If &lt;= 100, in percent of the rate of the highest rate-constrained layer over which the packet will travel on egress.
          If &gt; 100, in bits per second.
          A value of -1 indicates no shaping.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ShapingBurstSize" access="readWrite">
        <description>
          Burst size in bytes.  For both leaky bucket (constant rate shaping) and token bucket (variable rate shaping) this is the bucket size and is therefore the maximum burst size.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0" status="deleted"/>
        </syntax>
      </parameter>
    </object>

    <profile name="Baseline:1">
      <object ref="InternetGatewayDevice." requirement="present">
        <parameter ref="DeviceSummary" requirement="readOnly"/>
        <parameter ref="LANDeviceNumberOfEntries" requirement="readOnly"/>
        <parameter ref="WANDeviceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.DeviceInfo." requirement="present">
        <parameter ref="Manufacturer" requirement="readOnly"/>
        <parameter ref="ManufacturerOUI" requirement="readOnly"/>
        <parameter ref="ModelName" requirement="readOnly"/>
        <parameter ref="Description" requirement="readOnly"/>
        <parameter ref="SerialNumber" requirement="readOnly"/>
        <parameter ref="HardwareVersion" requirement="readOnly"/>
        <parameter ref="SoftwareVersion" requirement="readOnly"/>
        <parameter ref="SpecVersion" requirement="readOnly"/>
        <parameter ref="ProvisioningCode" requirement="readWrite"/>
        <parameter ref="UpTime" requirement="readOnly"/>
        <parameter ref="DeviceLog" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.ManagementServer."
          requirement="present">
        <parameter ref="URL" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
        <parameter ref="PeriodicInformEnable" requirement="readWrite"/>
        <parameter ref="PeriodicInformInterval" requirement="readWrite"/>
        <parameter ref="PeriodicInformTime" requirement="readWrite"/>
        <parameter ref="ParameterKey" requirement="readOnly"/>
        <parameter ref="ConnectionRequestURL" requirement="readOnly"/>
        <parameter ref="ConnectionRequestUsername" requirement="readWrite"/>
        <parameter ref="ConnectionRequestPassword" requirement="readWrite"/>
        <parameter ref="UpgradesManaged" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.Layer3Forwarding."
          requirement="present">
        <parameter ref="DefaultConnectionService" requirement="readWrite"/>
        <parameter ref="ForwardNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Type" requirement="readWrite"/>
        <parameter ref="DestIPAddress" requirement="readWrite"/>
        <parameter ref="DestSubnetMask" requirement="readWrite"/>
        <parameter ref="SourceIPAddress" requirement="readWrite"/>
        <parameter ref="SourceSubnetMask" requirement="readWrite"/>
        <parameter ref="GatewayIPAddress" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="ForwardingMetric" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.LANConfigSecurity."
          requirement="present">
        <parameter ref="ConfigPassword" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.LANDevice.{i}." requirement="present">
        <parameter ref="LANEthernetInterfaceNumberOfEntries"
            requirement="readOnly"/>
        <parameter ref="LANUSBInterfaceNumberOfEntries" requirement="readOnly"/>
        <parameter ref="LANWLANConfigurationNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement."
          requirement="present">
        <parameter ref="DHCPServerConfigurable" requirement="readWrite"/>
        <parameter ref="DHCPServerEnable" requirement="readWrite"/>
        <parameter ref="DHCPRelay" requirement="readOnly"/>
        <parameter ref="MinAddress" requirement="readWrite"/>
        <parameter ref="MaxAddress" requirement="readWrite"/>
        <parameter ref="ReservedAddresses" requirement="readWrite"/>
        <parameter ref="SubnetMask" requirement="readWrite"/>
        <parameter ref="DNSServers" requirement="readWrite"/>
        <parameter ref="DomainName" requirement="readWrite"/>
        <parameter ref="IPRouters" requirement="readWrite"/>
        <parameter ref="IPInterfaceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.IPInterface.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="IPInterfaceIPAddress" requirement="readWrite"/>
        <parameter ref="IPInterfaceSubnetMask" requirement="readWrite"/>
        <parameter ref="IPInterfaceAddressingType" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.LANDevice.{i}.Hosts."
          requirement="present">
        <parameter ref="HostNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.LANDevice.{i}.Hosts.Host.{i}."
          requirement="present">
        <parameter ref="IPAddress" requirement="readOnly"/>
        <parameter ref="AddressSource" requirement="readOnly"/>
        <parameter ref="LeaseTimeRemaining" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="HostName" requirement="readOnly"/>
        <parameter ref="InterfaceType" requirement="readOnly"/>
        <parameter ref="Active" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.WANDevice.{i}." requirement="present">
        <parameter ref="WANConnectionNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANCommonInterfaceConfig."
          requirement="present">
        <parameter ref="EnabledForInternet" requirement="readOnly"/>
        <parameter ref="WANAccessType" requirement="readOnly"/>
        <parameter ref="Layer1UpstreamMaxBitRate" requirement="readOnly"/>
        <parameter ref="Layer1DownstreamMaxBitRate" requirement="readOnly"/>
        <parameter ref="PhysicalLinkStatus" requirement="readOnly"/>
        <parameter ref="TotalBytesSent" requirement="readOnly"/>
        <parameter ref="TotalBytesReceived" requirement="readOnly"/>
        <parameter ref="TotalPacketsSent" requirement="readOnly"/>
        <parameter ref="TotalPacketsReceived" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}."
          requirement="present">
        <parameter ref="WANIPConnectionNumberOfEntries" requirement="readOnly"/>
        <parameter ref="WANPPPConnectionNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="ConnectionStatus" requirement="readOnly"/>
        <parameter ref="PossibleConnectionTypes" requirement="readOnly"/>
        <parameter ref="ConnectionType" requirement="readWrite"/>
        <parameter ref="Name" requirement="readWrite"/>
        <parameter ref="Uptime" requirement="readOnly"/>
        <parameter ref="LastConnectionError" requirement="readOnly"/>
        <parameter ref="RSIPAvailable" requirement="readOnly"/>
        <parameter ref="NATEnabled" requirement="readWrite"/>
        <parameter ref="AddressingType" requirement="readOnly"/>
        <parameter ref="ExternalIPAddress" requirement="readOnly"/>
        <parameter ref="SubnetMask" requirement="readOnly"/>
        <parameter ref="DefaultGateway" requirement="readOnly"/>
        <parameter ref="DNSEnabled" requirement="readOnly"/>
        <parameter ref="DNSOverrideAllowed" requirement="readOnly"/>
        <parameter ref="DNSServers" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="ConnectionTrigger" requirement="readWrite"/>
        <parameter ref="RouteProtocolRx" requirement="readWrite"/>
        <parameter ref="PortMappingNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}."
          requirement="createDelete">
        <parameter ref="PortMappingEnabled" requirement="readWrite"/>
        <parameter ref="PortMappingLeaseDuration" requirement="readOnly"/>
        <parameter ref="RemoteHost" requirement="readWrite"/>
        <parameter ref="ExternalPort" requirement="readWrite"/>
        <parameter ref="InternalPort" requirement="readWrite"/>
        <parameter ref="PortMappingProtocol" requirement="readWrite"/>
        <parameter ref="InternalClient" requirement="readWrite"/>
        <parameter ref="PortMappingDescription" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.Stats."
          requirement="present">
        <parameter ref="EthernetBytesSent" requirement="readOnly"/>
        <parameter ref="EthernetBytesReceived" requirement="readOnly"/>
        <parameter ref="EthernetPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetPacketsReceived" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="ConnectionStatus" requirement="readOnly"/>
        <parameter ref="PossibleConnectionTypes" requirement="readOnly"/>
        <parameter ref="ConnectionType" requirement="readWrite"/>
        <parameter ref="Name" requirement="readWrite"/>
        <parameter ref="Uptime" requirement="readOnly"/>
        <parameter ref="LastConnectionError" requirement="readOnly"/>
        <parameter ref="RSIPAvailable" requirement="readOnly"/>
        <parameter ref="NATEnabled" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
        <parameter ref="ExternalIPAddress" requirement="readOnly"/>
        <parameter ref="DNSEnabled" requirement="readOnly"/>
        <parameter ref="DNSOverrideAllowed" requirement="readOnly"/>
        <parameter ref="DNSServers" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="TransportType" requirement="readOnly"/>
        <parameter ref="PPPoEACName" requirement="readWrite"/>
        <parameter ref="PPPoEServiceName" requirement="readWrite"/>
        <parameter ref="ConnectionTrigger" requirement="readWrite"/>
        <parameter ref="RouteProtocolRx" requirement="readWrite"/>
        <parameter ref="PortMappingNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}."
          requirement="createDelete">
        <parameter ref="PortMappingEnabled" requirement="readWrite"/>
        <parameter ref="PortMappingLeaseDuration" requirement="readOnly"/>
        <parameter ref="RemoteHost" requirement="readWrite"/>
        <parameter ref="ExternalPort" requirement="readWrite"/>
        <parameter ref="InternalPort" requirement="readWrite"/>
        <parameter ref="PortMappingProtocol" requirement="readWrite"/>
        <parameter ref="InternalClient" requirement="readWrite"/>
        <parameter ref="PortMappingDescription" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.Stats."
          requirement="present">
        <parameter ref="EthernetBytesSent" requirement="readOnly"/>
        <parameter ref="EthernetBytesReceived" requirement="readOnly"/>
        <parameter ref="EthernetPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetPacketsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="EthernetLAN:1">
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="MACAddressControlEnabled" requirement="readWrite"/>
        <parameter ref="MaxBitRate" requirement="readWrite"/>
        <parameter ref="DuplexMode" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}.Stats."
          requirement="present">
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="PacketsSent" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="USBLAN:1">
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANUSBInterfaceConfig.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="MACAddressControlEnabled" requirement="readWrite"/>
        <parameter ref="Standard" requirement="readOnly"/>
        <parameter ref="Type" requirement="readOnly"/>
        <parameter ref="Rate" requirement="readOnly"/>
        <parameter ref="Power" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANUSBInterfaceConfig.{i}.Stats."
          requirement="present">
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="CellsSent" requirement="readOnly"/>
        <parameter ref="CellsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="WiFiLAN:1">
      <object ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="BSSID" requirement="readOnly"/>
        <parameter ref="MaxBitRate" requirement="readWrite"/>
        <parameter ref="Channel" requirement="readWrite"/>
        <parameter ref="SSID" requirement="readWrite"/>
        <parameter ref="BeaconType" requirement="readWrite"/>
        <parameter ref="MACAddressControlEnabled" requirement="readWrite"/>
        <parameter ref="Standard" requirement="readOnly"/>
        <parameter ref="WEPKeyIndex" requirement="readWrite"/>
        <parameter ref="KeyPassphrase" requirement="readWrite"/>
        <parameter ref="WEPEncryptionLevel" requirement="readOnly"/>
        <parameter ref="BasicEncryptionModes" requirement="readWrite"/>
        <parameter ref="BasicAuthenticationMode" requirement="readWrite"/>
        <parameter ref="WPAEncryptionModes" requirement="readWrite"/>
        <parameter ref="WPAAuthenticationMode" requirement="readWrite"/>
        <parameter ref="PossibleChannels" requirement="readOnly"/>
        <parameter ref="BasicDataTransmitRates" requirement="readWrite"/>
        <parameter ref="OperationalDataTransmitRates" requirement="readWrite"/>
        <parameter ref="PossibleDataTransmitRates" requirement="readOnly"/>
        <parameter ref="RadioEnabled" requirement="readWrite"/>
        <parameter ref="AutoRateFallBackEnabled" requirement="readWrite"/>
        <parameter ref="TotalBytesSent" requirement="readOnly"/>
        <parameter ref="TotalBytesReceived" requirement="readOnly"/>
        <parameter ref="TotalPacketsSent" requirement="readOnly"/>
        <parameter ref="TotalPacketsReceived" requirement="readOnly"/>
        <parameter ref="TotalAssociations" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.AssociatedDevice.{i}."
          requirement="present">
        <parameter ref="AssociatedDeviceMACAddress" requirement="readOnly"/>
        <parameter ref="AssociatedDeviceIPAddress" requirement="readOnly"/>
        <parameter ref="AssociatedDeviceAuthenticationState"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.WEPKey.{i}."
          requirement="present">
        <parameter ref="WEPKey" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.PreSharedKey.{i}."
          requirement="present">
        <parameter ref="PreSharedKey" requirement="readWrite"/>
        <parameter ref="KeyPassphrase" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="ADSLWAN:1">
      <object ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="UpstreamCurrRate" requirement="readOnly"/>
        <parameter ref="DownstreamCurrRate" requirement="readOnly"/>
        <parameter ref="UpstreamMaxRate" requirement="readOnly"/>
        <parameter ref="DownstreamMaxRate" requirement="readOnly"/>
        <parameter ref="UpstreamNoiseMargin" requirement="readOnly"/>
        <parameter ref="DownstreamNoiseMargin" requirement="readOnly"/>
        <parameter ref="UpstreamAttenuation" requirement="readOnly"/>
        <parameter ref="DownstreamAttenuation" requirement="readOnly"/>
        <parameter ref="UpstreamPower" requirement="readOnly"/>
        <parameter ref="DownstreamPower" requirement="readOnly"/>
        <parameter ref="ATURVendor" requirement="readOnly"/>
        <parameter ref="ATURCountry" requirement="readOnly"/>
        <parameter ref="ATUCVendor" requirement="readOnly"/>
        <parameter ref="ATUCCountry" requirement="readOnly"/>
        <parameter ref="TotalStart" requirement="readOnly"/>
        <parameter ref="ShowtimeStart" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats."
          requirement="present"/>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.Total."
          requirement="present">
        <parameter ref="ReceiveBlocks" requirement="readOnly"/>
        <parameter ref="TransmitBlocks" requirement="readOnly"/>
        <parameter ref="CellDelin" requirement="readOnly"/>
        <parameter ref="LinkRetrain" requirement="readOnly"/>
        <parameter ref="InitErrors" requirement="readOnly"/>
        <parameter ref="InitTimeouts" requirement="readOnly"/>
        <parameter ref="LossOfFraming" requirement="readOnly"/>
        <parameter ref="ErroredSecs" requirement="readOnly"/>
        <parameter ref="SeverelyErroredSecs" requirement="readOnly"/>
        <parameter ref="FECErrors" requirement="readOnly"/>
        <parameter ref="ATUCFECErrors" requirement="readOnly"/>
        <parameter ref="HECErrors" requirement="readOnly"/>
        <parameter ref="ATUCHECErrors" requirement="readOnly"/>
        <parameter ref="CRCErrors" requirement="readOnly"/>
        <parameter ref="ATUCCRCErrors" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.Showtime."
          requirement="present">
        <parameter ref="ReceiveBlocks" requirement="readOnly"/>
        <parameter ref="TransmitBlocks" requirement="readOnly"/>
        <parameter ref="CellDelin" requirement="readOnly"/>
        <parameter ref="LinkRetrain" requirement="readOnly"/>
        <parameter ref="InitErrors" requirement="readOnly"/>
        <parameter ref="InitTimeouts" requirement="readOnly"/>
        <parameter ref="LossOfFraming" requirement="readOnly"/>
        <parameter ref="ErroredSecs" requirement="readOnly"/>
        <parameter ref="SeverelyErroredSecs" requirement="readOnly"/>
        <parameter ref="FECErrors" requirement="readOnly"/>
        <parameter ref="ATUCFECErrors" requirement="readOnly"/>
        <parameter ref="HECErrors" requirement="readOnly"/>
        <parameter ref="ATUCHECErrors" requirement="readOnly"/>
        <parameter ref="CRCErrors" requirement="readOnly"/>
        <parameter ref="ATUCCRCErrors" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLConnectionManagement."
          requirement="present">
        <parameter ref="ConnectionServiceNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLConnectionManagement.ConnectionService.{i}."
          requirement="present">
        <parameter ref="WANConnectionDevice" requirement="readOnly"/>
        <parameter ref="WANConnectionService" requirement="readOnly"/>
        <parameter ref="DestinationAddress" requirement="readOnly"/>
        <parameter ref="LinkType" requirement="readOnly"/>
        <parameter ref="ConnectionType" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}."
          requirement="createDelete"/>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANDSLLinkConfig."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="LinkStatus" requirement="readOnly"/>
        <parameter ref="LinkType" requirement="readWrite"/>
        <parameter ref="AutoConfig" requirement="readOnly"/>
        <parameter ref="DestinationAddress" requirement="readWrite"/>
        <parameter ref="ATMTransmittedBlocks" requirement="readOnly"/>
        <parameter ref="ATMReceivedBlocks" requirement="readOnly"/>
        <parameter ref="AAL5CRCErrors" requirement="readOnly"/>
        <parameter ref="ATMCRCErrors" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="EthernetWAN:1">
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANEthernetInterfaceConfig."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="MaxBitRate" requirement="readWrite"/>
        <parameter ref="DuplexMode" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANEthernetInterfaceConfig.Stats."
          requirement="present">
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="PacketsSent" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANEthernetLinkConfig."
          requirement="present">
        <parameter ref="EthernetLinkStatus" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="POTSWAN:1">
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPOTSLinkConfig."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="LinkStatus" requirement="readOnly"/>
        <parameter ref="ISPPhoneNumber" requirement="readOnly"/>
        <parameter ref="ISPInfo" requirement="readOnly"/>
        <parameter ref="LinkType" requirement="readOnly"/>
        <parameter ref="NumberOfRetries" requirement="readOnly"/>
        <parameter ref="DelayBetweenRetries" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="QoS:1">
      <object ref="InternetGatewayDevice.QueueManagement."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="MaxQueues" requirement="readOnly"/>
        <parameter ref="MaxClassificationEntries" requirement="readOnly"/>
        <parameter ref="ClassificationNumberOfEntries" requirement="readOnly"/>
        <parameter ref="MaxAppEntries" requirement="readOnly"/>
        <parameter ref="AppNumberOfEntries" requirement="readOnly"/>
        <parameter ref="MaxFlowEntries" requirement="readOnly"/>
        <parameter ref="FlowNumberOfEntries" requirement="readOnly"/>
        <parameter ref="MaxPolicerEntries" requirement="readOnly"/>
        <parameter ref="PolicerNumberOfEntries" requirement="readOnly"/>
        <parameter ref="MaxQueueEntries" requirement="readOnly"/>
        <parameter ref="QueueNumberOfEntries" requirement="readOnly"/>
        <parameter ref="DefaultForwardingPolicy" requirement="readWrite"/>
        <parameter ref="DefaultPolicer" requirement="readWrite"/>
        <parameter ref="DefaultQueue" requirement="readWrite"/>
        <parameter ref="DefaultDSCPMark" requirement="readWrite"/>
        <parameter ref="DefaultEthernetPriorityMark" requirement="readWrite"/>
        <parameter ref="AvailableAppList" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Classification.{i}."
          requirement="createDelete">
        <parameter ref="ClassificationKey" requirement="readOnly"/>
        <parameter ref="ClassificationEnable" requirement="readWrite"/>
        <parameter ref="ClassificationStatus" requirement="readOnly"/>
        <parameter ref="ClassificationOrder" requirement="readWrite"/>
        <parameter ref="ClassInterface" requirement="readWrite"/>
        <parameter ref="DestIP" requirement="readWrite"/>
        <parameter ref="DestMask" requirement="readWrite"/>
        <parameter ref="DestIPExclude" requirement="readWrite"/>
        <parameter ref="SourceIP" requirement="readWrite"/>
        <parameter ref="SourceMask" requirement="readWrite"/>
        <parameter ref="SourceIPExclude" requirement="readWrite"/>
        <parameter ref="Protocol" requirement="readWrite"/>
        <parameter ref="ProtocolExclude" requirement="readWrite"/>
        <parameter ref="DestPort" requirement="readWrite"/>
        <parameter ref="DestPortRangeMax" requirement="readWrite"/>
        <parameter ref="DestPortExclude" requirement="readWrite"/>
        <parameter ref="SourcePort" requirement="readWrite"/>
        <parameter ref="SourcePortRangeMax" requirement="readWrite"/>
        <parameter ref="SourcePortExclude" requirement="readWrite"/>
        <parameter ref="SourceMACAddress" requirement="readWrite"/>
        <parameter ref="SourceMACExclude" requirement="readWrite"/>
        <parameter ref="DestMACAddress" requirement="readWrite"/>
        <parameter ref="DestMACExclude" requirement="readWrite"/>
        <parameter ref="DSCPCheck" requirement="readWrite"/>
        <parameter ref="DSCPExclude" requirement="readWrite"/>
        <parameter ref="DSCPMark" requirement="readWrite"/>
        <parameter ref="EthernetPriorityCheck" requirement="readWrite"/>
        <parameter ref="EthernetPriorityExclude" requirement="readWrite"/>
        <parameter ref="EthernetPriorityMark" requirement="readWrite"/>
        <parameter ref="VLANIDCheck" requirement="readWrite"/>
        <parameter ref="VLANIDExclude" requirement="readWrite"/>
        <parameter ref="ForwardingPolicy" requirement="readWrite"/>
        <parameter ref="ClassPolicer" requirement="readWrite"/>
        <parameter ref="ClassQueue" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Policer.{i}."
          requirement="createDelete">
        <parameter ref="PolicerKey" requirement="readOnly"/>
        <parameter ref="PolicerEnable" requirement="readWrite"/>
        <parameter ref="PolicerStatus" requirement="readOnly"/>
        <parameter ref="CommittedRate" requirement="readWrite"/>
        <parameter ref="CommittedBurstSize" requirement="readWrite"/>
        <parameter ref="MeterType" requirement="readWrite"/>
        <parameter ref="PossibleMeterTypes" requirement="readOnly"/>
        <parameter ref="ConformingAction" requirement="readWrite"/>
        <parameter ref="NonConformingAction" requirement="readWrite"/>
        <parameter ref="CountedPackets" requirement="readOnly"/>
        <parameter ref="CountedBytes" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Queue.{i}."
          requirement="createDelete">
        <parameter ref="QueueKey" requirement="readOnly"/>
        <parameter ref="QueueEnable" requirement="readWrite"/>
        <parameter ref="QueueStatus" requirement="readOnly"/>
        <parameter ref="QueueInterface" requirement="readWrite"/>
        <parameter ref="QueueBufferLength" requirement="readOnly"/>
        <parameter ref="QueueWeight" requirement="readWrite"/>
        <parameter ref="QueuePrecedence" requirement="readWrite"/>
        <parameter ref="REDThreshold" requirement="readWrite"/>
        <parameter ref="REDPercentage" requirement="readWrite"/>
        <parameter ref="DropAlgorithm" requirement="readWrite"/>
        <parameter ref="SchedulerAlgorithm" requirement="readWrite"/>
        <parameter ref="ShapingRate" requirement="readWrite"/>
        <parameter ref="ShapingBurstSize" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}."
          requirement="notSpecified">
        <parameter ref="ForwardingPolicy" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}."
          requirement="notSpecified">
        <parameter ref="ShapingRate" requirement="readWrite"/>
        <parameter ref="ShapingBurstSize" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}."
          requirement="notSpecified">
        <parameter ref="ShapingRate" requirement="readWrite"/>
        <parameter ref="ShapingBurstSize" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="QoSDynamicFlow:1">
      <object ref="InternetGatewayDevice.QueueManagement.App.{i}."
          requirement="createDelete">
        <parameter ref="AppKey" requirement="readOnly"/>
        <parameter ref="AppEnable" requirement="readWrite"/>
        <parameter ref="AppStatus" requirement="readOnly"/>
        <parameter ref="ProtocolIdentifier" requirement="readWrite"/>
        <parameter ref="AppName" requirement="readWrite"/>
        <parameter ref="AppDefaultForwardingPolicy" requirement="readWrite"/>
        <parameter ref="AppDefaultPolicer" requirement="readWrite"/>
        <parameter ref="AppDefaultQueue" requirement="readWrite"/>
        <parameter ref="AppDefaultDSCPMark" requirement="readWrite"/>
        <parameter ref="AppDefaultEthernetPriorityMark"
            requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Flow.{i}."
          requirement="createDelete">
        <parameter ref="FlowKey" requirement="readOnly"/>
        <parameter ref="FlowEnable" requirement="readWrite"/>
        <parameter ref="FlowStatus" requirement="readOnly"/>
        <parameter ref="FlowType" requirement="readWrite"/>
        <parameter ref="FlowTypeParameters" requirement="readWrite"/>
        <parameter ref="FlowName" requirement="readWrite"/>
        <parameter ref="AppIdentifier" requirement="readWrite"/>
        <parameter ref="FlowForwardingPolicy" requirement="readWrite"/>
        <parameter ref="FlowPolicer" requirement="readWrite"/>
        <parameter ref="FlowQueue" requirement="readWrite"/>
        <parameter ref="FlowDSCPMark" requirement="readWrite"/>
        <parameter ref="FlowEthernetPriorityMark" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Classification.{i}."
          requirement="notSpecified">
        <parameter ref="ClassApp" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="Bridging:1">
      <object ref="InternetGatewayDevice.Layer2Bridging."
          requirement="present">
        <parameter ref="MaxBridgeEntries" requirement="readOnly"/>
        <parameter ref="MaxFilterEntries" requirement="readOnly"/>
        <parameter ref="MaxMarkingEntries" requirement="readOnly"/>
        <parameter ref="BridgeNumberOfEntries" requirement="readOnly"/>
        <parameter ref="FilterNumberOfEntries" requirement="readOnly"/>
        <parameter ref="MarkingNumberOfEntries" requirement="readOnly"/>
        <parameter ref="AvailableInterfaceNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.Layer2Bridging.Bridge.{i}."
          requirement="createDelete">
        <parameter ref="BridgeKey" requirement="readOnly"/>
        <parameter ref="BridgeEnable" requirement="readWrite"/>
        <parameter ref="BridgeStatus" requirement="readOnly"/>
        <parameter ref="BridgeName" requirement="readWrite"/>
        <parameter ref="VLANID" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.Layer2Bridging.Filter.{i}."
          requirement="createDelete">
        <parameter ref="FilterKey" requirement="readOnly"/>
        <parameter ref="FilterEnable" requirement="readWrite"/>
        <parameter ref="FilterStatus" requirement="readOnly"/>
        <parameter ref="FilterBridgeReference" requirement="readWrite"/>
        <parameter ref="ExclusivityOrder" requirement="readWrite"/>
        <parameter ref="FilterInterface" requirement="readWrite"/>
        <parameter ref="VLANIDFilter" requirement="readWrite"/>
        <parameter ref="AdmitOnlyVLANTagged" requirement="readWrite"/>
        <parameter ref="EthertypeFilterList" requirement="readWrite"/>
        <parameter ref="EthertypeFilterExclude" requirement="readWrite"/>
        <parameter ref="SourceMACAddressFilterList" requirement="readWrite"/>
        <parameter ref="SourceMACAddressFilterExclude" requirement="readWrite"/>
        <parameter ref="DestMACAddressFilterList" requirement="readWrite"/>
        <parameter ref="DestMACAddressFilterExclude" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.Layer2Bridging.Marking.{i}."
          requirement="createDelete">
        <parameter ref="MarkingKey" requirement="readOnly"/>
        <parameter ref="MarkingEnable" requirement="readWrite"/>
        <parameter ref="MarkingStatus" requirement="readOnly"/>
        <parameter ref="MarkingBridgeReference" requirement="readWrite"/>
        <parameter ref="MarkingInterface" requirement="readWrite"/>
        <parameter ref="VLANIDUntag" requirement="readWrite"/>
        <parameter ref="VLANIDMark" requirement="readWrite"/>
        <parameter ref="EthernetPriorityMark" requirement="readWrite"/>
        <parameter ref="EthernetPriorityOverride" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.Layer2Bridging.AvailableInterface.{i}."
          requirement="present">
        <parameter ref="AvailableInterfaceKey" requirement="readOnly"/>
        <parameter ref="InterfaceType" requirement="readOnly"/>
        <parameter ref="InterfaceReference" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="Time:1">
      <object ref="InternetGatewayDevice.Time." requirement="present">
        <parameter ref="NTPServer1" requirement="readWrite"/>
        <parameter ref="NTPServer2" requirement="readWrite"/>
        <parameter ref="CurrentLocalTime" requirement="readOnly"/>
        <parameter ref="LocalTimeZone" requirement="readWrite"/>
        <parameter ref="LocalTimeZoneName" requirement="readWrite"/>
        <parameter ref="DaylightSavingsUsed" requirement="readWrite"/>
        <parameter ref="DaylightSavingsStart" requirement="readWrite"/>
        <parameter ref="DaylightSavingsEnd" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="IPPing:1">
      <object ref="InternetGatewayDevice.IPPingDiagnostics."
          requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="Host" requirement="readWrite"/>
        <parameter ref="NumberOfRepetitions" requirement="readWrite"/>
        <parameter ref="Timeout" requirement="readWrite"/>
        <parameter ref="DataBlockSize" requirement="readWrite"/>
        <parameter ref="DSCP" requirement="readWrite"/>
        <parameter ref="SuccessCount" requirement="readOnly"/>
        <parameter ref="FailureCount" requirement="readOnly"/>
        <parameter ref="AverageResponseTime" requirement="readOnly"/>
        <parameter ref="MinimumResponseTime" requirement="readOnly"/>
        <parameter ref="MaximumResponseTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="ATMLoopback:1">
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANATMF5LoopbackDiagnostics."
          requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="NumberOfRepetitions" requirement="readWrite"/>
        <parameter ref="Timeout" requirement="readWrite"/>
        <parameter ref="SuccessCount" requirement="readOnly"/>
        <parameter ref="FailureCount" requirement="readOnly"/>
        <parameter ref="AverageResponseTime" requirement="readOnly"/>
        <parameter ref="MinimumResponseTime" requirement="readOnly"/>
        <parameter ref="MaximumResponseTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DSLDiagnostics:1">
      <object ref="InternetGatewayDevice.WANDevice.{i}.WANDSLDiagnostics."
          requirement="present">
        <parameter ref="LoopDiagnosticsState" requirement="readWrite"/>
        <parameter ref="ACTPSDds" requirement="readOnly"/>
        <parameter ref="ACTPSDus" requirement="readOnly"/>
        <parameter ref="ACTATPds" requirement="readOnly"/>
        <parameter ref="ACTATPus" requirement="readOnly"/>
        <parameter ref="HLINSCds" requirement="readOnly"/>
        <parameter ref="HLINpsds" requirement="readOnly"/>
        <parameter ref="QLNpsds" requirement="readOnly"/>
        <parameter ref="SNRpsds" requirement="readOnly"/>
        <parameter ref="BITSpsds" requirement="readOnly"/>
        <parameter ref="GAINSpsds" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DeviceAssociation:1">
      <object ref="InternetGatewayDevice.ManagementServer."
          requirement="notSpecified">
        <parameter ref="ManageableDeviceNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.ManagementServer.ManageableDevice.{i}."
          requirement="present">
        <parameter ref="ManufacturerOUI" requirement="readOnly"/>
        <parameter ref="SerialNumber" requirement="readOnly"/>
        <parameter ref="ProductClass" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UDPConnReq:1">
      <object ref="InternetGatewayDevice.ManagementServer."
          requirement="notSpecified">
        <parameter ref="UDPConnectionRequestAddress" requirement="readOnly"/>
        <parameter ref="UDPConnectionRequestAddressNotificationLimit"
            requirement="readWrite"/>
        <parameter ref="STUNEnable" requirement="readWrite"/>
        <parameter ref="STUNServerAddress" requirement="readWrite"/>
        <parameter ref="STUNServerPort" requirement="readWrite"/>
        <parameter ref="STUNUsername" requirement="readWrite"/>
        <parameter ref="STUNPassword" requirement="readWrite"/>
        <parameter ref="STUNMaximumKeepAlivePeriod" requirement="readWrite"/>
        <parameter ref="STUNMinimumKeepAlivePeriod" requirement="readWrite"/>
        <parameter ref="NATDetected" requirement="readOnly"/>
      </object>
    </profile>
  </model>
</dm:document>
