HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 08:16:13 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Thu, 13 Apr 2000 05:55:00 GMT ETag: "323a76-b3a6-38f56134" Accept-Ranges: bytes Content-Length: 45990 Connection: close Content-Type: text/plain Internet Draft DiffServ Policy MIB April 2000 The DiffServ Policy MIB draft-ietf-snmpconf-diffpolicy-01.txt Document Revision: 1.3 April 2000 Harrie Hazewinkel TBD harrie.hazewinkel@bigfoot.com David Partain Ericsson David.Partain@ericsson.com Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Copyright Notice SNMPCONF WG Expires October 2000 [Page 1] Internet Draft DiffServ Policy MIB April 2000 Copyright (C) The Internet Society (2000). All Rights Reserved. 1. ToDos * administrivia: various template things need to be put in (the internet standard management framework, appropriate references, security boilerplate, verify intellectual property clause, the MUST, MAY, SHOULD stuff, etc.) There are unresolved references. * Matt White comments: "I think the "What does this MIB do?" aspect needs to be expanded upon and clarified. Is it an abstraction of the DiffServ MIB? Is it a DiffServ macro storage facility? Is it a little of both? * We need to include at least one example of usage. 2. Abstract The MIB Module described in this document provides a conceptual layer between high-level "network-wide" policy definitions that affect configuration of the differentiated services (DiffServ) subsystem and the instance-specific information that would include such details as the parameters for all the queues associated with each interface in a system. This essentially provides an interface for configuring DiffServ at a conceptually higher layer than that of the DiffServ Architecture MIB [DSARCHMIB]. 3. Introduction This memo defines a MIB module which can be used to convey information about desired network-wide DiffServ-based policy behavior. This module is designed to integrate with the Policy-based Management MIB module [POLICYMIB] as well as the DiffServ Architecture MIB module [DSARCHMIB] published by the DiffServ working group. Together these three documents represent an instance of an integrated architecture for both device-specific and network-wide policy management which is fully integrated with the Internet Standard Management Framework. SNMPCONF WG Expires October 2000 [Page 2] Internet Draft DiffServ Policy MIB April 2000 This is the first of what is expected to be a wide number of other network-wide policy modules to be developed in the future in a wide range of areas. Within the DiffServ architecture a MIB module is already defined [DSARCHMIB] that operates on a device level. The MIB module in this memo (DIFFSERV-POLICY-MIB) should create a coherent policy configuration management view as an umbrella over this "device-specific" MIB. That is, DIFFSERV-POLICY-MIB provides a conceptual API for configuration of DiffServ parameters in a device at a higher level than the DiffServ Architecture MIB. While the intent of this document is similar to that being defined by Policy Information Base documents to be used with COPS-PR [COPS-PR], the degree of reuse from those documents is unclear. 4. The Internet Standard Management Framework Insert framework boilerplate here 5. Definitions Insert appropriate definitions here 5.1. Terms Defined Elsewhere Two companion documents, the Best Current Practices document [SNMPBCP] and the Policy-based Management MIB [POLICYMIB] define terms fundamental to the architecture used for policy- based management using SNMP. These terms are: - insert the terms defined Other IETF working groups (such as the policy framework working group) also have definitions for some of the same concepts. To the greatest extent that it is possible, those definitions will be harmonized with these. SNMPCONF WG Expires October 2000 [Page 3] Internet Draft DiffServ Policy MIB April 2000 5.2. Definitions Specific to this Document The following definitions are specific and required only for this document: - any definitions required will be placed here 6. Relationship to other MIBs In this section we describe the relationship to other MIB modules. The overall architecture used for policy configuration management is described in [POLICYMIB] 6.1. The Policy-based Management MIB module The Policy-based Management MIB module defines MIB tables which are used for representing the capabilities of a device with respect to policy management. Examples of information which is held in these tables are which kinds of policy can be configured at this managed entity (e.g., DiffServ, VPN, etc.), the configured roles of the elements in these managed entities, as well as policy filters and policy actions configured in the managed entity. The DiffServ Policy MIB references information in the(se) table(s) in carrying out configuration of the layer below. TBD: describe precisely the objects referred by the Policy- based management MIB module to the DiffServ Policy MIB module and vice versa. 6.2. The DiffServ MIB module The DiffServ Architecture MIB module [DSARCHMIB] provides a common set of managed objects useful for configuring DiffServ parameters on a particular device. It is this configuration which MAY be done via the objects provided by the DiffServ Policy MIB module defined in this memo. SNMPCONF WG Expires October 2000 [Page 4] Internet Draft DiffServ Policy MIB April 2000 It is recognized that vendors may include additional managed objects in their devices (via vendor-specific MIB modules) for configuring DiffServ parameters. If a vendor chooses to use the objects defined in this memo for configuration, the vendor should also provide additional managed objects in a similar approach as defined for the DiffServ Architecture MIB module and the DiffServ Policy MIB module. The remainder of this subsection will describe the relationship to this MIB module of each table in the DiffServ Architecture MIB module (the DiffServ Policy MIB module). The diffServSixTupleClfrTable is traffic identifying table and does not have a direct influence on the per-hop-behavior. Entries identifying traffic can be used directly by the subsystem implementing the DiffServ Policy MIB module. The diffServClassifierTable instantiates the traffic classification data path. Whenever a configuration is made active a new entry in this table will be created with data path configuration as defined in the diffPolicyPerHopBehaviorTable. The diffServTBMeterTable is the target table for the diffPolicyMeterTable. When per-hop-behavior configurations are made active, the meter configuration used will be instantiated in the diffServTBMeterTable The diffServMarkActTable is a configuration table for traffic marking. It is possible to have mark actions defined in this table that are not used for the traffic. For this reason the manager can use this table directly in conjunction with the DiffServ Policy MIB module. The diffServCountActTable is not used for configuration. The diffServCountActXTable is not used for configuration. The diffServDropActTable is a configuration table for dropping traffic. It is possible to have mark actions defined in this table that are not used for the traffic. For this reason the manager can use this table directly in conjunction with the DiffServ Policy MIB module. The diffServDropActXTable is not used for configuration. SNMPCONF WG Expires October 2000 [Page 5] Internet Draft DiffServ Policy MIB April 2000 The diffServActionTable instantiates actions that can be performed on a stream of traffic. This table is the target for the diffPolicyActionTable whenever a configuration is made active. The diffServQSetTable instantiates queue sets. This table is the target for the diffPolicyQSetTable whenever a configuration is made active. The diffServQTable instantiates queue sets. This table is the target for the diffPolicyQTable whenever a configuration is made active. The diffServQMeasureTable is not used for configuration. 7. MIB Module Design In this section the overall design of the DiffServ Policy MIB module is described. The first part will describe how this module is positioned within the overall architecture. It is expected that MIB modules similar in function will be defined in the future for VPN configuration, security configuration, etc. The DiffServ Policy MIB module of the SNMP-based configuration management framework is positioned between the Policy-based Management MIB module and the instance-specific MIB module (the DiffServ Architecture MIB module) as described in section 5.0. The DiffServ Policy MIB module may be used as a higher level "API" to the instance-specific MIB module. However, this could very specific and different for various implementations. The following scheme of actions MAY be used for the subsystem: 1) The instance-specific MIB module (for this document the DiffServ Architecture MIB module) is assumed already to be implemented on the device. 2) The Policy-based Management MIB module includes the filters and actions and is implemented on the device. 3) The technology-specific policy MIB module (for this document SNMPCONF WG Expires October 2000 [Page 6] Internet Draft DiffServ Policy MIB April 2000 the DiffServ Policy MIB module) registers its capability in the capability table of the Policy-based Management MIB module. 4) If a device has knowledge of default configurations, it can create the required managed objects for the default configurations in the tables of the technology-specific policy MIB module. 5) The manager can then read the capability table after which it knows about the capabilities and can start configuring the technology-specific MIB module and the various roles that may exist (this defines the configurations and associations as necessary) 6) The manager can then via the policy table map/instantiate policies as required. The MIB module is designed with the following tables: - A per-hop-behavior table - A meter table - An action table - A queue-set table - A queue table Unlike most MIB modules changes on the managed objects in this MIB module do not cause a change in the device. This MIB module is used to set up per-hop-behavior configurations. As soon as configurations are made active via the POLICY- MANAGEMENT-MIB, the configurations defined within this MIB module will be instantiated on the instance specific MIB, the DIFF-SERV-MIB. Note that this is a conceptual process. That is, the configuration may not actually go through an API available in the subsystem which implements the DIFF-SERV-MIB module. However, configuration via the DiffServ Policy MIB module will alter the same instrumentation as the DIFF-SERV-MIB module whether it does it via the DIFF-SERV-MIB module or not. The diffPolicyPerHopBehaviorTable provides managed objects for per-hop-behavior configuration. This table contains RowPointers into the following tables in such a way that with SNMPCONF WG Expires October 2000 [Page 7] Internet Draft DiffServ Policy MIB April 2000 them the Traffic Control Block (TCB) can be created as soon as a configuration is made active. The diffPolicyMeterTable provides the managed objects for the meters used in the per-hop-behavior configuration. This table contains also RowPointers into next data-path elements if the traffic conforms to the meter or not. The diffPolicyActionTable provides managed objects for configuring actions that are connected with meters. Via this table by means of 'diffPolicyMeterFailNext' and/or configured. The diffPolicyQSetTable provides managed objects for setting up queue set configurations. The queue sets can be configured with a weight factor, a queuing method, queue rates and the next queue sets. The diffPolicyQTable provides managed objects for setting up individual queue configurations. The individual queues can be configured with the sample interval and the weight of the queue. 8. Managed objects definitions (MIB module) -- Editors' notes: -- This MIB module is a WORK IN PROGRESS. It has not been -- checked for syntactical issues. The important questions are -- not those regarding syntactical issues but rather that we need to -- get the big picture right. -- DIFFSERV-POLICY-MIB DEFINITIONS ::= BEGIN IMPORTS Unsigned32, Counter32, Counter64, OBJECT-TYPE, MODULE-IDENTITY, zeroDotZero, mib-2 FROM SNMPv2-SMI TEXTUAL-CONVENTION, RowStatus, RowPointer, TestAndIncr FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF ifIndex FROM IF-MIB SnmpAdminString FROM SNMP-FRAMEWORK-MIB InetAddressType, InetAddress FROM INET-ADDRESS-MIB SixTupleClfrL4Port, Dscp FROM DIFF-SERV-MIB; diffPolicyMib MODULE-IDENTITY SNMPCONF WG Expires October 2000 [Page 8] Internet Draft DiffServ Policy MIB April 2000 LAST-UPDATED "200004041200Z" -- Tue Apr 4 09:00:00 MET 2000 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 "The MIB module containing 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 a policy is created and activated." ::= { mib-2 XXXX } -- Needs to be assigned by IANA -- -- HARRIE: Do we want separation between objects and tables?? -- HARRIE says: NO, but took the scheme over from the DIFF-SERV-MIB. -- diffPolicyObjects OBJECT IDENTIFIER ::= { diffPolicyMib 1 } diffPolicyTables OBJECT IDENTIFIER ::= { diffPolicyMib 2 } diffPolicyMIBConformance OBJECT IDENTIFIER ::= { diffPolicyMib 3 } -- -- Textual conventions -- -- SNMPCONF WG Expires October 2000 [Page 9] Internet Draft DiffServ Policy MIB April 2000 -- 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? -- Do we want to have a time stamp on the row so that we -- know when the table was changed? -- Do we want to have an owner of each row? diffPolicyPerHopBehaviorTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffPolicyPerHopBehaviorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table which defines the various per-hop-behaviors for which the system has default 'templates'." ::= { diffPolicyTables 1 } diffPolicyPerHopBehaviorEntry OBJECT-TYPE SYNTAX DiffPolicyPerHopBehaviorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The per-hop-behavior entry." INDEX { diffPolicyPerHopBehaviorId } ::= { diffPolicyPerHopBehaviorTable 1 } DiffPolicyPerHopBehaviorEntry ::= SEQUENCE { diffPolicyPerHopBehaviorId INTEGER, diffPolicyPerHopBehaviorDescr SnmpAdminString, diffPolicyPerHopBehaviorTrafficIdentification RowPointer, diffPolicyPerHopBehaviorInterfaceDirection INTEGER, diffPolicyPerHopBehaviorClassificationPrecedence Unsigned32, diffPolicyPerHopBehaviorMeter RowPointer, diffPolicyPerHopBehaviorAction RowPointer, diffPolicyPerHopBehaviorQset RowPointer, diffPolicyPerHopBehaviorStatus RowStatus } diffPolicyPerHopBehaviorId OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique id for the per-hop-behavior." SNMPCONF WG Expires October 2000 [Page 10] Internet Draft DiffServ Policy MIB April 2000 ::= { diffPolicyPerHopBehaviorEntry 1 } diffPolicyPerHopBehaviorDescr 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 strings other than NVT ASCII." ::= { diffPolicyPerHopBehaviorEntry 2 } diffPolicyPerHopBehaviorTrafficIdentification OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The pointer to traffic identification used for this per-hop-behavior definition." ::= { diffPolicyPerHopBehaviorEntry 3 } diffPolicyPerHopBehaviorInterfaceDirection OBJECT-TYPE SYNTAX INTEGER { inbound(1), -- ingress interface outbound(2) -- egress interface } MAX-ACCESS read-create STATUS current DESCRIPTION "The interface direction of this defined per-hop-behavior definition." ::= { diffPolicyPerHopBehaviorEntry 4 } diffPolicyPerHopBehaviorClassificationPrecedence OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "The precedence of the classifier for this per-hop-behavior definition." ::= { diffPolicyPerHopBehaviorEntry 5 } diffPolicyPerHopBehaviorMeter OBJECT-TYPE SYNTAX RowPointer SNMPCONF WG Expires October 2000 [Page 11] Internet Draft DiffServ Policy MIB April 2000 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 definition." DEFVAL { 0 } ::= { diffPolicyPerHopBehaviorEntry 6 } diffPolicyPerHopBehaviorAction 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." DEFVAL { zeroDotZero } ::= { diffPolicyPerHopBehaviorEntry 7 } diffPolicyPerHopBehaviorQset OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The Qset which is next in the data path for the defined classifier applicable to this per-hop-behavior definition." DEFVAL { zeroDotZero } ::= { diffPolicyPerHopBehaviorEntry 8 } diffPolicyPerHopBehaviorStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "RowStatus object used for creation and deletion of rows in this table." ::= { diffPolicyPerHopBehaviorEntry 9 } -- -- Meters Configuration -- -- Issues, which are the same as on the previous table: SNMPCONF WG Expires October 2000 [Page 12] Internet Draft DiffServ Policy MIB April 2000 -- Do we want a spin-lock on this whole table or on each row -- of the table, or not at all? -- Do we want to have a time stamp on the row so that we -- know when the table was changed? -- Do we want to have an owner of each row? 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." ::= { diffPolicyObjects 1 } diffPolicyMeterTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffPolicyMeterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Meter Table enumerates specific token bucket meters that can be used for per-hop-behavior definitions." ::= { diffPolicyTables 2 } 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 INTEGER, diffPolicyMeterRate Unsigned32, diffPolicyMeterBurstSize Unsigned32, diffPolicyMeterFailNext RowPointer, diffPolicyMeterSucceedNext RowPointer, diffPolicyMeterStatus RowStatus } diffPolicyMeterId OBJECT-TYPE SNMPCONF WG Expires October 2000 [Page 13] Internet Draft DiffServ Policy MIB April 2000 SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "MeterId enumerates the meter 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 per-hop-behavior definition." ::= { diffPolicyMeterEntry 2 } diffPolicyMeterBurstSize OBJECT-TYPE SYNTAX Unsigned32 UNITS "bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of bytes in a single transmission burst applicable for this per-hop-behavior definition." ::= { diffPolicyMeterEntry 3 } diffPolicyMeterFailNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "If the traffic does NOT conform to the meter, FailNext indicates the next data path element to handle the traffic that is applicable for this per-hop-behavior definition." DEFVAL { zeroDotZero } ::= { diffPolicyMeterEntry 4 } diffPolicyMeterSucceedNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "If the traffic does conform to the meter, SucceedNext SNMPCONF WG Expires October 2000 [Page 14] Internet Draft DiffServ Policy MIB April 2000 indicates the next data path element to handle the traffic that is applicable for this per-hop-behavior definition." DEFVAL { zeroDotZero } ::= { diffPolicyMeterEntry 5 } diffPolicyMeterStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the activation, deactivation, or deletion of a meter." ::= { diffPolicyMeterEntry 6 } -- -- Actions -- -- Issues, which are the same as on the previous table: -- Do we want a spin-lock on this whole table or on each row -- of the table, or not at all? -- Do we want to have a time stamp on the row so that we -- know when the table was changed? -- Do we want to have an owner of each row? 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." ::= { diffPolicyObjects 2 } diffPolicyActionTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffPolicyActionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Action Table enumerates actions that can be performed on a stream of traffic. Multiple Actions can be concatenated. For example, marking of a stream of traffic exiting a meter (conforming or non-conforming), SNMPCONF WG Expires October 2000 [Page 15] Internet Draft DiffServ Policy MIB April 2000 then perform a drop process with dropped traffic counts maintained. Notice counting is considered as a type of action. The set of flow specific counters in the Count Action Table maintains statistics for a flow that arrives to this Action data path element. This count is always taken before any drop processing is performed." ::= { diffPolicyTables 3 } 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 { ifIndex, diffPolicyInterfaceDirection, diffPolicyActionId } ::= { diffPolicyActionTable 1 } DiffPolicyActionEntry ::= SEQUENCE { diffPolicyActionId Unsigned32, diffPolicyActionNext RowPointer, diffPolicyActionType INTEGER, diffPolicyActionPointer RowPointer, 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." DEFVAL { zeroDotZero } SNMPCONF WG Expires October 2000 [Page 16] Internet Draft DiffServ Policy MIB April 2000 ::= { diffPolicyActionEntry 2 } -- -- Harrie believes this is redundant, since with the pointer -- the type of action can be determined. It even can create -- inconsistencies. -- Harrie says: TO BE DELETED! -- 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 diffPolicyAction points to." ::= { diffPolicyActionEntry 3 } diffPolicyActionPointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "Pointer to a row that provides all the parameters for the type of action indicated applicable for the associated per-hop-behavior." ::= { diffPolicyActionEntry 4 } diffPolicyActionStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the activation, deactivation, or deletion of a meter. Any writable variable may be modified whether the row is active or notInService." ::= { diffPolicyActionEntry 5 } SNMPCONF WG Expires October 2000 [Page 17] Internet Draft DiffServ Policy MIB April 2000 -- -- Queues -- -- same issues as above diffPolicyQSetUnique OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "The diffPolicyQSetUnique object yields a unique new value for diffPolicyQSetId when read and subsequently set. This value must be tested for uniqueness." ::= { diffPolicyObjects 3 } diffPolicyQSetTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffPolicyQSetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Queue Set Table enumerates the queue sets that can be used to define per-hop-behaviors." ::= { diffPolicyTables 4 } diffPolicyQSetEntry OBJECT-TYPE SYNTAX DiffPolicyQSetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describing a single queue set." INDEX { diffPolicyQSetId } ::= { diffPolicyQSetTable 1 } DiffPolicyQSetEntry ::= SEQUENCE { diffPolicyQSetId INTEGER, diffPolicyQSetParentId Unsigned32, diffPolicyQSetWeight Unsigned32, diffPolicyQSetMethod INTEGER, diffPolicyQSetRateUnit INTEGER, diffPolicyQSetMinRate Unsigned32, diffPolicyQSetMaxRate Unsigned32, diffPolicyQSetNext RowPointer, SNMPCONF WG Expires October 2000 [Page 18] Internet Draft DiffServ Policy MIB April 2000 diffPolicyQSetStatus RowStatus } diffPolicyQSetId OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Queue Set Id enumerates the Queue Set entry." ::= { diffPolicyQSetEntry 1 } -- -- HARRIE: has no idea what this means. Do others?? -- HARRIE says: DELETE IT!! I don't see a use for configuration -- and it can be combined with diffPolicyQSetWeight. -- diffPolicyQSetParentId OBJECT-TYPE SYNTAX Unsigned32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Queue Set Parent Id allows the formation of hierarchical relationships between scheduling algorithms." ::= { diffPolicyQSetEntry 2 } diffPolicyQSetWeight OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "Used with QSetParentId in hierarchical scheduling setup. QSetWeight represent the weight of all queues within this queue set, with respect to queues in other queue sets in hierarchical scheduling. For example, this queue set represents the weighed fair queuing scheduling amongst all the queues in this queue set. This set of weighted fair queuing queues as a whole belongs to a priority queuing queue set. QSetWeight determines this queue set's priority/weight in the parent queue set's priority queuing scheduling algorithm. There can be more than one weighed fair queuing queue sets belonging to the same priority queuing parent queue set." ::= { diffPolicyQSetEntry 3 } SNMPCONF WG Expires October 2000 [Page 19] Internet Draft DiffServ Policy MIB April 2000 diffPolicyQSetMethod OBJECT-TYPE SYNTAX INTEGER { other(1), -- not listed here pq(2), -- Priority Queuing wfq(3), -- Weighed Fair Queuing wrr(4) -- Weighed Round Robin } MAX-ACCESS read-create STATUS current DESCRIPTION "The scheduling algorithm used by this queue set that defines the per-hop-behavior." ::= { diffPolicyQSetEntry 4 } diffPolicyQSetRateUnit OBJECT-TYPE SYNTAX INTEGER { kbps(1), -- kilo bits per second packets(2) -- packets per second } MAX-ACCESS read-create STATUS current DESCRIPTION "The unit of measure for the MinRate and MaxRate attributes. The packet unit allows packet fair algorithms in addition to bit fair algorithms." ::= { diffPolicyQSetEntry 5 } diffPolicyQSetMinRate OBJECT-TYPE SYNTAX Unsigned32 UNITS "KBPS" MAX-ACCESS read-create STATUS current DESCRIPTION "The minimum rate for the whole queue set associated per-hop-behavior." ::= { diffPolicyQSetEntry 6 } diffPolicyQSetMaxRate OBJECT-TYPE SYNTAX Unsigned32 UNITS "KBPS" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum rate for the whole queue set associated per-hop-behavior." SNMPCONF WG Expires October 2000 [Page 20] Internet Draft DiffServ Policy MIB April 2000 ::= { diffPolicyQSetEntry 7 } diffPolicyQSetNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "Selects the next data path component to define the associated per-hop-behavior." DEFVAL { zeroDotZero } ::= { diffPolicyQSetEntry 8 } diffPolicyQSetStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the activation, deactivation, or deletion of a queue. Any writable variable may be modified whether the row is active or notInService." ::= { diffPolicyQSetEntry 9 } -- -- same issues as above. 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." ::= { diffPolicyObjects 4 } 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 SNMPCONF WG Expires October 2000 [Page 21] Internet Draft DiffServ Policy MIB April 2000 are defined in the DIFF-SERV-MIB in a separate table." ::= { diffPolicyTables 5 } diffPolicyQEntry OBJECT-TYPE SYNTAX DiffPolicyQEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the Queue Table describes a single FIFO queue." INDEX { diffPolicyQSetId, diffPolicyQId } ::= { diffPolicyQTable 1 } DiffPolicyQEntry ::= SEQUENCE { diffPolicyQId INTEGER, diffPolicyQSchedulerWeight Unsigned32, diffPolicyQAvgSampleInt Unsigned32, diffPolicyQAvgWeightExp Unsigned32, diffPolicyQAvgWeightMan Unsigned32, diffPolicyQQAverage Unsigned32, diffPolicyQStatus RowStatus } diffPolicyQId OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Queue Id enumerates the Queue entry." ::= { diffPolicyQEntry 1 } diffPolicyQSchedulerWeight OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The weight or priority of the queue for the associated per-hop-behavior" ::= { diffPolicyQEntry 2 } diffPolicyQAvgSampleInt OBJECT-TYPE SYNTAX Unsigned32 UNIT millisecond MAX-ACCESS read-create STATUS current SNMPCONF WG Expires October 2000 [Page 22] Internet Draft DiffServ Policy MIB April 2000 DESCRIPTION "The sampling interval for queue average calculation, in milliseconds that is associated with this per-hop-behavior." ::= { diffPolicyQEntry 3 } diffPolicyQAvgWeightExp OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current "The exponent part of weight (in real number format) for queue average calculation that is associated with this per-hop-behavior." ::= { diffPolicyQEntry 4 } diffPolicyQAvgWeightMan OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current "The mantissa part of weight (in real number format) for queue average calculation that is associated with this per-hop-behavior." ::= { diffPolicyQEntry 5 } diffPolicyQQAverage OBJECT-TYPE SYNTAX Unsigned32 UNITS "kilo-bits" MAX-ACCESS read-only STATUS current "The current queue average in kilo bits." ::= { diffPolicyQEntry 6 } diffPolicyQStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the activation, deactivation, or deletion of a queue. Any writable variable may be modified whether the row is active or notInService." ::= { diffPolicyQEntry 7 } -- -- MIB Compliance statements. SNMPCONF WG Expires October 2000 [Page 23] Internet Draft DiffServ Policy MIB April 2000 -- diffPolicyMIBCompliances OBJECT IDENTIFIER ::= { diffPolicyMIBConformance 1 } diffPolicyMIBGroups OBJECT IDENTIFIER ::= { diffPolicyMIBConformance 2 } -- TBD END SNMPCONF WG Expires October 2000 [Page 24] Internet Draft DiffServ Policy MIB April 2000 9. Security Considerations Security information here 10. Editors' Addresses Harrie Hazewinkel Titanstraat 2 9933 CE Delfzijl The Netherlands Phone: +31 596 615843 or +39 331974135 EMail: harrie.hazewinkel@bigfoot.com David Partain Ericsson Radio Systems Research and Innovation P.O. Box 1248 SE-581 12 Linkoping Sweden Phone: +46 13 28 41 44 EMail: David.Partain@ericsson.com 11. Full Copyright Statement 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 SNMPCONF WG Expires October 2000 [Page 25] Internet Draft DiffServ Policy MIB April 2000 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." 12. References [DSARCHMIB] Baker, F., K. Chan, and A. Smith, "Management Information Base for the Differentiated Services Architecture", Work in Progress, March 2000. [POLICYMIB] Waldbusser, S., J. Saperia, T. Hongal, "Policy Based Management MIB", Work in Progress, March 2000. [SNMPBCP] MacFaden M., J. Saperia, "CONFIGURING NETWORKS AND DEVICES WITH SNMP", Work in Progress, March 2000. [COPS-PR] Chan, K.H.., D. Durham, S. Gai, S. Herzog, K. McCloghrie, F. Reichmeyer, J. Seligson, A. Smith, R. Yavatkar, "COPS Usage for Policy Provisioning", Work in Progress, March 2000. SNMPCONF WG Expires October 2000 [Page 26] Internet Draft DiffServ Policy MIB April 2000 Table of Contents 1 ToDos ................................................. 2 2 Abstract .............................................. 2 3 Introduction .......................................... 2 4 The Internet Standard Management Framework ............ 3 5 Definitions ........................................... 3 5.1 Terms Defined Elsewhere ............................. 3 5.2 Definitions Specific to this Document ............... 4 6 Relationship to other MIBs ............................ 4 6.1 The Policy-based Management MIB module .............. 4 6.2 The DiffServ MIB module ............................. 4 7 MIB Module Design ..................................... 6 8 Managed objects definitions (MIB module) .............. 8 9 Security Considerations ............................... 25 10 Editors' Addresses ................................... 25 11 Full Copyright Statement ............................. 25 12 References ........................................... 26 SNMPCONF WG Expires October 2000 [Page 27]