<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:DOCSIS-SERVICE-FLOW="http://www.cablelabs.com/namespaces/DOCSIS/3.1/xsd/ipdr/DOCSIS-SERVICE-FLOW"
        xmlns:ipdr="http://mibs.cablelabs.com/namespaces/DOCSIS/tmforum/xsd/ipdr/"
        targetNamespace="http://www.cablelabs.com/namespaces/DOCSIS/3.1/xsd/ipdr/DOCSIS-SERVICE-FLOW"
        elementFormDefault="qualified"
        attributeFormDefault="unqualified"
        version="3.7-B.2.0.1">
  <import namespace="http://mibs.cablelabs.com/namespaces/DOCSIS/tmforum/xsd/ipdr/" schemaLocation="http://mibs.cablelabs.com/namespaces/DOCSIS/tmforum/xsd/ipdr/IPDRDoc3.5.1.xsd"/>
  <include schemaLocation="http://mibs.cablelabs.com/namespaces/DOCSIS/tmforum/xsd/ipdr/IPDRTypes.xsd"/>
  <annotation>
    <documentation>
      DOCSIS-SERVICE-FLOW is an auxiliary schema which defines Service Flow
      information.

      Revision History:
      3.5.1-A.1 Initial version.
      3.5.1-B.1 Revised with some 64-bit data types per DOCSIS 3.1 OSSI
      3.7-B.2 Revised with additional Service Flow + Aggregate Service Flow data
      3.7-B.2.0.0 New revision naming convention.
      3.7-B.2.0.1 Update namespace from mibs to www. Fix import versions. Fix formatting and spacing.
                  Revised version includes ECN CCAP-OSSIv3.1-26.2430-1.

      Contact:
      Postal: Cable Television Laboratories, Inc.
      858 Coal Creek Circle
      Louisville, Colorado 80027-9750
      U.S.A.
      Phone: +1 303-661-9100
      Fax: +1 303-661-9199
      Email: data-model-support@cablelabs.com

      Copyright 2019-2026 Cable Television Laboratories, Inc.
        All rights reserved.
    </documentation>
    <documentation>
      <ipdr:reference>
        DOCSIS 3.1 CCAP Operations Support System Interface Specification
        CCAP-OSSIv3.1-26.2430-1
      </ipdr:reference>
    </documentation>
  </annotation>
  <element name="ServiceTrafficPriority">
    <annotation>
      <documentation>
        For Service Flows, this attribute represents the relative
        priority of the Service Flow. Higher numbers indicate higher
        priority. This priority should only be used to differentiate
        Service Flow from identical parameter sets. This attribute
        returns 0 if the referenced parameter is not present in the
        corresponding DOCSIS QoS Parameter Set or if the parameter is
        not applicable. For Aggregate Service Flows, this attribute
        represents the relative priority of the Aggregate Service Flow.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::Priority
        </ipdr:reference>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::Priority
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="unsignedByte">
        <minInclusive value="0"/>
        <maxInclusive value="7"/>
      </restriction>
    </simpleType>
  </element>
  <element name="ServiceMaxSustained">
    <annotation>
      <documentation>
        For Service Flows, this attribute represents the 4-byte value of
        the maximum sustained traffic rate allowed for the Service Flow.
        It represents all MAC frame data PDUs from the bytes following
        the MAC header HCS to the end of the CRC. The number of bytes
        forwarded is limited during any time interval. The value 0 means
        no maximum traffic rate is enforced. This attribute applies to
        both upstream and downstream Service Flows. This attribute
        returns 0 if the referenced parameter is not present in the
        corresponding DOCSIS QoS Parameter Set, or if the parameter is
        not applicable. For Aggregate Service Flows, this attribute
        represents the 4-byte value of the maximum sustained traffic
        rate allowed for this Aggregate Service Flow. The value of
        the ParamSetDataRateUnitSetting attribute defines the units of
        ServiceMaxSustained.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::MaxTrafficRate
        </ipdr:reference>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::MaxAggregateTrafficRate
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="unsignedInt">
        <minInclusive value="0"/>
        <maxInclusive value="4294967295"/>
      </restriction>
    </simpleType>
  </element>
  <element name="ServiceMaxBurst" type="unsignedInt">
    <annotation>
      <documentation>
        For Service Flows, this attribute specifies the token bucket
        size in bytes for this parameter set. The value is calculated
        from the byte following the MAC header HCS to the end of the
        CRC. This object is applied in conjunction with
        ServiceMaxSustained to calculate maximum sustained traffic rate.
        If the referenced parameter is not present in the corresponding
        DOCSIS QoS Parameter Set, this attribute returns 3044 for
        scheduling types 'Best Effort', 'Non-Real-Time Polling Service'
        and 'Real-Time Polling Service'. If this parameter is not
        applicable, it is reported as 0. For Aggregate Service Flows,
        this attribute represents the MaxTrafficBurst attribute of the
        Aggregate Service Flow.
      </documentation>
      <appinfo>
        <ipdr:units>bytes</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::MaxTrafficBurst
        </ipdr:reference>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::MaxTrafficBurst
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ServiceMinReservedRate">
    <annotation>
      <documentation>
        For Service Flows, this attribute represents the 4-byte value of
        the guaranteed minimum rate allowed for this Service Flow. The
        value is calculated from the byte following the MAC header HCS
        to the end of the CRC. The value of 0 indicates that no
        bandwidth is reserved. If the referenced parameter is not
        present in the corresponding DOCSIS QoS Parameter Set, this
        attribute returns 0. If the parameter is not applicable, it is
        reported as 0. For Aggregate Service Flows, this attribute
        represents the 4-byte value of the guaranteed minimum rate
        allowed for this Aggregate Service Flow. The value of the
        ParamSetDataRateUnitSetting attribute defines the units of
        ServiceMinReservedRate.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::MinReservedRate
        </ipdr:reference>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::MinReservedRate
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="unsignedInt">
        <minInclusive value="0"/>
        <maxInclusive value="4294967295"/>
      </restriction>
    </simpleType>
  </element>
  <element name="ServiceMinReservedPktSize" type="unsignedShort">
    <annotation>
      <documentation>
        For Service Flows, this attribute specifies an assumed minimum
        packet size in bytes for which the ServiceMinReservedRate will
        be provided. The value is calculated from the byte following the
        MAC header HCS to the end of the CRC. If the referenced
        parameter is omitted from a DOCSIS QoS parameter set, the used
        and reported value is CMTS implementation and the CM reports a
        value of 0. If the referenced parameter is not applicable to the
        direction or scheduling type of the Service Flow, both CMTS and
        CM report the value 0. For Aggregate Service Flows, this
        attribute represents the Assumed Minimum Reserved Rate Packet
        Size of the Aggregate Service Flow.
      </documentation>
      <appinfo>
        <ipdr:units>bytes</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::MinReservedPkt
        </ipdr:reference>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::MinReservedPkt
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ServiceIpTos" type="hexBinary">
    <annotation>
      <documentation>
        The value of the IP Type of Service (DSCP) Overwrite assigned to
        this service flow. This is encoded as hexBinary in 2 bytes. The
        first byte is encoding the tos-and-mask, the second byte is
        encoding the tos-or-mask.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::TosAndMask
        </ipdr:reference>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::TosOrMask
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ServicePeakRate">
    <annotation>
      <documentation>
        For Service Flows, this attribute represents the 4-byte value of
        the rate parameter 'P' of a token-bucket-based peak rate limiter
        for packets of a service flow. A value of 0 signifies no Peak
        Traffic Rate is enforced. If the referenced parameter is not
        present in the corresponding DOCSIS QoS Parameter Set, this
        attribute returns 0. For Aggregate Service Flows, this attribute
        represents the 4-byte value of the Peak Traffic Rate allowed for
        this Aggregate Service Flow. A value of 0 means the peak traffic
        rate is not limited. The value of the
        ParamSetDataRateUnitSetting attribute defines the units of
        ServicePeakRate.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::PeakTrafficRate
        </ipdr:reference>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::PeakTrafficRate
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="unsignedInt">
        <minInclusive value="0"/>
        <maxInclusive value="4294967295"/>
      </restriction>
    </simpleType>
  </element>
  <element name="ServiceSchedule">
    <annotation>
      <documentation>
        This attribute specifies the upstream scheduling service used
        for upstream Service Flow. If the referenced parameter is not
        present in the corresponding DOCSIS QoS Parameter Set of an
        upstream Service Flow, this attribute returns the value of 'Best
        Effort'. For QoS parameter sets of downstream Service Flows,
        this attribute's value is reported as 'Undefined'.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::SchedulingType
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="integer">
        <enumeration value="0">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>Reserved</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="1">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>Undefined</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="2">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>Best Effort</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="3">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>
                Non-Real-Time Polling Service
              </ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="4">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>
                Real-Time Polling Service
              </ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="5">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>
                Unsolicited Grant Service with Activity
                Detection
              </ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="6">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>
                Unsolicited Grant Service
              </ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="7">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>
                Proactive Grant Service
              </ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
      </restriction>
    </simpleType>
  </element>
  <element name="ServiceNomPollInterval" type="unsignedInt">
    <annotation>
      <documentation>
        This attribute specifies the nominal interval in microseconds
        between successive unicast request opportunities on an upstream
        Service Flow. This attribute applies only to upstream Service
        Flows with ServiceSchedule of value 'Non-Real-Time Polling
        Service', 'Real-Time Polling Service', and 'Unsolicited Grant
        Service with Activity Detection'. The parameter is mandatory for
        'Real-Time Polling Service'. If the parameter is omitted with
        'Non-Real-Time Polling Service', the CMTS uses an
        implementation-dependent value. If the parameter is omitted with
        'Unsolicited Grant Service with Activity Detection' the CMTS
        uses the value of the Nominal Grant Interval parameter. In all
        cases, the CMTS reports the value it is using when the parameter
        is applicable. The CM reports the signaled parameter value if it
        was signaled. Otherwise, it returns 0. If the referenced
        parameter is not applicable to the direction or scheduling type
        of the corresponding DOCSIS QoS Parameter Set, both CMTS and CM
        report this attribute's value as 0.
      </documentation>
      <appinfo>
        <ipdr:units>microseconds</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::NomPollInterval
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ServiceTolPollJitter" type="unsignedInt">
    <annotation>
      <documentation>
        This attribute specifies the maximum amount of time in
        microseconds that the unicast request interval may be delayed
        from the nominal periodic schedule on an upstream Service Flow.
        This parameter is applicable only to upstream Service Flows with
        a ServiceSchedule of 'Real-Time Polling Service' or 'Unsolicited
        Grant Service with Activity Detection'. If the referenced
        parameter is applicable but not present in the corresponding
        DOCSIS QoS Parameter Set, the CMTS uses an
        implementation-dependent value and reports the value it is
        using. The CM reports a value of 0 in this case. If the
        parameter is not applicable to the direction or upstream
        scheduling type of the Service Flow, both CMTS and CM report
        this attribute's value as 0.
      </documentation>
      <appinfo>
        <ipdr:units>microseconds</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::TolPollJitter
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ServiceUGSize" type="unsignedShort">
    <annotation>
      <documentation>
        This attribute specifies the unsolicited grant size in bytes.
        The grant size includes the entire MAC frame data PDU from the
        Frame Control byte to the end of the MAC frame. The referenced
        parameter is applicable only for upstream flows with a
        ServiceSchedule of 'Unsolicited Grant Service with Activity
        Detection' or 'Unsolicited Grant Service', and it is mandatory
        when applicable. Both CMTS and CM report the signaled value of
        the parameter in this case. If the referenced parameter is not
        applicable to the direction or scheduling type of the
        corresponding DOCSIS QoS Parameter Set, both CMTS and CM report
        this attribute's value as 0.
      </documentation>
      <appinfo>
        <ipdr:units>bytes</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::UnsolicitGrantSize
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ServiceNomGrantInterval" type="unsignedInt">
    <annotation>
      <documentation>
        This attribute specifies the nominal interval in microseconds
        between successive data grant opportunities on an upstream
        Service Flow. The referenced parameter is applicable only for
        upstream flows with a ServiceSchedule of 'Unsolicited Grant
        Service with Activity Detection' or 'Unsolicited Grant Service',
        and it is mandatory when applicable. Both CMTS and CM report the
        signaled value of the parameter in this case. If the referenced
        parameter is not applicable to the direction or scheduling type
        of the corresponding DOCSIS QoS Parameter Set, both CMTS and CM
        report this attribute's value as 0.
      </documentation>
      <appinfo>
        <ipdr:units>microseconds</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::NomGrantInterval
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ServiceTolGrantJitter" type="unsignedInt">
    <annotation>
      <documentation>
        This attribute specifies the maximum amount of time in
        microseconds that the transmission opportunities may be delayed
        from the nominal periodic schedule. The referenced parameter is
        applicable only for upstream flows with a ServiceSchedule of
        'Unsolicited Grant Service with Activity Detection' or
        'Unsolicited Grant Service', and it is mandatory when
        applicable. Both CMTS and CM report the signaled value of the
        parameter in this case. If the referenced parameter is not
        applicable to the direction or scheduling type of the
        corresponding DOCSIS QoS Parameter Set, both CMTS and CM report
        this attribute's value as 0.
      </documentation>
      <appinfo>
        <ipdr:units>microseconds</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::TolGrantJitter
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ServiceGrantsPerInterval">
    <annotation>
      <documentation>
        This attribute specifies the number of data grants per Nominal
        Grant Interval (NomGrantInterval). The referenced parameter is
        applicable only for upstream flows with a ServiceSchedule of
        'Unsolicited Grant Service with Activity Detection' or
        'Unsolicited Grant Service', and it is mandatory when
        applicable. Both CMTS and CM report the signaled value of the
        parameter in this case. If the referenced parameter is not
        applicable to the direction or scheduling type of the
        corresponding DOCSIS QoS Parameter Set, both CMTS and CM report
        this attribute's value as 0.
      </documentation>
      <appinfo>
        <ipdr:units>dataGrants</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::GrantsPerInterval
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="unsignedByte">
        <minInclusive value="0"/>
        <maxInclusive value="127"/>
      </restriction>
    </simpleType>
  </element>
  <element name="ServicePacketClassifiers" type="hexBinary">
    <annotation>
      <documentation>
        For Low Latency Aggregate QoS Profiles, this object specifies
        packet classifiers assigned to the Low Latency service flow.
        Each classifier is encoded in hexBinary according to the TLV
        encoding. When multiple classifiers are specified, they are
        encoded as the concatenated sequence of encodings for each
        classifier
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AsfQosProfile::LowLatencyClassifierList
        </ipdr:reference>
        <ipdr:reference>
          MAC and Upper Layer Protocols Interface Specification,
          CM-SP-MULPIv3.1-I25-230419, April 19, 2023, Cable Television
          Laboratories, Inc. Quality-of-Service-Related Encodings
          annex
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="AggregateServiceFlowLowLatencyAsf" type="boolean">
    <annotation>
      <documentation>
        For Aggregate Service Flows, this attribute indicates if the
        Aggregate Service Flow is being used for Low Latency services.
        This implies the ASF is describing a Dual Queue SF setup
        underneath the ASF.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::LowLatencyAsf
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="AggregateServiceFlowAqmCouplingFactor">
    <annotation>
      <documentation>
        For Aggregate Service Flows, this attribute represents the
        coupling factor for the AQMs between the Classic service flow
        and the Latency service flow.
      </documentation>
      <appinfo>
        <ipdr:units>log2(bytes/second)</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::AqmCouplingFactor
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="unsignedByte">
        <minInclusive value="0"/>
        <maxInclusive value="255"/>
      </restriction>
    </simpleType>
  </element>
  <element name="AggregateServiceFlowSchedulingWeight" type="unsignedByte">
    <annotation>
      <documentation>
        For Aggregate Service Flows, this attribute represents the
        scheduling weight, as the implied ratio (out of 256), for the
        Latency Queue/Service Flow (within the ASF).
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::SchedulingWeight
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="AggregateServiceFlowQpEnable">
    <annotation>
      <documentation>
        For Aggregate Service Flows, this attribute indicates the Queue
        Protection status of this Aggregated Service Flow. If
        AggregateServiceFlowQpEnable is set to
        QueueProtectionDisabled(0), Queue Protection is disabled. If
        AggregateServiceFlowQpEnable is set to
        QueueProtectionEnabled(1), Queue Protection is enabled.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::QpEnable
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="integer">
        <enumeration value="0">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>
                QueueProtectionDisabled
              </ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="1">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>
                QueueProtectionEnabled
              </ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
      </restriction>
    </simpleType>
  </element>
  <element name="AggregateServiceFlowQpLatencyThreshold" type="unsignedShort">
    <annotation>
      <documentation>
        For Aggregate Service Flows, this attribute represents the
        latency threshold for the Queue Protection function in the Low
        Latency Service Flow.
      </documentation>
      <appinfo>
        <ipdr:units>microseconds</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::QpLatencyThreshold
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="AggregateServiceFlowQpQueuingScoreThreshold" type="unsignedShort">
    <annotation>
      <documentation>
        For Aggregate Service Flows, this attribute represents the
        Queuing Score Threshold for the Queue Protection function in the
        Low Latency Service Flow.
      </documentation>
      <appinfo>
        <ipdr:units>microseconds</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::QpQueuingScoreThreshold
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="AggregateServiceFlowQpDrainRateExponent" type="unsignedByte">
    <annotation>
      <documentation>
        For Aggregate Service Flows, this attribute represents the drain
        rate exponent for the Queue Protection function in the Low
        Latency Service Flow.
      </documentation>
      <appinfo>
        <ipdr:units>log2(bytes/second)</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::QpDrainRateExponent
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ParamSetMinimumBuffer" type="unsignedInt">
    <annotation>
      <documentation>
        For Service Flows, this attribute represents the configured
        minimum buffer size for the service flow.
      </documentation>
      <appinfo>
        <ipdr:units>bytes</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::MinimumBuffer
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ParamSetTargetBuffer" type="unsignedInt">
    <annotation>
      <documentation>
        For Service Flows, this attribute represents the configured
        target buffer size for the service flow. The value 0 indicates
        that no target buffer size was configured, and the device will
        use a vendor specific value.
      </documentation>
      <appinfo>
        <ipdr:units>bytes</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::TargetBuffer
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ParamSetMaximumBuffer" type="unsignedInt">
    <annotation>
      <documentation>
        For Service Flows, this attribute represents the configured
        maximum buffer size for the service flow. The value 4294967295
        indicates that no maximum buffer size was configured, and thus
        there is no limit to the buffer size.
      </documentation>
      <appinfo>
        <ipdr:units>bytes</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::MaximumBuffer
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ParamSetAqmDisabled" type="boolean">
    <annotation>
      <documentation>
        For Service Flows, if this attribute is set to 'true', AQM is
        disabled on the upstream or downstream service flow specified by
        ServiceFlowId.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::AqmDisabled
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ParamSetClassicAqmLatencyTarget">
    <annotation>
      <documentation>
        For Service Flows, this attribute provides the target latency
        for this service flow when operating under Classic Active Queue
        Management (e.g., DOCSIS-PIE). This parameter will be ignored if
        the AQM Algorithm used by the Service Flow is ImmediateAqm. For
        downstream service flows, the value 256 indicates an unknown
        latency target.
      </documentation>
      <appinfo>
        <ipdr:units>milliseconds</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::ClassicAqmLatencyTarget
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="unsignedShort">
        <minInclusive value="0"/>
        <maxInclusive value="256"/>
      </restriction>
    </simpleType>
  </element>
  <element name="ParamSetAqmAlgInUse">
    <annotation>
      <documentation>
        For Service Flows, this attribute specifies the AQM algorithm in
        use for this service flow.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::AqmAlgInUse
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="integer">
        <enumeration value="1">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>Unknown</ipdr:enumMeaning>
            </documentation>
            <documentation>
              The value Unknown(1) is reported for downstream
              service flows or when AQM is disabled.
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="2">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>Other</ipdr:enumMeaning>
            </documentation>
            <documentation>
              The value Other(2) indicates a vendor proprietary
              algorithm for upstream queue management.
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="3">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>DocsisPIE</ipdr:enumMeaning>
            </documentation>
            <documentation>
              The value DocsisPIE(3) indicates the upstream queue
              management Proportional Integral controller Enhanced
              (PIE) algorithm.
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="4">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>ImmediateAqm</ipdr:enumMeaning>
            </documentation>
            <documentation>
              The value ImmediateAqm(4) indicates the Immediate
              Active Queue Management algorithm.
            </documentation>
          </annotation>
        </enumeration>
      </restriction>
    </simpleType>
  </element>
  <element name="ParamSetGuaranteedGrantInterval" type="unsignedShort">
    <annotation>
      <documentation>
        For Service Flows, this attribute specifies the maximum interval
        between successive data transmission opportunities for a PGS
        Service Flow. The valid range of this parameter is specific to
        the CMTS. If the referenced parameter is not applicable to the
        direction or scheduling type of the corresponding DOCSIS QoS
        Parameter Set, both CMTS and CM report this attribute's value as
        0.
      </documentation>
      <appinfo>
        <ipdr:units>microseconds</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::GuaranteedGrantInterval
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ParamSetGuaranteedGrantRate">
    <annotation>
      <documentation>
        For Service Flows, the value of this parameter specifies the
        minimum granting rate for an upstream PGS service flow. The
        valid range of this parameter is specific to the CMTS. The value
        of the ParamSetDataRateUnitSetting attribute defines the units
        of ParamSetGuaranteedGrantRate.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::GuaranteedGrantRate
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="unsignedInt">
        <minInclusive value="0"/>
        <maxInclusive value="4294967295"/>
      </restriction>
    </simpleType>
  </element>
  <element name="ParamSetGuaranteedRequestInterval" type="unsignedShort">
    <annotation>
      <documentation>
        For Service Flows, this attribute specifies the maximum interval
        (in units of microseconds) between successive request
        opportunities (including unicast request opportunities and
        piggyback request opportunities) for an upstream PGS service
        flow.
      </documentation>
      <appinfo>
        <ipdr:units>microseconds</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::GuaranteedRequestInterval
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ParamSetImmedAqmMaxThreshold" type="unsignedShort">
    <annotation>
      <documentation>
        For Service Flows, this attribute specifies the maximum
        threshold in microseconds of the ramp function used by the
        Immediate AQM algorithm and the Queue Protection algorithm.
      </documentation>
      <appinfo>
        <ipdr:units>microseconds</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::ImmedAqmMaxThreshold
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ParamSetImmedAqmRangeExponentRampFunc" type="unsignedByte">
    <annotation>
      <documentation>
        For Service Flows, this attribute specifies the range in
        nanoseconds of the ramp function used by the Immediate AQM
        algorithm and the Queue Protection algorithm. It is expressed as
        an exponent of 2, e.g., a value of 19 means the range of the
        ramp will be 2^19 = 524288 ns (roughly 524 µs).
      </documentation>
      <appinfo>
        <ipdr:units>log2(nanoseconds)</ipdr:units>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::ImmedAqmRangeExponentRampFunc
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ParamSetPgsActivityDetectionDisable" type="boolean">
    <annotation>
      <documentation>
        For Service Flows, this attribute indicates whether the activity
        detection function for an upstream service flow with the
        Proactive Grant Service scheduling type is enabled or disabled.
        The value 'false' is reported if the upstream PGS service flow
        is configured to switch between a polling mode and a granting
        mode based on detection of upstream activity. The value 'true'
        is reported if the upstream PGS service flow is configured to
        continuously provide grants regardless of upstream activity.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::PgsActivityDetectionDisable
        </ipdr:reference>
      </appinfo>
    </annotation>
  </element>
  <element name="ParamSetDataRateUnitSetting">
    <annotation>
      <documentation>
        For Service Flows, this attribute indicates the base unit for
        the Service Flow traffic rate attributes Maximum Sustained
        Traffic Rate (ServiceMaxSustained), Minimum Reserved Traffic
        Rate (ServiceMinReservedRate), and Peak Traffic Rate
        (ServicePeakRate). For Aggregate Service Flows, this attribute
        indicates the base unit for the AggregateServiceFlow traffic
        rate attributes Maximum Aggregate Traffic Rate
        (ServiceMaxSustained), Minimum Reserved Traffic Rate
        (ServiceMinReservedRate), and Peak Traffic Rate
        (ServicePeakRate). The value of this attribute allows for their
        interpretation in units of bps, kbps, mbps, or gbps. The default
        value for ParamSetDataRateUnitSetting is bps.
      </documentation>
      <appinfo>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          ParamSet::DataRateUnitSetting
        </ipdr:reference>
        <ipdr:reference>
          Information Model Mapping: CM-SP-CCAP-OSSIv3.1
          AggregateServiceFlow::DataRateUnitSetting
        </ipdr:reference>
      </appinfo>
    </annotation>
    <simpleType>
      <restriction base="integer">
        <enumeration value="0">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>bps</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="1">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>kbps</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="2">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>mbps</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="3">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>gbps</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
      </restriction>
    </simpleType>
  </element>
</schema>
