<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB"
  targetNamespace="urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB"
  elementFormDefault="qualified" attributeFormDefault="unqualified"
  xml:lang="en" version="2002-02-07"
  xmlns:ncx="http://netconfcentral.org/ns/yuma-ncx"
  xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
  xmlns:diffserv-dscp="urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-DSCP-TC"
  xmlns:if-mib="urn:ietf:params:xml:ns:yang:smiv2:IF-MIB"
  xmlns:inet-address="urn:ietf:params:xml:ns:yang:smiv2:INET-ADDRESS-MIB"
  xmlns:integrated-services="urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB"
  xmlns:smiv2="urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-TC"
  xmlns:smi="urn:ietf:params:xml:ns:yang:yang-smi"
  xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types">
  <xs:annotation>
    <xs:documentation>Converted from YANG file 'DIFFSERV-MIB.yang' by yangdump version 2.2.1724
      
      Module: DIFFSERV-MIB
      Organization: IETF Differentiated Services WG
      Version: 2002-02-07
      Contact:        Fred Baker
      Cisco Systems
      1121 Via Del Rey
      Santa Barbara, CA 93117, USA
      E-mail: fred@cisco.com
      
      Kwok Ho Chan
      Nortel Networks
      600 Technology Park Drive
      Billerica, MA 01821, USA
      E-mail: khchan@nortelnetworks.com
      
      Andrew Smith
      Harbour Networks
      Jiuling Building
      
      
      21 North Xisanhuan Ave.
      Beijing, 100089, PRC
      E-mail: ah_smith@acm.org
      
      Differentiated Services Working Group:
      diffserv@ietf.org</xs:documentation>
    <xs:documentation>This MIB defines the objects necessary to manage a device that
      uses the Differentiated Services Architecture described in RFC
      2475. The Conceptual Model of a Differentiated Services Router
      provides supporting information on how such a router is modeled.</xs:documentation>
    <xs:appinfo>
      <ncx:source>/usr/share/yuma/modules/ietf/DIFFSERV-MIB.yang</ncx:source>
      <ncx:organization>IETF Differentiated Services WG</ncx:organization>
      <ncx:contact>       Fred Baker
        Cisco Systems
        1121 Via Del Rey
        Santa Barbara, CA 93117, USA
        E-mail: fred@cisco.com
        
        Kwok Ho Chan
        Nortel Networks
        600 Technology Park Drive
        Billerica, MA 01821, USA
        E-mail: khchan@nortelnetworks.com
        
        Andrew Smith
        Harbour Networks
        Jiuling Building
        
        
        21 North Xisanhuan Ave.
        Beijing, 100089, PRC
        E-mail: ah_smith@acm.org
        
        Differentiated Services Working Group:
        diffserv@ietf.org</ncx:contact>
    </xs:appinfo>
    <xs:appinfo>
      <ncx:revision>
        <ncx:version>2002-02-07</ncx:version>
        <ncx:description>Initial version, published as RFC 3289.</ncx:description>
      </ncx:revision>
    </xs:appinfo>
  </xs:annotation>
  <xs:simpleType name="IndexInteger">
    <xs:annotation>
      <xs:documentation>An integer which may be used as a table index.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedInt">
      <xs:minInclusive value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="IndexIntegerNextFree">
    <xs:annotation>
      <xs:documentation>An integer which may be used as a new Index in a table.
        
        The special value of 0 indicates that no more new entries can be
        created in the relevant table.
        
        When a MIB is used for configuration, an object with this SYNTAX
        always contains a legal value (if non-zero) for an index that is
        not currently used in the relevant table. The Command Generator
        (Network Management Application) reads this variable and uses the
        (non-zero) value read when creating a new row with an SNMP SET.
        When the SET is performed, the Command Responder (agent) must
        determine whether the value is indeed still unused; Two Network
        Management Applications may attempt to create a row
        (configuration entry) simultaneously and use the same value. If
        it is currently unused, the SET succeeds and the Command
        Responder (agent) changes the value of this object, according to
        an implementation-specific algorithm.  If the value is in use,
        
        
        
        however, the SET fails.  The Network Management Application must
        then re-read this variable to obtain a new usable value.
        
        An OBJECT-TYPE definition using this SYNTAX MUST specify the
        relevant table for which the object is providing this
        functionality.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedInt"/>
  </xs:simpleType>
  <xs:simpleType name="IfDirection">
    <xs:annotation>
      <xs:documentation>IfDirection specifies a direction of data travel on an
        interface. 'inbound' traffic is operated on during reception from
        the interface, while 'outbound' traffic is operated on prior to
        transmission on the interface.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="inbound">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>1</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="outbound">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>2</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="diffServDataPath">
    <xs:annotation>
      <xs:appinfo>
        <ncx:config>true</ncx:config>
        <smi:oid  smi:oid="1.3.6.1.2.1.97.1.1"/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="diffServDataPathEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry in the data path table indicates the start of a single
              Differentiated Services Functional Data Path in this device.
              
              These are associated with individual interfaces, logical or
              physical, and therefore are instantiated by ifIndex. Therefore,
              the interface index must have been assigned, according to the
              procedures applicable to that, before it can be meaningfully
              used. Generally, this means that the interface must exist.
              
              When diffServDataPathStorage is of type nonVolatile, however,
              this may reflect the configuration for an interface whose ifIndex
              has been assigned but for which the supporting implementation is
              not currently present.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.1.1.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ifIndex" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Automagically generated leafref leaf.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServDataPathIfDirection"
                type="IfDirection">
                <xs:annotation>
                  <xs:documentation>IfDirection specifies whether the reception or transmission path
                    for this interface is in view.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.1.1.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServDataPathStart"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>This selects the first Differentiated Services Functional Data
                    Path Element to handle traffic for this data path. This
                    RowPointer should point to an instance of one of:
                      diffServClfrEntry
                      diffServMeterEntry
                      diffServActionEntry
                      diffServAlgDropEntry
                      diffServQEntry
                    
                    A value of zeroDotZero in this attribute indicates that no
                    Differentiated Services treatment is performed on traffic of this
                    data path. A pointer with the value zeroDotZero normally
                    terminates a functional data path.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.1.1.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServDataPathStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.1.1.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServDataPathStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.1.1.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServDataPathEntrykey95">
            <xs:selector xpath="."/>
            <xs:field xpath="ifIndex"/>
            <xs:field xpath="diffServDataPathIfDirection"/>
          </xs:key>
        </xs:element>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
          processContents="lax"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="diffServClassifier">
    <xs:annotation>
      <xs:appinfo>
        <ncx:config>true</ncx:config>
        <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2"/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="diffServClfrNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for diffServClfrId, or a
              zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.1"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServClfrEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry in the classifier table describes a single classifier.
              All classifier elements belonging to the same classifier use the
              classifier's diffServClfrId as part of their index.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.2.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServClfrId" type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the classifier entries.  Managers
                    should obtain new values for row creation in this table by
                    reading diffServClfrNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.2.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServClfrStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.2.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServClfrStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.2.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServClfrEntrykey96">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServClfrId"/>
          </xs:key>
        </xs:element>
        <xs:element name="diffServClfrElementNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for diffServClfrElementId,
              or a zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.3"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServClfrElementEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry in the classifier element table describes a single
              element of the classifier.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.4.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServClfrId" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Automagically generated leafref leaf.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServClfrElementId"
                type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the Classifier Element entries.
                    Managers obtain new values for row creation in this table by
                    reading diffServClfrElementNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.4.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServClfrElementPrecedence"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The relative order in which classifier elements are applied:
                    higher numbers represent classifier element with higher
                    precedence.  Classifier elements with the same order must be
                    unambiguous i.e. they must define non-overlapping patterns, and
                    are considered to be applied simultaneously to the traffic
                    stream. Classifier elements with different order may overlap in
                    their filters:  the classifier element with the highest order
                    that matches is taken.
                    
                    On a given interface, there must be a complete classifier in
                    place at all times in the ingress direction.  This means one or
                    more filters must match any possible pattern. There is no such
                    
                    
                    
                    requirement in the egress direction.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.4.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServClfrElementNext"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>This attribute provides one branch of the fan-out functionality
                    of a classifier described in the Informal Differentiated Services
                    Model section 4.1.
                    
                    This selects the next Differentiated Services Functional Data
                    Path Element to handle traffic for this data path. This
                    RowPointer should point to an instance of one of:
                      diffServClfrEntry
                      diffServMeterEntry
                      diffServActionEntry
                      diffServAlgDropEntry
                      diffServQEntry
                    
                    A value of zeroDotZero in this attribute indicates no further
                    Differentiated Services treatment is performed on traffic of this
                    data path. The use of zeroDotZero is the normal usage for the
                    last functional data path element of the current data path.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.4.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServClfrElementSpecific"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>A pointer to a valid entry in another table, filter table, that
                    describes the applicable classification parameters, e.g. an entry
                    in diffServMultiFieldClfrTable.
                    
                    The value zeroDotZero is interpreted to match anything not
                    matched by another classifier element - only one such entry may
                    exist for each classifier.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    
                    
                    
                    becomes inactive by other means, the element is ignored.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.4.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServClfrElementStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.4.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServClfrElementStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.4.1.6"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServClfrElementEntrykey97">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServClfrId"/>
            <xs:field xpath="diffServClfrElementId"/>
          </xs:key>
        </xs:element>
        <xs:element name="diffServMultiFieldClfrNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for
              diffServMultiFieldClfrId, or a zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.5"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServMultiFieldClfrEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An IP Multi-field Classifier entry describes a single filter.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServMultiFieldClfrId"
                type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the MultiField Classifier filter
                    entries.  Managers obtain new values for row creation in this
                    table by reading diffServMultiFieldClfrNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrAddrType"
                type="inet-address:InetAddressType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The type of IP address used by this classifier entry.  While
                    other types of addresses are defined in the InetAddressType
                    
                    
                    
                    textual convention, and DNS names, a classifier can only look at
                    packets on the wire. Therefore, this object is limited to IPv4
                    and IPv6 addresses.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrDstAddr"
                type="inet-address:InetAddress" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The IP address to match against the packet's destination IP
                    address. This may not be a DNS name, but may be an IPv4 or IPv6
                    prefix.  diffServMultiFieldClfrDstPrefixLength indicates the
                    number of bits that are relevant.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrDstPrefixLength"
                type="inet-address:InetAddressPrefixLength"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The length of the CIDR Prefix carried in
                    diffServMultiFieldClfrDstAddr. In IPv4 addresses, a length of 0
                    indicates a match of any address; a length of 32 indicates a
                    match of a single host address, and a length between 0 and 32
                    indicates the use of a CIDR Prefix. IPv6 is similar, except that
                    prefix lengths range from 0..128.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>bits</ncx:units>
                    <smi:default  smi:default="0"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrSrcAddr"
                type="inet-address:InetAddress" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The IP address to match against the packet's source IP address.
                    This may not be a DNS name, but may be an IPv4 or IPv6 prefix.
                    diffServMultiFieldClfrSrcPrefixLength indicates the number of
                    bits that are relevant.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrSrcPrefixLength"
                type="inet-address:InetAddressPrefixLength"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The length of the CIDR Prefix carried in
                    diffServMultiFieldClfrSrcAddr. In IPv4 addresses, a length of 0
                    indicates a match of any address; a length of 32 indicates a
                    match of a single host address, and a length between 0 and 32
                    indicates the use of a CIDR Prefix. IPv6 is similar, except that
                    prefix lengths range from 0..128.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>bits</ncx:units>
                    <smi:default  smi:default="0"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.6"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrDscp"
                type="diffserv-dscp:DscpOrAny" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The value that the DSCP in the packet must have to match this
                    entry. A value of -1 indicates that a specific DSCP value has not
                    been defined and thus all DSCP values are considered a match.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="-1"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.7"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrFlowId"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The flow identifier in an IPv6 header.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.8"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:maxInclusive value="1048575"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrProtocol"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The IP protocol to match against the IPv4 protocol number or the
                    IPv6 Next- Header number in the packet. A value of 255 means
                    match all.  Note the protocol number of 255 is reserved by IANA,
                    and Next-Header number of 0 is used in IPv6.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="255"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.9"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:maxInclusive value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrDstL4PortMin"
                type="inet-address:InetPortNumber" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The minimum value that the layer-4 destination port number in
                    the packet must have in order to match this classifier entry.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="0"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.10"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrDstL4PortMax"
                type="inet-address:InetPortNumber" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The maximum value that the layer-4 destination port number in
                    the packet must have in order to match this classifier entry.
                    This value must be equal to or greater than the value specified
                    for this entry in diffServMultiFieldClfrDstL4PortMin.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="65535"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.11"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrSrcL4PortMin"
                type="inet-address:InetPortNumber" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The minimum value that the layer-4 source port number in the
                    packet must have in order to match this classifier entry.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="0"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.12"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrSrcL4PortMax"
                type="inet-address:InetPortNumber" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The maximum value that the layer-4 source port number in the
                    packet must have in order to match this classifier entry. This
                    value must be equal to or greater than the value specified for
                    this entry in diffServMultiFieldClfrSrcL4PortMin.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="65535"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.13"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.14"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMultiFieldClfrStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.2.6.1.15"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServMultiFieldClfrEntrykey98">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServMultiFieldClfrId"/>
          </xs:key>
        </xs:element>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
          processContents="lax"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="diffServMeter">
    <xs:annotation>
      <xs:appinfo>
        <ncx:config>true</ncx:config>
        <smi:oid  smi:oid="1.3.6.1.2.1.97.1.3"/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="diffServMeterNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for diffServMeterId, or a
              zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.3.1"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServMeterEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry in the meter table describes a single conformance level
              of a meter.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.3.2.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServMeterId" type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the Meter entries.  Managers obtain new
                    values for row creation in this table by reading
                    diffServMeterNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.3.2.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMeterSucceedNext"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>If the traffic does conform, this selects the next
                    Differentiated Services Functional Data Path element to handle
                    traffic for this data path. This RowPointer should point to an
                    instance of one of:
                      diffServClfrEntry
                      diffServMeterEntry
                      diffServActionEntry
                      diffServAlgDropEntry
                      diffServQEntry
                    
                    A value of zeroDotZero in this attribute indicates that no
                    further Differentiated Services treatment is performed on traffic
                    of this data path. The use of zeroDotZero is the normal usage for
                    the last functional data path element of the current data path.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="zeroDotZero"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.3.2.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMeterFailNext"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>If the traffic does not conform, this selects the next
                    Differentiated Services Functional Data Path element to handle
                    traffic for this data path. This RowPointer should point to an
                    instance of one of:
                      diffServClfrEntry
                      diffServMeterEntry
                    
                    
                    
                      diffServActionEntry
                      diffServAlgDropEntry
                      diffServQEntry
                    
                    A value of zeroDotZero in this attribute indicates no further
                    Differentiated Services treatment is performed on traffic of this
                    data path. The use of zeroDotZero is the normal usage for the
                    last functional data path element of the current data path.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="zeroDotZero"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.3.2.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMeterSpecific"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>This indicates the behavior of the meter by pointing to an entry
                    containing detailed parameters. Note that entries in that
                    specific table must be managed explicitly.
                    
                    For example, diffServMeterSpecific may point to an entry in
                    diffServTBParamTable, which contains an instance of a single set
                    of Token Bucket parameters.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the meter always succeeds.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.3.2.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMeterStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.3.2.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMeterStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.3.2.1.6"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServMeterEntrykey99">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServMeterId"/>
          </xs:key>
        </xs:element>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
          processContents="lax"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="diffServTBParam">
    <xs:annotation>
      <xs:appinfo>
        <ncx:config>true</ncx:config>
        <smi:oid  smi:oid="1.3.6.1.2.1.97.1.4"/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="diffServTBParamNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for diffServTBParamId, or a
              zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.4.1"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServTBParamEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry that describes a single set of token bucket
              parameters.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.4.2.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServTBParamId" type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the Token Bucket Parameter entries.
                    Managers obtain new values for row creation in this table by
                    reading diffServTBParamNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.4.2.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServTBParamType"
                type="smiv2:AutonomousType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The Metering algorithm associated with the Token Bucket
                    parameters.  zeroDotZero indicates this is unknown.
                    
                    Standard values for generic algorithms:
                    diffServTBParamSimpleTokenBucket, diffServTBParamAvgRate,
                    diffServTBParamSrTCMBlind, diffServTBParamSrTCMAware,
                    diffServTBParamTrTCMBlind, diffServTBParamTrTCMAware, and
                    diffServTBParamTswTCM are specified in this MIB as OBJECT-
                    IDENTITYs; additional values may be further specified in other
                    MIBs.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.4.2.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServTBParamRate" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The token-bucket rate, in kilobits per second (kbps). This
                    attribute is used for:
                    1. CIR in RFC 2697 for srTCM
                    2. CIR and PIR in RFC 2698 for trTCM
                    3. CTR and PTR in RFC 2859 for TSWTCM
                    4. AverageRate in RFC 3290.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>kilobits per second</ncx:units>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.4.2.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServTBParamBurstSize"
                type="integrated-services:BurstSize" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The maximum number of bytes in a single transmission burst. This
                    attribute is used for:
                    1. CBS and EBS in RFC 2697 for srTCM
                    2. CBS and PBS in RFC 2698 for trTCM
                    3. Burst Size in RFC 3290.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>Bytes</ncx:units>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.4.2.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServTBParamInterval" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The time interval used with the token bucket.  For:
                    1. Average Rate Meter, the Informal Differentiated Services Model
                       section 5.2.1, - Delta.
                    2. Simple Token Bucket Meter, the Informal Differentiated
                       Services Model section 5.1, - time interval t.
                    3. RFC 2859 TSWTCM, - AVG_INTERVAL.
                    4. RFC 2697 srTCM, RFC 2698 trTCM, - token bucket update time
                       interval.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>microseconds</ncx:units>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.4.2.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServTBParamStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.4.2.1.6"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServTBParamStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.4.2.1.7"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServTBParamEntrykey100">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServTBParamId"/>
          </xs:key>
        </xs:element>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
          processContents="lax"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="diffServAction">
    <xs:annotation>
      <xs:appinfo>
        <ncx:config>true</ncx:config>
        <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5"/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="diffServActionNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for diffServActionId, or a
              zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.1"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServActionEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Each entry in the action table allows description of one
              specific action to be applied to traffic.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.2.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServActionId" type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the Action entries.  Managers obtain
                    new values for row creation in this table by reading
                    diffServActionNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.2.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServActionInterface"
                type="if-mib:InterfaceIndexOrZero" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The interface index (value of ifIndex) that this action occurs
                    on. This may be derived from the diffServDataPathStartEntry's
                    index by extension through the various RowPointers. However, as
                    this may be difficult for a network management station, it is
                    placed here as well.  If this is indeterminate, the value is
                    zero.
                    
                    This is of especial relevance when reporting the counters which
                    may apply to traffic crossing an interface:
                       diffServCountActOctets,
                       diffServCountActPkts,
                       diffServAlgDropOctets,
                       diffServAlgDropPkts,
                       diffServAlgRandomDropOctets, and
                       diffServAlgRandomDropPkts.
                    
                    It is also especially relevant to the queue and scheduler which
                    may be subsequently applied.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.2.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServActionNext"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>This selects the next Differentiated Services Functional Data
                    Path Element to handle traffic for this data path. This
                    RowPointer should point to an instance of one of:
                      diffServClfrEntry
                      diffServMeterEntry
                      diffServActionEntry
                      diffServAlgDropEntry
                      diffServQEntry
                    
                    A value of zeroDotZero in this attribute indicates no further
                    Differentiated Services treatment is performed on traffic of this
                    data path. The use of zeroDotZero is the normal usage for the
                    last functional data path element of the current data path.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="zeroDotZero"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.2.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServActionSpecific"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>A pointer to an object instance providing additional information
                    for the type of action indicated by this action table entry.
                    
                    For the standard actions defined by this MIB module, this should
                    point to either a diffServDscpMarkActEntry or a
                    diffServCountActEntry. For other actions, it may point to an
                    object instance defined in some other MIB.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the Meter should be treated as
                    if it were not present.  This may lead to incorrect policy
                    behavior.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.2.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServActionStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.2.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServActionStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.2.1.6"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServActionEntrykey101">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServActionId"/>
          </xs:key>
        </xs:element>
        <xs:element name="diffServDscpMarkActEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry in the DSCP mark action table that describes a single
              DSCP used for marking.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.3.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServDscpMarkActDscp"
                type="diffserv-dscp:Dscp">
                <xs:annotation>
                  <xs:documentation>The DSCP that this Action will store into the DSCP field of the
                    subject. It is quite possible that the only packets subject to
                    this Action are already marked with this DSCP. Note also that
                    Differentiated Services processing may result in packet being
                    marked on both ingress to a network and on egress from it, and
                    that ingress and egress can occur in the same router.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.3.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServDscpMarkActEntrykey102">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServDscpMarkActDscp"/>
          </xs:key>
        </xs:element>
        <xs:element name="diffServCountActNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for
              diffServCountActId, or a zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.4"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServCountActEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry in the count action table describes a single set of
              traffic counters.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.5.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServCountActId" type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the Count Action entries.  Managers
                    obtain new values for row creation in this table by reading
                    
                    
                    
                    diffServCountActNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.5.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServCountActOctets"
                type="yang:counter64" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The number of octets at the Action data path element.
                    
                    Discontinuities in the value of this counter can occur at re-
                    initialization of the management system and at other times as
                    indicated by the value of ifCounterDiscontinuityTime on the
                    relevant interface.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>false</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.5.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServCountActPkts"
                type="yang:counter64" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The number of packets at the Action data path element.
                    
                    Discontinuities in the value of this counter can occur at re-
                    initialization of the management system and at other times as
                    indicated by the value of ifCounterDiscontinuityTime on the
                    relevant interface.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>false</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.5.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServCountActStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.5.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServCountActStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    
                    
                    
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.5.5.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServCountActEntrykey103">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServCountActId"/>
          </xs:key>
        </xs:element>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
          processContents="lax"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="diffServAlgDrop">
    <xs:annotation>
      <xs:appinfo>
        <ncx:config>true</ncx:config>
        <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6"/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="diffServAlgDropNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for diffServAlgDropId, or a
              zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.1"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServAlgDropEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry describes a process that drops packets according to
              some algorithm. Further details of the algorithm type are to be
              found in diffServAlgDropType and with more detail parameter entry
              pointed to by diffServAlgDropSpecific when necessary.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServAlgDropId" type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the Algorithmic Dropper entries.
                    Managers obtain new values for row creation in this table by
                    reading diffServAlgDropNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServAlgDropType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The type of algorithm used by this dropper. The value other(1)
                    requires further specification in some other MIB module.
                    
                    In the tailDrop(2) algorithm, diffServAlgDropQThreshold
                    represents the maximum depth of the queue, pointed to by
                    diffServAlgDropQMeasure, beyond which all newly arriving packets
                    will be dropped.
                    
                    In the headDrop(3) algorithm, if a packet arrives when the
                    current depth of the queue, pointed to by
                    diffServAlgDropQMeasure, is at diffServAlgDropQThreshold, packets
                    currently at the head of the queue are dropped to make room for
                    the new packet to be enqueued at the tail of the queue.
                    
                    In the randomDrop(4) algorithm, on packet arrival, an Active
                    Queue Management algorithm is executed which may randomly drop a
                    packet. This algorithm may be proprietary, and it may drop either
                    the arriving packet or another packet in the queue.
                    diffServAlgDropSpecific points to a diffServRandomDropEntry that
                    describes the algorithm. For this algorithm,
                    
                    
                    
                    diffServAlgDropQThreshold is understood to be the absolute
                    maximum size of the queue and additional parameters are described
                    in diffServRandomDropTable.
                    
                    The alwaysDrop(5) algorithm is as its name specifies; always
                    drop. In this case, the other configuration values in this Entry
                    are not meaningful; There is no useful 'next' processing step,
                    there is no queue, and parameters describing the queue are not
                    useful. Therefore, diffServAlgDropNext, diffServAlgDropMeasure,
                    and diffServAlgDropSpecific are all zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="other">
                      <xs:annotation>
                        <xs:appinfo>
                          <ncx:value>1</ncx:value>
                        </xs:appinfo>
                      </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="tailDrop">
                      <xs:annotation>
                        <xs:appinfo>
                          <ncx:value>2</ncx:value>
                        </xs:appinfo>
                      </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="headDrop">
                      <xs:annotation>
                        <xs:appinfo>
                          <ncx:value>3</ncx:value>
                        </xs:appinfo>
                      </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="randomDrop">
                      <xs:annotation>
                        <xs:appinfo>
                          <ncx:value>4</ncx:value>
                        </xs:appinfo>
                      </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="alwaysDrop">
                      <xs:annotation>
                        <xs:appinfo>
                          <ncx:value>5</ncx:value>
                        </xs:appinfo>
                      </xs:annotation>
                    </xs:enumeration>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServAlgDropNext"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>This selects the next Differentiated Services Functional Data
                    Path Element to handle traffic for this data path. This
                    RowPointer should point to an instance of one of:
                      diffServClfrEntry
                      diffServMeterEntry
                      diffServActionEntry
                      diffServQEntry
                    
                    A value of zeroDotZero in this attribute indicates no further
                    Differentiated Services treatment is performed on traffic of this
                    data path. The use of zeroDotZero is the normal usage for the
                    last functional data path element of the current data path.
                    
                    When diffServAlgDropType is alwaysDrop(5), this object is
                    ignored.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServAlgDropQMeasure"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Points to an entry in the diffServQTable to indicate the queue
                    that a drop algorithm is to monitor when deciding whether to drop
                    a packet. If the row pointed to does not exist, the algorithmic
                    dropper element is considered inactive.
                    
                    
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServAlgDropQThreshold"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>A threshold on the depth in bytes of the queue being measured at
                    which a trigger is generated to the dropping algorithm, unless
                    diffServAlgDropType is alwaysDrop(5) where this object is
                    ignored.
                    
                    For the tailDrop(2) or headDrop(3) algorithms, this represents
                    the depth of the queue, pointed to by diffServAlgDropQMeasure, at
                    which the drop action will take place. Other algorithms will need
                    to define their own semantics for this threshold.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>Bytes</ncx:units>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServAlgDropSpecific"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Points to a table entry that provides further detail regarding a
                    drop algorithm.
                    
                    Entries with diffServAlgDropType equal to other(1) may have this
                    point to a table defined in another MIB module.
                    
                    Entries with diffServAlgDropType equal to randomDrop(4) must have
                    this point to an entry in diffServRandomDropTable.
                    
                    For all other algorithms specified in this MIB, this should take
                    the value zeroDotZero.
                    
                    The diffServAlgDropType is authoritative for the type of the drop
                    algorithm and the specific parameters for the drop algorithm
                    needs to be evaluated based on the diffServAlgDropType.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.6"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServAlgDropOctets"
                type="yang:counter64" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The number of octets that have been deterministically dropped by
                    this drop process.
                    
                    Discontinuities in the value of this counter can occur at re-
                    initialization of the management system and at other times as
                    indicated by the value of ifCounterDiscontinuityTime on the
                    relevant interface.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>false</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.7"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServAlgDropPkts"
                type="yang:counter64" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The number of packets that have been deterministically dropped
                    by this drop process.
                    
                    Discontinuities in the value of this counter can occur at re-
                    initialization of the management system and at other times as
                    indicated by the value of ifCounterDiscontinuityTime on the
                    relevant interface.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>false</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.8"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServAlgRandomDropOctets"
                type="yang:counter64" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The number of octets that have been randomly dropped by this
                    drop process.  This counter applies, therefore, only to random
                    droppers.
                    
                    Discontinuities in the value of this counter can occur at re-
                    initialization of the management system and at other times as
                    indicated by the value of ifCounterDiscontinuityTime on the
                    relevant interface.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>false</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.9"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServAlgRandomDropPkts"
                type="yang:counter64" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The number of packets that have been randomly dropped by this
                    drop process. This counter applies, therefore, only to random
                    droppers.
                    
                    Discontinuities in the value of this counter can occur at re-
                    initialization of the management system and at other times as
                    indicated by the value of ifCounterDiscontinuityTime on the
                    relevant interface.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>false</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.10"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServAlgDropStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.11"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServAlgDropStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.2.1.12"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServAlgDropEntrykey104">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServAlgDropId"/>
          </xs:key>
        </xs:element>
        <xs:element name="diffServRandomDropNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for diffServRandomDropId,
              or a zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.3"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServRandomDropEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry describes a process that drops packets according to a
              random algorithm.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.4.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServRandomDropId"
                type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the Random Drop entries.  Managers
                    obtain new values for row creation in this table by reading
                    diffServRandomDropNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.4.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServRandomDropMinThreshBytes"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The average queue depth in bytes, beyond which traffic has a
                    non-zero probability of being dropped. Changes in this variable
                    may or may not be reflected in the reported value of
                    diffServRandomDropMinThreshPkts.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>bytes</ncx:units>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.4.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServRandomDropMinThreshPkts"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The average queue depth in packets, beyond which traffic has a
                    non-zero probability of being dropped. Changes in this variable
                    may or may not be reflected in the reported value of
                    diffServRandomDropMinThreshBytes.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>packets</ncx:units>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.4.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServRandomDropMaxThreshBytes"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The average queue depth beyond which traffic has a probability
                    indicated by diffServRandomDropProbMax of being dropped or
                    marked. Note that this differs from the physical queue limit,
                    which is stored in diffServAlgDropQThreshold. Changes in this
                    variable may or may not be reflected in the reported value of
                    diffServRandomDropMaxThreshPkts.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>bytes</ncx:units>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.4.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServRandomDropMaxThreshPkts"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The average queue depth beyond which traffic has a probability
                    indicated by diffServRandomDropProbMax of being dropped or
                    marked. Note that this differs from the physical queue limit,
                    which is stored in diffServAlgDropQThreshold. Changes in this
                    variable may or may not be reflected in the reported value of
                    diffServRandomDropMaxThreshBytes.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>packets</ncx:units>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.4.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServRandomDropProbMax"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The worst case random drop probability, expressed in drops per
                    thousand packets.
                    
                    For example, if in the worst case every arriving packet may be
                    dropped (100%) for a period, this has the value 1000.
                    Alternatively, if in the worst case only one percent (1%) of
                    traffic may be dropped, it has the value 10.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.4.1.6"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:maxInclusive value="1000"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServRandomDropWeight" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The weighting of past history in affecting the Exponentially
                    Weighted Moving Average function that calculates the current
                    average queue depth.  The equation uses
                    diffServRandomDropWeight/65536 as the coefficient for the new
                    sample in the equation, and (65536 -
                    diffServRandomDropWeight)/65536 as the coefficient of the old
                    value.
                    
                    Implementations may limit the values of diffServRandomDropWeight
                    to a subset of the possible range of values, such as powers of
                    two. Doing this would facilitate implementation of the
                    Exponentially Weighted Moving Average using shift instructions or
                    registers.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.4.1.7"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:maxInclusive value="65536"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServRandomDropSamplingRate"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The number of times per second the queue is sampled for queue
                    average calculation.  A value of zero is used to mean that the
                    queue is sampled approximately each time a packet is enqueued (or
                    dequeued).</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.4.1.8"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:maxInclusive value="1000000"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServRandomDropStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.4.1.9"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServRandomDropStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.6.4.1.10"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServRandomDropEntrykey105">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServRandomDropId"/>
          </xs:key>
        </xs:element>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
          processContents="lax"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="diffServQueue">
    <xs:annotation>
      <xs:appinfo>
        <ncx:config>true</ncx:config>
        <smi:oid  smi:oid="1.3.6.1.2.1.97.1.7"/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="diffServQNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for diffServQId, or a zero
              to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.7.1"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServQEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry in the Queue Table describes a single queue or class of
              traffic.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.7.2.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServQId" type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the Queue entries.  Managers obtain new
                    values for row creation in this table by reading
                    diffServQNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.7.2.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServQNext" type="smiv2:RowPointer"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>This selects the next Differentiated Services Scheduler.  The
                    RowPointer must point to a diffServSchedulerEntry.
                    
                    A value of zeroDotZero in this attribute indicates an incomplete
                    diffServQEntry instance. In such a case, the entry has no
                    operational effect, since it has no parameters to give it
                    meaning.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.7.2.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServQMinRate"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>This RowPointer indicates the diffServMinRateEntry that the
                    scheduler, pointed to by diffServQNext, should use to service
                    this queue.
                    
                    If the row pointed to is zeroDotZero, the minimum rate and
                    priority is unspecified.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.7.2.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServQMaxRate"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>This RowPointer indicates the diffServMaxRateEntry that the
                    scheduler, pointed to by diffServQNext, should use to service
                    this queue.
                    
                    If the row pointed to is zeroDotZero, the maximum rate is the
                    line speed of the interface.
                    
                    
                    
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.7.2.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServQStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.7.2.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServQStatus" type="smiv2:RowStatus"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.7.2.1.6"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServQEntrykey106">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServQId"/>
          </xs:key>
        </xs:element>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
          processContents="lax"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="diffServScheduler">
    <xs:annotation>
      <xs:appinfo>
        <ncx:config>true</ncx:config>
        <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8"/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="diffServSchedulerNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for diffServSchedulerId, or
              a zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.1"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServSchedulerEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry in the Scheduler Table describing a single instance of
              a scheduling algorithm.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.2.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServSchedulerId"
                type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the Scheduler entries.  Managers obtain
                    new values for row creation in this table by reading
                    diffServSchedulerNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.2.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServSchedulerNext"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>This selects the next Differentiated Services Functional Data
                    Path Element to handle traffic for this data path. This normally
                    is null (zeroDotZero), or points to a diffServSchedulerEntry or a
                    diffServQEntry.
                    
                    However, this RowPointer may also point to an instance of:
                      diffServClfrEntry,
                      diffServMeterEntry,
                      diffServActionEntry,
                      diffServAlgDropEntry.
                    
                    It would point another diffServSchedulerEntry when implementing
                    multiple scheduler methods for the same data path, such as having
                    one set of queues scheduled by WRR and that group participating
                    in a priority scheduling system in which other queues compete
                    with it in that way.  It might also point to a second scheduler
                    in a hierarchical scheduling system.
                    
                    If the row pointed to is zeroDotZero, no further Differentiated
                    Services treatment is performed on traffic of this data path.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="zeroDotZero"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.2.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServSchedulerMethod"
                type="smiv2:AutonomousType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The scheduling algorithm used by this Scheduler. zeroDotZero
                    indicates that this is unknown.  Standard values for generic
                    algorithms: diffServSchedulerPriority, diffServSchedulerWRR, and
                    diffServSchedulerWFQ are specified in this MIB; additional values
                    
                    
                    
                    may be further specified in other MIBs.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.2.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServSchedulerMinRate"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>This RowPointer indicates the entry in diffServMinRateTable
                    which indicates the priority or minimum output rate from this
                    scheduler. This attribute is used only when there is more than
                    one level of scheduler.
                    
                    When it has the value zeroDotZero, it indicates that no minimum
                    rate or priority is imposed.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="zeroDotZero"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.2.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServSchedulerMaxRate"
                type="smiv2:RowPointer" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>This RowPointer indicates the entry in diffServMaxRateTable
                    which indicates the maximum output rate from this scheduler.
                    When more than one maximum rate applies (eg, when a multi-rate
                    shaper is in view), it points to the first of those rate entries.
                    This attribute is used only when there is more than one level of
                    scheduler.
                    
                    When it has the value zeroDotZero, it indicates that no maximum
                    rate is imposed.
                    
                    Setting this to point to a target that does not exist results in
                    an inconsistentValue error.  If the row pointed to is removed or
                    becomes inactive by other means, the treatment is as if this
                    attribute contains a value of zeroDotZero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="zeroDotZero"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.2.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServSchedulerStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.2.1.6"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServSchedulerStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.2.1.7"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServSchedulerEntrykey107">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServSchedulerId"/>
          </xs:key>
        </xs:element>
        <xs:element name="diffServMinRateNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for diffServMinRateId, or a
              zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.3"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServMinRateEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry in the Minimum Rate Parameters Table describes a single
              set of scheduling parameters for use by one or more queues or
              schedulers.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.4.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServMinRateId" type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the Scheduler Parameter entries.
                    Managers obtain new values for row creation in this table by
                    reading diffServMinRateNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.4.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMinRatePriority" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The priority of this input to the associated scheduler, relative
                    
                    
                    
                    to the scheduler's other inputs. A queue or scheduler with a
                    larger numeric value will be served before another with a smaller
                    numeric value.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.4.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServMinRateAbsolute" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The minimum absolute rate, in kilobits/sec, that a downstream
                    scheduler element should allocate to this queue. If the value is
                    zero, then there is effectively no minimum rate guarantee. If the
                    value is non-zero, the scheduler will assure the servicing of
                    this queue to at least this rate.
                    
                    Note that this attribute value and that of
                    diffServMinRateRelative are coupled: changes to one will affect
                    the value of the other. They are linked by the following
                    equation, in that setting one will change the other:
                    
                      diffServMinRateRelative =
                    	  (diffServMinRateAbsolute*1000000)/ifSpeed
                    
                    or, if appropriate:
                    
                      diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>kilobits per second</ncx:units>
                    <ncx:reference>
                      <ncx:text>ifSpeed, ifHighSpeed, Interface MIB, RFC 2863</ncx:text>
                    </ncx:reference>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.4.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServMinRateRelative" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The minimum rate that a downstream scheduler element should
                    allocate to this queue, relative to the maximum rate of the
                    interface as reported by ifSpeed or ifHighSpeed, in units of
                    1/1000 of 1. If the value is zero, then there is effectively no
                    minimum rate guarantee. If the value is non-zero, the scheduler
                    will assure the servicing of this queue to at least this rate.
                    
                    Note that this attribute value and that of
                    diffServMinRateAbsolute are coupled: changes to one will affect
                    the value of the other. They are linked by the following
                    equation, in that setting one will change the other:
                    
                    
                    
                      diffServMinRateRelative =
                    	  (diffServMinRateAbsolute*1000000)/ifSpeed
                    
                    or, if appropriate:
                    
                      diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:reference>
                      <ncx:text>ifSpeed, ifHighSpeed, Interface MIB, RFC 2863</ncx:text>
                    </ncx:reference>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.4.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServMinRateStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.4.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMinRateStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.4.1.6"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServMinRateEntrykey108">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServMinRateId"/>
          </xs:key>
        </xs:element>
        <xs:element name="diffServMaxRateNextFree"
          type="IndexIntegerNextFree" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This object contains an unused value for diffServMaxRateId, or a
              zero to indicate that none exist.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.5"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="diffServMaxRateEntry" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>An entry in the Maximum Rate Parameter Table describes a single
              set of scheduling parameters for use by one or more queues or
              schedulers.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
              <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.6.1"/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="diffServMaxRateId" type="IndexInteger">
                <xs:annotation>
                  <xs:documentation>An index that enumerates the Maximum Rate Parameter entries.
                    Managers obtain new values for row creation in this table by
                    reading diffServMaxRateNextFree.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.6.1.1"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMaxRateLevel">
                <xs:annotation>
                  <xs:documentation>An index that indicates which level of a multi-rate shaper is
                    being given its parameters. A multi-rate shaper has some number
                    of rate levels. Frame Relay's dual rate specification refers to a
                    'committed' and an 'excess' rate; ATM's dual rate specification
                    refers to a 'mean' and a 'peak' rate. This table is generalized
                    to support an arbitrary number of rates. The committed or mean
                    rate is level 1, the peak rate (if any) is the highest level rate
                    configured, and if there are other rates they are distributed in
                    monotonically increasing order between them.</xs:documentation>
                  <xs:appinfo>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.6.1.2"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                    <xs:maxInclusive value="32"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServMaxRateAbsolute" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The maximum rate in kilobits/sec that a downstream scheduler
                    element should allocate to this queue. If the value is zero, then
                    there is effectively no maximum rate limit and that the scheduler
                    should attempt to be work conserving for this queue. If the value
                    is non-zero, the scheduler will limit the servicing of this queue
                    to, at most, this rate in a non-work-conserving manner.
                    
                    Note that this attribute value and that of
                    diffServMaxRateRelative are coupled: changes to one will affect
                    the value of the other. They are linked by the following
                    
                    
                    
                    equation, in that setting one will change the other:
                    
                      diffServMaxRateRelative =
                    	  (diffServMaxRateAbsolute*1000000)/ifSpeed
                    
                    or, if appropriate:
                    
                      diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>kilobits per second</ncx:units>
                    <ncx:reference>
                      <ncx:text>ifSpeed, ifHighSpeed, Interface MIB, RFC 2863</ncx:text>
                    </ncx:reference>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.6.1.3"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServMaxRateRelative" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The maximum rate that a downstream scheduler element should
                    allocate to this queue, relative to the maximum rate of the
                    interface as reported by ifSpeed or ifHighSpeed, in units of
                    1/1000 of 1. If the value is zero, then there is effectively no
                    maximum rate limit and the scheduler should attempt to be work
                    conserving for this queue. If the value is non-zero, the
                    scheduler will limit the servicing of this queue to, at most,
                    this rate in a non-work-conserving manner.
                    
                    Note that this attribute value and that of
                    diffServMaxRateAbsolute are coupled: changes to one will affect
                    the value of the other. They are linked by the following
                    equation, in that setting one will change the other:
                    
                      diffServMaxRateRelative =
                    	  (diffServMaxRateAbsolute*1000000)/ifSpeed
                    
                    or, if appropriate:
                    
                      diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:reference>
                      <ncx:text>ifSpeed, ifHighSpeed, Interface MIB, RFC 2863</ncx:text>
                    </ncx:reference>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.6.1.4"/>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="diffServMaxRateThreshold"
                type="integrated-services:BurstSize" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The number of bytes of queue depth at which the rate of a
                    
                    
                    
                    multi-rate scheduler will increase to the next output rate. In
                    the last conceptual row for such a shaper, this threshold is
                    ignored and by convention is zero.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <ncx:units>Bytes</ncx:units>
                    <ncx:reference>
                      <ncx:text>Adaptive rate Shaper, RFC 2963</ncx:text>
                    </ncx:reference>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.6.1.5"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMaxRateStorage"
                type="smiv2:StorageType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The storage type for this conceptual row.  Conceptual rows
                    having the value 'permanent' need not allow write-access to any
                    columnar objects in the row.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:default  smi:default="nonVolatile"/>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.6.1.6"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="diffServMaxRateStatus"
                type="smiv2:RowStatus" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The status of this conceptual row. All writable objects in this
                    row may be modified at any time. Setting this variable to
                    'destroy' when the MIB contains one or more RowPointers pointing
                    to it results in destruction being delayed until the row is no
                    longer used.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>true</ncx:config>
                    <smi:oid  smi:oid="1.3.6.1.2.1.97.1.8.6.1.7"/>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="diffServMaxRateEntrykey109">
            <xs:selector xpath="."/>
            <xs:field xpath="diffServMaxRateId"/>
            <xs:field xpath="diffServMaxRateLevel"/>
          </xs:key>
        </xs:element>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
          processContents="lax"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

