smilint output for ./DIFF-SERV-MIB


Message Severities
SeverityCount
error2
Message Types
TypeCount
range-bounds (error)2

Messages:

DIFF-SERV-MIB

   1: -- extracted from draft-ietf-diffserv-mib-06.txt
   2: -- at Tue Dec  5 10:05:26 2000
   3: 
   4: DIFF-SERV-MIB DEFINITIONS ::= BEGIN
   5: 
   6: 
   7:     IMPORTS
   8:     Integer32, Unsigned32, Counter32, Counter64,
   9:     MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
  10:     zeroDotZero, mib-2
  11:          FROM SNMPv2-SMI
  12:     TEXTUAL-CONVENTION, RowStatus, RowPointer, TimeStamp
  13:          FROM SNMPv2-TC
  14:     MODULE-COMPLIANCE, OBJECT-GROUP
  15:          FROM SNMPv2-CONF
  16:     ifIndex
  17:         FROM IF-MIB
  18:     InetAddressType, InetAddress
  19:         FROM INET-ADDRESS-MIB
  20:     BurstSize
  21:         FROM INTEGRATED-SERVICES-MIB;
  22: 
  23: 
  24: diffServMib MODULE-IDENTITY
  25:     LAST-UPDATED "200011190000Z"
  26:     ORGANIZATION "IETF Diffserv WG"
  27:     CONTACT-INFO
  28:        "       Fred Baker
  29:                Cisco Systems
  30:                519 Lado Drive
  31:                Santa Barbara, CA 93111, USA
  32:                E-mail: fred@cisco.com
  33: 
  34: 
  35:                Kwok Ho Chan
  36:                Nortel Networks
  37:                600 Technology Park Drive
  38:                Billerica, MA 01821, USA
  39:                E-mail: khchan@nortelnetworks.com
  40: 
  41: 
  42:                Andrew Smith
  43:                Allegro Networks
  44:                6399 San Ignacio Ave
  45:                San Jose, CA 95119, USA
  46:                E-mail: andrew@allegronetworks.com"
  47: 
  48:     DESCRIPTION
  49:        "This MIB defines the objects necessary to  manage  a
  50:        device  that  uses the Differentiated Services Archi-
  51:        tecture  described  in  RFC  2475  and  the  Informal
  52:        Management  Model for DiffServ Routers in draft-ietf-
  53:        diffserv-model-05.txt."
  54:     REVISION "200011190000Z"
  55:     DESCRIPTION
  56:        "Initial version, published as RFC xxxx."
  57: 
  58:     ::= { mib-2 12345 }  -- anybody who uses this unassigned
  59:                          -- number deserves the wrath of IANA
  60: 
  61: 
  62: diffServMIBObjects     OBJECT IDENTIFIER ::= { diffServMib 1 }
  63: diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 2 }
  64: 
  65: 
  66: 
  67: -- These textual conventions have no effect on either the syntax
  68: -- nor the semantics of any managed object.  Objects defined
  69: -- using this convention are always encoded by means of the
  70: -- rules that define their primitive type.
  71: 
  72: 
  73: Dscp ::= TEXTUAL-CONVENTION
  74:     DISPLAY-HINT "d"
  75:     STATUS   current
  76:     DESCRIPTION
  77:        "The IP header Diffserv Code-Point that may  be  used
  78:        for  discriminating or marking a traffic stream.  The
  79:        value  -1  ( 4294967295 for Integer32 )  is  used  to
  80:        indicate a wildcard i.e. any value."
  81:     SYNTAX   Integer32 (4294967295 | 0..63)
  81: error - range limit exceeds underlying basetype
  81: error -
range limit exceeds underlying basetype
  82: 
  83: 
  84: SixTupleClfrL4Port ::= TEXTUAL-CONVENTION
  85:     DISPLAY-HINT "d"
  86:     STATUS   current
  87:     DESCRIPTION
  88:        "A value indicating a Layer-4 protocol port number."
  89:     SYNTAX   Unsigned32 (0..65535)
  90: 
  91: 
  92: IfDirection ::= TEXTUAL-CONVENTION
  93:     STATUS current
  94:     DESCRIPTION
  95:        "Specifies a direction of data travel  on  an  inter-
  96:        face.  'inbound' traffic is operated on during recep-
  97:        tion from the interface, while 'outbound' traffic  is
  98:        operated on prior to transmission on the interface."
  99:     SYNTAX  INTEGER {
 100:                 inbound(1),     -- ingress interface
 101:                 outbound(2)     -- egress interface
 102:             }
 103: 
 104: 
 105: -- The following textual convention, StaticRowPointer,
 106: -- is similiar to the RowPointer textual convention,
 107: -- but embody additional semantics to indicate whether
 108: -- a single instance of the target object can be pointed
 109: -- to by more than one parent objects.
 110: -- This textual convention allows a clearer definition
 111: -- of parameterization table entries, as compared to
 112: -- datapath linking table entries.
 113: -- Objects pointed to by StaticRowPointers, parameterization
 114: -- table entries, can be reused by one or more data path
 115: -- functional elements in one or more TCBs, belonging to one
 116: -- or more data paths.
 117: -- This textual convention also allow easier reuse of
 118: -- data definitions in this MIB by higher level configuration
 119: -- and provisioning mechanisms.
 120: 
 121: 
 122: StaticRowPointer ::= TEXTUAL-CONVENTION
 123:     STATUS current
 124:     DESCRIPTION
 125:        "Like   a   RowPointer,   this   textual   convention
 126:        represents  a pointer to a conceptual row.  The value
 127:        is the name of the instance of the  first  accessible
 128:        columnar object in the conceptual row.
 129: 
 130:        The additional semantics of this textual  convention,
 131:        relative to RowPointer, are related to the object the
 132:        pointer is pointing to.  The  pointed-to  object  may
 133:        have  more  than  one  parent  object pointing to it,
 134:        indicating the pointed-to object can be shared by one
 135:        or more parent objects.
 136: 
 137:        This additional semantics facilitates the creation of
 138:        instance-specific  objects by cloning, used by higher
 139:        level  configuration/provisioning  mechanisms.    The
 140:        objects  being cloned may either be special ones that
 141:        express    configuration    information    at     the
 142:        implementation-specific  level,  or  simply instance-
 143:        specific ones that already  exist  at  the  time  the
 144:        cloning is done.  When an object with the syntax Sta-
 145:        ticRowPointer is cloned, the StaticRowPointer in  the
 146:        newly  cloned object is set to point to the same con-
 147:        ceptual row that the StaticRowPointer in the  cloned-
 148:        from object pointed to. The cloning operations may be
 149:        accomplished either with the  script-based  technique
 150:        defined  by  SNMP  Configuration, or by ordinary SNMP
 151:        Get and Set operations, or other mechanisms.
 152: 
 153:        Support of  this  additional  semantics  and  cloning
 154:        functionality is not required for conformance to this
 155:        MIB.  When the additional semantics is not supported,
 156:        this  textual  convention  behaves identically to the
 157:        RowPointer textual convention."
 158:     SYNTAX  OBJECT IDENTIFIER
 159: 
 160: 
 161: --
 162: -- Data Path
 163: --
 164: 
 165: diffServDataPath       OBJECT IDENTIFIER ::= { diffServMIBObjects 1 }
 166: 
 167: --
 168: -- Data Path Table
 169: --
 170: -- The Data Path Table enumerates the Differentiated Services
 171: -- Data Paths within this device.  Each entry in this table
 172: -- is indexed by ifIndex and ifDirection.  Each entry provides
 173: -- the first diffserv functional datapath element to process data
 174: -- flow for each specific datapath.  This table should have at most
 175: -- two entries for each DiffServ capable interface on this device;
 176: -- ingress and egress.
 177: --
 178: -- Notice all diffserv functional datapath elements linked together
 179: -- using their individual next pointers and anchored by an entry
 180: -- of the diffServDataPathTable must belong to the same datapath.
 181: -- The use of next pointer to point to diffserv functional datapath
 182: -- element of a different datapath is not allowed.
 183: --
 184: 
 185: 
 186: diffServDataPathTable OBJECT-TYPE
 187:     SYNTAX       SEQUENCE OF DiffServDataPathEntry
 188:     MAX-ACCESS   not-accessible
 189:     STATUS       current
 190:     DESCRIPTION
 191:        "The data path table defines the data paths  in  this
 192:        device.   Each  data path is defined by the interface
 193:        and traffic direction.  The first diffserv functional
 194:        datapath element to handle traffic for this data path
 195:        is defined by a RowPointer, diffServDataPathStart, in
 196:        the entries of this table."
 197:     ::= { diffServDataPath 1 }
 198: 
 199: 
 200: diffServDataPathEntry OBJECT-TYPE
 201:     SYNTAX       DiffServDataPathEntry
 202:     MAX-ACCESS   not-accessible
 203:     STATUS       current
 204:     DESCRIPTION
 205:        "An entry in the data path table describes  a  single
 206:        diffserv datapath in this device."
 207:     INDEX { ifIndex, diffServDataPathIfDirection }
 208:     ::= { diffServDataPathTable 1 }
 209: 
 210: 
 211: DiffServDataPathEntry ::= SEQUENCE  {
 212:     diffServDataPathIfDirection    IfDirection,
 213:     diffServDataPathStart          RowPointer,
 214:     diffServDataPathStatus         RowStatus
 215: }
 216: 
 217: 
 218: diffServDataPathIfDirection OBJECT-TYPE
 219:     SYNTAX       IfDirection
 220:     MAX-ACCESS   not-accessible
 221:     STATUS       current
 222:     DESCRIPTION
 223:        "Specifies the direction for  which  this  data  path
 224:        entry applies on this interface."
 225:     ::= { diffServDataPathEntry 1 }
 226: 
 227: 
 228: diffServDataPathStart OBJECT-TYPE
 229:     SYNTAX       RowPointer
 230:     MAX-ACCESS   read-create
 231:     STATUS       current
 232:     DESCRIPTION
 233:        "This selects the first diffserv functional  datapath
 234:        element  to  handle traffic for this data path.  This
 235:        RowPointer should point to an instance of one of:
 236:          diffServClfrEntry
 237:          diffServMeterEntry
 238:          diffServActionEntry
 239:          diffServAlgDropEntry
 240:          diffServQEntry
 241: 
 242:        A value of zeroDotZero in this attribute indicates no
 243:        further Diffserv treatment is performed on traffic of
 244:        this datapath.  The use of zeroDotZero is the  normal
 245:        usage for the last functional datapath element of the
 246:        current data path.
 247: 
 248:        If the row pointed to does not exist,  the  treatment
 249:        is  as  if  this  attribute contains a value of zero-
 250:        DotZero."
 251:     ::= { diffServDataPathEntry 2 }
 252: 
 253: 
 254: diffServDataPathStatus OBJECT-TYPE
 255:     SYNTAX       RowStatus
 256:     MAX-ACCESS   read-create
 257:     STATUS       current
 258:     DESCRIPTION
 259:        "The  RowStatus  variable  controls  the  activation,
 260:        deactivation,  or  deletion of a row/entry. Any writ-
 261:        able variable may be  modified  whether  the  row  is
 262:        active or notInService."
 263:     ::= { diffServDataPathEntry 3 }
 264: 
 265: 
 266: --
 267: -- Classifiers
 268: --
 269: 
 270: diffServClassifier     OBJECT IDENTIFIER ::= { diffServMIBObjects 2 }
 271: 
 272: --
 273: -- Classifier Table
 274: --
 275: -- Classifier allows multiple classifier elements, of same or different
 276: -- types, to be used together.
 277: -- A classifier must completely classify all packets presented to it,
 278: -- this means all traffic handled by a classifier must match
 279: -- at least one classifier element within the classifier,
 280: -- with the classifier element parameters specified by a filter.
 281: --
 282: -- If there is ambiguity between classifier elements of different
 283: -- classifier, the precedence is indicated by the order the classifiers
 284: -- are linked, the first classifier in the link is applied to the
 285: -- traffic first.
 286: --
 287: 
 288: 
 289: diffServClfrNextFree OBJECT-TYPE
 290:     SYNTAX       Unsigned32
 291:     MAX-ACCESS   read-only
 292:     STATUS       current
 293:     DESCRIPTION
 294:        "This  object  yields  a  value  when  read  that  is
 295:        currently unused for a diffServClfrId instance.  If a
 296:        configuring system attempts to create a  new  row  in
 297:        the  diffServClfrTable  using this value, that opera-
 298:        tion will fail if the value  has,  in  the  meantime,
 299:        been  used  to  create  another row that is currently
 300:        valid."
 301:     ::= { diffServClassifier 1 }
 302: 
 303: 
 304: diffServClfrTable OBJECT-TYPE
 305:     SYNTAX       SEQUENCE OF DiffServClfrEntry
 306:     MAX-ACCESS   not-accessible
 307:     STATUS       current
 308:     DESCRIPTION
 309:        "This table enumerates all  the  diffserv  classifier
 310:        functional  datapath  elements  of  this device.  The
 311:        actual  classification  definitions  are  defined  in
 312:        diffServClfrElementTable  entries  belonging  to each
 313:        classifier."
 314:     REFERENCE
 315:         "[MODEL] section 4.1"
 316:     ::= { diffServClassifier 2 }
 317: 
 318: 
 319: diffServClfrEntry OBJECT-TYPE
 320:     SYNTAX       DiffServClfrEntry
 321:     MAX-ACCESS   not-accessible
 322:     STATUS       current
 323:     DESCRIPTION
 324:        "An entry in the classifier table describes a  single
 325:        classifier.  All classifier elements belonging to the
 326:        same classifier uses the classifier's  diffServClfrId
 327:        in thier diffServClfrElementClfrId attribute."
 328:     INDEX { diffServClfrId }
 329:     ::= { diffServClfrTable 1 }
 330: 
 331: DiffServClfrEntry ::= SEQUENCE  {
 332:     diffServClfrId              Unsigned32,
 333:     diffServClfrStatus          RowStatus
 334: }
 335: 
 336: 
 337: diffServClfrId OBJECT-TYPE
 338:     SYNTAX       Unsigned32
 339:     MAX-ACCESS   not-accessible
 340:     STATUS       current
 341:     DESCRIPTION
 342:        "An index that enumerates the classifier entries. The
 343:        set  of  such  identifiers  spans  the  whole  agent.
 344:        Managers should obtain new values for row creation in
 345:        this table by reading diffServClfrNextFree."
 346:     ::= { diffServClfrEntry 1 }
 347: 
 348: 
 349: diffServClfrStatus OBJECT-TYPE
 350:     SYNTAX       RowStatus
 351:     MAX-ACCESS   read-create
 352:     STATUS       current
 353:     DESCRIPTION
 354:        "The  RowStatus  variable  controls  the  activation,
 355:        deactivation,  or deletion of a classifier. Any writ-
 356:        able variable may be  modified  whether  the  row  is
 357:        active or notInService."
 358:     ::= { diffServClfrEntry 2 }
 359: 
 360: 
 361: --
 362: -- Classifier Element Table
 363: --
 364: -- Entries in the classifier element table serves as
 365: -- the anchor for each classification pattern, defined
 366: -- in filter table entries.  Each classifier element
 367: -- table entry also specifies the subsequent downstream
 368: -- diffserv functional datapath element when the
 369: -- classification pattern is satisfied.
 370: -- Each entry in the classifier element table describes
 371: -- one branch of the fan-out characteristic of a classifier
 372: -- indicated in [MODEL] section 4.1.  A classifier is madeup
 373: -- of one or more classifier elements.
 374: --
 375: 
 376: 
 377: diffServClfrElementNextFree OBJECT-TYPE
 378:     SYNTAX       Unsigned32
 379:     MAX-ACCESS   read-only
 380:     STATUS       current
 381:     DESCRIPTION
 382:        "This  object  yields  a  value  when  read  that  is
 383:        currently    unused   for   a   diffServClfrElementId
 384:        instance.  If a configuring system attempts to create
 385:        a  new row in the diffServClfrElementTable using this
 386:        value, that opera- tion will fail if the value   has,
 387:        in   the   meantime,  been  used  to  create  another
 388:        row that is currently valid."
 389:     ::= { diffServClassifier 3 }
 390: 
 391: 
 392: diffServClfrElementTable OBJECT-TYPE
 393:     SYNTAX       SEQUENCE OF DiffServClfrElementEntry
 394:     MAX-ACCESS   not-accessible
 395:     STATUS       current
 396:     DESCRIPTION
 397:        "The classifier element table  enumerates  the  rela-
 398:        tionship  between  classification patterns and subse-
 399:        quent downstream diffserv  functional  datapath  ele-
 400:        ments.   Classification  parameters  are  defined  by
 401:        entries   of   filter   tables    pointed    to    by
 402:        diffServClfrElementSpecific.   There  can  be  filter
 403:        tables of different types, and  they  can  be  inter-
 404:        mixed  and used within a classifier.  An example of a
 405:        filter table defined in this  MIB  is  diffServSixTu-
 406:        pleClfrTable,  for IP Multi-Field Classifiers (MFCs).
 407:        Filter tables for other filter types may  be  defined
 408:        elsewhere."
 409:     REFERENCE
 410:         "[MODEL] section 4.1"
 411:     ::= { diffServClassifier 4 }
 412: 
 413: 
 414: diffServClfrElementEntry OBJECT-TYPE
 415:     SYNTAX       DiffServClfrElementEntry
 416:     MAX-ACCESS   not-accessible
 417:     STATUS       current
 418:     DESCRIPTION
 419:        "An entry in the classifier element table describes a
 420:        single element of the classifier."
 421:     INDEX { diffServClfrElementClfrId, diffServClfrElementId }
 422:     ::= { diffServClfrElementTable 1 }
 423: 
 424: DiffServClfrElementEntry ::= SEQUENCE  {
 425:     diffServClfrElementId          Unsigned32,
 426:     diffServClfrElementClfrId      Unsigned32,
 427:     diffServClfrElementOrder       Unsigned32,
 428:     diffServClfrElementNext        RowPointer,
 429:     diffServClfrElementSpecific    StaticRowPointer,
 430:     diffServClfrElementStatus      RowStatus
 431: }
 432: 
 433: 
 434: diffServClfrElementId OBJECT-TYPE
 435:     SYNTAX       Unsigned32
 436:     MAX-ACCESS   not-accessible
 437:     STATUS       current
 438:     DESCRIPTION
 439:        "An index  that  enumerates  the  Classifier  Element
 440:        entries.  The set of such identifiers spans the whole
 441:        agent. Managers should  obtain  new  values  for  row
 442:        creation     in     this     table     by     reading
 443:        diffServClfrElementNextFree."
 444:     ::= { diffServClfrElementEntry 1 }
 445: 
 446: 
 447: diffServClfrElementClfrId OBJECT-TYPE
 448:     SYNTAX       Unsigned32
 449:     MAX-ACCESS   not-accessible
 450:     STATUS       current
 451:     DESCRIPTION
 452:        "A classifier Id  identifies  which  classifier  this
 453:        classifier  element  is  a part of.  This needs to be
 454:        the value of diffServClfrId attribute for an existing
 455:        row in diffServClfrTable."
 456:     ::= { diffServClfrElementEntry 2 }
 457: 
 458: 
 459: diffServClfrElementOrder OBJECT-TYPE
 460:     SYNTAX       Unsigned32
 461:     MAX-ACCESS   read-create
 462:     STATUS       current
 463:     DESCRIPTION
 464:        "The relative order in which classifier elements  are
 465:        applied:   higher  numbers  represent classifier ele-
 466:        ment with  higher  precedence.   Classifier  elements
 467:        with the same order  must  be  unambiguous  i.e. they
 468:        must define non-overlapping patterns, and  are   con-
 469:        sidered   to   be  applied   simultaneously   to  the
 470:        traffic stream. Clas- sifier elements with  different
 471:        order   may  overlap in their  filters:  the classif-
 472:        ier element with the highest order  that  matches  is
 473:        taken.
 474: 
 475:        On a given interface, there must be a complete  clas-
 476:        sifier   in   place   at  all  times in   the ingress
 477:        direction.  This means that there will always be  one
 478:        or  more  filters that match every possible pat- tern
 479:        that  could  be  presented  in  an  incoming  packet.
 480:        There  is  no  such  requirement in the egress direc-
 481:        tion."
 482:     DEFVAL { 0 }
 483:     ::= { diffServClfrElementEntry 3 }
 484: 
 485: 
 486: diffServClfrElementNext OBJECT-TYPE
 487:     SYNTAX       RowPointer
 488:     MAX-ACCESS   read-create
 489:     STATUS       current
 490:     DESCRIPTION
 491:        "This attribute provides one branch  of  the  fan-out
 492:        functionality  of  a  classifier described in [MODEL]
 493:        section 4.1.
 494: 
 495:        This selects the next  diffserv  functional  datapath
 496:        element  to  handle traffic for this data path.  This
 497:        RowPointer should point to an instance of one of:
 498:          diffServClfrEntry
 499:          diffServMeterEntry
 500:          diffServActionEntry
 501:          diffServAlgDropEntry
 502:          diffServQEntry
 503: 
 504:        A value of zeroDotZero in this attribute indicates no
 505:        further Diffserv treatment is performed on traffic of
 506:        this datapath.  The use of zeroDotZero is the  normal
 507:        usage for the last functional datapath element of the
 508:        current data path.
 509: 
 510:        If the row pointed to does not exist,  the  treatment
 511:        is  as  if  this  attribute contains a value of zero-
 512:        DotZero."
 513:     ::= { diffServClfrElementEntry 4 }
 514: 
 515: 
 516: diffServClfrElementSpecific OBJECT-TYPE
 517:     SYNTAX       StaticRowPointer
 518:     MAX-ACCESS   read-create
 519:     STATUS       current
 520:     DESCRIPTION
 521:        "A pointer to a  valid  entry   in   another   table,
 522:        filter table, that describes  the applicable classif-
 523:        ication parameters, e.g.  an entry in  diffServSixTu-
 524:        pleClfrTable.
 525: 
 526:        If the row pointed to does not exist, the  classifier
 527:        element is ignored.
 528: 
 529:        The  value  zeroDotZero  is  interpreted   to   match
 530:        anything  not matched by another classifier element -
 531:        only one such entry may exist for each classifier."
 532:     DEFVAL { zeroDotZero }
 533:     ::= { diffServClfrElementEntry 5 }
 534: 
 535: 
 536: diffServClfrElementStatus OBJECT-TYPE
 537:     SYNTAX       RowStatus
 538:     MAX-ACCESS   read-create
 539:     STATUS       current
 540:     DESCRIPTION
 541:        "The  RowStatus  variable  controls  the  activation,
 542:        deactivation,   or  deletion of a classifier element.
 543:        Any writ- able variable  may  be   modified   whether
 544:        the  row  is active or notInService."
 545:     ::= { diffServClfrElementEntry 6 }
 546: 
 547: 
 548: --
 549: -- IP Six-Tuple Classification Table
 550: --
 551: -- Classification based on 6 different fields in the IP
 552: -- header. This is intended to be IP-version-independent.
 553: -- Filters, entries in this table, may be shared, pointed to,
 554: -- by multiple diffServClfrElementEntry, of same or different
 555: -- datapaths in the same system.
 556: --
 557: 
 558: 
 559: diffServSixTupleClfrNextFree OBJECT-TYPE
 560:     SYNTAX       Unsigned32
 561:     MAX-ACCESS   read-only
 562:     STATUS       current
 563:     DESCRIPTION
 564:        "This object yields a value when read that is currently unused
 565:        for a diffServSixTupleClfrId instance.
 566:        If a configuring system attempts to create a new row
 567:        in the diffServSixTupleClfrTable using this value, that operation
 568:        will fail if the value has, in the meantime, been used
 569:        to create another row that is currently valid."
 570:     ::= { diffServClassifier 5 }
 571: 
 572: 
 573: diffServSixTupleClfrTable OBJECT-TYPE
 574:     SYNTAX   SEQUENCE OF DiffServSixTupleClfrEntry
 575:     MAX-ACCESS   not-accessible
 576:     STATUS   current
 577:     DESCRIPTION
 578:        "A table of IP Six-Tuple  Classifier  filter  entries
 579:        that a system may use to identify IP traffic."
 580:     REFERENCE
 581:         "[MODEL] section 4.2.2"
 582:     ::= { diffServClassifier 6 }
 583: 
 584: 
 585: diffServSixTupleClfrEntry OBJECT-TYPE
 586:     SYNTAX       DiffServSixTupleClfrEntry
 587:     MAX-ACCESS   not-accessible
 588:     STATUS   current
 589:     DESCRIPTION
 590:        "An IP Six-Tuple Classifier entry describes a  single
 591:        filter."
 592:     INDEX { diffServSixTupleClfrId }
 593:     ::= { diffServSixTupleClfrTable 1 }
 594: 
 595: 
 596: DiffServSixTupleClfrEntry ::= SEQUENCE {
 597:     diffServSixTupleClfrId           Unsigned32,
 598:     diffServSixTupleClfrDstAddrType  InetAddressType,
 599:     diffServSixTupleClfrDstAddr      InetAddress,
 600:     diffServSixTupleClfrDstAddrMask  Unsigned32,
 601:     diffServSixTupleClfrSrcAddrType  InetAddressType,
 602:     diffServSixTupleClfrSrcAddr      InetAddress,
 603:     diffServSixTupleClfrSrcAddrMask  Unsigned32,
 604:     diffServSixTupleClfrDscp         Dscp,
 605:     diffServSixTupleClfrProtocol     Unsigned32,
 606:     diffServSixTupleClfrDstL4PortMin SixTupleClfrL4Port,
 607:     diffServSixTupleClfrDstL4PortMax SixTupleClfrL4Port,
 608:     diffServSixTupleClfrSrcL4PortMin SixTupleClfrL4Port,
 609:     diffServSixTupleClfrSrcL4PortMax SixTupleClfrL4Port,
 610:     diffServSixTupleClfrStatus       RowStatus
 611: }
 612: diffServSixTupleClfrId OBJECT-TYPE
 613:     SYNTAX         Unsigned32
 614:     MAX-ACCESS     not-accessible
 615:     STATUS     current
 616:     DESCRIPTION
 617:        "An index that enumerates the  Six  Tuple  Classifier
 618:        filter  entries.   The  set of such identifiers spans
 619:        the whole agent.  Managers should obtain  new  values
 620:        for   row   creation   in   this   table  by  reading
 621:        diffServSixTupleClfrNextFree."
 622:     ::= { diffServSixTupleClfrEntry 1 }
 623: 
 624: 
 625: diffServSixTupleClfrDstAddrType OBJECT-TYPE
 626:     SYNTAX         InetAddressType
 627:     MAX-ACCESS     read-create
 628:     STATUS         current
 629:     DESCRIPTION
 630:        "The type of IP  destination  address  used  by  this
 631:        classifier entry."
 632:     ::= { diffServSixTupleClfrEntry 2 }
 633: 
 634: 
 635: diffServSixTupleClfrDstAddr OBJECT-TYPE
 636:     SYNTAX         InetAddress
 637:     MAX-ACCESS     read-create
 638:     STATUS         current
 639:     DESCRIPTION
 640:        "The IP address to match against the packet's  desti-
 641:        nation IP address."
 642:     ::= { diffServSixTupleClfrEntry 3 }
 643: 
 644: 
 645: diffServSixTupleClfrDstAddrMask OBJECT-TYPE
 646:     SYNTAX         Unsigned32
 647:     UNITS          "bits"
 648:     MAX-ACCESS     read-create
 649:     STATUS         current
 650:     DESCRIPTION
 651:        "The length of a mask for the matching of the  desti-
 652:        nation  IP address.  Masks are constructed by setting
 653:        bits in sequence from the most-significant bit  down-
 654:        wards    for   diffServSixTupleClfrDstAddrMask   bits
 655:        length. All other bits in the mask, up to the  number
 656:        needed to fill the length of the address diffServSix-
 657:        TupleClfrDstAddr are cleared to zero.  A zero bit  in
 658:        the mask then means that the corresponding bit in the
 659:        address always matches."
 660:     DEFVAL         {0}
 661:     ::= { diffServSixTupleClfrEntry 4 }
 662: 
 663: 
 664: diffServSixTupleClfrSrcAddrType OBJECT-TYPE
 665:     SYNTAX         InetAddressType
 666:     MAX-ACCESS     read-create
 667:     STATUS         current
 668:     DESCRIPTION
 669:        "The type of IP source address used by this  classif-
 670:        ier entry."
 671:     ::= { diffServSixTupleClfrEntry 5 }
 672: 
 673: 
 674: diffServSixTupleClfrSrcAddr OBJECT-TYPE
 675:     SYNTAX         InetAddress
 676:     MAX-ACCESS     read-create
 677:     STATUS         current
 678:     DESCRIPTION
 679:        "The IP  address  to  match  against  the  source  IP
 680:        address of each packet."
 681:     ::= { diffServSixTupleClfrEntry 6 }
 682: 
 683: 
 684: diffServSixTupleClfrSrcAddrMask OBJECT-TYPE
 685:     SYNTAX         Unsigned32
 686:     UNITS          "bits"
 687:     MAX-ACCESS     read-create
 688:     STATUS         current
 689:     DESCRIPTION
 690:        "The length of a mask for the matching of the  source
 691:        IP address.  Masks are constructed by setting bits in
 692:        sequence from the most-significant bit downwards  for
 693:        diffServSixTupleClfrSrcAddrMask   bits   length.  All
 694:        other bits in the mask, up to the  number  needed  to
 695:        fill   the   length  of  the  address  diffServSixTu-
 696:        pleClfrSrcAddr are cleared to zero.  A  zero  bit  in
 697:        the mask then means that the corresponding bit in the
 698:        address always matches."
 699:     DEFVAL         {0}
 700:     ::= { diffServSixTupleClfrEntry 7 }
 701: 
 702: 
 703: diffServSixTupleClfrDscp OBJECT-TYPE
 704:     SYNTAX         Dscp
 705:     MAX-ACCESS     read-create
 706:     STATUS         current
 707:     DESCRIPTION
 708:        "The value that the DSCP in the packet must  have  to
 709:        match  this  entry.  A  value  of -1 indicates that a
 710:        specific DSCP value has not been defined and thus all
 711:        DSCP values are considered a match."
 712:     DEFVAL         {-1}
 713:     ::= { diffServSixTupleClfrEntry 8 }
 714: 
 715: 
 716: diffServSixTupleClfrProtocol OBJECT-TYPE
 717:     SYNTAX         Unsigned32 (0..255)
 718:     MAX-ACCESS     read-create
 719:     STATUS         current
 720:     DESCRIPTION
 721:        "The IP protocol to match against the  IPv4  protocol
 722:        number  or the IPv6 Next-Header number in the packet.
 723:        A value of 255 means match all.   Note  the  protocol
 724:        number  of  255  is reserved by IANA, and Next-Header
 725:        number of 0 is used in IPv6."
 726:     DEFVAL         {255}
 727:     ::= { diffServSixTupleClfrEntry 9 }
 728: 
 729: 
 730: diffServSixTupleClfrDstL4PortMin OBJECT-TYPE
 731:     SYNTAX         SixTupleClfrL4Port
 732:     MAX-ACCESS     read-create
 733:     STATUS         current
 734:     DESCRIPTION
 735:        "The minimum value that the layer-4 destination  port
 736:        number in the packet must have in order to match this
 737:        classifier entry."
 738:     DEFVAL         {0}
 739:     ::= { diffServSixTupleClfrEntry 10 }
 740: 
 741: 
 742: diffServSixTupleClfrDstL4PortMax OBJECT-TYPE
 743:     SYNTAX         SixTupleClfrL4Port
 744:     MAX-ACCESS     read-create
 745:     STATUS         current
 746:     DESCRIPTION
 747:        "The maximum value that the layer-4 destination  port
 748:        number in the packet must have in order to match this
 749:        classifier entry. This value  must  be  equal  to  or
 750:        greater  than  the  value specified for this entry in
 751:        diffServSixTupleClfrDstL4PortMin."
 752:     DEFVAL         {65535}
 753:     ::= { diffServSixTupleClfrEntry 11 }
 754: 
 755: 
 756: diffServSixTupleClfrSrcL4PortMin OBJECT-TYPE
 757:     SYNTAX         SixTupleClfrL4Port
 758:     MAX-ACCESS     read-create
 759:     STATUS         current
 760:     DESCRIPTION
 761:        "The minimum  value  that  the  layer-4  source  port
 762:        number in the packet must have in order to match this
 763:        classifier entry."
 764:     DEFVAL         {0}
 765:     ::= { diffServSixTupleClfrEntry 12 }
 766: 
 767: 
 768: diffServSixTupleClfrSrcL4PortMax OBJECT-TYPE
 769:     SYNTAX         SixTupleClfrL4Port
 770:     MAX-ACCESS     read-create
 771:     STATUS         current
 772:     DESCRIPTION
 773:        "The maximum  value  that  the  layer-4  source  port
 774:        number  in the packet must have in oder to match this
 775:        classifier entry. This value  must  be  equal  to  or
 776:        greater  than  the  value specified for this entry in
 777:        diffServSixTupleClfrSrcL4PortMin."
 778:     DEFVAL         {65535}
 779:     ::= { diffServSixTupleClfrEntry 13 }
 780: 
 781: 
 782: diffServSixTupleClfrStatus OBJECT-TYPE
 783:     SYNTAX      RowStatus
 784:     MAX-ACCESS  read-create
 785:     STATUS  current
 786:     DESCRIPTION
 787:        "The  RowStatus  variable  controls  the  activation,
 788:        deactivation,  or deletion of a classifier. Any writ-
 789:        able variable may be  modified  whether  the  row  is
 790:        active or notInService."
 791:     ::= { diffServSixTupleClfrEntry 14 }
 792: 
 793: 
 794: --
 795: -- Meters
 796: --
 797: 
 798: diffServMeter          OBJECT IDENTIFIER ::= { diffServMIBObjects 3 }
 799: --
 800: -- This MIB supports a variety of Meters.  It includes a
 801: -- specific definition for Meters whose parameter set can
 802: -- be modelled using Token Bucket parameters.
 803: -- Other metering parameter sets can be defined and used
 804: -- when necessary.
 805: --
 806: -- Multiple meter elements may be logically cascaded using
 807: -- their diffServMeterSucceedNext and diffServMeterFailNext
 808: -- pointers if required.
 809: -- One example of this might be for an AF PHB implementation
 810: -- that uses multiple level conformance meters.
 811: --
 812: -- Cascading of individual meter elements in the MIB is
 813: -- intended to be functionally equivalent to multiple level
 814: -- conformance determination of a packet.  The sequential
 815: -- nature of the representation is merely a notational
 816: -- convenience for this MIB.
 817: --
 818: -- For example:
 819: -- Conforming to RFC 2697, srTCM can be parameterized using
 820: -- two sets of diffServMeterEntry and diffServTBMeterEntry.
 821: -- With the first set parameterizing the Committed Burst Size
 822: -- token-bucket, second set parameterizing the Excess Burst Size
 823: -- token-bucket.  With both set's diffServTBMeterRate parameters
 824: -- being used to reflect the Committed Information Rate value.
 825: --
 826: -- Conforming to RFC 2698, trTCM can be parameterized using
 827: -- two sets of diffServMeterEntry and diffServTBMeterEntry.
 828: -- With the first set parameterizing the Peak Information Rate
 829: -- and Peak Burst Size token-bucket, second set parameterizing
 830: -- the Committed Information Rate and Committed Burst Size
 831: -- token-bucket.
 832: --
 833: -- Conforming to RFC 2859, tswTCM can be parameterized using
 834: -- two sets of diffServMeterEntry and diffServTBMeterEntry.
 835: -- With the first set parameterizing the Committed Target Rate,
 836: -- second set parametering the Peak Target Rate.
 837: -- With both set's diffServTBMeterInterval being used to
 838: -- reflect the Average Interval as specified by RFC 2859.
 839: --
 840: 
 841: 
 842: diffServMeterNextFree OBJECT-TYPE
 843:     SYNTAX       Unsigned32
 844:     MAX-ACCESS   read-only
 845:     STATUS       current
 846:     DESCRIPTION
 847:        "This  object  yields  a  value  when  read  that  is
 848:        currently  unused for a diffServMeterId instance.  If
 849:        a configuring system attempts to create a new row  in
 850:        the  diffServMeterTable using this value, that opera-
 851:        tion will fail if the value  has,  in  the  meantime,
 852:        been  used  to  create  another row that is currently
 853:        valid."
 854:     ::= { diffServMeter 1 }
 855: 
 856: 
 857: diffServMeterTable OBJECT-TYPE
 858:     SYNTAX       SEQUENCE OF DiffServMeterEntry
 859:     MAX-ACCESS   not-accessible
 860:     STATUS       current
 861:     DESCRIPTION
 862:        "This table enumerates specific meters that a  system
 863:        may use to police, or shape, a stream of traffic. The
 864:        traffic stream to be metered  is  determined  by  the
 865:        diffserv  functional  datapath element(s) upstream of
 866:        the meter i.e. by the object(s) that  point  to  each
 867:        entry in this table.  This may include all traffic on
 868:        an interface.
 869: 
 870:        Specific meter details are to be found in table entry
 871:        referenced by diffServMeterSpecific."
 872:            REFERENCE
 873:                "[MODEL] section 5.1"
 874:     ::= { diffServMeter 2 }
 875: 
 876: 
 877: diffServMeterEntry OBJECT-TYPE
 878:     SYNTAX       DiffServMeterEntry
 879:     MAX-ACCESS   not-accessible
 880:     STATUS       current
 881:     DESCRIPTION
 882:        "An entry in the meter table describes a single  con-
 883:        formance level of a meter."
 884:     INDEX { diffServMeterId }
 885:     ::= { diffServMeterTable 1 }
 886: 
 887: 
 888: DiffServMeterEntry ::= SEQUENCE  {
 889:     diffServMeterId                Unsigned32,
 890:     diffServMeterSucceedNext       RowPointer,
 891:     diffServMeterFailNext          RowPointer,
 892:     diffServMeterSpecific          StaticRowPointer,
 893:     diffServMeterStatus            RowStatus
 894: }
 895: 
 896: 
 897: diffServMeterId OBJECT-TYPE
 898:     SYNTAX       Unsigned32
 899:     MAX-ACCESS   not-accessible
 900:     STATUS       current
 901:     DESCRIPTION
 902:        "An index that enumerates the Meter entries. The  set
 903:        of  such  identifiers spans the whole agent. Managers
 904:        should obtain new values for  row  creation  in  this
 905:        table by reading diffServMeterNextFree."
 906:     ::= { diffServMeterEntry 1 }
 907: 
 908: 
 909: diffServMeterSucceedNext OBJECT-TYPE
 910:     SYNTAX       RowPointer
 911:     MAX-ACCESS   read-create
 912:     STATUS       current
 913:     DESCRIPTION
 914:        "If the traffic does conform, this selects  the  next
 915:        diffserv   functional   datapath  element  to  handle
 916:        traffic for this data path.  This  RowPointer  should
 917:        point to an instance of one of:
 918:          diffServClfrEntry
 919:          diffServMeterEntry
 920:          diffServActionEntry
 921:          diffServAlgDropEntry
 922:          diffServQEntry
 923: 
 924:        A value of zeroDotZero in this attribute indicates no
 925:        further Diffserv treatment is performed on traffic of
 926:        this datapath.  The use of zeroDotZero is the  normal
 927:        usage for the last functional datapath element of the
 928:        current data path.
 929: 
 930:        If the row pointed to does not exist,  the  treatment
 931:        is  as  if  this  attribute contains a value of zero-
 932:        DotZero."
 933:     DEFVAL      { zeroDotZero }
 934:     ::= { diffServMeterEntry 2 }
 935: 
 936: 
 937: diffServMeterFailNext OBJECT-TYPE
 938:     SYNTAX       RowPointer
 939:     MAX-ACCESS   read-create
 940:     STATUS       current
 941:     DESCRIPTION
 942:        "If the traffic does not conform,  this  selects  the
 943:        next  diffserv  functional datapath element to handle
 944:        traffic for this data path.  This  RowPointer  should
 945:        point to an instance of one of:
 946:          diffServClfrEntry
 947:          diffServMeterEntry
 948:          diffServActionEntry
 949:          diffServAlgDropEntry
 950:          diffServQEntry
 951: 
 952:        A value of zeroDotZero in this attribute indicates no
 953:        further Diffserv treatment is performed on traffic of
 954:        this datapath.  The use of zeroDotZero is the  normal
 955:        usage for the last functional datapath element of the
 956:        current data path.
 957: 
 958:        If the row pointed to does not exist,  the  treatment
 959:        is  as  if  this  attribute contains a value of zero-
 960:        DotZero."
 961:     DEFVAL      { zeroDotZero }
 962:     ::= { diffServMeterEntry 3 }
 963: 
 964: 
 965: diffServMeterSpecific OBJECT-TYPE
 966:     SYNTAX       StaticRowPointer
 967:     MAX-ACCESS   read-create
 968:     STATUS       current
 969:     DESCRIPTION
 970:        "This indicates the behaviour of the meter by  point-
 971:        ing  to an entry containing detailed parameters. Note
 972:        that entries in that specific table must  be  managed
 973:        explicitly.
 974: 
 975:        For example, diffServMeterSpecific may  point  to  an
 976:        entry  in  diffServTBMeterTable,  which  contains  an
 977:        instance of a single set of Token Bucket parameters."
 978:     ::= { diffServMeterEntry 4 }
 979: 
 980: 
 981: diffServMeterStatus OBJECT-TYPE
 982:     SYNTAX       RowStatus
 983:     MAX-ACCESS   read-create
 984:     STATUS       current
 985:     DESCRIPTION
 986:        "The  RowStatus  variable  controls  the  activation,
 987:        deactivation,  or  deletion  of a meter. Any writable
 988:        variable may be modified whether the row is active or
 989:        notInService."
 990:     ::= { diffServMeterEntry 5 }
 991: 
 992: 
 993: --
 994: -- Token Bucket Meter Table
 995: --
 996: -- Each entry in the Token Bucket Meter Table parameterize
 997: -- a single token bucket.  Multiple token buckets can be
 998: -- used together to parameterize multiple levels of
 999: -- conformance.
1000: --
1001: -- Note that an entry in the Token Bucket Meter Table can
1002: -- be shared, pointed to, by multiple diffServMeterTable
1003: -- entries.
1004: --
1005: 
1006: 
1007: diffServTBMeterNextFree OBJECT-TYPE
1008:     SYNTAX       Unsigned32
1009:     MAX-ACCESS   read-only
1010:     STATUS       current
1011:     DESCRIPTION
1012:        "This  object  yields  a  value  when  read  that  is
1013:        currently  unused  for  a diffServTBMeterId instance.
1014:        If a configuring system attempts to create a new  row
1015:        in  the  diffServTBMeterTable  using this value, that
1016:        operation will fail if the value has,  in  the  mean-
1017:        time,  been  used  to  create  another  row  that  is
1018:        currently valid."
1019:     ::= { diffServMeter 3 }
1020: 
1021: 
1022: diffServTBMeterTable OBJECT-TYPE
1023:     SYNTAX       SEQUENCE OF DiffServTBMeterEntry
1024:     MAX-ACCESS   not-accessible
1025:     STATUS       current
1026:     DESCRIPTION
1027:        "This table enumerates a single set of  token  bucket
1028:        meter  parameters  that  a system may use to police a
1029:        stream of traffic.  Such meters are modelled here  as
1030:        having a single rate and a single burst size."
1031:     REFERENCE
1032:         "[MODEL] section 5.1"
1033:     ::= { diffServMeter 4 }
1034: 
1035: diffServTBMeterEntry OBJECT-TYPE
1036:     SYNTAX       DiffServTBMeterEntry
1037:     MAX-ACCESS   not-accessible
1038:     STATUS       current
1039:     DESCRIPTION
1040:        "An entry that describes a single set of token bucket
1041:        meter parameters."
1042:     INDEX { diffServTBMeterId }
1043:     ::= { diffServTBMeterTable 1 }
1044: 
1045: 
1046: DiffServTBMeterEntry ::= SEQUENCE  {
1047:     diffServTBMeterId              Unsigned32,
1048:     diffServTBMeterType            INTEGER,
1049:     diffServTBMeterRate            Unsigned32,
1050:     diffServTBMeterBurstSize       BurstSize,
1051:     diffServTBMeterInterval        Unsigned32,
1052:     diffServTBMeterStatus          RowStatus
1053: }
1054: 
1055: 
1056: diffServTBMeterId OBJECT-TYPE
1057:     SYNTAX       Unsigned32
1058:     MAX-ACCESS   not-accessible
1059:     STATUS       current
1060:     DESCRIPTION
1061:        "An index that enumerates the  TBMeter  entries.  The
1062:        set  of  such  identifiers  spans  the  whole  agent.
1063:        Managers should obtain new values for row creation in
1064:        this table by reading diffServTBMeterNextFree."
1065:     ::= { diffServTBMeterEntry 1 }
1066: 
1067: 
1068: diffServTBMeterType OBJECT-TYPE
1069:     SYNTAX       INTEGER {
1070:                      other(1),        -- not listed here
1071:                      tokenBucket(2),  -- Simple Token Bucket
1072:                      avgRate(3),      -- Average Rate
1073:                      srTCMBlind(4),   -- srTCM, Color-blind
1074:                      srTCMAware(5),   -- srTCM, Color-aware
1075:                      trTCMBlind(6),   -- trTCM, Color-blind
1076:                      trTCMAware(7),   -- trTCM, Color-aware
1077:                      tswTCM(8)        -- tswTCM
1078:                  }
1079:     MAX-ACCESS   read-create
1080:     STATUS       current
1081:     DESCRIPTION
1082:        "The type of meter using parameters specified by this
1083:        TBMeter entry.
1084: 
1085:        Value of tokenBucket(2)  indicates  the  use  of  Two
1086:        Parameter  Token Bucket Meter as described in [MODEL]
1087:        section 5.2.3.
1088: 
1089:        Value of avgRate(3) indicates the use of Average Rate
1090:        Meter as described in [MODEL] section 5.2.1.
1091: 
1092:        Value of srTCMBlind(4)  and  srTCMAware(5)  indicates
1093:        the use of Single Rate Three Color Marker Metering as
1094:        defined by RFC 2697, with `Color  Blind'  and  `Color
1095:        Aware' mode as described by the RFC.
1096: 
1097:        Value of trTCMBlind(6)  and  trTCMAware(7)  indicates
1098:        the  use  of  Two Rate Three Color Marker Metering as
1099:        defined by RFC 2698, with `Color  Blind'  and  `Color
1100:        Aware' mode as described by the RFC.
1101: 
1102:        Value of tswTCM(8) indicates the use of Time  Sliding
1103:        Window  Three Color Marker Metering as defined by RFC
1104:        2859."
1105:     REFERENCE
1106:         "[MODEL] section 5"
1107:     ::= { diffServTBMeterEntry 2 }
1108: 
1109: 
1110: diffServTBMeterRate OBJECT-TYPE
1111:     SYNTAX       Unsigned32
1112:     UNITS        "kilobits per second"
1113:     MAX-ACCESS   read-create
1114:     STATUS       current
1115:     DESCRIPTION
1116:        "The  token-bucket  rate,  in  kilobits  per   second
1117:        (kbps).   This  attribute  is used for: 1. CIR in RFC
1118:        2697 for srTCM 2. PIR and CIR in RFC 2698  for  trTCM
1119:        3.  CTR and PTR in RFC 2859 for TSWTCM 4. AverageRate
1120:        used in [MODEL] section 5."
1121:     ::= { diffServTBMeterEntry 3 }
1122: 
1123: 
1124: diffServTBMeterBurstSize OBJECT-TYPE
1125:     SYNTAX       BurstSize
1126:     UNITS        "Bytes"
1127:     MAX-ACCESS   read-create
1128:     STATUS       current
1129:     DESCRIPTION
1130:        "The maximum number of bytes in a single transmission
1131:        burst.  This attribute is used for: 1. CBS and EBS in
1132:        RFC 2697 for srTCM 2. CBS and PBS  in  RFC  2698  for
1133:        trTCM 3. Burst Size used in [MODEL] section 5."
1134:     ::= { diffServTBMeterEntry 4 }
1135: 
1136: 
1137: diffServTBMeterInterval OBJECT-TYPE
1138:     SYNTAX       Unsigned32
1139:     UNITS        "microseconds"
1140:     MAX-ACCESS   read-create
1141:     STATUS       current
1142:     DESCRIPTION
1143:        "The time interval used with the token bucket.   For:
1144:        1.  Average  Rate  Meter,  [MODEL]  section  5.2.1, -
1145:        Delta.  2. Simple Token Bucket Meter, [MODEL] section
1146:        5.1,
1147:           -  time  interval  t.   3.  RFC  2859  TSWTCM,   -
1148:        AVG_INTERVAL.   4.  RFC 2697 srTCM, RFC 2698 trTCM, -
1149:        token bucket
1150:           update time interval."
1151:     ::= { diffServTBMeterEntry 5 }
1152: 
1153: 
1154: diffServTBMeterStatus OBJECT-TYPE
1155:     SYNTAX       RowStatus
1156:     MAX-ACCESS   read-create
1157:     STATUS       current
1158:     DESCRIPTION
1159:        "The  RowStatus  variable  controls  the  activation,
1160:        deactivation,  or  deletion  of a meter. Any writable
1161:        variable may be modified whether the row is active or
1162:        notInService."
1163:     ::= { diffServTBMeterEntry 6 }
1164: 
1165: 
1166: --
1167: -- Actions
1168: --
1169: 
1170: diffServAction         OBJECT IDENTIFIER ::= { diffServMIBObjects 4 }
1171: 
1172: --
1173: -- The Action Table allows enumeration of the different
1174: -- types of actions to be applied to a traffic flow.
1175: --
1176: diffServActionNextFree OBJECT-TYPE
1177:     SYNTAX       Unsigned32
1178:     MAX-ACCESS   read-only
1179:     STATUS       current
1180:     DESCRIPTION
1181:        "This  object  yields  a  value  when  read  that  is
1182:        currently unused for a diffServActionId instance.  If
1183:        a configuring system attempts to create a new row  in
1184:        the diffServActionTable using this value, that opera-
1185:        tion will fail if the value  has,  in  the  meantime,
1186:        been  used  to  create  another row that is currently
1187:        valid."
1188:     ::= { diffServAction 1 }
1189: 
1190: 
1191: diffServActionTable OBJECT-TYPE
1192:     SYNTAX       SEQUENCE OF DiffServActionEntry
1193:     MAX-ACCESS   not-accessible
1194:     STATUS       current
1195:     DESCRIPTION
1196:        "The Action Table enumerates actions that can be per-
1197:        formed  to  a stream of traffic. Multiple actions can
1198:        be concatenated.  For example, after marking a stream
1199:        of  traffic  exiting  from a meter, a device can then
1200:        perform a count action  of  the  conforming  or  non-
1201:        conforming traffic.
1202: 
1203:        Specific actions  are  indicated  by  diffServAction-
1204:        Specific  which  points  to  an  entry  of a specific
1205:        action type parameterizing the action in detail."
1206:     REFERENCE
1207:         "[MODEL] section 6."
1208:     ::= { diffServAction 2 }
1209: 
1210: 
1211: diffServActionEntry OBJECT-TYPE
1212:     SYNTAX       DiffServActionEntry
1213:     MAX-ACCESS   not-accessible
1214:     STATUS       current
1215:     DESCRIPTION
1216:        "Each entry in the action table allows description of
1217:        one specific action to be applied to traffic."
1218:     INDEX { diffServActionId }
1219:     ::= { diffServActionTable 1 }
1220: 
1221: 
1222: DiffServActionEntry ::= SEQUENCE  {
1223:     diffServActionId                Unsigned32,
1224:     diffServActionNext              RowPointer,
1225:     diffServActionSpecific          StaticRowPointer,
1226:     diffServActionType              INTEGER,
1227:     diffServActionStatus            RowStatus
1228: }
1229: 
1230: 
1231: diffServActionId OBJECT-TYPE
1232:     SYNTAX       Unsigned32
1233:     MAX-ACCESS   not-accessible
1234:     STATUS       current
1235:     DESCRIPTION
1236:        "An index that enumerates the Action entries. The set
1237:        of  such  identifiers spans the whole agent. Managers
1238:        should obtain new values for  row  creation  in  this
1239:        table by reading diffServActionNextFree."
1240:     ::= { diffServActionEntry 1 }
1241: 
1242: 
1243: diffServActionNext OBJECT-TYPE
1244:     SYNTAX       RowPointer
1245:     MAX-ACCESS   read-create
1246:     STATUS       current
1247:     DESCRIPTION
1248:        "This selects the next diffserv  functional  datapath
1249:        element  to  handle traffic for this data path.  This
1250:        RowPointer should point to an instance of one of:
1251:          diffServClfrEntry
1252:          diffServMeterEntry
1253:          diffServActionEntry
1254:          diffServAlgDropEntry
1255:          diffServQEntry
1256: 
1257:        A value of zeroDotZero in this attribute indicates no
1258:        further Diffserv treatment is performed on traffic of
1259:        this datapath.  The use of zeroDotZero is the  normal
1260:        usage for the last functional datapath element of the
1261:        current data path.
1262: 
1263:        If the row pointed to does not exist,  the  treatment
1264:        is  as  if  this  attribute contains a value of zero-
1265:        DotZero."
1266:     DEFVAL      { zeroDotZero }
1267:     ::= { diffServActionEntry 2 }
1268: 
1269: diffServActionSpecific OBJECT-TYPE
1270:     SYNTAX       StaticRowPointer
1271:     MAX-ACCESS   read-create
1272:     STATUS       current
1273:     DESCRIPTION
1274:        "A pointer to an object instance providing additional
1275:        information  for the type of action indicated by this
1276:        action table entry.
1277: 
1278:        For the standard actions defined by this MIB  module,
1279:        this   should  point  to  one  of  the  following:  a
1280:        diffServDscpMarkActEntry,  a   diffServCountActEntry.
1281:        For other actions, it may point to an object instance
1282:        defined in some other MIB."
1283:     ::= { diffServActionEntry 3 }
1284: 
1285: 
1286: diffServActionType OBJECT-TYPE
1287:     SYNTAX       INTEGER {
1288:                      other(1),       -- types not specified here
1289:                      specific(2),    -- follow the Specific pointer
1290:                      absoluteDrop(3) -- disallow traffic
1291:                  }
1292:     MAX-ACCESS   read-create
1293:     STATUS       current
1294:     DESCRIPTION
1295:        "Indicates the type of action. The values specific(2)
1296:        must   be  associated  with  additional  information,
1297:        pointed to by diffServActionSpecific, with the actual
1298:        action type indicated by the object being pointed to.
1299:        The value absoluteDrop(3) has no associated  informa-
1300:        tion  and will have a diffServActionSpecific value of
1301:        zeroDotZero.  The use  of  other(1)  is  outside  the
1302:        scope  of  this  definition, although the diffServAc-
1303:        tionSpecific pointer may be used  in  this  case,  to
1304:        indicate other information."
1305:     ::= { diffServActionEntry 4 }
1306: 
1307: 
1308: diffServActionStatus OBJECT-TYPE
1309:     SYNTAX       RowStatus
1310:     MAX-ACCESS   read-create
1311:     STATUS       current
1312:     DESCRIPTION
1313:        "The  RowStatus  variable  controls  the  activation,
1314:        deactivation  or  deletion  of an action element. Any
1315:        writable variable may be modified whether the row  is
1316:        active or notInService."
1317:     ::= { diffServActionEntry 5 }
1318: 
1319: 
1320: --
1321: -- DSCP Mark Action Table
1322: --
1323: -- Rows of this table are pointed to by diffServActionSpecific
1324: -- to provide detailed parameters specific to the DSCP
1325: -- Mark action.
1326: --
1327: -- A single entry in this table can be shared, pointed to, by
1328: -- multiple diffServActionTable entries, of same or different
1329: -- datapaths.
1330: --
1331: 
1332: 
1333: diffServDscpMarkActTable OBJECT-TYPE
1334:     SYNTAX       SEQUENCE OF DiffServDscpMarkActEntry
1335:     MAX-ACCESS   not-accessible
1336:     STATUS       current
1337:     DESCRIPTION
1338:        "This table enumerates specific DSCPs used for  mark-
1339:        ing  or  remarking  the DSCP field of IP packets. The
1340:        entries of this table may be referenced by a diffSer-
1341:        vActionSpecific attribute."
1342:     REFERENCE
1343:         "[MODEL] section 6.1"
1344:     ::= { diffServAction 3 }
1345: 
1346: 
1347: diffServDscpMarkActEntry OBJECT-TYPE
1348:     SYNTAX       DiffServDscpMarkActEntry
1349:     MAX-ACCESS   not-accessible
1350:     STATUS       current
1351:     DESCRIPTION
1352:        "An  entry  in  the  DSCP  mark  action  table   that
1353:        describes a single DSCP used for marking."
1354:     INDEX { diffServDscpMarkActDscp }
1355:     ::= { diffServDscpMarkActTable 1 }
1356: 
1357: 
1358: DiffServDscpMarkActEntry ::= SEQUENCE  {
1359:     diffServDscpMarkActDscp          Dscp
1360: }
1361: diffServDscpMarkActDscp OBJECT-TYPE
1362:     SYNTAX       Dscp
1363:     MAX-ACCESS   read-only
1364:     STATUS       current
1365:     DESCRIPTION
1366:        "The DSCP that this Action uses for marking/remarking
1367:        traffic.  Note that a DSCP value of -1 is not permit-
1368:        ted in this table.  It is  quite  possible  that  the
1369:        only  packets  subject  to  this  Action  are already
1370:        marked with this DSCP. Note also  that  Diffserv  may
1371:        result  in packet remarking both on ingress to a net-
1372:        work and on egress from it and it is  quite  possible
1373:        that  ingress  and  egress  would  occur  in the same
1374:        router."
1375:     ::= { diffServDscpMarkActEntry 1 }
1376: 
1377: 
1378: --
1379: -- Count Action Table
1380: --
1381: -- Due to the fact that the MIB structure allows multiple
1382: -- cascading diffServActionEntry be used to describe
1383: -- multiple actions for a datapath, the counter became an
1384: -- optional action type.  In normal implementation, a
1385: -- datapath either have counters or it doesn't, it is not
1386: -- an element the management entity can add or remove.
1387: -- The management entity can choose to read the counter or
1388: -- not.  Hence it is recommended for implementation that
1389: -- have counters to always configure the count action as
1390: -- the first of multiple actions, for example before the
1391: -- the absolute drop action.
1392: --
1393: 
1394: 
1395: diffServCountActNextFree OBJECT-TYPE
1396:     SYNTAX       Unsigned32
1397:     MAX-ACCESS   read-only
1398:     STATUS       current
1399:     DESCRIPTION
1400:        "This object yields a value when read that is currently unused
1401:        for a diffServCountActId instance.
1402:        If a configuring system attempts to create a new row
1403:        in the diffServCountActTable using this value, that operation
1404:        will fail if the value has, in the meantime, been used
1405:        to create another row that is currently valid."
1406:     ::= { diffServAction 4 }
1407: 
1408: diffServCountActTable OBJECT-TYPE
1409:     SYNTAX       SEQUENCE OF DiffServCountActEntry
1410:     MAX-ACCESS   not-accessible
1411:     STATUS       current
1412:     DESCRIPTION
1413:        "This table contains counters  for  all  the  traffic
1414:        passing through an action element."
1415:     REFERENCE
1416:         "[MODEL] section 6.4"
1417:     ::= { diffServAction 5 }
1418: 
1419: 
1420: diffServCountActEntry OBJECT-TYPE
1421:     SYNTAX       DiffServCountActEntry
1422:     MAX-ACCESS   not-accessible
1423:     STATUS       current
1424:     DESCRIPTION
1425:        "An entry in the count action table describes a  sin-
1426:        gle set of traffic counters."
1427:     INDEX { diffServCountActId }
1428:     ::= { diffServCountActTable 1 }
1429: 
1430: 
1431: DiffServCountActEntry ::= SEQUENCE  {
1432:     diffServCountActId           Unsigned32,
1433:     diffServCountActOctets       Counter32,
1434:     diffServCountActHCOctets     Counter64,
1435:     diffServCountActPkts         Counter32,
1436:     diffServCountActHCPkts       Counter64,
1437:     diffServCountActDiscontTime  TimeStamp,
1438:     diffServCountActStatus       RowStatus
1439: }
1440: 
1441: 
1442: diffServCountActId OBJECT-TYPE
1443:     SYNTAX       Unsigned32
1444:     MAX-ACCESS   not-accessible
1445:     STATUS       current
1446:     DESCRIPTION
1447:        "An index that enumerates the Count  Action  entries.
1448:        The  set  of  such identifiers spans the whole agent.
1449:        Managers should obtain new values for row creation in
1450:        this table by reading diffServCountActNextFree."
1451:     ::= { diffServCountActEntry 1 }
1452: 
1453: 
1454: diffServCountActOctets OBJECT-TYPE
1455:     SYNTAX       Counter32
1456:     MAX-ACCESS   read-only
1457:     STATUS       current
1458:     DESCRIPTION
1459:        "The number of octets at the Action datapath element.
1460:        On  high  speed  devices,  this object implements the
1461:        least significant 32  bits  of  diffServCountActHCOc-
1462:        tets.
1463: 
1464:        Discontinuities in the  value  of  this  counter  can
1465:        occur  at  re-initialization of the management system
1466:        and at other times  as  indicated  by  the  value  of
1467:        diffServCountActDiscontTime for this entry."
1468:     ::= { diffServCountActEntry 2 }
1469: 
1470: 
1471: diffServCountActHCOctets OBJECT-TYPE
1472:     SYNTAX       Counter64
1473:     MAX-ACCESS   read-only
1474:     STATUS       current
1475:     DESCRIPTION
1476:        "The number of octets at the Action datapath element.
1477:        This object should be used on high speed interfaces.
1478:        Discontinuities in the  value  of  this  counter  can
1479:        occur  at  re-initialization of the management system
1480:        and at other times  as  indicated  by  the  value  of
1481:        diffServCountActDiscontTime for this entry."
1482:     ::= { diffServCountActEntry 3 }
1483: 
1484: 
1485: diffServCountActPkts OBJECT-TYPE
1486:     SYNTAX       Counter32
1487:     MAX-ACCESS   read-only
1488:     STATUS       current
1489:     DESCRIPTION
1490:        "The number of packets at the  Action  datapath  ele-
1491:        ment.   On high speed devices, this object implements
1492:        the  least  significant  32  bits  of   diffServCoun-
1493:        tActHCPkts.
1494: 
1495:        Discontinuities in the  value  of  this  counter  can
1496:        occur  at  re-initialization of the management system
1497:        and at other times  as  indicated  by  the  value  of
1498:        diffServCountActDiscontTime for this entry."
1499:     ::= { diffServCountActEntry 4 }
1500: 
1501: diffServCountActHCPkts OBJECT-TYPE
1502:     SYNTAX       Counter64
1503:     MAX-ACCESS   read-only
1504:     STATUS       current
1505:     DESCRIPTION
1506:        "The number of packets at the  Action  datapath  ele-
1507:        ment.   This  object  should  be  used  on high speed
1508:        interfaces.
1509: 
1510:        Discontinuities in the  value  of  this  counter  can
1511:        occur  at  re-initialization of the management system
1512:        and at other times  as  indicated  by  the  value  of
1513:        diffServCountActDiscontTime for this entry."
1514:     ::= { diffServCountActEntry 5 }
1515: 
1516: 
1517: diffServCountActDiscontTime OBJECT-TYPE
1518:     SYNTAX       TimeStamp
1519:     MAX-ACCESS   read-only
1520:     STATUS       current
1521:     DESCRIPTION
1522:        "The value of sysUpTime on the most  recent  occasion
1523:        at  which  any  one  or more of this entry's counters
1524:        suffered a discontinuity. If no such  discontinuities
1525:        have occurred since the last re-initialization of the
1526:        local management subsystem, then this object contains
1527:        a zero value."
1528:     ::= { diffServCountActEntry 6 }
1529: 
1530: 
1531: diffServCountActStatus OBJECT-TYPE
1532:     SYNTAX       RowStatus
1533:     MAX-ACCESS   read-create
1534:     STATUS       current
1535:     DESCRIPTION
1536:        "The  RowStatus  variable  controls  the  activation,
1537:        deactivation, or deletion of this entry. Any writable
1538:        variable may be modified whether the row is active or
1539:        notInService."
1540:     ::= { diffServCountActEntry 7 }
1541: 
1542: 
1543: --
1544: -- Algorithmic Drop Table
1545: --
1546: 
1547: diffServAlgDrop        OBJECT IDENTIFIER ::= { diffServMIBObjects 5 }
1548: diffServAlgDropNextFree OBJECT-TYPE
1549:     SYNTAX       Unsigned32
1550:     MAX-ACCESS   read-only
1551:     STATUS       current
1552:     DESCRIPTION
1553:        "This  object  yields  a  value  when  read  that  is
1554:        currently  unused  for  a diffServAlgDropId instance.
1555:        If a configuring system attempts to create a new  row
1556:        in  the  diffServAlgDropTable  using this value, that
1557:        operation will fail if the value has,  in  the  mean-
1558:        time,  been  used  to  create  another  row  that  is
1559:        currently valid."
1560:     ::= { diffServAlgDrop 1 }
1561: 
1562: 
1563: diffServAlgDropTable OBJECT-TYPE
1564:     SYNTAX       SEQUENCE OF DiffServAlgDropEntry
1565:     MAX-ACCESS   not-accessible
1566:     STATUS       current
1567:     DESCRIPTION
1568:        "The algorithmic drop table contains entries describ-
1569:        ing  an  element that drops packets according to some
1570:        algorithm."
1571:     REFERENCE
1572:         "[MODEL] section 7.1.3"
1573:     ::= { diffServAlgDrop 2 }
1574: 
1575: 
1576: diffServAlgDropEntry OBJECT-TYPE
1577:     SYNTAX       DiffServAlgDropEntry
1578:     MAX-ACCESS   not-accessible
1579:     STATUS       current
1580:     DESCRIPTION
1581:        "An entry describes  a  process  that  drops  packets
1582:        according  to some algorithm.  Further details of the
1583:        algorithm type are to be found in diffServAlgDropType
1584:        and  with  more  detail parameter entry pointed to by
1585:        diffServAlgDropSpecific when necessary."
1586:     INDEX { diffServAlgDropId }
1587:     ::= { diffServAlgDropTable 1 }
1588: 
1589: 
1590: DiffServAlgDropEntry ::= SEQUENCE  {
1591:     diffServAlgDropId               Unsigned32,
1592:     diffServAlgDropType             INTEGER,
1593:     diffServAlgDropNext             RowPointer,
1594:     diffServAlgDropQMeasure         RowPointer,
1595:     diffServAlgDropQThreshold       Unsigned32,
1596:     diffServAlgDropSpecific         StaticRowPointer,
1597:     diffServAlgDropOctets           Counter32,
1598:     diffServAlgDropHCOctets         Counter64,
1599:     diffServAlgDropPkts             Counter32,
1600:     diffServAlgDropHCPkts           Counter64,
1601:     diffServAlgDropStatus           RowStatus
1602: }
1603: 
1604: 
1605: diffServAlgDropId OBJECT-TYPE
1606:     SYNTAX       Unsigned32
1607:     MAX-ACCESS   not-accessible
1608:     STATUS       current
1609:     DESCRIPTION
1610:        "An index that  enumerates  the  Algorithmic  Dropper
1611:        entries.  The set of such identifiers spans the whole
1612:        agent. Managers should  obtain  new  values  for  row
1613:        creation  in  this  table by reading diffServAlgDrop-
1614:        NextFree."
1615:     ::= { diffServAlgDropEntry 1 }
1616: 
1617: 
1618: diffServAlgDropType OBJECT-TYPE
1619:     SYNTAX       INTEGER {
1620:                      other(1),
1621:                      tailDrop(2),
1622:                      headDrop(3),
1623:                      randomDrop(4)
1624:                  }
1625:     MAX-ACCESS   read-create
1626:     STATUS       current
1627:     DESCRIPTION
1628:        "The type of algorithm used by this dropper. A  value
1629:        of tailDrop(2) or headDrop(3) represents an algorithm
1630:        that is completely specified by this MIB.  A value of
1631:        other(1) requires further specification in some other
1632:        MIB module.
1633: 
1634:        The tailDrop(2) algorithm is  described  as  follows:
1635:        diffServAlgDropQThreshold represents the depth of the
1636:        queue,  pointed  to  by  diffServAlgDropQMeasure,  at
1637:        which all newly arriving packets will be dropped.
1638: 
1639:        The headDrop(3) algorithm is described as follows: if
1640:        a packet arrives when the current depth of the queue,
1641:        pointed to by diffServAlgDropQMeasure, is at diffSer-
1642:        vAlgDropQThreshold,  packets currently at the head of
1643:        the queue are dropped to make room for the new packet
1644:        to be enqueued at the tail of the queue.
1645: 
1646:        The randomDrop(4) algorithm is described as  follows:
1647:        on packet arrival, an algorithm is executed which may
1648:        randomly drop the packet,  or  drop  other  packet(s)
1649:        from  the  queue  in  its place. The specifics of the
1650:        algorithm may be  proprietary.  For  this  algorithm,
1651:        diffServAlgDropSpecific  points  to a diffServRandom-
1652:        DropEntry that describes  the  algorithm.   For  this
1653:        algorithm,  diffServAlgQThreshold is understood to be
1654:        the absolute maximum size of the queue and additional
1655:        parameters are described in diffServRandomDropTable."
1656:     ::= { diffServAlgDropEntry 2 }
1657: 
1658: 
1659: diffServAlgDropNext OBJECT-TYPE
1660:     SYNTAX       RowPointer
1661:     MAX-ACCESS   read-create
1662:     STATUS       current
1663:     DESCRIPTION
1664:        "This selects the next diffserv  functional  datapath
1665:        element  to  handle traffic for this data path.  This
1666:        RowPointer should point to an instance of one of:
1667:          diffServClfrEntry
1668:          diffServMeterEntry
1669:          diffServActionEntry
1670:          diffServAlgDropEntry
1671:          diffServQEntry
1672: 
1673:        A value of zeroDotZero in this attribute indicates no
1674:        further Diffserv treatment is performed on traffic of
1675:        this datapath.  The use of zeroDotZero is the  normal
1676:        usage for the last functional datapath element of the
1677:        current data path.
1678: 
1679:        If the row pointed to does not exist,  the  treatment
1680:        is  as  if  this  attribute contains a value of zero-
1681:        DotZero."
1682:     ::= { diffServAlgDropEntry 3 }
1683: 
1684: 
1685: diffServAlgDropQMeasure OBJECT-TYPE
1686:     SYNTAX       RowPointer
1687:     MAX-ACCESS   read-create
1688:     STATUS       current
1689:     DESCRIPTION
1690:        "Points to an entry in the diffServQTable to indicate
1691:        the  queue  that  a drop algorithm is to monitor when
1692:        deciding whether  to  drop  a  packet.   If  the  row
1693:        pointed  to  does  not exist, the algorithmic dropper
1694:        element is considered inactive."
1695:     ::= { diffServAlgDropEntry 4 }
1696: 
1697: 
1698: diffServAlgDropQThreshold OBJECT-TYPE
1699:     SYNTAX       Unsigned32
1700:     UNITS        "Bytes"
1701:     MAX-ACCESS   read-create
1702:     STATUS       current
1703:     DESCRIPTION
1704:        "A threshold on the depth in bytes of the queue being
1705:        measured at which a trigger is generated to the drop-
1706:        ping algorithm.
1707: 
1708:        For the tailDrop(2) or headDrop(3)  algorithms,  this
1709:        represents  the  depth  of  the  queue, pointed to by
1710:        diffServAlgDropQMeasure, at  which  the  drop  action
1711:        will take place. Other algorithms will need to define
1712:        their own semantics for this threshold."
1713:     ::= { diffServAlgDropEntry 5 }
1714: 
1715: 
1716: diffServAlgDropSpecific OBJECT-TYPE
1717:     SYNTAX       StaticRowPointer
1718:     MAX-ACCESS   read-create
1719:     STATUS       current
1720:     DESCRIPTION
1721:        "Points to a table entry that provides further detail
1722:        regarding a drop algorithm.
1723: 
1724:        Entries with diffServAlgDropType  equal  to  other(1)
1725:        may have this point to a table defined in another MIB
1726:        module.
1727: 
1728:        Entries with  diffServAlgDropType  equal  to  random-
1729:        Drop(4)  must have this point to an entry in diffSer-
1730:        vRandomDropTable.
1731: 
1732:        For all other algorithms, this should take the  value
1733:        zeroDotzero."
1734:     ::= { diffServAlgDropEntry 6 }
1735: 
1736: diffServAlgDropOctets OBJECT-TYPE
1737:     SYNTAX       Counter32
1738:     MAX-ACCESS   read-only
1739:     STATUS       current
1740:     DESCRIPTION
1741:        "The number of octets that have been dropped by  this
1742:        drop  process.   On  high  speed devices, this object
1743:        implements the least significant 32 bits of  diffSer-
1744:        vAlgDropHCOctets.
1745: 
1746:        Discontinuities in the  value  of  this  counter  can
1747:        occur  at  re-initialization of the management system
1748:        and at other times  as  indicated  by  the  value  of
1749:        ifCounterDiscontinuityTime appropriate to this inter-
1750:        face."
1751:     ::= { diffServAlgDropEntry 7 }
1752: 
1753: 
1754: diffServAlgDropHCOctets OBJECT-TYPE
1755:     SYNTAX       Counter64
1756:     MAX-ACCESS   read-only
1757:     STATUS       current
1758:     DESCRIPTION
1759:        "The number of octets that have been dropped by  this
1760:        drop  process.   This  object  should be used on high
1761:        speed interfaces.
1762: 
1763:        Discontinuities in the  value  of  this  counter  can
1764:        occur  at  re-initialization of the management system
1765:        and at other times  as  indicated  by  the  value  of
1766:        ifCounterDiscontinuityTime appropriate to this inter-
1767:        face."
1768:     ::= { diffServAlgDropEntry 8 }
1769: 
1770: 
1771: diffServAlgDropPkts OBJECT-TYPE
1772:     SYNTAX       Counter32
1773:     MAX-ACCESS   read-only
1774:     STATUS       current
1775:     DESCRIPTION
1776:        "The number of packets that have been dropped by this
1777:        drop  process.   On  high  speed devices, this object
1778:        implements the least significant 32 bits of  diffSer-
1779:        vAlgDropHCPkts.
1780: 
1781:        Discontinuities in the  value  of  this  counter  can
1782:        occur  at  re-initialization of the management system
1783:        and at other times  as  indicated  by  the  value  of
1784:        ifCounterDiscontinuityTime appropriate to this inter-
1785:        face."
1786:     ::= { diffServAlgDropEntry 9 }
1787: 
1788: 
1789: diffServAlgDropHCPkts OBJECT-TYPE
1790:     SYNTAX       Counter64
1791:     MAX-ACCESS   read-only
1792:     STATUS       current
1793:     DESCRIPTION
1794:        "The number of packets that have been dropped by this
1795:        drop  process.   This  object  should be used on high
1796:        speed interfaces.
1797: 
1798:        Discontinuities in the  value  of  this  counter  can
1799:        occur  at  re-initialization of the management system
1800:        and at other times  as  indicated  by  the  value  of
1801:        ifCounterDiscontinuityTime appropriate to this inter-
1802:        face."
1803:     ::= { diffServAlgDropEntry 10 }
1804: 
1805: 
1806: diffServAlgDropStatus OBJECT-TYPE
1807:     SYNTAX       RowStatus
1808:     MAX-ACCESS   read-create
1809:     STATUS       current
1810:     DESCRIPTION
1811:        "The  RowStatus  variable  controls  the  activation,
1812:        deactivation, or deletion of this entry. Any writable
1813:        variable may be modified whether the row is active or
1814:        notInService."
1815:     ::= { diffServAlgDropEntry 11 }
1816: 
1817: 
1818: --
1819: -- Random Drop Table
1820: --
1821: 
1822: 
1823: diffServRandomDropNextFree OBJECT-TYPE
1824:     SYNTAX       Unsigned32
1825:     MAX-ACCESS   read-only
1826:     STATUS       current
1827:     DESCRIPTION
1828:        "This  object  yields  a  value  when  read  that  is
1829:        currently unused for a diffServRandomDropId instance.
1830:        If a configuring system attempts to create a new  row
1831:        in the diffServRandomDropTable using this value, that
1832:        operation will fail if the value has,  in  the  mean-
1833:        time,  been  used  to  create  another  row  that  is
1834:        currently valid."
1835:     ::= { diffServAlgDrop 3 }
1836: 
1837: 
1838: diffServRandomDropTable OBJECT-TYPE
1839:     SYNTAX       SEQUENCE OF DiffServRandomDropEntry
1840:     MAX-ACCESS   not-accessible
1841:     STATUS       current
1842:     DESCRIPTION
1843:        "The random drop table contains entries describing  a
1844:        process  that drops packets randomly. Entries in this
1845:        table is  intended  to  be  pointed  to  by  diffSer-
1846:        vAlgDropSpecific."
1847:     REFERENCE
1848:         "[MODEL] section 7.1.3"
1849:     ::= { diffServAlgDrop 4 }
1850: 
1851: 
1852: diffServRandomDropEntry OBJECT-TYPE
1853:     SYNTAX       DiffServRandomDropEntry
1854:     MAX-ACCESS   not-accessible
1855:     STATUS       current
1856:     DESCRIPTION
1857:        "An entry describes  a  process  that  drops  packets
1858:        according to a random algorithm."
1859:     INDEX { diffServRandomDropId }
1860:     ::= { diffServRandomDropTable 1 }
1861: 
1862: 
1863: DiffServRandomDropEntry ::= SEQUENCE  {
1864:     diffServRandomDropId               Unsigned32,
1865:     diffServRandomDropMinThreshBytes   Unsigned32,
1866:     diffServRandomDropMinThreshPkts    Unsigned32,
1867:     diffServRandomDropMaxThreshBytes   Unsigned32,
1868:     diffServRandomDropMaxThreshPkts    Unsigned32,
1869:     diffServRandomDropInvProbMax       Unsigned32,
1870:     diffServRandomDropInvWeight        Unsigned32,
1871:     diffServRandomDropSamplingRate     Unsigned32,
1872:     diffServRandomDropStatus           RowStatus
1873: }
1874: 
1875: 
1876: diffServRandomDropId OBJECT-TYPE
1877:     SYNTAX       Unsigned32
1878:     MAX-ACCESS   not-accessible
1879:     STATUS       current
1880:     DESCRIPTION
1881:        "An index that enumerates the  Random  Drop  entries.
1882:        The  set  of  such identifiers spans the whole agent.
1883:        Managers should obtain new values for row creation in
1884:        this table by reading diffServRandomDropNextFree."
1885:     ::= { diffServRandomDropEntry 1 }
1886: 
1887: 
1888: diffServRandomDropMinThreshBytes OBJECT-TYPE
1889:     SYNTAX       Unsigned32
1890:     UNITS        "bytes"
1891:     MAX-ACCESS   read-create
1892:     STATUS       current
1893:     DESCRIPTION
1894:        "The average  queue  depth  in  bytes,  beyond  which
1895:        traffic  has a non-zero probability of being dropped.
1896:        Changes in this variable may or may not be  reflected
1897:        in   the   reported   value   of  diffServRandomDrop-
1898:        MinThreshPkts."
1899:     ::= { diffServRandomDropEntry 2 }
1900: 
1901: 
1902: diffServRandomDropMinThreshPkts OBJECT-TYPE
1903:     SYNTAX       Unsigned32
1904:     UNITS        "packets"
1905:     MAX-ACCESS   read-create
1906:     STATUS       current
1907:     DESCRIPTION
1908:        "The average queue depth  in  packets,  beyond  which
1909:        traffic  has a non-zero probability of being dropped.
1910:        Changes in this variable may or may not be  reflected
1911:        in the reported value of diffServRandomDropMinThresh-
1912:        Bytes."
1913:     ::= { diffServRandomDropEntry 3 }
1914: 
1915: 
1916: diffServRandomDropMaxThreshBytes OBJECT-TYPE
1917:     SYNTAX       Unsigned32
1918:     UNITS        "bytes"
1919:     MAX-ACCESS   read-create
1920:     STATUS       current
1921:     DESCRIPTION
1922:        "The average queue depth beyond which traffic  has  a
1923:        probability indicated by diffServRandomDropInvProbMax
1924:        of being dropped or marked. Note  that  this  differs
1925:        from  the  physical  queue  limit, which is stored in
1926:        diffServAlgDropQThreshold.  Changes in this  variable
1927:        may  or may not be reflected in the reported value of
1928:        diffServRandomDropMaxThreshPkts."
1929:     ::= { diffServRandomDropEntry 4 }
1930: 
1931: 
1932: diffServRandomDropMaxThreshPkts OBJECT-TYPE
1933:     SYNTAX       Unsigned32
1934:     UNITS        "packets"
1935:     MAX-ACCESS   read-create
1936:     STATUS       current
1937:     DESCRIPTION
1938:        "The average queue depth beyond which traffic  has  a
1939:        probability indicated by diffServRandomDropInvProbMax
1940:        of being dropped or marked. Note  that  this  differs
1941:        from  the  physical  queue  limit, which is stored in
1942:        diffServAlgDropQThreshold.  Changes in this  variable
1943:        may  or may not be reflected in the reported value of
1944:        diffServRandomDropMaxThreshBytes."
1945:     ::= { diffServRandomDropEntry 5 }
1946: 
1947: 
1948: diffServRandomDropInvProbMax OBJECT-TYPE
1949:     SYNTAX       Unsigned32
1950:     MAX-ACCESS   read-create
1951:     STATUS       current
1952:     DESCRIPTION
1953:        "The worst case random drop probability, expressed as
1954:        the  inverse  of  the drop probability.  With special
1955:        case of the value zero meaning  zero  probability  of
1956:        drop.
1957: 
1958:        For example, if every packet may be  dropped  in  the
1959:        worst   case   (100%),   this   has   the   value  of
1960:        4,294,967,295."
1961:     ::= { diffServRandomDropEntry 6 }
1962: 
1963: 
1964: diffServRandomDropInvWeight OBJECT-TYPE
1965:     SYNTAX       Unsigned32
1966:     MAX-ACCESS   read-create
1967:     STATUS       current
1968:     DESCRIPTION
1969:        "The weighting of past history in affecting the  cal-
1970:        culation  of  the  current queue average.  The moving
1971:        average of the queue depth uses the inverse  of  this
1972:        value  as the factor for the new queue depth, and one
1973:        minus that inverse as the factor for  the  historical
1974:        average.
1975: 
1976:        Implementations may choose to  limit  the  acceptable
1977:        set  of  values to a specified set, such as powers of
1978:        2."
1979:     ::= { diffServRandomDropEntry 7 }
1980: 
1981: 
1982: diffServRandomDropSamplingRate OBJECT-TYPE
1983:     SYNTAX       Unsigned32
1984:     MAX-ACCESS   read-create
1985:     STATUS       current
1986:     DESCRIPTION
1987:        "The number of times per second the queue is  sampled
1988:        for queue average calculation.  A value of zero means
1989:        the queue is sampled approximately each time a packet
1990:        is enqueued (or dequeued)."
1991:     ::= { diffServRandomDropEntry 8 }
1992: 
1993: 
1994: diffServRandomDropStatus OBJECT-TYPE
1995:     SYNTAX       RowStatus
1996:     MAX-ACCESS   read-create
1997:     STATUS       current
1998:     DESCRIPTION
1999:        "The  RowStatus  variable  controls  the  activation,
2000:        deactivation, or deletion of this entry. Any writable
2001:        variable may be modified whether the row is active or
2002:        notInService."
2003:     ::= { diffServRandomDropEntry 9 }
2004: 
2005: 
2006: --
2007: -- Queue Table
2008: --
2009: 
2010: diffServQueue          OBJECT IDENTIFIER ::= { diffServMIBObjects 6 }
2011: 
2012: --
2013: -- An entry of diffServQTable represents a FIFO queue diffserv
2014: -- functional datapath element as described in [MODEL] section
2015: -- 7.1.1.
2016: -- Notice the specification of scheduling parameters for a queue
2017: -- as part of the input to a scheduler functional datapath
2018: -- element as described in [MODEL] section 7.1.2.  This allows
2019: -- building of hierarchical queueing/scheduling.
2020: -- A queue therefore is parameterized by:
2021: -- 1. Which scheduler will service this queue, diffServQNext.
2022: -- 2. How the scheduler will service this queue, with respect
2023: --    to all the other queues the same scheduler needs to service,
2024: --    diffServQSchdParam.
2025: --
2026: -- Notice one or more upstream diffserv datapath element may share,
2027: -- point to, a diffServQTable entry as described in [MODEL] section
2028: -- 7.1.1.
2029: --
2030: -- Each entry of the diffServQTable belongs to one and only one
2031: -- datapath.
2032: --
2033: 
2034: 
2035: diffServQNextFree OBJECT-TYPE
2036:     SYNTAX       Unsigned32
2037:     MAX-ACCESS   read-only
2038:     STATUS       current
2039:     DESCRIPTION
2040:        "This  object  yields  a  value  when  read  that  is
2041:        currently  unused  for  a diffServQId instance.  If a
2042:        configuring system attempts to create a  new  row  in
2043:        the  diffServQTable  using this value, that operation
2044:        will fail if the value has,  in  the  meantime,  been
2045:        used to create another row that is currently valid."
2046:     ::= { diffServQueue 1 }
2047: 
2048: 
2049: diffServQTable OBJECT-TYPE
2050:     SYNTAX       SEQUENCE OF DiffServQEntry
2051:     MAX-ACCESS   not-accessible
2052:     STATUS       current
2053:     DESCRIPTION
2054:        "The Queue Table enumerates the individual queues."
2055:     REFERENCE
2056:         "[MODEL] section 7.1.1"
2057:     ::= { diffServQueue 2 }
2058: 
2059: 
2060: diffServQEntry OBJECT-TYPE
2061:     SYNTAX       DiffServQEntry
2062:     MAX-ACCESS   not-accessible
2063:     STATUS       current
2064:     DESCRIPTION
2065:        "An entry in  the  Queue  Table  describes  a  single
2066:        queue.  With each entry belonging to one and only one
2067:        datapath."
2068:     INDEX { diffServQId }
2069:     ::= { diffServQTable 1 }
2070: 
2071: 
2072: DiffServQEntry ::= SEQUENCE  {
2073:     diffServQId                      Unsigned32,
2074:     diffServQNext                    RowPointer,
2075:     diffServQSchdParam               StaticRowPointer,
2076:     diffServQStatus                  RowStatus
2077: }
2078: 
2079: 
2080: diffServQId OBJECT-TYPE
2081:     SYNTAX       Unsigned32
2082:     MAX-ACCESS   not-accessible
2083:     STATUS       current
2084:     DESCRIPTION
2085:        "An index that enumerates the Queue entries. The  set
2086:        of  such  identifiers spans the whole agent. Managers
2087:        should obtain new values for  row  creation  in  this
2088:        table by reading diffServQNextFree."
2089:     ::= { diffServQEntry 1 }
2090: 
2091: 
2092: diffServQNext OBJECT-TYPE
2093:     SYNTAX       RowPointer
2094:     MAX-ACCESS   read-create
2095:     STATUS       current
2096:     DESCRIPTION
2097:        "This selects the next diffserv  functional  datapath
2098:        element  to  handle traffic for this data path.  This
2099:        RowPointer must point to an instance of one of:
2100:          diffServSchedulerEntry
2101: 
2102:        A value of zeroDotZero in this attribute indicates an
2103:        incomplete  diffServQEntry instance.  An illegal con-
2104:        figuration.
2105: 
2106:        If the row pointed to does not exist,  the  treatment
2107:        is  as  if  this  attribute contains a value of zero-
2108:        DotZero."
2109:     ::= { diffServQEntry 2 }
2110: 
2111: diffServQSchdParam OBJECT-TYPE
2112:     SYNTAX       StaticRowPointer
2113:     MAX-ACCESS   read-create
2114:     STATUS       current
2115:     DESCRIPTION
2116:        "This  StaticRowPointer  indicates   the   entry   in
2117:        diffServSchdParamTable  the  scheduler, pointed to by
2118:        diffServQNext, should use to service this queue.
2119: 
2120:        A value of zeroDotZero in this attribute indicates an
2121:        incomplete  diffServQEntry instance.  An illegal con-
2122:        figuration.
2123: 
2124:        If the row pointed to does not exist,  the  treatment
2125:        is  as  if  this  attribute contains a value of zero-
2126:        DotZero."
2127:     ::= { diffServQEntry 3 }
2128: 
2129: 
2130: diffServQStatus OBJECT-TYPE
2131:     SYNTAX       RowStatus
2132:     MAX-ACCESS   read-create
2133:     STATUS       current
2134:     DESCRIPTION
2135:        "The  RowStatus  variable  controls  the  activation,
2136:        deactivation,  or  deletion  of a queue. Any writable
2137:        variable may be modified whether the row is active or
2138:        notInService."
2139:     ::= { diffServQEntry 4 }
2140: 
2141: 
2142: --
2143: -- Scheduler Table
2144: --
2145: 
2146: diffServScheduler      OBJECT IDENTIFIER ::= { diffServMIBObjects 7 }
2147: 
2148: --
2149: -- The Scheduler Table is used for representing packet schedulers:
2150: -- it provides flexibility for multiple scheduling algorithms, each
2151: -- servicing multiple queues, to be used on the same logical/physical
2152: -- interface.
2153: -- Notice the servicing parameters the scheduler uses is
2154: -- specified by each of its upstream functional datapath elements,
2155: -- most likely queues or schedulers.
2156: -- The coordination and coherency between the servicing parameters
2157: -- of the scheduler's upstream functional datapath elements must
2158: -- be maintained for the scheduler to function correctly.
2159: --
2160: -- The diffServSchedulerSchdParam attribute is used for specifying
2161: -- the servicing parameters for output of a scheduler when its
2162: -- downstream functional datapath element is another scheduler.
2163: -- This is used for building hierarchical queue/scheduler.
2164: --
2165: -- More discussion of the scheduler functional datapath element
2166: -- is in [MODEL] section 7.1.2.
2167: --
2168: 
2169: 
2170: diffServSchedulerPriority OBJECT-IDENTITY
2171:     STATUS       current
2172:     DESCRIPTION
2173:        "For use  with  diffServSchedulerMethod  to  indicate
2174:        Priority  scheduling  method, defined as an algorithm
2175:        in which the presence of data in a queue  or  set  of
2176:        queues  absolutely  precludes  dequeue  from  another
2177:        queue or  set  of  queues.   Notice  attributes  from
2178:        diffServSchdParamEntry of the queues/schedulers feed-
2179:        ing this scheduler are used when determining the next
2180:        packet to schedule."
2181:     REFERENCE
2182:         "[MODEL] section 7.1.2"
2183:     ::= { diffServScheduler 1 }
2184: 
2185: 
2186: diffServSchedulerWRR OBJECT-IDENTITY
2187:     STATUS       current
2188:     DESCRIPTION
2189:        "For use  with  diffServSchedulerMethod  to  indicate
2190:        Weighted  Round  Robin  scheduling method, defined as
2191:        any algorithm in which a set of queues are visited in
2192:        a  fixed  order,  and  varying amounts of traffic are
2193:        removed from each queue in turn to implement an aver-
2194:        age  output  rate  by  class.  Notice attributes from
2195:        diffServSchdParamEntry of the queues/schedulers feed-
2196:        ing this scheduler are used when determining the next
2197:        packet to schedule."
2198:     REFERENCE
2199:         "[MODEL] section 7.1.2"
2200:     ::= { diffServScheduler 2 }
2201: 
2202: 
2203: diffServSchedulerWFQ OBJECT-IDENTITY
2204:     STATUS       current
2205:     DESCRIPTION
2206:        "For use  with  diffServSchedulerMethod  to  indicate
2207:        Weighted  Fair Queueing scheduling method, defined as
2208:        any algorithm in which a set of queues are  conceptu-
2209:        ally  visited  in some order, to implement an average
2210:        output  rate  by  class.   Notice   attributes   from
2211:        diffServSchdParamEntry of the queues/schedulers feed-
2212:        ing this scheduler are used when determining the next
2213:        packet to schedule."
2214:     REFERENCE
2215:         "[MODEL] section 7.1.2"
2216:     ::= { diffServScheduler 3 }
2217: 
2218: 
2219: diffServSchedulerShaping OBJECT-IDENTITY
2220:     STATUS       current
2221:     DESCRIPTION
2222:        "For use with diffServSchedulerMethod to indicate the
2223:        scheduler  is  being used for shaping.  Notice attri-
2224:        butes    from    diffServSchdParamEntry    of     the
2225:        queues/schedulers  feeding  this  scheduler  are used
2226:        when determining the next packet to schedule."
2227:     REFERENCE
2228:         "[MODEL] section 7.1.2"
2229:     ::= { diffServScheduler 4 }
2230: 
2231: 
2232: diffServSchedulerNextFree OBJECT-TYPE
2233:     SYNTAX       Unsigned32
2234:     MAX-ACCESS   read-only
2235:     STATUS       current
2236:     DESCRIPTION
2237:        "This  object  yields  a  value  when  read  that  is
2238:        currently  unused for a diffServSchedulerId instance.
2239:        If a configuring system attempts to create a new  row
2240:        in  the diffServSchedulerTable using this value, that
2241:        operation will fail if the value has,  in  the  mean-
2242:        time,  been  used  to  create  another  row  that  is
2243:        currently valid."
2244:     ::= { diffServScheduler 5 }
2245: 
2246: 
2247: diffServSchedulerTable OBJECT-TYPE
2248:     SYNTAX       SEQUENCE OF DiffServSchedulerEntry
2249:     MAX-ACCESS   not-accessible
2250:     STATUS       current
2251:     DESCRIPTION
2252:        "The Scheduler Table  enumerates  packet  schedulers.
2253:        Multiple scheduling algorithms can be used on a given
2254:        datapath,  with  each  algorithm  described  by   one
2255:        diffServSchedulerEntry."
2256:     REFERENCE
2257:         "[MODEL] section 7.1.2"
2258:     ::= { diffServScheduler 6 }
2259: 
2260: 
2261: diffServSchedulerEntry OBJECT-TYPE
2262:     SYNTAX       DiffServSchedulerEntry
2263:     MAX-ACCESS   not-accessible
2264:     STATUS       current
2265:     DESCRIPTION
2266:        "An entry in the Scheduler Table describing a  single
2267:        instance of a scheduling algorithm."
2268:     INDEX { diffServSchedulerId }
2269:     ::= { diffServSchedulerTable 1 }
2270: 
2271: 
2272: DiffServSchedulerEntry ::= SEQUENCE  {
2273:     diffServSchedulerId                   Unsigned32,
2274:     diffServSchedulerNext                 RowPointer,
2275:     diffServSchedulerMethod               OBJECT IDENTIFIER,
2276:     diffServSchedulerSchdParam            StaticRowPointer,
2277:     diffServSchedulerStatus               RowStatus
2278: }
2279: 
2280: 
2281: diffServSchedulerId OBJECT-TYPE
2282:     SYNTAX       Unsigned32
2283:     MAX-ACCESS   not-accessible
2284:     STATUS       current
2285:     DESCRIPTION
2286:        "An index that enumerates the Scheduler entries.  The
2287:        set  of  such  identifiers  spans  the  whole  agent.
2288:        Managers should obtain new values for row creation in
2289:        this table by reading diffServSchedulerNextFree."
2290:     ::= { diffServSchedulerEntry 1 }
2291: 
2292: 
2293: diffServSchedulerNext OBJECT-TYPE
2294:     SYNTAX       RowPointer
2295:     MAX-ACCESS   read-create
2296:     STATUS       current
2297:     DESCRIPTION
2298:        "This selects the next diffserv  functional  datapath
2299:        element  to  handle traffic for this data path.  This
2300:        RowPointer should point to an instance of one of:
2301:          diffServSchedulerEntry
2302:          diffServQEntry  As  indicated  by  [MODEL]  section
2303:        7.1.4.
2304: 
2305:        But this RowPointer can also point to an instance of:
2306:          diffServClfrEntry
2307:          diffServMeterEntry
2308:          diffServActionEntry
2309:          diffServAlgDropEntry For building of multiple  TCBs
2310:        for the same data path.
2311: 
2312:        This should point to  another  diffServSchedulerEntry
2313:        for  implementation of multiple scheduler methods for
2314:        the  same  datapath,  and   for   implementation   of
2315:        hierarchical schedulers.
2316: 
2317:        A value of zeroDotZero in this attribute indicates no
2318:        further Diffserv treatment is performed on traffic of
2319:        this datapath.  The use of zeroDotZero is the  normal
2320:        usage for the last functional datapath element of the
2321:        current data path.
2322: 
2323:        If the row pointed to does not exist,  the  treatment
2324:        is   as   if  this  attribute  contains  a  value  of
2325:        zeroDotZero."
2326:     DEFVAL       { zeroDotZero }
2327:     ::= { diffServSchedulerEntry 2 }
2328: 
2329: 
2330: diffServSchedulerMethod OBJECT-TYPE
2331:     SYNTAX       OBJECT IDENTIFIER
2332:     MAX-ACCESS   read-create
2333:     STATUS       current
2334:     DESCRIPTION
2335:        "The scheduling algorithm used by this Scheduler.  {0
2336:        0}  indicates  this  is unknown.  Standard values for
2337:        generic    algorithms:     diffServSchedulerPriority,
2338:        diffServSchedulerWRR,  and  diffServSchedulerWFQ  are
2339:        specified in  this  MIB;  additional  values  may  be
2340:        further specified in other MIBs."
2341:     REFERENCE
2342:         "[MODEL] section 7.1.2"
2343:     ::= { diffServSchedulerEntry 3 }
2344: 
2345: diffServSchedulerSchdParam OBJECT-TYPE
2346:     SYNTAX       StaticRowPointer
2347:     MAX-ACCESS   read-create
2348:     STATUS       current
2349:     DESCRIPTION
2350:        "This  StaticRowPointer  indicates   the   entry   in
2351:        diffServSchdParamTable  the  higher  level scheduler,
2352:        pointed to by diffServSchedulerNext,  should  use  to
2353:        service the output of this scheduler.  This attribute
2354:        is only used when there is more  than  one  level  of
2355:        scheduler.   And should have the value of zeroDotZero
2356:        when not used."
2357:     DEFVAL      { zeroDotZero }
2358:     ::= { diffServSchedulerEntry 4 }
2359: 
2360: 
2361: diffServSchedulerStatus OBJECT-TYPE
2362:     SYNTAX       RowStatus
2363:     MAX-ACCESS   read-create
2364:     STATUS       current
2365:     DESCRIPTION
2366:        "The  RowStatus  variable  controls  the  activation,
2367:        deactivation,  or  deletion  of a queue. Any writable
2368:        variable may be modified whether the row is active or
2369:        notInService."
2370:     ::= { diffServSchedulerEntry 5 }
2371: 
2372: 
2373: --
2374: -- Scheduling Parameter Table
2375: --
2376: -- The scheduling parameters are separate from the Queue Entries
2377: -- for reusability and for usage by both queues and schedulers,
2378: -- and this follows the separation of datapath elements from
2379: -- parameterization approach used throught out this MIB.
2380: -- Usage of scheduling parameter table entry by schedulers allow
2381: -- building of hierarchical scheduling.
2382: --
2383: -- The diffServSchdParamMaxRateAbs/Rel attributes are used to
2384: -- construct non-work-conserving scheduler for the purpose of
2385: -- traffic shaping.  These attributes limits the servicing of
2386: -- the queue/scheduler, in affect, shaping the output of the
2387: -- queue/scheduler, as described in [MODEL] section 7.2.
2388: --
2389: 
2390: 
2391: diffServSchdParamNextFree OBJECT-TYPE
2392:     SYNTAX       Unsigned32
2393:     MAX-ACCESS   read-only
2394:     STATUS       current
2395:     DESCRIPTION
2396:        "This  object  yields  a  value  when  read  that  is
2397:        currently  unused for a diffServSchdParamId instance.
2398:        If a configuring system attempts to create a new  row
2399:        in  the diffServSchdParamTable using this value, that
2400:        operation will fail if the value has,  in  the  mean-
2401:        time,  been  used  to  create  another  row  that  is
2402:        currently valid."
2403:     ::= { diffServScheduler 7 }
2404: 
2405: 
2406: diffServSchdParamTable OBJECT-TYPE
2407:     SYNTAX       SEQUENCE OF DiffServSchdParamEntry
2408:     MAX-ACCESS   not-accessible
2409:     STATUS       current
2410:     DESCRIPTION
2411:        "The Scheduling Parameter Table enumerates individual
2412:        sets  of scheduling parameter that can be used/reused
2413:        by Queues and Schedulers."
2414:     ::= { diffServScheduler 8 }
2415: 
2416: 
2417: diffServSchdParamEntry OBJECT-TYPE
2418:     SYNTAX       DiffServSchdParamEntry
2419:     MAX-ACCESS   not-accessible
2420:     STATUS       current
2421:     DESCRIPTION
2422:        "An entry in the Scheduling Parameter Table describes
2423:        a  single  set  of  scheduling  parameter  for use by
2424:        queues and schedulers.
2425: 
2426:        Notice multiple inter-mixed of  Queue  and  Scheduler
2427:        entries can use the same Scheduler Parameter entry."
2428:     INDEX { diffServSchdParamId }
2429:     ::= { diffServSchdParamTable 1 }
2430: 
2431: 
2432: DiffServSchdParamEntry ::= SEQUENCE  {
2433:     diffServSchdParamId              Unsigned32,
2434:     diffServSchdParamPriority        Unsigned32,
2435:     diffServSchdParamMinRateAbs      Unsigned32,
2436:     diffServSchdParamMinRateRel      Unsigned32,
2437:     diffServSchdParamMaxRateAbs      Unsigned32,
2438:     diffServSchdParamMaxRateRel      Unsigned32,
2439:     diffServSchdParamBurstSize       BurstSize,
2440:     diffServSchdParamStatus          RowStatus
2441: }
2442: 
2443: 
2444: diffServSchdParamId OBJECT-TYPE
2445:     SYNTAX       Unsigned32
2446:     MAX-ACCESS   not-accessible
2447:     STATUS       current
2448:     DESCRIPTION
2449:        "An index that  enumerates  the  Scheduler  Parameter
2450:        entries.  The set of such identifiers spans the whole
2451:        agent. Managers should  obtain  new  values  for  row
2452:        creation  in this table by reading diffServSchdParam-
2453:        NextFree."
2454:     ::= { diffServSchdParamEntry 1 }
2455: 
2456: 
2457: diffServSchdParamPriority OBJECT-TYPE
2458:     SYNTAX       Unsigned32
2459:     MAX-ACCESS   read-create
2460:     STATUS       current
2461:     DESCRIPTION
2462:        "The priority of this queue, to be used as a  parame-
2463:        ter  to  the  next  scheduler element downstream from
2464:        this one.  A higher value  means  higher priority and
2465:        should be serviced first."
2466:     ::= { diffServSchdParamEntry 2 }
2467: 
2468: 
2469: diffServSchdParamMinRateAbs OBJECT-TYPE
2470:     SYNTAX       Unsigned32
2471:     UNITS        "kilobits per second"
2472:     MAX-ACCESS   read-create
2473:     STATUS       current
2474:     DESCRIPTION
2475:        "The minimum absolute rate, in kilobits/sec,  that  a
2476:        downstream  scheduler element should allocate to this
2477:        queue.  If the value is zero, then  there  is  effec-
2478:        tively  no  minimum  rate guarantee.  If the value is
2479:        non-zero, the scheduler will assure the servicing  of
2480:        this queue to at least this rate.
2481: 
2482:        Note that this attribute's value is coupled  to  that
2483:        of  diffServSchdParamMinRateRel:  changes to one will
2484:        affect the value of the other. They are linked by the
2485:        following equation:
2486:          diffServSchdParamMinRateRel = diffServSchdParamMinRateAbs
2487:                                         * 10,000,000/ifSpeed
2488: 
2489:        or, if appropriate:
2490: 
2491:          diffServSchdParamMinRateRel = diffServSchdParamMinRateAbs
2492:                                          * 10 / ifHighSpeed"
2493:     REFERENCE
2494:         "ifSpeed, ifHighSpeed from [IFMIB]"
2495:     ::= { diffServSchdParamEntry 3 }
2496: 
2497: 
2498: diffServSchdParamMinRateRel OBJECT-TYPE
2499:     SYNTAX       Unsigned32
2500:     MAX-ACCESS   read-create
2501:     STATUS       current
2502:     DESCRIPTION
2503:        "The minimum rate that a downstream scheduler element
2504:        should  allocate  to this queue, relative to the max-
2505:        imum rate of the interface as reported by ifSpeed  or
2506:        ifHighSpeed, in units of 1/10,000 of 1.  If the value
2507:        is zero, then there is effectively  no  minimum  rate
2508:        guarantee.   If  the value is non-zero, the scheduler
2509:        will assure the servicing of this queue to  at  least
2510:        this rate.
2511: 
2512:        Note that this attribute's value is coupled  to  that
2513:        of  diffServSchdParamMinRateAbs:  changes to one will
2514:        affect the value of the other. They are linked by the
2515:        following equation:
2516: 
2517:          diffServSchdParamMinRateAbs = ifSpeed *
2518:                       diffServSchdParamMinRateRel/10,000,000
2519: 
2520:        or, if appropriate:
2521: 
2522:          diffServSchdParamMinRateAbs = ifHighSpeed *
2523:                             diffServSchdParamMinRateRel / 10"
2524:     REFERENCE
2525:         "ifSpeed, ifHighSpeed from [IFMIB]"
2526:     ::= { diffServSchdParamEntry 4 }
2527: 
2528: 
2529: diffServSchdParamMaxRateAbs OBJECT-TYPE
2530:     SYNTAX       Unsigned32
2531:     UNITS        "kilobits per second"
2532:     MAX-ACCESS   read-create
2533:     STATUS       current
2534:     DESCRIPTION
2535:        "The maximum rate in kilobits/sec that  a  downstream
2536:        scheduler  element  should allocate to this queue. If
2537:        the value is zero, then there is effectively no  max-
2538:        imum rate limit and that the scheduler should attempt
2539:        to be work-conserving for this queue.  If  the  value
2540:        is  non-zero,  the scheduler will limit the servicing
2541:        of this queue to, at most, this rate in  a  non-work-
2542:        conserving manner.
2543: 
2544:        Note that this attribute's value is coupled  to  that
2545:        of  diffServSchdParamMaxRateRel:  changes to one will
2546:        affect the value of the other. They are linked by the
2547:        following equation:
2548: 
2549:          diffServSchdParamMaxRateRel = diffServSchdParamMaxRateAbs
2550:                                         * 10,000,000/ifSpeed
2551: 
2552:        or, if appropriate:
2553: 
2554:          diffServSchdParamMaxRateRel = diffServSchdParamMaxRateAbs
2555:                                          * 10 / ifHighSpeed"
2556:     REFERENCE
2557:         "ifSpeed, ifHighSpeed from [IFMIB]"
2558:     ::= { diffServSchdParamEntry 5 }
2559: 
2560: 
2561: diffServSchdParamMaxRateRel OBJECT-TYPE
2562:     SYNTAX       Unsigned32
2563:     MAX-ACCESS   read-create
2564:     STATUS       current
2565:     DESCRIPTION
2566:        "The maximum rate that a downstream scheduler element
2567:        should  allocate  to this queue, relative to the max-
2568:        imum rate of the interface as reported by ifSpeed  or
2569:        ifHighSpeed, in units of 1/10,000 of 1.  If the value
2570:        is zero, then there is effectively  no  maximum  rate
2571:        limit  and  the  scheduler should attempt to be work-
2572:        conserving for this queue.  If the value is non-zero,
2573:        the  scheduler will limit the servicing of this queue
2574:        to, at  most,  this  rate  in  a  non-work-conserving
2575:        manner.
2576: 
2577:        Note that this attribute's value is coupled  to  that
2578:        of  diffServSchdParamMaxRateAbs:  changes to one will
2579:        affect the value of the other. They are linked by the
2580:        following equation:
2581: 
2582:          diffServSchdParamMaxRateAbs = ifSpeed *
2583:                       diffServSchdParamMaxRateRel/10,000,000
2584: 
2585:        or, if appropriate:
2586: 
2587:          diffServSchdParamMaxRateAbs = ifHighSpeed *
2588:                            diffServSchdParamMaxRateRel / 10"
2589:     REFERENCE
2590:         "ifSpeed, ifHighSpeed from [IFMIB]"
2591:     ::= { diffServSchdParamEntry 6 }
2592: 
2593: 
2594: diffServSchdParamBurstSize OBJECT-TYPE
2595:     SYNTAX       BurstSize
2596:     UNITS        "Bytes"
2597:     MAX-ACCESS   read-create
2598:     STATUS       current
2599:     DESCRIPTION
2600:        "The maximum number of bytes in a single transmission
2601:        burst.   This  attribute is used when diffServSchedu-
2602:        lerMethod of a downstream Scheduler element  is  used
2603:        for shaping traffic exiting this queue/scheduler."
2604:     ::= { diffServSchdParamEntry 7 }
2605: 
2606: 
2607: diffServSchdParamStatus OBJECT-TYPE
2608:     SYNTAX       RowStatus
2609:     MAX-ACCESS   read-create
2610:     STATUS       current
2611:     DESCRIPTION
2612:        "The  RowStatus  variable  controls  the  activation,
2613:        deactivation,  or  deletion  of a queue. Any writable
2614:        variable may be modified whether the row is active or
2615:        notInService."
2616:     ::= { diffServSchdParamEntry 8 }
2617: 
2618: 
2619: --
2620: -- MIB Compliance statements.
2621: --
2622: 
2623: 
2624: diffServMIBCompliances OBJECT IDENTIFIER ::= { diffServMIBConformance 1 }
2625: diffServMIBGroups      OBJECT IDENTIFIER ::= { diffServMIBConformance 2 }
2626: diffServMIBCompliance MODULE-COMPLIANCE
2627:     STATUS current
2628:     DESCRIPTION
2629:        "This MIB may be implemented as a read-only or  as  a
2630:        read-create MIB. As a result, it may be used for mon-
2631:        itoring or for configuration."
2632:     MODULE -- This Module
2633:     MANDATORY-GROUPS {
2634:         diffServMIBDataPathGroup,
2635:         diffServMIBClfrGroup,
2636:         diffServMIBClfrElementGroup,
2637:         diffServMIBSixTupleClfrGroup,
2638:         diffServMIBActionGroup,
2639:         diffServMIBAlgDropGroup,
2640:         diffServMIBQGroup, diffServMIBSchedulerGroup,
2641:         diffServMIBSchdParamGroup }
2642: 
2643: 
2644: -- The groups:
2645: --        diffServMIBCounterGroup
2646: --        diffServMIBHCCounterGroup
2647: --        diffServMIBVHCCounterGroup
2648: --
2649: -- are mutually exclusive; at most one of these groups is implemented
2650: -- for a particular interface.  When any of these groups is implemented
2651: -- for a particular interface, then ifCounterDiscontinuityGroup from
2652: -- [IFMIB]  must also be implemented for that interface.
2653: 
2654: 
2655: -- note that the diffServMIBStaticGroup is
2656: -- mandatory for implementations that implement a
2657: -- read-write or read-create mode.
2658: 
2659: 
2660:     GROUP diffServMIBCounterGroup
2661:     DESCRIPTION
2662:        "This group is mandatory for table objects indexed by
2663:        ifIndex  for  which  the  value  of the corresponding
2664:        instance  of  ifSpeed  is  less  than  or  equal   to
2665:        20,000,000 bits/second."
2666: 
2667: 
2668:     GROUP diffServMIBHCCounterGroup
2669:     DESCRIPTION
2670:        "This group is mandatory for table objects indexed by
2671:        ifIndex  for  which  the  value  of the corresponding
2672:        instance  of  ifSpeed  is  greater  than   20,000,000
2673:        bits/second."
2674: 
2675: 
2676:     GROUP diffServMIBVHCCounterGroup
2677:     DESCRIPTION
2678:        "This group is mandatory for table objects indexed by
2679:        ifIndex  for  which  the  value  of the corresponding
2680:        instance  of  ifSpeed  is  greater  than  650,000,000
2681:        bits/second."
2682: 
2683: 
2684:     GROUP diffServMIBMeterGroup
2685:     DESCRIPTION
2686:        "This group is mandatory for devices  that  implement
2687:        metering functions."
2688: 
2689: 
2690:     GROUP diffServMIBTBMeterGroup
2691:     DESCRIPTION
2692:        "This group is mandatory for devices  that  implement
2693:        token-bucket metering functions."
2694: 
2695: 
2696:     GROUP diffServMIBDscpMarkActGroup
2697:     DESCRIPTION
2698:        "This group is mandatory for devices  that  implement
2699:        DSCP-Marking functions."
2700: 
2701: 
2702:     GROUP diffServMIBRandomDropGroup
2703:     DESCRIPTION
2704:        "This group is mandatory for devices  that  implement
2705:        Random Drop functions."
2706: 
2707: 
2708:     GROUP diffServMIBStaticGroup
2709:     DESCRIPTION
2710:        "This group is mandatory for devices that allow crea-
2711:        tion  of  rows  in any of the writable tables of this
2712:        MIB."
2713: 
2714: 
2715:     OBJECT diffServClfrStatus
2716:     MIN-ACCESS read-only
2717:     DESCRIPTION
2718:        "Write access is not required."
2719: 
2720:     OBJECT diffServClfrElementOrder
2721:     MIN-ACCESS read-only
2722:     DESCRIPTION
2723:        "Write access is not required."
2724: 
2725: 
2726:     OBJECT diffServClfrElementNext
2727:     MIN-ACCESS read-only
2728:     DESCRIPTION
2729:        "Write access is not required."
2730: 
2731: 
2732:     OBJECT diffServClfrElementSpecific
2733:     MIN-ACCESS read-only
2734:     DESCRIPTION
2735:        "Write access is not required."
2736: 
2737: 
2738:     OBJECT diffServClfrElementStatus
2739:     MIN-ACCESS read-only
2740:     DESCRIPTION
2741:        "Write access is not required."
2742: 
2743: 
2744:     OBJECT diffServSixTupleClfrDstAddrType
2745:     MIN-ACCESS read-only
2746:     DESCRIPTION
2747:        "Write access is not required."
2748: 
2749: 
2750:     OBJECT diffServSixTupleClfrDstAddr
2751:     MIN-ACCESS read-only
2752:     DESCRIPTION
2753:        "Write access is not required."
2754: 
2755: 
2756:     OBJECT diffServSixTupleClfrDstAddrMask
2757:     MIN-ACCESS read-only
2758:     DESCRIPTION
2759:        "Write access is not required."
2760: 
2761: 
2762:     OBJECT diffServSixTupleClfrSrcAddrType
2763:     MIN-ACCESS read-only
2764:     DESCRIPTION
2765:        "Write access is not required."
2766: 
2767:     OBJECT diffServSixTupleClfrSrcAddr
2768:     MIN-ACCESS read-only
2769:     DESCRIPTION
2770:        "Write access is not required."
2771: 
2772: 
2773:     OBJECT diffServSixTupleClfrSrcAddrMask
2774:     MIN-ACCESS read-only
2775:     DESCRIPTION
2776:        "Write access is not required."
2777: 
2778: 
2779:     OBJECT diffServSixTupleClfrDscp
2780:     MIN-ACCESS read-only
2781:     DESCRIPTION
2782:        "Write access is not required."
2783: 
2784: 
2785:     OBJECT diffServSixTupleClfrProtocol
2786:     MIN-ACCESS read-only
2787:     DESCRIPTION
2788:        "Write access is not required."
2789: 
2790: 
2791:     OBJECT diffServSixTupleClfrSrcL4PortMin
2792:     MIN-ACCESS read-only
2793:     DESCRIPTION
2794:        "Write access is not required."
2795: 
2796: 
2797:     OBJECT diffServSixTupleClfrSrcL4PortMax
2798:     MIN-ACCESS read-only
2799:     DESCRIPTION
2800:        "Write access is not required."
2801: 
2802: 
2803:     OBJECT diffServSixTupleClfrDstL4PortMin
2804:     MIN-ACCESS read-only
2805:     DESCRIPTION
2806:        "Write access is not required."
2807: 
2808: 
2809:     OBJECT diffServSixTupleClfrDstL4PortMax
2810:     MIN-ACCESS read-only
2811:     DESCRIPTION
2812:        "Write access is not required."
2813: 
2814:     OBJECT diffServSixTupleClfrStatus
2815:     MIN-ACCESS read-only
2816:     DESCRIPTION
2817:        "Write access is not required."
2818: 
2819: 
2820:     OBJECT diffServMeterSucceedNext
2821:     MIN-ACCESS read-only
2822:     DESCRIPTION
2823:        "Write access is not required."
2824: 
2825: 
2826:     OBJECT diffServMeterFailNext
2827:     MIN-ACCESS read-only
2828:     DESCRIPTION
2829:        "Write access is not required."
2830: 
2831: 
2832:     OBJECT diffServMeterSpecific
2833:     MIN-ACCESS read-only
2834:     DESCRIPTION
2835:        "Write access is not required."
2836: 
2837: 
2838:     OBJECT diffServMeterStatus
2839:     MIN-ACCESS read-only
2840:     DESCRIPTION
2841:        "Write access is not required."
2842: 
2843: 
2844:     OBJECT diffServTBMeterType
2845:     MIN-ACCESS read-only
2846:     DESCRIPTION
2847:        "Write access is not required."
2848: 
2849: 
2850:     OBJECT diffServTBMeterRate
2851:     MIN-ACCESS read-only
2852:     DESCRIPTION
2853:        "Write access is not required."
2854: 
2855: 
2856:     OBJECT diffServTBMeterBurstSize
2857:     MIN-ACCESS read-only
2858:     DESCRIPTION
2859:        "Write access is not required."
2860: 
2861:     OBJECT diffServTBMeterInterval
2862:     MIN-ACCESS read-only
2863:     DESCRIPTION
2864:        "Write access is not required."
2865: 
2866: 
2867:     OBJECT diffServTBMeterStatus
2868:     MIN-ACCESS read-only
2869:     DESCRIPTION
2870:        "Write access is not required."
2871: 
2872: 
2873:     OBJECT diffServActionNext
2874:     MIN-ACCESS read-only
2875:     DESCRIPTION
2876:        "Write access is not required."
2877: 
2878: 
2879:     OBJECT diffServActionSpecific
2880:     MIN-ACCESS read-only
2881:     DESCRIPTION
2882:        "Write access is not required."
2883: 
2884: 
2885:     OBJECT diffServActionType
2886:     MIN-ACCESS read-only
2887:     DESCRIPTION
2888:        "Write access is not required."
2889: 
2890: 
2891:     OBJECT diffServActionStatus
2892:     MIN-ACCESS read-only
2893:     DESCRIPTION
2894:        "Write access is not required."
2895: 
2896: 
2897:     OBJECT diffServCountActStatus
2898:     MIN-ACCESS read-only
2899:     DESCRIPTION
2900:        "Write access is not required."
2901: 
2902: 
2903:     OBJECT diffServAlgDropType
2904:     MIN-ACCESS read-only
2905:     DESCRIPTION
2906:        "Write access is not required."
2907: 
2908:     OBJECT diffServAlgDropNext
2909:     MIN-ACCESS read-only
2910:     DESCRIPTION
2911:        "Write access is not required."
2912: 
2913: 
2914:     OBJECT diffServAlgDropQMeasure
2915:     MIN-ACCESS read-only
2916:     DESCRIPTION
2917:        "Write access is not required."
2918: 
2919: 
2920:     OBJECT diffServAlgDropQThreshold
2921:     MIN-ACCESS read-only
2922:     DESCRIPTION
2923:        "Write access is not required."
2924: 
2925: 
2926:     OBJECT diffServAlgDropSpecific
2927:     MIN-ACCESS read-only
2928:     DESCRIPTION
2929:        "Write access is not required."
2930: 
2931: 
2932:     OBJECT diffServAlgDropStatus
2933:     MIN-ACCESS read-only
2934:     DESCRIPTION
2935:        "Write access is not required."
2936: 
2937: 
2938:     OBJECT diffServRandomDropMinThreshBytes
2939:     MIN-ACCESS read-only
2940:     DESCRIPTION
2941:        "Write access is not required."
2942: 
2943: 
2944:     OBJECT diffServRandomDropMinThreshPkts
2945:     MIN-ACCESS read-only
2946:     DESCRIPTION
2947:        "Write access is not required."
2948: 
2949: 
2950:     OBJECT diffServRandomDropMaxThreshBytes
2951:     MIN-ACCESS read-only
2952:     DESCRIPTION
2953:        "Write access is not required."
2954: 
2955:     OBJECT diffServRandomDropMaxThreshPkts
2956:     MIN-ACCESS read-only
2957:     DESCRIPTION
2958:        "Write access is not required."
2959: 
2960: 
2961:     OBJECT diffServRandomDropInvProbMax
2962:     MIN-ACCESS read-only
2963:     DESCRIPTION
2964:        "Write access is not required."
2965: 
2966: 
2967:     OBJECT diffServRandomDropInvWeight
2968:     MIN-ACCESS read-only
2969:     DESCRIPTION
2970:        "Write access is not required."
2971: 
2972: 
2973:     OBJECT diffServRandomDropSamplingRate
2974:     MIN-ACCESS read-only
2975:     DESCRIPTION
2976:        "Write access is not required."
2977: 
2978: 
2979:     OBJECT diffServRandomDropStatus
2980:     MIN-ACCESS read-only
2981:     DESCRIPTION
2982:        "Write access is not required."
2983: 
2984: 
2985:     OBJECT diffServQNext
2986:     MIN-ACCESS read-only
2987:     DESCRIPTION
2988:        "Write access is not required."
2989: 
2990: 
2991:     OBJECT diffServQSchdParam
2992:     MIN-ACCESS read-only
2993:     DESCRIPTION
2994:        "Write access is not required."
2995: 
2996: 
2997:     OBJECT diffServQStatus
2998:     MIN-ACCESS read-only
2999:     DESCRIPTION
3000:        "Write access is not required."
3001: 
3002:     OBJECT diffServSchedulerNext
3003:     MIN-ACCESS read-only
3004:     DESCRIPTION
3005:        "Write access is not required."
3006: 
3007: 
3008:     OBJECT diffServSchedulerMethod
3009:     MIN-ACCESS read-only
3010:     DESCRIPTION
3011:        "Write access is not required."
3012: 
3013: 
3014:     OBJECT diffServSchedulerSchdParam
3015:     MIN-ACCESS read-only
3016:     DESCRIPTION
3017:        "Write access is not required."
3018: 
3019: 
3020:     OBJECT diffServSchedulerStatus
3021:     MIN-ACCESS read-only
3022:     DESCRIPTION
3023:        "Write access is not required."
3024: 
3025: 
3026:     OBJECT diffServSchdParamPriority
3027:     MIN-ACCESS read-only
3028:     DESCRIPTION
3029:        "Write access is not required."
3030: 
3031: 
3032:     OBJECT diffServSchdParamMinRateAbs
3033:     MIN-ACCESS read-only
3034:     DESCRIPTION
3035:        "Write access is not required."
3036: 
3037: 
3038:     OBJECT diffServSchdParamMinRateRel
3039:     MIN-ACCESS read-only
3040:     DESCRIPTION
3041:        "Write access is not required."
3042: 
3043: 
3044:     OBJECT diffServSchdParamMaxRateAbs
3045:     MIN-ACCESS read-only
3046:     DESCRIPTION
3047:        "Write access is not required."
3048: 
3049:     OBJECT diffServSchdParamMaxRateRel
3050:     MIN-ACCESS read-only
3051:     DESCRIPTION
3052:        "Write access is not required."
3053: 
3054: 
3055:     OBJECT diffServSchdParamBurstSize
3056:     MIN-ACCESS read-only
3057:     DESCRIPTION
3058:        "Write access is not required."
3059: 
3060: 
3061:     OBJECT diffServSchdParamStatus
3062:     MIN-ACCESS read-only
3063:     DESCRIPTION
3064:        "Write access is not required."
3065: 
3066: 
3067:     ::= { diffServMIBCompliances 1 }
3068: 
3069: 
3070: diffServMIBDataPathGroup OBJECT-GROUP
3071:     OBJECTS {
3072:         diffServDataPathStart, diffServDataPathStatus
3073:     }
3074:     STATUS current
3075:     DESCRIPTION
3076:        "The Data Path Group defines  the  MIB  Objects  that
3077:        describe a data path."
3078:     ::= { diffServMIBGroups 1 }
3079: 
3080: 
3081: diffServMIBClfrGroup OBJECT-GROUP
3082:     OBJECTS {
3083:         diffServClfrStatus
3084:     }
3085:     STATUS current
3086:     DESCRIPTION
3087:        "The Classifier Group defines the  MIB  Objects  that
3088:        describe a generic classifier."
3089:     ::= { diffServMIBGroups 2 }
3090: 
3091: 
3092: diffServMIBClfrElementGroup OBJECT-GROUP
3093:     OBJECTS {
3094:         diffServClfrElementOrder, diffServClfrElementNext,
3095:         diffServClfrElementSpecific, diffServClfrElementStatus
3096: 
3097:     }
3098:     STATUS current
3099:     DESCRIPTION
3100:        "The Classifier Element Group defines the MIB Objects
3101:        that  describe the classifier elements that make up a
3102:        generic classifier."
3103:     ::= { diffServMIBGroups 3 }
3104: 
3105: 
3106: diffServMIBSixTupleClfrGroup OBJECT-GROUP
3107:     OBJECTS {
3108:         diffServSixTupleClfrDstAddrType, diffServSixTupleClfrDstAddr,
3109:         diffServSixTupleClfrDstAddrMask,
3110:         diffServSixTupleClfrSrcAddrType, diffServSixTupleClfrSrcAddr,
3111:         diffServSixTupleClfrSrcAddrMask,
3112:         diffServSixTupleClfrDscp, diffServSixTupleClfrProtocol,
3113:         diffServSixTupleClfrDstL4PortMin,
3114:         diffServSixTupleClfrDstL4PortMax,
3115:         diffServSixTupleClfrSrcL4PortMin,
3116:         diffServSixTupleClfrSrcL4PortMax,
3117:         diffServSixTupleClfrStatus
3118:     }
3119:     STATUS current
3120:     DESCRIPTION
3121:        "The  Six-tuple  Classifier  Group  defines  the  MIB
3122:        Objects that describe a classifier element for match-
3123:        ing on 6 fields of an  IP  and  upper-layer  protocol
3124:        header."
3125:     ::= { diffServMIBGroups 4 }
3126: 
3127: 
3128: diffServMIBMeterGroup OBJECT-GROUP
3129:     OBJECTS {
3130:         diffServMeterSucceedNext, diffServMeterFailNext,
3131:         diffServMeterSpecific, diffServMeterStatus
3132:     }
3133:     STATUS current
3134:     DESCRIPTION
3135:        "The Meter Group defines the objects used in describ-
3136:        ing a generic meter element."
3137:     ::= { diffServMIBGroups 5 }
3138: 
3139: 
3140: diffServMIBTBMeterGroup OBJECT-GROUP
3141:     OBJECTS {
3142:         diffServTBMeterType,
3143:         diffServTBMeterRate, diffServTBMeterBurstSize,
3144:         diffServTBMeterInterval, diffServTBMeterStatus
3145:     }
3146:     STATUS current
3147:     DESCRIPTION
3148:        "The Token-Bucket Meter  Group  defines  the  objects
3149:        used in describing a token bucket meter element."
3150:     ::= { diffServMIBGroups 6 }
3151: 
3152: 
3153: diffServMIBActionGroup OBJECT-GROUP
3154:     OBJECTS {
3155:         diffServActionNext, diffServActionSpecific,
3156:         diffServActionType, diffServActionStatus
3157:     }
3158:     STATUS current
3159:     DESCRIPTION
3160:        "The  Action  Group  defines  the  objects  used   in
3161:        describing a generic action element."
3162:     ::= { diffServMIBGroups 7 }
3163: 
3164: 
3165: diffServMIBDscpMarkActGroup OBJECT-GROUP
3166:     OBJECTS {
3167:         diffServDscpMarkActDscp
3168:     }
3169:     STATUS current
3170:     DESCRIPTION
3171:        "The DSCP Mark Action Group defines the objects  used
3172:        in describing a DSCP Marking Action element."
3173:     ::= { diffServMIBGroups 8 }
3174: 
3175: 
3176: diffServMIBCounterGroup OBJECT-GROUP
3177:     OBJECTS {
3178:         diffServCountActOctets,
3179:         diffServCountActPkts,
3180:         diffServCountActDiscontTime,
3181:         diffServCountActStatus,
3182:         diffServAlgDropOctets,
3183:         diffServAlgDropPkts
3184:     }
3185:     STATUS current
3186:     DESCRIPTION
3187:        "A  collection  of  objects   providing   information
3188:        specific to non-high speed (non-high speed interfaces
3189:        transmit and receive at speeds less than or equal  to
3190:        20,000,000   bits/second)   packet-oriented   network
3191:        interfaces."
3192:     ::= { diffServMIBGroups 9 }
3193: 
3194: 
3195: diffServMIBHCCounterGroup OBJECT-GROUP
3196:     OBJECTS {
3197:         diffServCountActOctets, diffServCountActHCOctets,
3198:         diffServCountActPkts,
3199:         diffServCountActDiscontTime,
3200:         diffServCountActStatus,
3201:         diffServAlgDropOctets, diffServAlgDropHCOctets,
3202:         diffServAlgDropPkts
3203:     }
3204:     STATUS current
3205:     DESCRIPTION
3206:        "A  collection  of  objects   providing   information
3207:        specific   to   high  speed  (high  speed  interfaces
3208:        transmit  and  receive   at   speeds   greater   than
3209:        20,000,000  but  less  than  or equals to 650,000,000
3210:        bits/second) packet-oriented network interfaces."
3211:     ::= { diffServMIBGroups 10 }
3212: 
3213: 
3214: diffServMIBVHCCounterGroup OBJECT-GROUP
3215:     OBJECTS {
3216:         diffServCountActOctets, diffServCountActHCOctets,
3217:         diffServCountActPkts, diffServCountActHCPkts,
3218:         diffServCountActDiscontTime,
3219:         diffServCountActStatus,
3220:         diffServAlgDropOctets, diffServAlgDropHCOctets,
3221:         diffServAlgDropPkts, diffServAlgDropHCPkts
3222:     }
3223:     STATUS current
3224:     DESCRIPTION
3225:        "A  collection  of  objects   providing   information
3226:        specific  to  very-high speed (very-high speed inter-
3227:        faces transmit and receive  at  speeds  greater  than
3228:        650,000,000   bits/second)   packet-oriented  network
3229:        interfaces."
3230:     ::= { diffServMIBGroups 11 }
3231: 
3232: 
3233: diffServMIBAlgDropGroup OBJECT-GROUP
3234:     OBJECTS {
3235:         diffServAlgDropType, diffServAlgDropNext,
3236:         diffServAlgDropQMeasure, diffServAlgDropQThreshold,
3237:         diffServAlgDropSpecific, diffServAlgDropStatus
3238: 
3239:     }
3240:     STATUS current
3241:     DESCRIPTION
3242:        "The Algorithmic Drop Group contains the objects that
3243:        describe algorithmic dropper operation and configura-
3244:        tion."
3245:     ::= { diffServMIBGroups 12 }
3246: 
3247: 
3248: diffServMIBRandomDropGroup OBJECT-GROUP
3249:     OBJECTS {
3250:         diffServRandomDropMinThreshBytes,
3251:         diffServRandomDropMinThreshPkts,
3252:         diffServRandomDropMaxThreshBytes,
3253:         diffServRandomDropMaxThreshPkts,
3254:         diffServRandomDropInvProbMax,
3255:         diffServRandomDropInvWeight,
3256:         diffServRandomDropSamplingRate,
3257:         diffServRandomDropStatus
3258:     }
3259:     STATUS current
3260:     DESCRIPTION
3261:        "The Random Drop Group augments the Algorithmic Drop Group for
3262:        random dropper operation and configuration."
3263:     ::= { diffServMIBGroups 13 }
3264: 
3265: 
3266: diffServMIBQGroup OBJECT-GROUP
3267:     OBJECTS {
3268:         diffServQNext, diffServQSchdParam,
3269:         diffServQStatus
3270:     }
3271:     STATUS current
3272:     DESCRIPTION
3273:        "The Queue Group contains the objects  that  describe
3274:        an interface's queues."
3275:     ::= { diffServMIBGroups 14 }
3276: 
3277: 
3278: diffServMIBSchedulerGroup OBJECT-GROUP
3279:     OBJECTS {
3280:         diffServSchedulerNext, diffServSchedulerMethod,
3281:         diffServSchedulerSchdParam, diffServSchedulerStatus
3282:     }
3283:     STATUS current
3284:     DESCRIPTION
3285:        "The  Scheduler  Group  contains  the  objects   that
3286:        describe packet schedulers on interfaces."
3287:     ::= { diffServMIBGroups 15 }
3288: 
3289: 
3290: diffServMIBSchdParamGroup OBJECT-GROUP
3291:     OBJECTS {
3292:         diffServSchdParamPriority,
3293:         diffServSchdParamMinRateAbs, diffServSchdParamMinRateRel,
3294:         diffServSchdParamMaxRateAbs, diffServSchdParamMaxRateRel,
3295:         diffServSchdParamBurstSize, diffServSchdParamStatus
3296:     }
3297:     STATUS current
3298:     DESCRIPTION
3299:        "The Scheduler Parameter Group contains  the  objects
3300:        that describe packet schedulers' parameters on inter-
3301:        faces."
3302:     ::= { diffServMIBGroups 16 }
3303: 
3304: 
3305: diffServMIBStaticGroup OBJECT-GROUP
3306:     OBJECTS {
3307:         diffServClfrNextFree, diffServClfrElementNextFree,
3308:         diffServSixTupleClfrNextFree,
3309:         diffServMeterNextFree, diffServTBMeterNextFree,
3310:         diffServActionNextFree, diffServCountActNextFree,
3311:         diffServAlgDropNextFree, diffServRandomDropNextFree,
3312:         diffServQNextFree, diffServSchedulerNextFree,
3313:         diffServSchdParamNextFree
3314:     }
3315:     STATUS current
3316:     DESCRIPTION
3317:        "The Static Group contains  readable  scalar  objects
3318:        used  in creating unique identifiers for classifiers,
3319:        meters, actions and queues. These are required  when-
3320:        ever  row creation operations on such tables are sup-
3321:        ported."
3322:     ::= { diffServMIBGroups 17 }
3323: 
3324: 
3325: END