netconfcentral logo

DIFFSERV-MIB

HTML

DIFFSERV-MIB.yang



  module DIFFSERV-MIB {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB";

    prefix diffserv-mib;

    import DIFFSERV-DSCP-TC {
      prefix diffserv-dscp;
    }
    import IF-MIB {
      prefix if-mib;
    }
    import INET-ADDRESS-MIB {
      prefix inet-address;
    }
    import INTEGRATED-SERVICES-MIB {
      prefix integrated-services;
    }
    import SNMPv2-TC {
      prefix smiv2;
    }
    import yang-smi {
      prefix smi;
    }
    import ietf-yang-types {
      prefix yang;
    }

    organization
      "IETF Differentiated Services WG";

    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";

    description
      "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.";

    revision "2002-02-07" {
      description
        "Initial version, published as RFC 3289.";
    }


    typedef IndexInteger {
      type uint32 {
        smi:display-hint "d";
        range "1..4294967295";
      }
      description
        "An integer which may be used as a table index.";
    }

    typedef IndexIntegerNextFree {
      type uint32 {
        smi:display-hint "d";
        range "0..4294967295";
      }
      description
        "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.";
    }

    typedef IfDirection {
      type enumeration {
        enum "inbound" {
          value 1;
        }
        enum "outbound" {
          value 2;
        }
      }
      description
        "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.";
    }

    container diffServDataPath {
      smi:oid "1.3.6.1.2.1.97.1.1";
      list diffServDataPathEntry {
        smi:oid "1.3.6.1.2.1.97.1.1.1.1";
        key "ifIndex diffServDataPathIfDirection";
        description
          "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.";
        leaf ifIndex {
          type leafref {
            path "/if-mib:interfaces/if-mib:ifEntry/if-mib:ifIndex";
          }
          description
            "Automagically generated leafref leaf.";
        }

        leaf diffServDataPathIfDirection {
          smi:oid "1.3.6.1.2.1.97.1.1.1.1.1";
          type IfDirection;
          description
            "IfDirection specifies whether the reception or transmission path
               for this interface is in view.";
        }

        leaf diffServDataPathStart {
          smi:oid "1.3.6.1.2.1.97.1.1.1.1.2";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServDataPathStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.1.1.1.3";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServDataPathStatus {
          smi:oid "1.3.6.1.2.1.97.1.1.1.1.4";
          type smiv2:RowStatus;
          description
            "The status of this conceptual row. All writable objects in this
               row may be modified at any time.";
        }
      }  // list diffServDataPathEntry
    }  // container diffServDataPath

    container diffServClassifier {
      smi:oid "1.3.6.1.2.1.97.1.2";
      leaf diffServClfrNextFree {
        smi:oid "1.3.6.1.2.1.97.1.2.1";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for diffServClfrId, or a
            zero to indicate that none exist.";
      }

      list diffServClfrEntry {
        smi:oid "1.3.6.1.2.1.97.1.2.2.1";
        key "diffServClfrId";
        description
          "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.";
        leaf diffServClfrId {
          smi:oid "1.3.6.1.2.1.97.1.2.2.1.1";
          type IndexInteger;
          description
            "An index that enumerates the classifier entries.  Managers
               should obtain new values for row creation in this table by
               reading diffServClfrNextFree.";
        }

        leaf diffServClfrStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.2.2.1.2";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServClfrStatus {
          smi:oid "1.3.6.1.2.1.97.1.2.2.1.3";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServClfrEntry

      leaf diffServClfrElementNextFree {
        smi:oid "1.3.6.1.2.1.97.1.2.3";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for diffServClfrElementId,
            or a zero to indicate that none exist.";
      }

      list diffServClfrElementEntry {
        smi:oid "1.3.6.1.2.1.97.1.2.4.1";
        key "diffServClfrId diffServClfrElementId";
        description
          "An entry in the classifier element table describes a single
            element of the classifier.";
        leaf diffServClfrId {
          type leafref {
            path "/diffserv-mib:diffServClassifier/diffserv-mib:diffServClfrEntry/diffserv-mib:diffServClfrId";
          }
          description
            "Automagically generated leafref leaf.";
        }

        leaf diffServClfrElementId {
          smi:oid "1.3.6.1.2.1.97.1.2.4.1.1";
          type IndexInteger;
          description
            "An index that enumerates the Classifier Element entries.
               Managers obtain new values for row creation in this table by
               reading diffServClfrElementNextFree.";
        }

        leaf diffServClfrElementPrecedence {
          smi:oid "1.3.6.1.2.1.97.1.2.4.1.2";
          type uint32 {
            range "1..4294967295";
          }
          description
            "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.";
        }

        leaf diffServClfrElementNext {
          smi:oid "1.3.6.1.2.1.97.1.2.4.1.3";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServClfrElementSpecific {
          smi:oid "1.3.6.1.2.1.97.1.2.4.1.4";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServClfrElementStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.2.4.1.5";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServClfrElementStatus {
          smi:oid "1.3.6.1.2.1.97.1.2.4.1.6";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServClfrElementEntry

      leaf diffServMultiFieldClfrNextFree {
        smi:oid "1.3.6.1.2.1.97.1.2.5";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for
            diffServMultiFieldClfrId, or a zero to indicate that none exist.";
      }

      list diffServMultiFieldClfrEntry {
        smi:oid "1.3.6.1.2.1.97.1.2.6.1";
        key "diffServMultiFieldClfrId";
        description
          "An IP Multi-field Classifier entry describes a single filter.";
        leaf diffServMultiFieldClfrId {
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.1";
          type IndexInteger;
          description
            "An index that enumerates the MultiField Classifier filter
               entries.  Managers obtain new values for row creation in this
               table by reading diffServMultiFieldClfrNextFree.";
        }

        leaf diffServMultiFieldClfrAddrType {
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.2";
          type inet-address:InetAddressType;
          description
            "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.";
        }

        leaf diffServMultiFieldClfrDstAddr {
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.3";
          type inet-address:InetAddress;
          description
            "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.";
        }

        leaf diffServMultiFieldClfrDstPrefixLength {
          smi:default "0";
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.4";
          type inet-address:InetAddressPrefixLength;
          units "bits";
          description
            "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.";
        }

        leaf diffServMultiFieldClfrSrcAddr {
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.5";
          type inet-address:InetAddress;
          description
            "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.";
        }

        leaf diffServMultiFieldClfrSrcPrefixLength {
          smi:default "0";
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.6";
          type inet-address:InetAddressPrefixLength;
          units "bits";
          description
            "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.";
        }

        leaf diffServMultiFieldClfrDscp {
          smi:default "-1";
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.7";
          type diffserv-dscp:DscpOrAny;
          description
            "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.";
        }

        leaf diffServMultiFieldClfrFlowId {
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.8";
          type uint32 {
            range "0..1048575";
          }
          description
            "The flow identifier in an IPv6 header.";
        }

        leaf diffServMultiFieldClfrProtocol {
          smi:default "255";
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.9";
          type uint32 {
            range "0..255";
          }
          description
            "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.";
        }

        leaf diffServMultiFieldClfrDstL4PortMin {
          smi:default "0";
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.10";
          type inet-address:InetPortNumber;
          description
            "The minimum value that the layer-4 destination port number in
               the packet must have in order to match this classifier entry.";
        }

        leaf diffServMultiFieldClfrDstL4PortMax {
          smi:default "65535";
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.11";
          type inet-address:InetPortNumber;
          description
            "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.";
        }

        leaf diffServMultiFieldClfrSrcL4PortMin {
          smi:default "0";
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.12";
          type inet-address:InetPortNumber;
          description
            "The minimum value that the layer-4 source port number in the
               packet must have in order to match this classifier entry.";
        }

        leaf diffServMultiFieldClfrSrcL4PortMax {
          smi:default "65535";
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.13";
          type inet-address:InetPortNumber;
          description
            "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.";
        }

        leaf diffServMultiFieldClfrStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.14";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServMultiFieldClfrStatus {
          smi:oid "1.3.6.1.2.1.97.1.2.6.1.15";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServMultiFieldClfrEntry
    }  // container diffServClassifier

    container diffServMeter {
      smi:oid "1.3.6.1.2.1.97.1.3";
      leaf diffServMeterNextFree {
        smi:oid "1.3.6.1.2.1.97.1.3.1";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for diffServMeterId, or a
            zero to indicate that none exist.";
      }

      list diffServMeterEntry {
        smi:oid "1.3.6.1.2.1.97.1.3.2.1";
        key "diffServMeterId";
        description
          "An entry in the meter table describes a single conformance level
            of a meter.";
        leaf diffServMeterId {
          smi:oid "1.3.6.1.2.1.97.1.3.2.1.1";
          type IndexInteger;
          description
            "An index that enumerates the Meter entries.  Managers obtain new
               values for row creation in this table by reading
               diffServMeterNextFree.";
        }

        leaf diffServMeterSucceedNext {
          smi:default "zeroDotZero";
          smi:oid "1.3.6.1.2.1.97.1.3.2.1.2";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServMeterFailNext {
          smi:default "zeroDotZero";
          smi:oid "1.3.6.1.2.1.97.1.3.2.1.3";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServMeterSpecific {
          smi:oid "1.3.6.1.2.1.97.1.3.2.1.4";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServMeterStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.3.2.1.5";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServMeterStatus {
          smi:oid "1.3.6.1.2.1.97.1.3.2.1.6";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServMeterEntry
    }  // container diffServMeter

    container diffServTBParam {
      smi:oid "1.3.6.1.2.1.97.1.4";
      leaf diffServTBParamNextFree {
        smi:oid "1.3.6.1.2.1.97.1.4.1";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for diffServTBParamId, or a
            zero to indicate that none exist.";
      }

      list diffServTBParamEntry {
        smi:oid "1.3.6.1.2.1.97.1.4.2.1";
        key "diffServTBParamId";
        description
          "An entry that describes a single set of token bucket
            parameters.";
        leaf diffServTBParamId {
          smi:oid "1.3.6.1.2.1.97.1.4.2.1.1";
          type IndexInteger;
          description
            "An index that enumerates the Token Bucket Parameter entries.
               Managers obtain new values for row creation in this table by
               reading diffServTBParamNextFree.";
        }

        leaf diffServTBParamType {
          smi:oid "1.3.6.1.2.1.97.1.4.2.1.2";
          type smiv2:AutonomousType;
          description
            "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.";
        }

        leaf diffServTBParamRate {
          smi:oid "1.3.6.1.2.1.97.1.4.2.1.3";
          type uint32 {
            range "1..4294967295";
          }
          units "kilobits per second";
          description
            "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.";
        }

        leaf diffServTBParamBurstSize {
          smi:oid "1.3.6.1.2.1.97.1.4.2.1.4";
          type integrated-services:BurstSize;
          units "Bytes";
          description
            "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.";
        }

        leaf diffServTBParamInterval {
          smi:oid "1.3.6.1.2.1.97.1.4.2.1.5";
          type uint32 {
            range "1..4294967295";
          }
          units "microseconds";
          description
            "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.";
        }

        leaf diffServTBParamStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.4.2.1.6";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServTBParamStatus {
          smi:oid "1.3.6.1.2.1.97.1.4.2.1.7";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServTBParamEntry
    }  // container diffServTBParam

    container diffServAction {
      smi:oid "1.3.6.1.2.1.97.1.5";
      leaf diffServActionNextFree {
        smi:oid "1.3.6.1.2.1.97.1.5.1";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for diffServActionId, or a
            zero to indicate that none exist.";
      }

      list diffServActionEntry {
        smi:oid "1.3.6.1.2.1.97.1.5.2.1";
        key "diffServActionId";
        description
          "Each entry in the action table allows description of one
            specific action to be applied to traffic.";
        leaf diffServActionId {
          smi:oid "1.3.6.1.2.1.97.1.5.2.1.1";
          type IndexInteger;
          description
            "An index that enumerates the Action entries.  Managers obtain
               new values for row creation in this table by reading
               diffServActionNextFree.";
        }

        leaf diffServActionInterface {
          smi:oid "1.3.6.1.2.1.97.1.5.2.1.2";
          type if-mib:InterfaceIndexOrZero;
          description
            "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.";
        }

        leaf diffServActionNext {
          smi:default "zeroDotZero";
          smi:oid "1.3.6.1.2.1.97.1.5.2.1.3";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServActionSpecific {
          smi:oid "1.3.6.1.2.1.97.1.5.2.1.4";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServActionStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.5.2.1.5";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServActionStatus {
          smi:oid "1.3.6.1.2.1.97.1.5.2.1.6";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServActionEntry

      list diffServDscpMarkActEntry {
        smi:oid "1.3.6.1.2.1.97.1.5.3.1";
        key "diffServDscpMarkActDscp";
        description
          "An entry in the DSCP mark action table that describes a single
            DSCP used for marking.";
        leaf diffServDscpMarkActDscp {
          smi:oid "1.3.6.1.2.1.97.1.5.3.1.1";
          type diffserv-dscp:Dscp;
          description
            "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.";
        }
      }  // list diffServDscpMarkActEntry

      leaf diffServCountActNextFree {
        smi:oid "1.3.6.1.2.1.97.1.5.4";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for
            diffServCountActId, or a zero to indicate that none exist.";
      }

      list diffServCountActEntry {
        smi:oid "1.3.6.1.2.1.97.1.5.5.1";
        key "diffServCountActId";
        description
          "An entry in the count action table describes a single set of
            traffic counters.";
        leaf diffServCountActId {
          smi:oid "1.3.6.1.2.1.97.1.5.5.1.1";
          type IndexInteger;
          description
            "An index that enumerates the Count Action entries.  Managers
               obtain new values for row creation in this table by reading
               
               
               
               diffServCountActNextFree.";
        }

        leaf diffServCountActOctets {
          smi:oid "1.3.6.1.2.1.97.1.5.5.1.2";
          type yang:counter64;
          config false;
          description
            "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.";
        }

        leaf diffServCountActPkts {
          smi:oid "1.3.6.1.2.1.97.1.5.5.1.3";
          type yang:counter64;
          config false;
          description
            "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.";
        }

        leaf diffServCountActStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.5.5.1.4";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServCountActStatus {
          smi:oid "1.3.6.1.2.1.97.1.5.5.1.5";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServCountActEntry
    }  // container diffServAction

    container diffServAlgDrop {
      smi:oid "1.3.6.1.2.1.97.1.6";
      leaf diffServAlgDropNextFree {
        smi:oid "1.3.6.1.2.1.97.1.6.1";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for diffServAlgDropId, or a
            zero to indicate that none exist.";
      }

      list diffServAlgDropEntry {
        smi:oid "1.3.6.1.2.1.97.1.6.2.1";
        key "diffServAlgDropId";
        description
          "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.";
        leaf diffServAlgDropId {
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.1";
          type IndexInteger;
          description
            "An index that enumerates the Algorithmic Dropper entries.
               Managers obtain new values for row creation in this table by
               reading diffServAlgDropNextFree.";
        }

        leaf diffServAlgDropType {
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.2";
          type enumeration {
            enum "other" {
              value 1;
            }
            enum "tailDrop" {
              value 2;
            }
            enum "headDrop" {
              value 3;
            }
            enum "randomDrop" {
              value 4;
            }
            enum "alwaysDrop" {
              value 5;
            }
          }
          description
            "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.";
        }

        leaf diffServAlgDropNext {
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.3";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServAlgDropQMeasure {
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.4";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServAlgDropQThreshold {
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.5";
          type uint32 {
            range "1..4294967295";
          }
          units "Bytes";
          description
            "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.";
        }

        leaf diffServAlgDropSpecific {
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.6";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServAlgDropOctets {
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.7";
          type yang:counter64;
          config false;
          description
            "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.";
        }

        leaf diffServAlgDropPkts {
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.8";
          type yang:counter64;
          config false;
          description
            "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.";
        }

        leaf diffServAlgRandomDropOctets {
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.9";
          type yang:counter64;
          config false;
          description
            "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.";
        }

        leaf diffServAlgRandomDropPkts {
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.10";
          type yang:counter64;
          config false;
          description
            "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.";
        }

        leaf diffServAlgDropStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.11";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServAlgDropStatus {
          smi:oid "1.3.6.1.2.1.97.1.6.2.1.12";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServAlgDropEntry

      leaf diffServRandomDropNextFree {
        smi:oid "1.3.6.1.2.1.97.1.6.3";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for diffServRandomDropId,
            or a zero to indicate that none exist.";
      }

      list diffServRandomDropEntry {
        smi:oid "1.3.6.1.2.1.97.1.6.4.1";
        key "diffServRandomDropId";
        description
          "An entry describes a process that drops packets according to a
            random algorithm.";
        leaf diffServRandomDropId {
          smi:oid "1.3.6.1.2.1.97.1.6.4.1.1";
          type IndexInteger;
          description
            "An index that enumerates the Random Drop entries.  Managers
               obtain new values for row creation in this table by reading
               diffServRandomDropNextFree.";
        }

        leaf diffServRandomDropMinThreshBytes {
          smi:oid "1.3.6.1.2.1.97.1.6.4.1.2";
          type uint32 {
            range "1..4294967295";
          }
          units "bytes";
          description
            "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.";
        }

        leaf diffServRandomDropMinThreshPkts {
          smi:oid "1.3.6.1.2.1.97.1.6.4.1.3";
          type uint32 {
            range "1..4294967295";
          }
          units "packets";
          description
            "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.";
        }

        leaf diffServRandomDropMaxThreshBytes {
          smi:oid "1.3.6.1.2.1.97.1.6.4.1.4";
          type uint32 {
            range "1..4294967295";
          }
          units "bytes";
          description
            "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.";
        }

        leaf diffServRandomDropMaxThreshPkts {
          smi:oid "1.3.6.1.2.1.97.1.6.4.1.5";
          type uint32 {
            range "1..4294967295";
          }
          units "packets";
          description
            "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.";
        }

        leaf diffServRandomDropProbMax {
          smi:oid "1.3.6.1.2.1.97.1.6.4.1.6";
          type uint32 {
            range "0..1000";
          }
          description
            "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.";
        }

        leaf diffServRandomDropWeight {
          smi:oid "1.3.6.1.2.1.97.1.6.4.1.7";
          type uint32 {
            range "0..65536";
          }
          description
            "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.";
        }

        leaf diffServRandomDropSamplingRate {
          smi:oid "1.3.6.1.2.1.97.1.6.4.1.8";
          type uint32 {
            range "0..1000000";
          }
          description
            "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).";
        }

        leaf diffServRandomDropStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.6.4.1.9";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServRandomDropStatus {
          smi:oid "1.3.6.1.2.1.97.1.6.4.1.10";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServRandomDropEntry
    }  // container diffServAlgDrop

    container diffServQueue {
      smi:oid "1.3.6.1.2.1.97.1.7";
      leaf diffServQNextFree {
        smi:oid "1.3.6.1.2.1.97.1.7.1";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for diffServQId, or a zero
            to indicate that none exist.";
      }

      list diffServQEntry {
        smi:oid "1.3.6.1.2.1.97.1.7.2.1";
        key "diffServQId";
        description
          "An entry in the Queue Table describes a single queue or class of
            traffic.";
        leaf diffServQId {
          smi:oid "1.3.6.1.2.1.97.1.7.2.1.1";
          type IndexInteger;
          description
            "An index that enumerates the Queue entries.  Managers obtain new
               values for row creation in this table by reading
               diffServQNextFree.";
        }

        leaf diffServQNext {
          smi:oid "1.3.6.1.2.1.97.1.7.2.1.2";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServQMinRate {
          smi:oid "1.3.6.1.2.1.97.1.7.2.1.3";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServQMaxRate {
          smi:oid "1.3.6.1.2.1.97.1.7.2.1.4";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServQStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.7.2.1.5";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServQStatus {
          smi:oid "1.3.6.1.2.1.97.1.7.2.1.6";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServQEntry
    }  // container diffServQueue

    container diffServScheduler {
      smi:oid "1.3.6.1.2.1.97.1.8";
      leaf diffServSchedulerNextFree {
        smi:oid "1.3.6.1.2.1.97.1.8.1";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for diffServSchedulerId, or
            a zero to indicate that none exist.";
      }

      list diffServSchedulerEntry {
        smi:oid "1.3.6.1.2.1.97.1.8.2.1";
        key "diffServSchedulerId";
        description
          "An entry in the Scheduler Table describing a single instance of
            a scheduling algorithm.";
        leaf diffServSchedulerId {
          smi:oid "1.3.6.1.2.1.97.1.8.2.1.1";
          type IndexInteger;
          description
            "An index that enumerates the Scheduler entries.  Managers obtain
               new values for row creation in this table by reading
               diffServSchedulerNextFree.";
        }

        leaf diffServSchedulerNext {
          smi:default "zeroDotZero";
          smi:oid "1.3.6.1.2.1.97.1.8.2.1.2";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServSchedulerMethod {
          smi:oid "1.3.6.1.2.1.97.1.8.2.1.3";
          type smiv2:AutonomousType;
          description
            "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.";
        }

        leaf diffServSchedulerMinRate {
          smi:default "zeroDotZero";
          smi:oid "1.3.6.1.2.1.97.1.8.2.1.4";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServSchedulerMaxRate {
          smi:default "zeroDotZero";
          smi:oid "1.3.6.1.2.1.97.1.8.2.1.5";
          type smiv2:RowPointer;
          description
            "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.";
        }

        leaf diffServSchedulerStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.8.2.1.6";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServSchedulerStatus {
          smi:oid "1.3.6.1.2.1.97.1.8.2.1.7";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServSchedulerEntry

      leaf diffServMinRateNextFree {
        smi:oid "1.3.6.1.2.1.97.1.8.3";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for diffServMinRateId, or a
            zero to indicate that none exist.";
      }

      list diffServMinRateEntry {
        smi:oid "1.3.6.1.2.1.97.1.8.4.1";
        key "diffServMinRateId";
        description
          "An entry in the Minimum Rate Parameters Table describes a single
            set of scheduling parameters for use by one or more queues or
            schedulers.";
        leaf diffServMinRateId {
          smi:oid "1.3.6.1.2.1.97.1.8.4.1.1";
          type IndexInteger;
          description
            "An index that enumerates the Scheduler Parameter entries.
               Managers obtain new values for row creation in this table by
               reading diffServMinRateNextFree.";
        }

        leaf diffServMinRatePriority {
          smi:oid "1.3.6.1.2.1.97.1.8.4.1.2";
          type uint32 {
            range "1..4294967295";
          }
          description
            "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.";
        }

        leaf diffServMinRateAbsolute {
          smi:oid "1.3.6.1.2.1.97.1.8.4.1.3";
          type uint32 {
            range "1..4294967295";
          }
          units "kilobits per second";
          description
            "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";
          reference
            "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863";

        }

        leaf diffServMinRateRelative {
          smi:oid "1.3.6.1.2.1.97.1.8.4.1.4";
          type uint32 {
            range "1..4294967295";
          }
          description
            "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";
          reference
            "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863";

        }

        leaf diffServMinRateStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.8.4.1.5";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServMinRateStatus {
          smi:oid "1.3.6.1.2.1.97.1.8.4.1.6";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServMinRateEntry

      leaf diffServMaxRateNextFree {
        smi:oid "1.3.6.1.2.1.97.1.8.5";
        type IndexIntegerNextFree;
        config false;
        description
          "This object contains an unused value for diffServMaxRateId, or a
            zero to indicate that none exist.";
      }

      list diffServMaxRateEntry {
        smi:oid "1.3.6.1.2.1.97.1.8.6.1";
        key "diffServMaxRateId diffServMaxRateLevel";
        description
          "An entry in the Maximum Rate Parameter Table describes a single
            set of scheduling parameters for use by one or more queues or
            schedulers.";
        leaf diffServMaxRateId {
          smi:oid "1.3.6.1.2.1.97.1.8.6.1.1";
          type IndexInteger;
          description
            "An index that enumerates the Maximum Rate Parameter entries.
               Managers obtain new values for row creation in this table by
               reading diffServMaxRateNextFree.";
        }

        leaf diffServMaxRateLevel {
          smi:oid "1.3.6.1.2.1.97.1.8.6.1.2";
          type uint32 {
            range "1..32";
          }
          description
            "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.";
        }

        leaf diffServMaxRateAbsolute {
          smi:oid "1.3.6.1.2.1.97.1.8.6.1.3";
          type uint32 {
            range "1..4294967295";
          }
          units "kilobits per second";
          description
            "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";
          reference
            "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863";

        }

        leaf diffServMaxRateRelative {
          smi:oid "1.3.6.1.2.1.97.1.8.6.1.4";
          type uint32 {
            range "1..4294967295";
          }
          description
            "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";
          reference
            "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863";

        }

        leaf diffServMaxRateThreshold {
          smi:oid "1.3.6.1.2.1.97.1.8.6.1.5";
          type integrated-services:BurstSize;
          units "Bytes";
          description
            "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.";
          reference
            "Adaptive rate Shaper, RFC 2963";

        }

        leaf diffServMaxRateStorage {
          smi:default "nonVolatile";
          smi:oid "1.3.6.1.2.1.97.1.8.6.1.6";
          type smiv2:StorageType;
          description
            "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.";
        }

        leaf diffServMaxRateStatus {
          smi:oid "1.3.6.1.2.1.97.1.8.6.1.7";
          type smiv2:RowStatus;
          description
            "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.";
        }
      }  // list diffServMaxRateEntry
    }  // container diffServScheduler
  }  // module DIFFSERV-MIB

Summary

  
  
Organization IETF Differentiated Services WG
  
Module DIFFSERV-MIB
Version 2002-02-07
File DIFFSERV-MIB.yang
  
Prefix diffserv-mib
Namespace urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB
  
Cooked /cookedmodules/DIFFSERV-MIB/2002-02-07
YANG /src/DIFFSERV-MIB@2002-02-07.yang
XSD /xsd/DIFFSERV-MIB@2002-02-07.xsd
  
Abstract This MIB defines the objects necessary to manage a device that uses the Differentiated Services Architecture described in RFC 24...
  
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

Description

 
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.

Typedefs

Typedef Base type Abstract
IfDirection enumeration 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.
IndexInteger uint32 An integer which may be used as a table index.
IndexIntegerNextFree uint32 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 no...

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
diffServAction container diffServActionNextFree diffServActionEntry diffServDscpMarkActEntry diffServCountActNextFree diffServCountActEntry
   diffServActionEntry list Each entry in the action table allows description of one specific action to be applied to traffic.
      diffServActionId leaf An index that enumerates the Action entries. Managers obtain new values for row creation in this table by reading diffServActionNextFree.
      diffServActionInterface leaf 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 plac...
      diffServActionNext leaf 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 ...
      diffServActionSpecific leaf 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 diffServCountAc...
      diffServActionStatus leaf 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 longe...
      diffServActionStorage leaf 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.
   diffServActionNextFree leaf This object contains an unused value for diffServActionId, or a zero to indicate that none exist.
   diffServCountActEntry list An entry in the count action table describes a single set of traffic counters.
      diffServCountActId leaf An index that enumerates the Count Action entries. Managers obtain new values for row creation in this table by reading diffServCountActNextFree.
      diffServCountActOctets leaf 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 interfa...
      diffServCountActPkts leaf 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 interf...
      diffServCountActStatus leaf 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 lo...
      diffServCountActStorage leaf 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.
   diffServCountActNextFree leaf This object contains an unused value for diffServCountActId, or a zero to indicate that none exist.
   diffServDscpMarkActEntry list An entry in the DSCP mark action table that describes a single DSCP used for marking.
      diffServDscpMarkActDscp leaf 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 mark...
diffServAlgDrop container diffServAlgDropNextFree diffServAlgDropEntry diffServRandomDropNextFree diffServRandomDropEntry
   diffServAlgDropEntry list 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.
      diffServAlgDropId leaf An index that enumerates the Algorithmic Dropper entries. Managers obtain new values for row creation in this table by reading diffServAlgDropNextFree.
      diffServAlgDropNext leaf 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 valu...
      diffServAlgDropOctets leaf 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 ifCounterDiscontinui...
      diffServAlgDropPkts leaf 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 ifCounterDiscontinu...
      diffServAlgDropQMeasure leaf 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 poi...
      diffServAlgDropQThreshold leaf 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 represe...
      diffServAlgDropSpecific leaf 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) mus...
      diffServAlgDropStatus leaf 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 longe...
      diffServAlgDropStorage leaf 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.
      diffServAlgDropType leaf 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 diffServAlgDropQMeasu...
      diffServAlgRandomDropOctets leaf 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...
      diffServAlgRandomDropPkts leaf 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...
   diffServAlgDropNextFree leaf This object contains an unused value for diffServAlgDropId, or a zero to indicate that none exist.
   diffServRandomDropEntry list An entry describes a process that drops packets according to a random algorithm.
      diffServRandomDropId leaf An index that enumerates the Random Drop entries. Managers obtain new values for row creation in this table by reading diffServRandomDropNextFree.
      diffServRandomDropMaxThreshBytes leaf 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 ...
      diffServRandomDropMaxThreshPkts leaf 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 ...
      diffServRandomDropMinThreshBytes leaf 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.
      diffServRandomDropMinThreshPkts leaf 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.
      diffServRandomDropProbMax leaf 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%...
      diffServRandomDropSamplingRate leaf 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).
      diffServRandomDropStatus leaf 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 longe...
      diffServRandomDropStorage leaf 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.
      diffServRandomDropWeight leaf 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 (65...
   diffServRandomDropNextFree leaf This object contains an unused value for diffServRandomDropId, or a zero to indicate that none exist.
diffServClassifier container diffServClfrNextFree diffServClfrEntry diffServClfrElementNextFree diffServClfrElementEntry diffServMultiFieldClfrNextFree diffServMultiFieldClfrEntry
   diffServClfrElementEntry list An entry in the classifier element table describes a single element of the classifier.
      diffServClfrElementId leaf An index that enumerates the Classifier Element entries. Managers obtain new values for row creation in this table by reading diffServClfrElementNextFree.
      diffServClfrElementNext leaf 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 dat...
      diffServClfrElementPrecedence leaf 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 considere...
      diffServClfrElementSpecific leaf 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 ele...
      diffServClfrElementStatus leaf 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 longe...
      diffServClfrElementStorage leaf 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.
      diffServClfrId leaf Automagically generated leafref leaf.
   diffServClfrElementNextFree leaf This object contains an unused value for diffServClfrElementId, or a zero to indicate that none exist.
   diffServClfrEntry list 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.
      diffServClfrId leaf An index that enumerates the classifier entries. Managers should obtain new values for row creation in this table by reading diffServClfrNextFree.
      diffServClfrStatus leaf 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 longe...
      diffServClfrStorage leaf 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.
   diffServClfrNextFree leaf This object contains an unused value for diffServClfrId, or a zero to indicate that none exist.
   diffServMultiFieldClfrEntry list An IP Multi-field Classifier entry describes a single filter.
      diffServMultiFieldClfrAddrType leaf 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...
      diffServMultiFieldClfrDscp leaf 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.
      diffServMultiFieldClfrDstAddr leaf 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.
      diffServMultiFieldClfrDstL4PortMax leaf 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.
      diffServMultiFieldClfrDstL4PortMin leaf The minimum value that the layer-4 destination port number in the packet must have in order to match this classifier entry.
      diffServMultiFieldClfrDstPrefixLength leaf 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...
      diffServMultiFieldClfrFlowId leaf The flow identifier in an IPv6 header.
      diffServMultiFieldClfrId leaf An index that enumerates the MultiField Classifier filter entries. Managers obtain new values for row creation in this table by reading diffServMultiFieldClfrNextFree.
      diffServMultiFieldClfrProtocol leaf 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.
      diffServMultiFieldClfrSrcAddr leaf 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.
      diffServMultiFieldClfrSrcL4PortMax leaf 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.
      diffServMultiFieldClfrSrcL4PortMin leaf The minimum value that the layer-4 source port number in the packet must have in order to match this classifier entry.
      diffServMultiFieldClfrSrcPrefixLength leaf 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...
      diffServMultiFieldClfrStatus leaf 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 longe...
      diffServMultiFieldClfrStorage leaf 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.
   diffServMultiFieldClfrNextFree leaf This object contains an unused value for diffServMultiFieldClfrId, or a zero to indicate that none exist.
diffServDataPath container diffServDataPathEntry
   diffServDataPathEntry list 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 i...
      diffServDataPathIfDirection leaf IfDirection specifies whether the reception or transmission path for this interface is in view.
      diffServDataPathStart leaf 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 ...
      diffServDataPathStatus leaf The status of this conceptual row. All writable objects in this row may be modified at any time.
      diffServDataPathStorage leaf 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.
      ifIndex leaf Automagically generated leafref leaf.
diffServMeter container diffServMeterNextFree diffServMeterEntry
   diffServMeterEntry list An entry in the meter table describes a single conformance level of a meter.
      diffServMeterFailNext leaf 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 diffServ...
      diffServMeterId leaf An index that enumerates the Meter entries. Managers obtain new values for row creation in this table by reading diffServMeterNextFree.
      diffServMeterSpecific leaf 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 ...
      diffServMeterStatus leaf 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 longe...
      diffServMeterStorage leaf 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.
      diffServMeterSucceedNext leaf 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 diffServActionE...
   diffServMeterNextFree leaf This object contains an unused value for diffServMeterId, or a zero to indicate that none exist.
diffServQueue container diffServQNextFree diffServQEntry
   diffServQEntry list An entry in the Queue Table describes a single queue or class of traffic.
      diffServQId leaf An index that enumerates the Queue entries. Managers obtain new values for row creation in this table by reading diffServQNextFree.
      diffServQMaxRate leaf 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 ...
      diffServQMinRate leaf 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 t...
      diffServQNext leaf 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...
      diffServQStatus leaf 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 longe...
      diffServQStorage leaf 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.
   diffServQNextFree leaf This object contains an unused value for diffServQId, or a zero to indicate that none exist.
diffServScheduler container diffServSchedulerNextFree diffServSchedulerEntry diffServMinRateNextFree diffServMinRateEntry diffServMaxRateNextFree diffServMaxRateEntry
   diffServMaxRateEntry list An entry in the Maximum Rate Parameter Table describes a single set of scheduling parameters for use by one or more queues or schedulers.
      diffServMaxRateAbsolute leaf 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 va...
      diffServMaxRateId leaf An index that enumerates the Maximum Rate Parameter entries. Managers obtain new values for row creation in this table by reading diffServMaxRateNextFree.
      diffServMaxRateLevel leaf 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...
      diffServMaxRateRelative leaf 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 ra...
      diffServMaxRateStatus leaf 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 longe...
      diffServMaxRateStorage leaf 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.
      diffServMaxRateThreshold leaf 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.
   diffServMaxRateNextFree leaf This object contains an unused value for diffServMaxRateId, or a zero to indicate that none exist.
   diffServMinRateEntry list An entry in the Minimum Rate Parameters Table describes a single set of scheduling parameters for use by one or more queues or schedulers.
      diffServMinRateAbsolute leaf 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 ...
      diffServMinRateId leaf An index that enumerates the Scheduler Parameter entries. Managers obtain new values for row creation in this table by reading diffServMinRateNextFree.
      diffServMinRatePriority leaf 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.
      diffServMinRateRelative leaf 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 ra...
      diffServMinRateStatus leaf 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 longe...
      diffServMinRateStorage leaf 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.
   diffServMinRateNextFree leaf This object contains an unused value for diffServMinRateId, or a zero to indicate that none exist.
   diffServSchedulerEntry list An entry in the Scheduler Table describing a single instance of a scheduling algorithm.
      diffServSchedulerId leaf An index that enumerates the Scheduler entries. Managers obtain new values for row creation in this table by reading diffServSchedulerNextFree.
      diffServSchedulerMaxRate leaf 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 ...
      diffServSchedulerMethod leaf 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 ...
      diffServSchedulerMinRate leaf 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 indicat...
      diffServSchedulerNext leaf 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...
      diffServSchedulerStatus leaf 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 longe...
      diffServSchedulerStorage leaf 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.
   diffServSchedulerNextFree leaf This object contains an unused value for diffServSchedulerId, or a zero to indicate that none exist.
diffServTBParam container diffServTBParamNextFree diffServTBParamEntry
   diffServTBParamEntry list An entry that describes a single set of token bucket parameters.
      diffServTBParamBurstSize leaf 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.
      diffServTBParamId leaf An index that enumerates the Token Bucket Parameter entries. Managers obtain new values for row creation in this table by reading diffServTBParamNextFree.
      diffServTBParamInterval leaf 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....
      diffServTBParamRate leaf 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.
      diffServTBParamStatus leaf 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 longe...
      diffServTBParamStorage leaf 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.
      diffServTBParamType leaf The Metering algorithm associated with the Token Bucket parameters. zeroDotZero indicates this is unknown. Standard values for generic algorithms: diffServTBParamSimpleTokenBucket, diffServTBParamAvgRate, diffServTBParamSrTCMBlind, diffServTBParamSrTCMA...
   diffServTBParamNextFree leaf This object contains an unused value for diffServTBParamId, or a zero to indicate that none exist.