DIFFSERV-MIB

This MIB defines the objects necessary to manage a device that uses the Differentiated Services Architecture described in RFC 24...

  • Version: 2002-02-07

    DIFFSERV-MIB@2002-02-07


    
      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 snmpv2-tc;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-smiv2 {
          prefix smiv2;
        }
        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.";
        }
    
        smiv2:oid "1.3.6.1.2.1.97.3.1.1";
        smiv2:oid "1.3.6.1.2.1.97.3.1.2";
        smiv2:oid "1.3.6.1.2.1.97.3.1.3";
        smiv2:oid "1.3.6.1.2.1.97.3.1.4";
        smiv2:oid "1.3.6.1.2.1.97.3.1.5";
        smiv2:oid "1.3.6.1.2.1.97.3.1.6";
        smiv2:oid "1.3.6.1.2.1.97.3.1.7";
        smiv2:oid "1.3.6.1.2.1.97.3.2.1";
        smiv2:oid "1.3.6.1.2.1.97.3.2.2";
        smiv2:oid "1.3.6.1.2.1.97.3.2.3";
        smiv2:alias "diffServMib" {
          smiv2:oid "1.3.6.1.2.1.97";
        }
        smiv2:alias "diffServMIBObjects" {
          smiv2:oid "1.3.6.1.2.1.97.1";
        }
        smiv2:alias "diffServDataPath" {
          smiv2:oid "1.3.6.1.2.1.97.1.1";
        }
        smiv2:alias "diffServClassifier" {
          smiv2:oid "1.3.6.1.2.1.97.1.2";
        }
        smiv2:alias "diffServMeter" {
          smiv2:oid "1.3.6.1.2.1.97.1.3";
        }
        smiv2:alias "diffServTBParam" {
          smiv2:oid "1.3.6.1.2.1.97.1.4";
        }
        smiv2:alias "diffServAction" {
          smiv2:oid "1.3.6.1.2.1.97.1.5";
        }
        smiv2:alias "diffServAlgDrop" {
          smiv2:oid "1.3.6.1.2.1.97.1.6";
        }
        smiv2:alias "diffServQueue" {
          smiv2:oid "1.3.6.1.2.1.97.1.7";
        }
        smiv2:alias "diffServScheduler" {
          smiv2:oid "1.3.6.1.2.1.97.1.8";
        }
        smiv2:alias "diffServMIBConformance" {
          smiv2:oid "1.3.6.1.2.1.97.2";
        }
        smiv2:alias "diffServMIBCompliances" {
          smiv2:oid "1.3.6.1.2.1.97.2.1";
        }
        smiv2:alias "diffServMIBGroups" {
          smiv2:oid "1.3.6.1.2.1.97.2.2";
        }
        smiv2:alias "diffServMIBAdmin" {
          smiv2:oid "1.3.6.1.2.1.97.3";
        }
        smiv2:alias "diffServTBMeters" {
          smiv2:oid "1.3.6.1.2.1.97.3.1";
        }
        smiv2:alias "diffServTBParamSimpleTokenBucket" {
          description "Two Parameter Token Bucket Meter as described in the Informal
    Differentiated Services Model section 5.2.3.";
          smiv2:oid "1.3.6.1.2.1.97.3.1.1";
        }
        smiv2:alias "diffServTBParamAvgRate" {
          description "Average Rate Meter as described in the Informal Differentiated
    Services Model section 5.2.1.";
          smiv2:oid "1.3.6.1.2.1.97.3.1.2";
        }
        smiv2:alias "diffServTBParamSrTCMBlind" {
          description "Single Rate Three Color Marker Metering as defined by RFC 2697,
    in the `Color Blind' mode as described by the RFC.";
          reference "RFC 2697";
          smiv2:oid "1.3.6.1.2.1.97.3.1.3";
        }
        smiv2:alias "diffServTBParamSrTCMAware" {
          description "Single Rate Three Color Marker Metering as defined by RFC 2697,
    in the `Color Aware' mode as described by the RFC.";
          reference "RFC 2697";
          smiv2:oid "1.3.6.1.2.1.97.3.1.4";
        }
        smiv2:alias "diffServTBParamTrTCMBlind" {
          description "Two Rate Three Color Marker Metering as defined by RFC 2698, in
    the `Color Blind' mode as described by the RFC.";
          reference "RFC 2698";
          smiv2:oid "1.3.6.1.2.1.97.3.1.5";
        }
        smiv2:alias "diffServTBParamTrTCMAware" {
          description "Two Rate Three Color Marker Metering as defined by RFC 2698, in
    the `Color Aware' mode as described by the RFC.";
          reference "RFC 2698";
          smiv2:oid "1.3.6.1.2.1.97.3.1.6";
        }
        smiv2:alias "diffServTBParamTswTCM" {
          description "Time Sliding Window Three Color Marker Metering as defined by
    RFC 2859.";
          reference "RFC 2859";
          smiv2:oid "1.3.6.1.2.1.97.3.1.7";
        }
        smiv2:alias "diffServSchedulers" {
          smiv2:oid "1.3.6.1.2.1.97.3.2";
        }
        smiv2:alias "diffServSchedulerPriority" {
          description "For use with diffServSchedulerMethod to indicate the Priority
    scheduling method.  This is defined as an algorithm in which the
    presence of data in a queue or set of queues absolutely precludes
    dequeue from another queue or set of queues of lower priority.
    Note that attributes from diffServMinRateEntry of the
    queues/schedulers feeding this scheduler are used when
    determining the next packet to schedule.";
          smiv2:oid "1.3.6.1.2.1.97.3.2.1";
        }
        smiv2:alias "diffServSchedulerWRR" {
          description "For use with diffServSchedulerMethod to indicate the Weighted
    Round Robin scheduling method, defined as any algorithm in which
    a set of queues are visited in a fixed order, and varying amounts
    of traffic are removed from each queue in turn to implement an
    average output rate by class. Notice attributes from
    diffServMinRateEntry of the queues/schedulers feeding this
    scheduler are used when determining the next packet to schedule.";
          smiv2:oid "1.3.6.1.2.1.97.3.2.2";
        }
        smiv2:alias "diffServSchedulerWFQ" {
          description "For use with diffServSchedulerMethod to indicate the Weighted
    Fair Queuing scheduling method, defined as any algorithm in which
    a set of queues are conceptually visited in some order, to
    implement an average output rate by class. Notice attributes from
    diffServMinRateEntry of the queues/schedulers feeding this
    scheduler are used when determining the next packet to schedule.";
          smiv2:oid "1.3.6.1.2.1.97.3.2.3";
        }
    
        typedef IndexInteger {
          type uint32 {
            smiv2:display-hint "d";
            range "1..4294967295";
          }
          description
            "An integer which may be used as a table index.";
        }
    
        typedef IndexIntegerNextFree {
          type uint32 {
            smiv2: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.";
        }
    
        identity diffServTBParamSimpleTokenBucket {
          base smiv2:object-identity;
          description
            "Two Parameter Token Bucket Meter as described in the Informal
    Differentiated Services Model section 5.2.3.";
        }
    
        identity diffServTBParamAvgRate {
          base smiv2:object-identity;
          description
            "Average Rate Meter as described in the Informal Differentiated
    Services Model section 5.2.1.";
        }
    
        identity diffServTBParamSrTCMBlind {
          base smiv2:object-identity;
          description
            "Single Rate Three Color Marker Metering as defined by RFC 2697,
    in the `Color Blind' mode as described by the RFC.";
          reference
            "RFC 2697";
    
        }
    
        identity diffServTBParamSrTCMAware {
          base smiv2:object-identity;
          description
            "Single Rate Three Color Marker Metering as defined by RFC 2697,
    in the `Color Aware' mode as described by the RFC.";
          reference
            "RFC 2697";
    
        }
    
        identity diffServTBParamTrTCMBlind {
          base smiv2:object-identity;
          description
            "Two Rate Three Color Marker Metering as defined by RFC 2698, in
    the `Color Blind' mode as described by the RFC.";
          reference
            "RFC 2698";
    
        }
    
        identity diffServTBParamTrTCMAware {
          base smiv2:object-identity;
          description
            "Two Rate Three Color Marker Metering as defined by RFC 2698, in
    the `Color Aware' mode as described by the RFC.";
          reference
            "RFC 2698";
    
        }
    
        identity diffServTBParamTswTCM {
          base smiv2:object-identity;
          description
            "Time Sliding Window Three Color Marker Metering as defined by
    RFC 2859.";
          reference
            "RFC 2859";
    
        }
    
        identity diffServSchedulerPriority {
          base smiv2:object-identity;
          description
            "For use with diffServSchedulerMethod to indicate the Priority
    scheduling method.  This is defined as an algorithm in which the
    presence of data in a queue or set of queues absolutely precludes
    dequeue from another queue or set of queues of lower priority.
    Note that attributes from diffServMinRateEntry of the
    queues/schedulers feeding this scheduler are used when
    determining the next packet to schedule.";
        }
    
        identity diffServSchedulerWRR {
          base smiv2:object-identity;
          description
            "For use with diffServSchedulerMethod to indicate the Weighted
    Round Robin scheduling method, defined as any algorithm in which
    a set of queues are visited in a fixed order, and varying amounts
    of traffic are removed from each queue in turn to implement an
    average output rate by class. Notice attributes from
    diffServMinRateEntry of the queues/schedulers feeding this
    scheduler are used when determining the next packet to schedule.";
        }
    
        identity diffServSchedulerWFQ {
          base smiv2:object-identity;
          description
            "For use with diffServSchedulerMethod to indicate the Weighted
    Fair Queuing scheduling method, defined as any algorithm in which
    a set of queues are conceptually visited in some order, to
    implement an average output rate by class. Notice attributes from
    diffServMinRateEntry of the queues/schedulers feeding this
    scheduler are used when determining the next packet to schedule.";
        }
    
        container DIFFSERV-MIB {
          config false;
          container diffServClassifier {
            smiv2:oid "1.3.6.1.2.1.97.1.2";
            leaf diffServClfrNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.2.1";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for diffServClfrId, or a
    zero to indicate that none exist.";
            }
    
            leaf diffServClfrElementNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.2.3";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for diffServClfrElementId,
    or a zero to indicate that none exist.";
            }
    
            leaf diffServMultiFieldClfrNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.2.5";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for
    diffServMultiFieldClfrId, or a zero to indicate that none exist.";
            }
          }  // container diffServClassifier
    
          container diffServMeter {
            smiv2:oid "1.3.6.1.2.1.97.1.3";
            leaf diffServMeterNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.3.1";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for diffServMeterId, or a
    zero to indicate that none exist.";
            }
          }  // container diffServMeter
    
          container diffServTBParam {
            smiv2:oid "1.3.6.1.2.1.97.1.4";
            leaf diffServTBParamNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.4.1";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for diffServTBParamId, or a
    zero to indicate that none exist.";
            }
          }  // container diffServTBParam
    
          container diffServAction {
            smiv2:oid "1.3.6.1.2.1.97.1.5";
            leaf diffServActionNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.5.1";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for diffServActionId, or a
    zero to indicate that none exist.";
            }
    
            leaf diffServCountActNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.5.4";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for
    diffServCountActId, or a zero to indicate that none exist.";
            }
          }  // container diffServAction
    
          container diffServAlgDrop {
            smiv2:oid "1.3.6.1.2.1.97.1.6";
            leaf diffServAlgDropNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.6.1";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for diffServAlgDropId, or a
    zero to indicate that none exist.";
            }
    
            leaf diffServRandomDropNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.6.3";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for diffServRandomDropId,
    or a zero to indicate that none exist.";
            }
          }  // container diffServAlgDrop
    
          container diffServQueue {
            smiv2:oid "1.3.6.1.2.1.97.1.7";
            leaf diffServQNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.7.1";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for diffServQId, or a zero
    to indicate that none exist.";
            }
          }  // container diffServQueue
    
          container diffServScheduler {
            smiv2:oid "1.3.6.1.2.1.97.1.8";
            leaf diffServSchedulerNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.8.1";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for diffServSchedulerId, or
    a zero to indicate that none exist.";
            }
    
            leaf diffServMinRateNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.8.3";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for diffServMinRateId, or a
    zero to indicate that none exist.";
            }
    
            leaf diffServMaxRateNextFree {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.2.1.97.1.8.5";
              type IndexIntegerNextFree;
              description
                "This object contains an unused value for diffServMaxRateId, or a
    zero to indicate that none exist.";
            }
          }  // container diffServScheduler
    
          container diffServDataPathTable {
            smiv2:oid "1.3.6.1.2.1.97.1.1.1";
            description
              "The data path table contains RowPointers indicating the start of
    the functional data path for each interface and traffic direction
    in this device. These may merge, or be separated into parallel
    data paths.";
            list diffServDataPathEntry {
              smiv2: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:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex";
                }
              }
    
              leaf diffServDataPathIfDirection {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.1.1.1.2";
                type snmpv2-tc: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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.1.1.1.3";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.1.1.1.4";
                type snmpv2-tc:RowStatus;
                description
                  "The status of this conceptual row. All writable objects in this
    row may be modified at any time.";
              }
            }  // list diffServDataPathEntry
          }  // container diffServDataPathTable
    
          container diffServClfrTable {
            smiv2:oid "1.3.6.1.2.1.97.1.2.2";
            description
              "This table enumerates all the diffserv classifier functional
    data path elements of this device.  The actual classification
    definitions are defined in diffServClfrElementTable entries
    belonging to each classifier.
    
    An entry in this table, pointed to by a RowPointer specifying an
    instance of diffServClfrStatus, is frequently used as the name
    for a set of classifier elements, which all use the index
    diffServClfrId. Per the semantics of the classifier element
    table, these entries constitute one or more unordered sets of
    tests which may be simultaneously applied to a message to
    
    
    
    classify it.
    
    The primary function of this table is to ensure that the value of
    diffServClfrId is unique before attempting to use it in creating
    a diffServClfrElementEntry. Therefore, the diffServClfrEntry must
    be created on the same SET as the diffServClfrElementEntry, or
    before the diffServClfrElementEntry is created.";
            list diffServClfrEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.2.1.2";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.2.1.3";
                type snmpv2-tc: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
          }  // container diffServClfrTable
    
          container diffServClfrElementTable {
            smiv2:oid "1.3.6.1.2.1.97.1.2.4";
            description
              "The classifier element table enumerates the relationship between
    classification patterns and subsequent downstream Differentiated
    Services Functional Data Path elements.
    diffServClfrElementSpecific points to a filter that specifies the
    classification parameters. A classifier may use filter tables of
    different types together.
    
    One example of a filter table defined in this MIB is
    diffServMultiFieldClfrTable, for IP Multi-Field Classifiers
    (MFCs). Such an entry might identify anything from a single
    micro-flow (an identifiable sub-session packet stream directed
    from one sending transport to the receiving transport or
    transports), or aggregates of those such as the traffic from a
    host, traffic for an application, or traffic between two hosts
    using an application and a given DSCP. The standard Behavior
    Aggregate used in the Differentiated Services Architecture is
    encoded as a degenerate case of such an aggregate - the traffic
    using a particular DSCP value.
    
    Filter tables for other filter types may be defined elsewhere.";
            list diffServClfrElementEntry {
              smiv2: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:DIFFSERV-MIB/DIFFSERV-MIB:diffServClfrTable/DIFFSERV-MIB:diffServClfrEntry/DIFFSERV-MIB:diffServClfrId";
                }
              }
    
              leaf diffServClfrElementId {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.4.1.3";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.4.1.4";
                type snmpv2-tc: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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.4.1.5";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.4.1.6";
                type snmpv2-tc: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
          }  // container diffServClfrElementTable
    
          container diffServMultiFieldClfrTable {
            smiv2:oid "1.3.6.1.2.1.97.1.2.6";
            description
              "A table of IP Multi-field Classifier filter entries that a
    
    
    
    system may use to identify IP traffic.";
            list diffServMultiFieldClfrEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:defval "0";
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:defval "0";
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:defval "-1";
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:defval "255";
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:defval "0";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.10";
                type inet:port-number;
                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 {
                smiv2:defval "65535";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.11";
                type inet:port-number;
                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 {
                smiv2:defval "0";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.12";
                type inet:port-number;
                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 {
                smiv2:defval "65535";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.13";
                type inet:port-number;
                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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.14";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.15";
                type snmpv2-tc: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 diffServMultiFieldClfrTable
    
          container diffServMeterTable {
            smiv2:oid "1.3.6.1.2.1.97.1.3.2";
            description
              "This table enumerates specific meters that a system may use to
    police a stream of traffic. The traffic stream to be metered is
    determined by the Differentiated Services Functional Data Path
    Element(s) upstream of the meter i.e. by the object(s) that point
    to each entry in this table.  This may include all traffic on an
    interface.
    
    Specific meter details are to be found in table entry referenced
    by diffServMeterSpecific.";
            list diffServMeterEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:defval "zeroDotZero";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.3.2.1.2";
                type snmpv2-tc: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 {
                smiv2:defval "zeroDotZero";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.3.2.1.3";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.3.2.1.4";
                type snmpv2-tc: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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.3.2.1.5";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.3.2.1.6";
                type snmpv2-tc: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 diffServMeterTable
    
          container diffServTBParamTable {
            smiv2:oid "1.3.6.1.2.1.97.1.4.2";
            description
              "This table enumerates a single set of token bucket meter
    parameters that a system may use to police a stream of traffic.
    Such meters are modeled here as having a single rate and a single
    burst size. Multiple entries are used when multiple rates/burst
    sizes are needed.";
            list diffServTBParamEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.4.2.1.2";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.4.2.1.6";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.4.2.1.7";
                type snmpv2-tc: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 diffServTBParamTable
    
          container diffServActionTable {
            smiv2:oid "1.3.6.1.2.1.97.1.5.2";
            description
              "The Action Table enumerates actions that can be performed to a
    stream of traffic. Multiple actions can be concatenated. For
    example, traffic exiting from a meter may be counted, marked, and
    potentially dropped before entering a queue.
    
    Specific actions are indicated by diffServActionSpecific which
    points to an entry of a specific action type parameterizing the
    action in detail.";
            list diffServActionEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:defval "zeroDotZero";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.5.2.1.3";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.5.2.1.4";
                type snmpv2-tc: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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.5.2.1.5";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.5.2.1.6";
                type snmpv2-tc: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
          }  // container diffServActionTable
    
          container diffServDscpMarkActTable {
            smiv2:oid "1.3.6.1.2.1.97.1.5.3";
            description
              "This table enumerates specific DSCPs used for marking or
    remarking the DSCP field of IP packets. The entries of this table
    may be referenced by a diffServActionSpecific attribute.";
            list diffServDscpMarkActEntry {
              smiv2: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 {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.2.1.97.1.5.3.1.1";
                type inet: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
          }  // container diffServDscpMarkActTable
    
          container diffServCountActTable {
            smiv2:oid "1.3.6.1.2.1.97.1.5.5";
            description
              "This table contains counters for all the traffic passing through
    an action element.";
            list diffServCountActEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.2.1.97.1.5.5.1.2";
                type yang:counter64;
                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 {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.2.1.97.1.5.5.1.3";
                type yang:counter64;
                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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.5.5.1.4";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.5.5.1.5";
                type snmpv2-tc: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 diffServCountActTable
    
          container diffServAlgDropTable {
            smiv2:oid "1.3.6.1.2.1.97.1.6.2";
            description
              "The algorithmic drop table contains entries describing an
    element that drops packets according to some algorithm.";
            list diffServAlgDropEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.3";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.4";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.6";
                type snmpv2-tc: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 {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.7";
                type yang:counter64;
                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 {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.8";
                type yang:counter64;
                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 {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.9";
                type yang:counter64;
                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 {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.10";
                type yang:counter64;
                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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.11";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.12";
                type snmpv2-tc: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
          }  // container diffServAlgDropTable
    
          container diffServRandomDropTable {
            smiv2:oid "1.3.6.1.2.1.97.1.6.4";
            description
              "The random drop table contains entries describing a process that
    drops packets randomly. Entries in this table are pointed to by
    diffServAlgDropSpecific.";
            list diffServRandomDropEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.9";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.10";
                type snmpv2-tc: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 diffServRandomDropTable
    
          container diffServQTable {
            smiv2:oid "1.3.6.1.2.1.97.1.7.2";
            description
              "The Queue Table enumerates the individual queues.  Note that the
    MIB models queuing systems as composed of individual queues, one
    per class of traffic, even though they may in fact be structured
    as classes of traffic scheduled using a common calendar queue, or
    in other ways.";
            list diffServQEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.7.2.1.2";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.7.2.1.3";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.7.2.1.4";
                type snmpv2-tc: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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.7.2.1.5";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.7.2.1.6";
                type snmpv2-tc: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 diffServQTable
    
          container diffServSchedulerTable {
            smiv2:oid "1.3.6.1.2.1.97.1.8.2";
            description
              "The Scheduler Table enumerates packet schedulers. Multiple
    scheduling algorithms can be used on a given data path, with each
    algorithm described by one diffServSchedulerEntry.";
            list diffServSchedulerEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:defval "zeroDotZero";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.2";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.3";
                type snmpv2-tc: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 {
                smiv2:defval "zeroDotZero";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.4";
                type snmpv2-tc: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 {
                smiv2:defval "zeroDotZero";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.5";
                type snmpv2-tc: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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.6";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.7";
                type snmpv2-tc: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
          }  // container diffServSchedulerTable
    
          container diffServMinRateTable {
            smiv2:oid "1.3.6.1.2.1.97.1.8.4";
            description
              "The Minimum Rate Parameters Table enumerates individual sets of
    scheduling parameter that can be used/reused by Queues and
    Schedulers.";
            list diffServMinRateEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.8.4.1.5";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.8.4.1.6";
                type snmpv2-tc: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
          }  // container diffServMinRateTable
    
          container diffServMaxRateTable {
            smiv2:oid "1.3.6.1.2.1.97.1.8.6";
            description
              "The Maximum Rate Parameter Table enumerates individual sets of
    scheduling parameter that can be used/reused by Queues and
    Schedulers.";
            list diffServMaxRateEntry {
              smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "not-accessible";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:max-access "read-write";
                smiv2: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 {
                smiv2:defval "nonVolatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.8.6.1.6";
                type snmpv2-tc: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 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.2.1.97.1.8.6.1.7";
                type snmpv2-tc: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 diffServMaxRateTable
        }  // container DIFFSERV-MIB
      }  // module DIFFSERV-MIB
    

© 2023 YumaWorks, Inc. All rights reserved.