-- extracted from draft-ietf-snmpconf-diffpolicy-02.txt -- at Fri Jul 7 07:08:04 2000 DIFFSERV-POLICY-MIB DEFINITIONS ::= BEGIN IMPORTS Unsigned32, Integer32, OBJECT-TYPE, MODULE-IDENTITY, zeroDotZero, mib-2 FROM SNMPv2-SMI RowStatus, RowPointer, TestAndIncr, DateAndTime FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB; diffPolicyMib MODULE-IDENTITY LAST-UPDATED "200006301100Z" -- June 30, 2000, 13:00 Italy ORGANIZATION "SNMPCONF WG" CONTACT-INFO "SNMPCONF Working Group http://www.ietf.org/html.charters/snmpconf-charter.html Editors: Harrie Hazewinkel Postal: Titanstraat 2 9933 CE Delfzijl The Netherlands Tel: +31 596 615843 or +39 331974135 FAX: +39 0331974135 E-mail: harrie.hazewinkel@bigfoot.com David Partain Postal: Ericsson Radio Systems P.O. Box 1248 SE-581 12 Linkoping Sweden Tel: +46 13 28 41 44 E-mail: David.Partain@ericsson.com" DESCRIPTION "This MIB module contains differentiated services specific managed objects to perform policy-based configuration management. This MIB defines 'templates' to be used to instantiate per-hop-behaviors to be assigned when a policy is created and activated." ::= { mib-2 22222222 } -- Needs to be assigned by IANA diffPolicyMIBObjects OBJECT IDENTIFIER ::= { diffPolicyMib 1 } diffPolicyMIBConformance OBJECT IDENTIFIER ::= { diffPolicyMib 3 } -- -- The per-hop-behavior -- -- Issues: -- Do we want a spin-lock on this whole table or on each row -- of the table, or not at all? diffPolicyPHBUnique OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "The diffPolicyPHBUnique object yields a unique new value for diffPolicyPHBId when read and subsequently set. This value must be tested for uniqueness." ::= { diffPolicyMIBObjects 1 } diffPolicyPHBTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffPolicyPHBEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table which defines the various per-hop-behaviors for which the system has default 'templates'." ::= { diffPolicyMIBObjects 2 } diffPolicyPHBEntry OBJECT-TYPE SYNTAX DiffPolicyPHBEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry defining a per-hop-behavior. Each entry in this table combines the various parameters (entries) into a specific per-hop-behavior. Entries in this table can as well being defined by a vendor (preconfigured) or as well being defined by a management application." INDEX { diffPolicyPHBId } ::= { diffPolicyPHBTable 1 } DiffPolicyPHBEntry ::= SEQUENCE { diffPolicyPHBId Integer32, diffPolicyPHBDescr SnmpAdminString, diffPolicyPHBOwner SnmpAdminString, diffPolicyPHBLastChange DateAndTime, diffPolicyPHBTrafficID RowPointer, diffPolicyPHBClassPrecedence Unsigned32, diffPolicyPHBMeter RowPointer, diffPolicyPHBAction RowPointer, diffPolicyPHBQueue RowPointer, diffPolicyPHBScheduler RowPointer, diffPolicyPHBStatus RowStatus } diffPolicyPHBId OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique id for the per-hop-behavior policy." ::= { diffPolicyPHBEntry 1 } diffPolicyPHBDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "A human-readable description to identify this defined per-hop-behavior. Note that this is an SnmpAdminString, which permits UTF-8 strings." ::= { diffPolicyPHBEntry 2 } diffPolicyPHBOwner OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "The owner who creates this entry." ::= { diffPolicyPHBEntry 3 } diffPolicyPHBLastChange OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The date and time when this entry was changed for the last time." ::= { diffPolicyPHBEntry 4 } diffPolicyPHBTrafficID OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The pointer to traffic identification used for this per-hop-behavior definition. This value points to a traffic classifying entry in the 'diffServClassifierTable' or the 'diffServSixTupleClfrTable'. NOTE: The traffic classifying tables of the DIFF-SERV-MIB can be used for policy configuration in this MIB module because the entries in the tables 'diffServClassifierTable' or the 'diffServSixTupleClfrTable' configure traffic filter templates." ::= { diffPolicyPHBEntry 5 } diffPolicyPHBClassPrecedence OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "The precedence of the classifier for this per-hop-behavior definition." ::= { diffPolicyPHBEntry 6 } diffPolicyPHBMeter OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The meter which is next in the data path for the defined classifier applicable to this per-hop-behavior configuration. The value points to an entry in the 'diffPolicyMeterTable'." DEFVAL { zeroDotZero } ::= { diffPolicyPHBEntry 7 } diffPolicyPHBAction OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The action which is next in the data path for the defined classifier applicable to this per-hop-behavior definition. The value points to an entry in the 'diffPolicyActionTable'. The value 'zeroDotZero' is used when there is no action associated with the per-hop-behavior." DEFVAL { zeroDotZero } ::= { diffPolicyPHBEntry 8 } diffPolicyPHBQueue OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The queue defined that is used for the configuration of this per-hop-behavior. The value points to an entry in the 'diffPolicyQTable'. The value 'zeroDotZero' is used when there is no queue associated with the per-hop-behavior." DEFVAL { zeroDotZero } ::= { diffPolicyPHBEntry 9 } diffPolicyPHBScheduler OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The Scheduler defined that is used for the configuration of this per-hop-behavior. The value points to an entry in the 'diffPolicySchedulerTable'. The value 'zeroDotZero' is used when there is no scheduler associated with the per-hop-behavior" DEFVAL { zeroDotZero } ::= { diffPolicyPHBEntry 10 } diffPolicyPHBStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "RowStatus object used for creation and deletion of rows in this table." ::= { diffPolicyPHBEntry 11 } -- -- Meters Configuration -- diffPolicyMeterUnique OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "The diffPolicyMeterUnique object yields a unique new value for diffPolicyMeterId when read and subsequently set. This value must be tested for uniqueness." ::= { diffPolicyMIBObjects 3 } diffPolicyMeterTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffPolicyMeterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table enumerates templates for configuration of specific token bucket meters that can be used for per-hop-behavior definitions. This tables provides policy configuration templates for the 'diffServMeterTable' and the 'diffServTBMeterTable'. When changes are made in this table the behavior of the DiffServ router is not changed. The behavior only changes when the policy of which this meter is part is applied." ::= { diffPolicyMIBObjects 4 } diffPolicyMeterEntry OBJECT-TYPE SYNTAX DiffPolicyMeterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the meter table." INDEX { diffPolicyMeterId } ::= { diffPolicyMeterTable 1 } DiffPolicyMeterEntry ::= SEQUENCE { diffPolicyMeterId Integer32, diffPolicyMeterRate Unsigned32, diffPolicyMeterBurstSize Unsigned32, diffPolicyMeterFailNext RowPointer, diffPolicyMeterSucceedNext RowPointer, diffPolicyMeterStatus RowStatus } diffPolicyMeterId OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index to make MeterId for each entry." ::= { diffPolicyMeterEntry 1 } diffPolicyMeterRate OBJECT-TYPE SYNTAX Unsigned32 UNITS "KBPS" -- kilobits MAX-ACCESS read-create STATUS current DESCRIPTION "The token bucket rate, in kilo-bits per second (KBPS) applicable for this Meter definition." ::= { diffPolicyMeterEntry 2 } diffPolicyMeterBurstSize OBJECT-TYPE SYNTAX Unsigned32 UNITS "bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "The configuration value of the number of bytes in a single transmission burst when this policy configuration is applied to a Meter." ::= { diffPolicyMeterEntry 3 } diffPolicyMeterFailNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The next Meter or Action configured that will handle the traffic when the meter does not conform the meter. This value points can point towards an entry in the diffPolicyMeterTable, diffPolicyActionTable. The value 'zeroDotZero' is used when there is no next component in the data path." DEFVAL { zeroDotZero } ::= { diffPolicyMeterEntry 4 } diffPolicyMeterSucceedNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The next Meter or Action configured that will handle the traffic when the meter does conform the meter. This value points can point towards an entry in the diffPolicyMeterTable, diffPolicyActionTable. The value 'zeroDotZero' is used when there is no next component in the data path." DEFVAL { zeroDotZero } ::= { diffPolicyMeterEntry 5 } diffPolicyMeterStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the creation or deletion of a meter configuration." ::= { diffPolicyMeterEntry 6 } -- -- Actions -- diffPolicyActionUnique OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "The diffPolicyActionUnique object yields a unique new value for diffPolicyActionId when read and subsequently set. This value must be tested for uniqueness." ::= { diffPolicyMIBObjects 5 } diffPolicyActionTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffPolicyActionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This Table enumerates templates for actions that can be performed on a stream of traffic. Various templates can be concatenated. This table can be used for configuration of the 'diffServActionTable' and 'diffServDscpMarkActTable'. For policy configuration for these 2 tables they are combined in 1 table." ::= { diffPolicyMIBObjects 6 } diffPolicyActionEntry OBJECT-TYPE SYNTAX DiffPolicyActionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the action table describes the actions applied to traffic exiting a given meter." INDEX { diffPolicyActionId } ::= { diffPolicyActionTable 1 } DiffPolicyActionEntry ::= SEQUENCE { diffPolicyActionId Unsigned32, diffPolicyActionNext RowPointer, diffPolicyActionType INTEGER, diffPolicyActionStatus RowStatus } diffPolicyActionId OBJECT-TYPE SYNTAX Unsigned32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Action Id enumerates the Action entry for a per-hop-behavior definition." ::= { diffPolicyActionEntry 1 } diffPolicyActionNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The Next pointer indicates the next data path element to handle the traffic that is applicable to this per-hop-behavior definition. The value 'zeroDotZero' is used when there is no next component in the data path." DEFVAL { zeroDotZero } ::= { diffPolicyActionEntry 2 } diffPolicyActionType OBJECT-TYPE SYNTAX INTEGER { other(1), -- types not specified here. mark(2), -- mark or remark count(3), -- count alwaysDrop(4), -- disallow traffic tailDrop(5), -- fix queue size Drop randomDrop(6), -- Random Drop deterDrop(7) -- Deterministic Drop } MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the type of action for this configuration." ::= { diffPolicyActionEntry 3 } diffPolicyActionStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the creation, or deletion of a action configuration." ::= { diffPolicyActionEntry 4 } -- -- Queues -- diffPolicyQUnique OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "The diffPolicyQUnique object yields a unique new value for diffPolicyQId when read and subsequently set. This value must be tested for uniqueness." ::= { diffPolicyMIBObjects 7 } diffPolicyQTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffPolicyQEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Queue Table enumerates the queues that can be assigned when a per-hop-behavior is assigned. This table includes the measure values which are defined in the DIFF-SERV-MIB in a separate table." ::= { diffPolicyMIBObjects 8 } diffPolicyQEntry OBJECT-TYPE SYNTAX DiffPolicyQEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the Queue Table describes a single FIFO queue." INDEX { diffPolicyQId, diffPolicyQId } ::= { diffPolicyQTable 1 } DiffPolicyQEntry ::= SEQUENCE { diffPolicyQId Integer32, diffPolicyQPriority Unsigned32, diffPolicyQMinRateAbs Unsigned32, diffPolicyQMinRateRel Unsigned32, diffPolicyQMaxRateAbs Unsigned32, diffPolicyQMaxRateRel Unsigned32, diffPolicyQStatus RowStatus } diffPolicyQId OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Queue Id enumerates the Queue entry." ::= { diffPolicyQEntry 1 } diffPolicyQPriority OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The priority of the queue." ::= { diffPolicyQEntry 2 } diffPolicyQMinRateAbs OBJECT-TYPE SYNTAX Unsigned32 UNITS "kilobits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The minimum absolute rate, in kilobits/sec, with which a downstream scheduler element should configured." REFERENCE "diffServQMinRateAbs from [DIFFSERVMIB]" ::= { diffPolicyQEntry 3 } diffPolicyQMinRateRel OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The minimum rate with which a downstream scheduler element should be configured." REFERENCE "diffServQMinRateRel from [DIFFSERVMIB]" ::= { diffPolicyQEntry 4 } diffPolicyQMaxRateAbs OBJECT-TYPE SYNTAX Unsigned32 UNITS "kilobits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum absolute rate, in kilobits/sec, with which a downstream scheduler element should configured." REFERENCE "diffServQMaxRateAbs from [DIFFSERVMIB]" ::= { diffPolicyQEntry 5 } diffPolicyQMaxRateRel OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum rate with which a downstream scheduler element should be configured." REFERENCE "diffServQMaxRateRel from [DIFFSERVMIB]" ::= { diffPolicyQEntry 6 } diffPolicyQStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the creation, or deletion of a queue configuration." ::= { diffPolicyQEntry 7 } -- -- Scheduler -- diffPolicySchedulerUnique OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "The diffPolicySchedulerUnique object yields a unique new value for diffPolicySchedulerId when read and subsequently set. This value must be tested for uniqueness and can be used by a configuring system to obtain a unique value for diffPolicySchedulerId for purposes of row creation in the diffPolicySchedulerTable." ::= { diffPolicyMIBObjects 9 } diffPolicySchedulerTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffPolicySchedulerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Scheduler Table enumerates policy configuration templates for packet schedulers." ::= { diffPolicyMIBObjects 10 } diffPolicySchedulerEntry OBJECT-TYPE SYNTAX DiffPolicySchedulerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the Policy Scheduler Table describing a single configuration template for a scheduling algorithm." INDEX { diffPolicySchedulerId } ::= { diffPolicySchedulerTable 1 } DiffPolicySchedulerEntry ::= SEQUENCE { diffPolicySchedulerId Integer32, diffPolicySchedulerMethod INTEGER, diffPolicySchedulerNext RowPointer, diffPolicySchedulerStatus RowStatus } diffPolicySchedulerId OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Policy Scheduler Id enumerates the Policy Scheduler entry." ::= { diffPolicySchedulerEntry 1 } diffPolicySchedulerMethod OBJECT-TYPE SYNTAX INTEGER { other(1), -- not listed here priorityq(2), -- Priority Queueing wrr(3) -- Weighed Round Robin } MAX-ACCESS read-create STATUS current DESCRIPTION "The scheduling algorithm used when this policy is applied to a Scheduler." REFERENCE "diffServSchedulerMethod [DIFFSERV-MIB]" ::= { diffPolicySchedulerEntry 2 } diffPolicySchedulerNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The next data path component that is applicable for this scheduler configuration. The value can point to an entry in the 'diffPolicyMeterTable', 'diffPolicyActionTable', 'diffPolicyQTable' or the 'diffPolicySchedulerTable'. The value 'zeroDotZero' is used when there is no next component in the data path." DEFVAL { zeroDotZero } ::= { diffPolicySchedulerEntry 3 } diffPolicySchedulerStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable via which this configuration template can be created, deleted or modified." ::= { diffPolicySchedulerEntry 4 } -- -- MIB Compliance statements. -- diffPolicyMIBCompliances OBJECT IDENTIFIER ::= { diffPolicyMIBConformance 1 } diffPolicyMIBGroups OBJECT IDENTIFIER ::= { diffPolicyMIBConformance 2 } diffPolicyMIBFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The full compliance for this MIB module." MODULE -- This module MANDATORY-GROUPS { diffPolicyMIBPerHopBehaviorGroup, diffPolicyMIBMeterGroup, diffPolicyMIBActionGroup, diffPolicyMIBQueueGroup, diffPolicyMIBSchedulerGroup } ::= { diffPolicyMIBCompliances 1 } diffPolicyMIBPerHopBehaviorGroup OBJECT-GROUP OBJECTS { diffPolicyPHBDescr, diffPolicyPHBOwner, diffPolicyPHBLastChange, diffPolicyPHBTrafficID, diffPolicyPHBClassPrecedence, diffPolicyPHBMeter, diffPolicyPHBAction, diffPolicyPHBQueue, diffPolicyPHBScheduler, diffPolicyPHBStatus } STATUS current DESCRIPTION "The per-hop-behavior Group defines the MIB Objects that describe the configuration template for the per-hop-behavior." ::= { diffPolicyMIBGroups 1 } diffPolicyMIBMeterGroup OBJECT-GROUP OBJECTS { diffPolicyMeterRate, diffPolicyMeterBurstSize, diffPolicyMeterFailNext, diffPolicyMeterSucceedNext, diffPolicyMeterStatus } STATUS current DESCRIPTION "The Meter Group defines the objects used for configuring a generic meter and token bucket elements." ::= { diffPolicyMIBGroups 2 } diffPolicyMIBActionGroup OBJECT-GROUP OBJECTS { diffPolicyActionNext, diffPolicyActionType, diffPolicyActionStatus } STATUS current DESCRIPTION "The Action Group defines the objects used for configuration of actions." ::= { diffPolicyMIBGroups 3 } diffPolicyMIBQueueGroup OBJECT-GROUP OBJECTS { diffPolicyQPriority, diffPolicyQMinRateAbs, diffPolicyQMinRateRel, diffPolicyQMaxRateAbs, diffPolicyQMaxRateRel, diffPolicyQStatus } STATUS current DESCRIPTION "The Queue Group contains the objects which can be used for configuration of Queues." ::= { diffPolicyMIBGroups 4 } diffPolicyMIBSchedulerGroup OBJECT-GROUP OBJECTS { diffPolicySchedulerMethod, diffPolicySchedulerNext, diffPolicySchedulerStatus } STATUS current DESCRIPTION "The Scheduler Group contains the objects that are used for configuration of packet schedulers on interfaces." ::= { diffPolicyMIBGroups 5 } END -- -- Copyright (C) The Internet Society (2000). All Rights -- Reserved. -- -- This document and translations of it may be copied and -- furnished to others, and derivative works that comment on or -- otherwise explain it or assist in its implementation may be -- prepared, copied, published and distributed, in whole or in -- part, without restriction of any kind, provided that the above -- copyright notice and this paragraph are included on all such -- copies and derivative works. However, this document itself -- may not be modified in any way, such as by removing the -- copyright notice or references to the Internet Society or -- other Internet organizations, except as needed for the purpose -- of developing Internet standards in which case the procedures -- for copyrights defined in the Internet Standards process must -- be followed, or as required to translate it into languages -- other than English. -- -- The limited permissions granted above are perpetual and will -- not be revoked by the Internet Society or its successors or -- assigns. -- -- This document and the information contained herein is provided -- on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET -- ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR -- IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE -- USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR -- ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A -- PARTICULAR PURPOSE." -- --