diff options
| author | David Leutgeb <david.leutgeb@mannundmouse.com> | 2023-12-05 12:25:34 +0100 |
|---|---|---|
| committer | David Leutgeb <david.leutgeb@mannundmouse.com> | 2023-12-05 12:25:34 +0100 |
| commit | 98a672123c7872f6b9b75a9a2b6bb3aea504de6a (patch) | |
| tree | 9b13bd7f563c3198047bd359195327cf28b3caf0 /MIBS/DIFFSERV-MIB | |
| download | mibs-98a672123c7872f6b9b75a9a2b6bb3aea504de6a.tar.gz mibs-98a672123c7872f6b9b75a9a2b6bb3aea504de6a.zip | |
Diffstat (limited to 'MIBS/DIFFSERV-MIB')
| -rw-r--r-- | MIBS/DIFFSERV-MIB | 3704 |
1 files changed, 3704 insertions, 0 deletions
diff --git a/MIBS/DIFFSERV-MIB b/MIBS/DIFFSERV-MIB new file mode 100644 index 0000000..e6f2887 --- /dev/null +++ b/MIBS/DIFFSERV-MIB @@ -0,0 +1,3704 @@ +DIFFSERV-MIB DEFINITIONS ::= BEGIN + + IMPORTS + Unsigned32, Counter64, MODULE-IDENTITY, OBJECT-TYPE, + OBJECT-IDENTITY, zeroDotZero, mib-2 + FROM SNMPv2-SMI + TEXTUAL-CONVENTION, RowStatus, RowPointer, + StorageType, AutonomousType + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF + ifIndex, InterfaceIndexOrZero + FROM IF-MIB + InetAddressType, InetAddress, InetAddressPrefixLength, + InetPortNumber + FROM INET-ADDRESS-MIB + BurstSize + FROM INTEGRATED-SERVICES-MIB + Dscp, DscpOrAny + FROM DIFFSERV-DSCP-TC; + +diffServMib MODULE-IDENTITY + LAST-UPDATED "200202070000Z" + ORGANIZATION "IETF Differentiated Services WG" + CONTACT-INFO + " Fred Baker + Cisco Systems + 1121 Via Del Rey + Santa Barbara, CA 93117, USA + E-mail: fred@cisco.com + + Kwok Ho Chan + Nortel Networks + 600 Technology Park Drive + Billerica, MA 01821, USA + E-mail: khchan@nortelnetworks.com + + Andrew Smith + Harbour Networks + Jiuling Building + + + 21 North Xisanhuan Ave. + Beijing, 100089, PRC + E-mail: ah_smith@acm.org + + Differentiated Services Working Group: + diffserv@ietf.org" + DESCRIPTION + "This MIB defines the objects necessary to manage a device that + uses the Differentiated Services Architecture described in RFC + 2475. The Conceptual Model of a Differentiated Services Router + provides supporting information on how such a router is modeled." + REVISION "200202070000Z" + DESCRIPTION + "Initial version, published as RFC 3289." + ::= { mib-2 97 } + +diffServMIBObjects OBJECT IDENTIFIER ::= { diffServMib 1 } +diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 2 } +diffServMIBAdmin OBJECT IDENTIFIER ::= { diffServMib 3 } + +IndexInteger ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "An integer which may be used as a table index." + SYNTAX Unsigned32 (1..4294967295) + +IndexIntegerNextFree ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "An integer which may be used as a new Index in a table. + + The special value of 0 indicates that no more new entries can be + created in the relevant table. + + When a MIB is used for configuration, an object with this SYNTAX + always contains a legal value (if non-zero) for an index that is + not currently used in the relevant table. The Command Generator + (Network Management Application) reads this variable and uses the + (non-zero) value read when creating a new row with an SNMP SET. + When the SET is performed, the Command Responder (agent) must + determine whether the value is indeed still unused; Two Network + Management Applications may attempt to create a row + (configuration entry) simultaneously and use the same value. If + it is currently unused, the SET succeeds and the Command + Responder (agent) changes the value of this object, according to + an implementation-specific algorithm. If the value is in use, + + + + however, the SET fails. The Network Management Application must + then re-read this variable to obtain a new usable value. + + An OBJECT-TYPE definition using this SYNTAX MUST specify the + relevant table for which the object is providing this + functionality." + SYNTAX Unsigned32 (0..4294967295) + +IfDirection ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "IfDirection specifies a direction of data travel on an + interface. 'inbound' traffic is operated on during reception from + the interface, while 'outbound' traffic is operated on prior to + transmission on the interface." + SYNTAX INTEGER { + inbound(1), -- ingress interface + outbound(2) -- egress interface +} + +-- +-- Data Path +-- + +diffServDataPath OBJECT IDENTIFIER ::= { diffServMIBObjects 1 } + +-- +-- Data Path Table +-- +-- The Data Path Table enumerates the Differentiated Services +-- Functional Data Paths within this device. Each entry in this table +-- is indexed by ifIndex and ifDirection. Each entry provides the +-- first Differentiated Services Functional Data Path Element to +-- process data flowing along specific data path. This table should +-- have at most two entries for each interface capable of +-- Differentiated Services processing on this device: ingress and +-- egress. + +-- Note that Differentiated Services Functional Data Path Elements +-- linked together using their individual next pointers and anchored by +-- an entry of the diffServDataPathTable constitute a functional data +-- path. +-- + +diffServDataPathTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServDataPathEntry + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "The data path table contains RowPointers indicating the start of + the functional data path for each interface and traffic direction + in this device. These may merge, or be separated into parallel + data paths." + ::= { diffServDataPath 1 } + +diffServDataPathEntry OBJECT-TYPE + SYNTAX DiffServDataPathEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the data path table indicates the start of a single + Differentiated Services Functional Data Path in this device. + + These are associated with individual interfaces, logical or + physical, and therefore are instantiated by ifIndex. Therefore, + the interface index must have been assigned, according to the + procedures applicable to that, before it can be meaningfully + used. Generally, this means that the interface must exist. + + When diffServDataPathStorage is of type nonVolatile, however, + this may reflect the configuration for an interface whose ifIndex + has been assigned but for which the supporting implementation is + not currently present." + INDEX { ifIndex, diffServDataPathIfDirection } + ::= { diffServDataPathTable 1 } + +DiffServDataPathEntry ::= SEQUENCE { + diffServDataPathIfDirection IfDirection, + diffServDataPathStart RowPointer, + diffServDataPathStorage StorageType, + diffServDataPathStatus RowStatus +} + +diffServDataPathIfDirection OBJECT-TYPE + SYNTAX IfDirection + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "IfDirection specifies whether the reception or transmission path + for this interface is in view." + ::= { diffServDataPathEntry 1 } + +diffServDataPathStart OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "This selects the first Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates that no + Differentiated Services treatment is performed on traffic of this + data path. A pointer with the value zeroDotZero normally + terminates a functional data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServDataPathEntry 2 } + +diffServDataPathStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServDataPathEntry 3 } + +diffServDataPathStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time." + ::= { diffServDataPathEntry 4 } + +-- +-- Classifiers +-- + +diffServClassifier OBJECT IDENTIFIER ::= { diffServMIBObjects 2 } + +-- + + + +-- Classifier Table +-- +-- The Classifier Table allows multiple classifier elements, of same or +-- different types, to be used together. A classifier must completely +-- classify all packets presented to it. This means that all traffic +-- presented to a classifier must match at least one classifier element +-- within the classifier, with the classifier element parameters +-- specified by a filter. + +-- If there is ambiguity between classifier elements of different +-- classifier, classifier linkage order indicates their precedence; the +-- first classifier in the link is applied to the traffic first. + +-- Entries in the classifier element table serves as the anchor for +-- each classification pattern, defined in filter table entries. Each +-- classifier element table entry also specifies the subsequent +-- downstream Differentiated Services Functional Data Path Element when +-- the classification pattern is satisfied. Each entry in the +-- classifier element table describes one branch of the fan-out +-- characteristic of a classifier indicated in the Informal +-- Differentiated Services Model section 4.1. A classifier is composed +-- of one or more classifier elements. + +diffServClfrNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServClfrId, or a + zero to indicate that none exist." + ::= { diffServClassifier 1 } + +diffServClfrTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServClfrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table enumerates all the diffserv classifier functional + data path elements of this device. The actual classification + definitions are defined in diffServClfrElementTable entries + belonging to each classifier. + + An entry in this table, pointed to by a RowPointer specifying an + instance of diffServClfrStatus, is frequently used as the name + for a set of classifier elements, which all use the index + diffServClfrId. Per the semantics of the classifier element + table, these entries constitute one or more unordered sets of + tests which may be simultaneously applied to a message to + + + + classify it. + + The primary function of this table is to ensure that the value of + diffServClfrId is unique before attempting to use it in creating + a diffServClfrElementEntry. Therefore, the diffServClfrEntry must + be created on the same SET as the diffServClfrElementEntry, or + before the diffServClfrElementEntry is created." + ::= { diffServClassifier 2 } + +diffServClfrEntry OBJECT-TYPE + SYNTAX DiffServClfrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the classifier table describes a single classifier. + All classifier elements belonging to the same classifier use the + classifier's diffServClfrId as part of their index." + INDEX { diffServClfrId } + ::= { diffServClfrTable 1 } + +DiffServClfrEntry ::= SEQUENCE { + diffServClfrId IndexInteger, + diffServClfrStorage StorageType, + diffServClfrStatus RowStatus +} + +diffServClfrId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the classifier entries. Managers + should obtain new values for row creation in this table by + reading diffServClfrNextFree." + ::= { diffServClfrEntry 1 } + +diffServClfrStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServClfrEntry 2 } + +diffServClfrStatus OBJECT-TYPE + + + + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServClfrEntry 3 } + +-- +-- Classifier Element Table +-- +diffServClfrElementNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServClfrElementId, + or a zero to indicate that none exist." + ::= { diffServClassifier 3 } + +diffServClfrElementTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServClfrElementEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The classifier element table enumerates the relationship between + classification patterns and subsequent downstream Differentiated + Services Functional Data Path elements. + diffServClfrElementSpecific points to a filter that specifies the + classification parameters. A classifier may use filter tables of + different types together. + + One example of a filter table defined in this MIB is + diffServMultiFieldClfrTable, for IP Multi-Field Classifiers + (MFCs). Such an entry might identify anything from a single + micro-flow (an identifiable sub-session packet stream directed + from one sending transport to the receiving transport or + transports), or aggregates of those such as the traffic from a + host, traffic for an application, or traffic between two hosts + using an application and a given DSCP. The standard Behavior + Aggregate used in the Differentiated Services Architecture is + encoded as a degenerate case of such an aggregate - the traffic + using a particular DSCP value. + + Filter tables for other filter types may be defined elsewhere." + + + + ::= { diffServClassifier 4 } + +diffServClfrElementEntry OBJECT-TYPE + SYNTAX DiffServClfrElementEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the classifier element table describes a single + element of the classifier." + INDEX { diffServClfrId, diffServClfrElementId } + ::= { diffServClfrElementTable 1 } + +DiffServClfrElementEntry ::= SEQUENCE { + diffServClfrElementId IndexInteger, + diffServClfrElementPrecedence Unsigned32, + diffServClfrElementNext RowPointer, + diffServClfrElementSpecific RowPointer, + diffServClfrElementStorage StorageType, + diffServClfrElementStatus RowStatus +} + +diffServClfrElementId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Classifier Element entries. + Managers obtain new values for row creation in this table by + reading diffServClfrElementNextFree." + ::= { diffServClfrElementEntry 1 } + +diffServClfrElementPrecedence OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The relative order in which classifier elements are applied: + higher numbers represent classifier element with higher + precedence. Classifier elements with the same order must be + unambiguous i.e. they must define non-overlapping patterns, and + are considered to be applied simultaneously to the traffic + stream. Classifier elements with different order may overlap in + their filters: the classifier element with the highest order + that matches is taken. + + On a given interface, there must be a complete classifier in + place at all times in the ingress direction. This means one or + more filters must match any possible pattern. There is no such + + + + requirement in the egress direction." + ::= { diffServClfrElementEntry 2 } + +diffServClfrElementNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This attribute provides one branch of the fan-out functionality + of a classifier described in the Informal Differentiated Services + Model section 4.1. + + This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + + ::= { diffServClfrElementEntry 3 } + +diffServClfrElementSpecific OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A pointer to a valid entry in another table, filter table, that + describes the applicable classification parameters, e.g. an entry + in diffServMultiFieldClfrTable. + + The value zeroDotZero is interpreted to match anything not + matched by another classifier element - only one such entry may + exist for each classifier. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + + + + becomes inactive by other means, the element is ignored." + ::= { diffServClfrElementEntry 4 } + +diffServClfrElementStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServClfrElementEntry 5 } + +diffServClfrElementStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServClfrElementEntry 6 } + +-- +-- IP Multi-field Classification Table +-- +-- Classification based on six different fields in the IP header. +-- Functional Data Paths may share definitions by using the same entry. +-- + +diffServMultiFieldClfrNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for + diffServMultiFieldClfrId, or a zero to indicate that none exist." + ::= { diffServClassifier 5 } + +diffServMultiFieldClfrTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServMultiFieldClfrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table of IP Multi-field Classifier filter entries that a + + + + system may use to identify IP traffic." + ::= { diffServClassifier 6 } + +diffServMultiFieldClfrEntry OBJECT-TYPE + SYNTAX DiffServMultiFieldClfrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An IP Multi-field Classifier entry describes a single filter." + INDEX { diffServMultiFieldClfrId } + ::= { diffServMultiFieldClfrTable 1 } + +DiffServMultiFieldClfrEntry ::= SEQUENCE { + diffServMultiFieldClfrId IndexInteger, + diffServMultiFieldClfrAddrType InetAddressType, + diffServMultiFieldClfrDstAddr InetAddress, + diffServMultiFieldClfrDstPrefixLength InetAddressPrefixLength, + diffServMultiFieldClfrSrcAddr InetAddress, + diffServMultiFieldClfrSrcPrefixLength InetAddressPrefixLength, + diffServMultiFieldClfrDscp DscpOrAny, + diffServMultiFieldClfrFlowId Unsigned32, + diffServMultiFieldClfrProtocol Unsigned32, + diffServMultiFieldClfrDstL4PortMin InetPortNumber, + diffServMultiFieldClfrDstL4PortMax InetPortNumber, + diffServMultiFieldClfrSrcL4PortMin InetPortNumber, + diffServMultiFieldClfrSrcL4PortMax InetPortNumber, + diffServMultiFieldClfrStorage StorageType, + diffServMultiFieldClfrStatus RowStatus +} + +diffServMultiFieldClfrId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the MultiField Classifier filter + entries. Managers obtain new values for row creation in this + table by reading diffServMultiFieldClfrNextFree." + + ::= { diffServMultiFieldClfrEntry 1 } + +diffServMultiFieldClfrAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of IP address used by this classifier entry. While + other types of addresses are defined in the InetAddressType + + + + textual convention, and DNS names, a classifier can only look at + packets on the wire. Therefore, this object is limited to IPv4 + and IPv6 addresses." + ::= { diffServMultiFieldClfrEntry 2 } + +diffServMultiFieldClfrDstAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The IP address to match against the packet's destination IP + address. This may not be a DNS name, but may be an IPv4 or IPv6 + prefix. diffServMultiFieldClfrDstPrefixLength indicates the + number of bits that are relevant." + ::= { diffServMultiFieldClfrEntry 3 } + +diffServMultiFieldClfrDstPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + UNITS "bits" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The length of the CIDR Prefix carried in + diffServMultiFieldClfrDstAddr. In IPv4 addresses, a length of 0 + indicates a match of any address; a length of 32 indicates a + match of a single host address, and a length between 0 and 32 + indicates the use of a CIDR Prefix. IPv6 is similar, except that + prefix lengths range from 0..128." + DEFVAL { 0 } + ::= { diffServMultiFieldClfrEntry 4 } + +diffServMultiFieldClfrSrcAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The IP address to match against the packet's source IP address. + This may not be a DNS name, but may be an IPv4 or IPv6 prefix. + diffServMultiFieldClfrSrcPrefixLength indicates the number of + bits that are relevant." + ::= { diffServMultiFieldClfrEntry 5 } + +diffServMultiFieldClfrSrcPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + UNITS "bits" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + + + + "The length of the CIDR Prefix carried in + diffServMultiFieldClfrSrcAddr. In IPv4 addresses, a length of 0 + indicates a match of any address; a length of 32 indicates a + match of a single host address, and a length between 0 and 32 + indicates the use of a CIDR Prefix. IPv6 is similar, except that + prefix lengths range from 0..128." + DEFVAL { 0 } + ::= { diffServMultiFieldClfrEntry 6 } + +diffServMultiFieldClfrDscp OBJECT-TYPE + SYNTAX DscpOrAny + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value that the DSCP in the packet must have to match this + entry. A value of -1 indicates that a specific DSCP value has not + been defined and thus all DSCP values are considered a match." + DEFVAL { -1 } + ::= { diffServMultiFieldClfrEntry 7 } + +diffServMultiFieldClfrFlowId OBJECT-TYPE + SYNTAX Unsigned32 (0..1048575) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The flow identifier in an IPv6 header." + ::= { diffServMultiFieldClfrEntry 8 } + +diffServMultiFieldClfrProtocol OBJECT-TYPE + SYNTAX Unsigned32 (0..255) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The IP protocol to match against the IPv4 protocol number or the + IPv6 Next- Header number in the packet. A value of 255 means + match all. Note the protocol number of 255 is reserved by IANA, + and Next-Header number of 0 is used in IPv6." + DEFVAL { 255 } + ::= { diffServMultiFieldClfrEntry 9 } + +diffServMultiFieldClfrDstL4PortMin OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The minimum value that the layer-4 destination port number in + the packet must have in order to match this classifier entry." + DEFVAL { 0 } + + + + ::= { diffServMultiFieldClfrEntry 10 } + +diffServMultiFieldClfrDstL4PortMax OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum value that the layer-4 destination port number in + the packet must have in order to match this classifier entry. + This value must be equal to or greater than the value specified + for this entry in diffServMultiFieldClfrDstL4PortMin." + DEFVAL { 65535 } + ::= { diffServMultiFieldClfrEntry 11 } + +diffServMultiFieldClfrSrcL4PortMin OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The minimum value that the layer-4 source port number in the + packet must have in order to match this classifier entry." + DEFVAL { 0 } + ::= { diffServMultiFieldClfrEntry 12 } + +diffServMultiFieldClfrSrcL4PortMax OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum value that the layer-4 source port number in the + packet must have in order to match this classifier entry. This + value must be equal to or greater than the value specified for + this entry in diffServMultiFieldClfrSrcL4PortMin." + DEFVAL { 65535 } + ::= { diffServMultiFieldClfrEntry 13 } + +diffServMultiFieldClfrStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServMultiFieldClfrEntry 14 } + +diffServMultiFieldClfrStatus OBJECT-TYPE + + + + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServMultiFieldClfrEntry 15 } + +-- +-- Meters +-- + +diffServMeter OBJECT IDENTIFIER ::= { diffServMIBObjects 3 } + +-- +-- This MIB supports a variety of Meters. It includes a specific +-- definition for Token Bucket Meter, which are but one type of +-- specification. Other metering parameter sets can be defined in other +-- MIBs. + +-- Multiple meter elements may be logically cascaded using their +-- diffServMeterSucceedNext and diffServMeterFailNext pointers if +-- required. One example of this might be for an AF PHB implementation +-- that uses multiple level conformance meters. + +-- Cascading of individual meter elements in the MIB is intended to be +-- functionally equivalent to multiple level conformance determination +-- of a packet. The sequential nature of the representation is merely +-- a notational convenience for this MIB. + +-- srTCM meters (RFC 2697) can be specified using two sets of +-- diffServMeterEntry and diffServTBParamEntry. The first set specifies +-- the Committed Information Rate and Committed Burst Size +-- token-bucket. The second set specifies the Excess Burst Size +-- token-bucket. + +-- trTCM meters (RFC 2698) can be specified using two sets of +-- diffServMeterEntry and diffServTBParamEntry. The first set specifies +-- the Committed Information Rate and Committed Burst Size +-- token-bucket. The second set specifies the Peak Information Rate +-- and Peak Burst Size token-bucket. + +-- tswTCM meters (RFC 2859) can be specified using two sets of +-- diffServMeterEntry and diffServTBParamEntry. The first set specifies +-- the Committed Target Rate token-bucket. The second set specifies + + + +-- the Peak Target Rate token-bucket. diffServTBParamInterval in each +-- token bucket reflects the Average Interval. +-- + +diffServMeterNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServMeterId, or a + zero to indicate that none exist." + ::= { diffServMeter 1 } + +diffServMeterTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServMeterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table enumerates specific meters that a system may use to + police a stream of traffic. The traffic stream to be metered is + determined by the Differentiated Services Functional Data Path + Element(s) upstream of the meter i.e. by the object(s) that point + to each entry in this table. This may include all traffic on an + interface. + + Specific meter details are to be found in table entry referenced + by diffServMeterSpecific." + ::= { diffServMeter 2 } + +diffServMeterEntry OBJECT-TYPE + SYNTAX DiffServMeterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the meter table describes a single conformance level + of a meter." + INDEX { diffServMeterId } + ::= { diffServMeterTable 1 } + +DiffServMeterEntry ::= SEQUENCE { + diffServMeterId IndexInteger, + diffServMeterSucceedNext RowPointer, + diffServMeterFailNext RowPointer, + diffServMeterSpecific RowPointer, + diffServMeterStorage StorageType, + diffServMeterStatus RowStatus +} + + + + +diffServMeterId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Meter entries. Managers obtain new + values for row creation in this table by reading + diffServMeterNextFree." + ::= { diffServMeterEntry 1 } + +diffServMeterSucceedNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the traffic does conform, this selects the next + Differentiated Services Functional Data Path element to handle + traffic for this data path. This RowPointer should point to an + instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates that no + further Differentiated Services treatment is performed on traffic + of this data path. The use of zeroDotZero is the normal usage for + the last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServMeterEntry 2 } + +diffServMeterFailNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the traffic does not conform, this selects the next + Differentiated Services Functional Data Path element to handle + traffic for this data path. This RowPointer should point to an + instance of one of: + diffServClfrEntry + diffServMeterEntry + + + + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServMeterEntry 3 } + +diffServMeterSpecific OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This indicates the behavior of the meter by pointing to an entry + containing detailed parameters. Note that entries in that + specific table must be managed explicitly. + + For example, diffServMeterSpecific may point to an entry in + diffServTBParamTable, which contains an instance of a single set + of Token Bucket parameters. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the meter always succeeds." + ::= { diffServMeterEntry 4 } + +diffServMeterStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServMeterEntry 5 } + +diffServMeterStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + + + + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServMeterEntry 6 } + +-- +-- Token Bucket Parameter Table +-- + +diffServTBParam OBJECT IDENTIFIER ::= { diffServMIBObjects 4 } + +-- Each entry in the Token Bucket Parameter Table parameterize a single +-- token bucket. Multiple token buckets can be used together to +-- parameterize multiple levels of conformance. + +-- Note that an entry in the Token Bucket Parameter Table can be shared +-- by multiple diffServMeterTable entries. +-- + +diffServTBParamNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServTBParamId, or a + zero to indicate that none exist." + ::= { diffServTBParam 1 } + +diffServTBParamTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServTBParamEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table enumerates a single set of token bucket meter + parameters that a system may use to police a stream of traffic. + Such meters are modeled here as having a single rate and a single + burst size. Multiple entries are used when multiple rates/burst + sizes are needed." + ::= { diffServTBParam 2 } + +diffServTBParamEntry OBJECT-TYPE + SYNTAX DiffServTBParamEntry + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "An entry that describes a single set of token bucket + parameters." + INDEX { diffServTBParamId } + ::= { diffServTBParamTable 1 } + +DiffServTBParamEntry ::= SEQUENCE { + diffServTBParamId IndexInteger, + diffServTBParamType AutonomousType, + diffServTBParamRate Unsigned32, + diffServTBParamBurstSize BurstSize, + diffServTBParamInterval Unsigned32, + diffServTBParamStorage StorageType, + diffServTBParamStatus RowStatus +} + +diffServTBParamId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Token Bucket Parameter entries. + Managers obtain new values for row creation in this table by + reading diffServTBParamNextFree." + ::= { diffServTBParamEntry 1 } + +diffServTBParamType OBJECT-TYPE + SYNTAX AutonomousType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The Metering algorithm associated with the Token Bucket + parameters. zeroDotZero indicates this is unknown. + + Standard values for generic algorithms: + diffServTBParamSimpleTokenBucket, diffServTBParamAvgRate, + diffServTBParamSrTCMBlind, diffServTBParamSrTCMAware, + diffServTBParamTrTCMBlind, diffServTBParamTrTCMAware, and + diffServTBParamTswTCM are specified in this MIB as OBJECT- + IDENTITYs; additional values may be further specified in other + MIBs." + ::= { diffServTBParamEntry 2 } + +diffServTBParamRate OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "kilobits per second" + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "The token-bucket rate, in kilobits per second (kbps). This + attribute is used for: + 1. CIR in RFC 2697 for srTCM + 2. CIR and PIR in RFC 2698 for trTCM + 3. CTR and PTR in RFC 2859 for TSWTCM + 4. AverageRate in RFC 3290." + ::= { diffServTBParamEntry 3 } + +diffServTBParamBurstSize OBJECT-TYPE + SYNTAX BurstSize + UNITS "Bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum number of bytes in a single transmission burst. This + attribute is used for: + 1. CBS and EBS in RFC 2697 for srTCM + 2. CBS and PBS in RFC 2698 for trTCM + 3. Burst Size in RFC 3290." + ::= { diffServTBParamEntry 4 } + +diffServTBParamInterval OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "microseconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The time interval used with the token bucket. For: + 1. Average Rate Meter, the Informal Differentiated Services Model + section 5.2.1, - Delta. + 2. Simple Token Bucket Meter, the Informal Differentiated + Services Model section 5.1, - time interval t. + 3. RFC 2859 TSWTCM, - AVG_INTERVAL. + 4. RFC 2697 srTCM, RFC 2698 trTCM, - token bucket update time + interval." + ::= { diffServTBParamEntry 5 } + +diffServTBParamStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServTBParamEntry 6 } + + + +diffServTBParamStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServTBParamEntry 7 } + +-- +-- OIDs for diffServTBParamType definitions. +-- + +diffServTBMeters OBJECT IDENTIFIER ::= { diffServMIBAdmin 1 } + +diffServTBParamSimpleTokenBucket OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Two Parameter Token Bucket Meter as described in the Informal + Differentiated Services Model section 5.2.3." + ::= { diffServTBMeters 1 } + +diffServTBParamAvgRate OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Average Rate Meter as described in the Informal Differentiated + Services Model section 5.2.1." + ::= { diffServTBMeters 2 } + +diffServTBParamSrTCMBlind OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Single Rate Three Color Marker Metering as defined by RFC 2697, + in the `Color Blind' mode as described by the RFC." + REFERENCE + "RFC 2697" + ::= { diffServTBMeters 3 } + +diffServTBParamSrTCMAware OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Single Rate Three Color Marker Metering as defined by RFC 2697, + in the `Color Aware' mode as described by the RFC." + REFERENCE + "RFC 2697" + + + + ::= { diffServTBMeters 4 } + +diffServTBParamTrTCMBlind OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Two Rate Three Color Marker Metering as defined by RFC 2698, in + the `Color Blind' mode as described by the RFC." + REFERENCE + "RFC 2698" + ::= { diffServTBMeters 5 } + +diffServTBParamTrTCMAware OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Two Rate Three Color Marker Metering as defined by RFC 2698, in + the `Color Aware' mode as described by the RFC." + REFERENCE + "RFC 2698" + ::= { diffServTBMeters 6 } + +diffServTBParamTswTCM OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Time Sliding Window Three Color Marker Metering as defined by + RFC 2859." + REFERENCE + "RFC 2859" + ::= { diffServTBMeters 7 } + +-- +-- Actions +-- + +diffServAction OBJECT IDENTIFIER ::= { diffServMIBObjects 5 } + +-- +-- The Action Table allows enumeration of the different types of +-- actions to be applied to a traffic flow. +-- + +diffServActionNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServActionId, or a + zero to indicate that none exist." + ::= { diffServAction 1 } + + + +diffServActionTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServActionEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Action Table enumerates actions that can be performed to a + stream of traffic. Multiple actions can be concatenated. For + example, traffic exiting from a meter may be counted, marked, and + potentially dropped before entering a queue. + + Specific actions are indicated by diffServActionSpecific which + points to an entry of a specific action type parameterizing the + action in detail." + ::= { diffServAction 2 } + +diffServActionEntry OBJECT-TYPE + SYNTAX DiffServActionEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry in the action table allows description of one + specific action to be applied to traffic." + INDEX { diffServActionId } + ::= { diffServActionTable 1 } + +DiffServActionEntry ::= SEQUENCE { + diffServActionId IndexInteger, + diffServActionInterface InterfaceIndexOrZero, + diffServActionNext RowPointer, + diffServActionSpecific RowPointer, + diffServActionStorage StorageType, + diffServActionStatus RowStatus +} + +diffServActionId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Action entries. Managers obtain + new values for row creation in this table by reading + diffServActionNextFree." + ::= { diffServActionEntry 1 } + +diffServActionInterface OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "The interface index (value of ifIndex) that this action occurs + on. This may be derived from the diffServDataPathStartEntry's + index by extension through the various RowPointers. However, as + this may be difficult for a network management station, it is + placed here as well. If this is indeterminate, the value is + zero. + + This is of especial relevance when reporting the counters which + may apply to traffic crossing an interface: + diffServCountActOctets, + diffServCountActPkts, + diffServAlgDropOctets, + diffServAlgDropPkts, + diffServAlgRandomDropOctets, and + diffServAlgRandomDropPkts. + + It is also especially relevant to the queue and scheduler which + may be subsequently applied." + ::= { diffServActionEntry 2 } + +diffServActionNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServActionEntry 3 } + +diffServActionSpecific OBJECT-TYPE + + + + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A pointer to an object instance providing additional information + for the type of action indicated by this action table entry. + + For the standard actions defined by this MIB module, this should + point to either a diffServDscpMarkActEntry or a + diffServCountActEntry. For other actions, it may point to an + object instance defined in some other MIB. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the Meter should be treated as + if it were not present. This may lead to incorrect policy + behavior." + ::= { diffServActionEntry 4 } + +diffServActionStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServActionEntry 5 } + +diffServActionStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServActionEntry 6 } + +-- DSCP Mark Action Table +-- +-- Rows of this table are pointed to by diffServActionSpecific to +-- provide detailed parameters specific to the DSCP Mark action. +-- +-- A single entry in this table can be shared by multiple + + + +-- diffServActionTable entries. +-- + +diffServDscpMarkActTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServDscpMarkActEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table enumerates specific DSCPs used for marking or + remarking the DSCP field of IP packets. The entries of this table + may be referenced by a diffServActionSpecific attribute." + ::= { diffServAction 3 } + +diffServDscpMarkActEntry OBJECT-TYPE + SYNTAX DiffServDscpMarkActEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the DSCP mark action table that describes a single + DSCP used for marking." + INDEX { diffServDscpMarkActDscp } + ::= { diffServDscpMarkActTable 1 } + +DiffServDscpMarkActEntry ::= SEQUENCE { + diffServDscpMarkActDscp Dscp +} + +diffServDscpMarkActDscp OBJECT-TYPE + SYNTAX Dscp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The DSCP that this Action will store into the DSCP field of the + subject. It is quite possible that the only packets subject to + this Action are already marked with this DSCP. Note also that + Differentiated Services processing may result in packet being + marked on both ingress to a network and on egress from it, and + that ingress and egress can occur in the same router." + ::= { diffServDscpMarkActEntry 1 } + +-- +-- Count Action Table +-- +-- Because the MIB structure allows multiple cascading +-- diffServActionEntry be used to describe multiple actions for a data +-- path, the counter became an optional action type. In normal +-- implementation, either a data path has counters or it does not, as +-- opposed to being configurable. The management entity may choose to + + + +-- read the counter or not. Hence it is recommended for implementation +-- that have counters to always configure the count action as the first +-- of multiple actions. +-- + +diffServCountActNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for + diffServCountActId, or a zero to indicate that none exist." + ::= { diffServAction 4 } + +diffServCountActTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServCountActEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains counters for all the traffic passing through + an action element." + ::= { diffServAction 5 } + +diffServCountActEntry OBJECT-TYPE + SYNTAX DiffServCountActEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the count action table describes a single set of + traffic counters." + INDEX { diffServCountActId } + ::= { diffServCountActTable 1 } + +DiffServCountActEntry ::= SEQUENCE { + diffServCountActId IndexInteger, + diffServCountActOctets Counter64, + diffServCountActPkts Counter64, + diffServCountActStorage StorageType, + diffServCountActStatus RowStatus +} + +diffServCountActId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Count Action entries. Managers + obtain new values for row creation in this table by reading + + + + diffServCountActNextFree." + ::= { diffServCountActEntry 1 } + +diffServCountActOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of octets at the Action data path element. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServCountActEntry 2 } + +diffServCountActPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets at the Action data path element. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServCountActEntry 3 } + +diffServCountActStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServCountActEntry 4 } + +diffServCountActStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + + + + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServCountActEntry 5 } + +-- +-- Algorithmic Drop Table +-- + +diffServAlgDrop OBJECT IDENTIFIER ::= { diffServMIBObjects 6 } + +diffServAlgDropNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServAlgDropId, or a + zero to indicate that none exist." + ::= { diffServAlgDrop 1 } + +diffServAlgDropTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServAlgDropEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The algorithmic drop table contains entries describing an + element that drops packets according to some algorithm." + ::= { diffServAlgDrop 2 } + +diffServAlgDropEntry OBJECT-TYPE + SYNTAX DiffServAlgDropEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry describes a process that drops packets according to + some algorithm. Further details of the algorithm type are to be + found in diffServAlgDropType and with more detail parameter entry + pointed to by diffServAlgDropSpecific when necessary." + INDEX { diffServAlgDropId } + ::= { diffServAlgDropTable 1 } + +DiffServAlgDropEntry ::= SEQUENCE { + diffServAlgDropId IndexInteger, + diffServAlgDropType INTEGER, + diffServAlgDropNext RowPointer, + diffServAlgDropQMeasure RowPointer, + diffServAlgDropQThreshold Unsigned32, + diffServAlgDropSpecific RowPointer, + diffServAlgDropOctets Counter64, + + + + diffServAlgDropPkts Counter64, + diffServAlgRandomDropOctets Counter64, + diffServAlgRandomDropPkts Counter64, + diffServAlgDropStorage StorageType, + diffServAlgDropStatus RowStatus +} + +diffServAlgDropId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Algorithmic Dropper entries. + Managers obtain new values for row creation in this table by + reading diffServAlgDropNextFree." + ::= { diffServAlgDropEntry 1 } + +diffServAlgDropType OBJECT-TYPE + SYNTAX INTEGER { + other(1), + tailDrop(2), + headDrop(3), + randomDrop(4), + alwaysDrop(5) +} + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of algorithm used by this dropper. The value other(1) + requires further specification in some other MIB module. + + In the tailDrop(2) algorithm, diffServAlgDropQThreshold + represents the maximum depth of the queue, pointed to by + diffServAlgDropQMeasure, beyond which all newly arriving packets + will be dropped. + + In the headDrop(3) algorithm, if a packet arrives when the + current depth of the queue, pointed to by + diffServAlgDropQMeasure, is at diffServAlgDropQThreshold, packets + currently at the head of the queue are dropped to make room for + the new packet to be enqueued at the tail of the queue. + + In the randomDrop(4) algorithm, on packet arrival, an Active + Queue Management algorithm is executed which may randomly drop a + packet. This algorithm may be proprietary, and it may drop either + the arriving packet or another packet in the queue. + diffServAlgDropSpecific points to a diffServRandomDropEntry that + describes the algorithm. For this algorithm, + + + + diffServAlgDropQThreshold is understood to be the absolute + maximum size of the queue and additional parameters are described + in diffServRandomDropTable. + + The alwaysDrop(5) algorithm is as its name specifies; always + drop. In this case, the other configuration values in this Entry + are not meaningful; There is no useful 'next' processing step, + there is no queue, and parameters describing the queue are not + useful. Therefore, diffServAlgDropNext, diffServAlgDropMeasure, + and diffServAlgDropSpecific are all zeroDotZero." + ::= { diffServAlgDropEntry 2 } + +diffServAlgDropNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + When diffServAlgDropType is alwaysDrop(5), this object is + ignored. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServAlgDropEntry 3 } + +diffServAlgDropQMeasure OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Points to an entry in the diffServQTable to indicate the queue + that a drop algorithm is to monitor when deciding whether to drop + a packet. If the row pointed to does not exist, the algorithmic + dropper element is considered inactive. + + + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServAlgDropEntry 4 } + +diffServAlgDropQThreshold OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "Bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A threshold on the depth in bytes of the queue being measured at + which a trigger is generated to the dropping algorithm, unless + diffServAlgDropType is alwaysDrop(5) where this object is + ignored. + + For the tailDrop(2) or headDrop(3) algorithms, this represents + the depth of the queue, pointed to by diffServAlgDropQMeasure, at + which the drop action will take place. Other algorithms will need + to define their own semantics for this threshold." + ::= { diffServAlgDropEntry 5 } + +diffServAlgDropSpecific OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Points to a table entry that provides further detail regarding a + drop algorithm. + + Entries with diffServAlgDropType equal to other(1) may have this + point to a table defined in another MIB module. + + Entries with diffServAlgDropType equal to randomDrop(4) must have + this point to an entry in diffServRandomDropTable. + + For all other algorithms specified in this MIB, this should take + the value zeroDotZero. + + The diffServAlgDropType is authoritative for the type of the drop + algorithm and the specific parameters for the drop algorithm + needs to be evaluated based on the diffServAlgDropType. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + + + + ::= { diffServAlgDropEntry 6 } + +diffServAlgDropOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of octets that have been deterministically dropped by + this drop process. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServAlgDropEntry 7 } + +diffServAlgDropPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets that have been deterministically dropped + by this drop process. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServAlgDropEntry 8 } + +diffServAlgRandomDropOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of octets that have been randomly dropped by this + drop process. This counter applies, therefore, only to random + droppers. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServAlgDropEntry 9 } + +diffServAlgRandomDropPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "The number of packets that have been randomly dropped by this + drop process. This counter applies, therefore, only to random + droppers. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServAlgDropEntry 10 } + +diffServAlgDropStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServAlgDropEntry 11 } + +diffServAlgDropStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServAlgDropEntry 12 } + +-- +-- Random Drop Table +-- + +diffServRandomDropNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServRandomDropId, + or a zero to indicate that none exist." + ::= { diffServAlgDrop 3 } + + + + +diffServRandomDropTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServRandomDropEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The random drop table contains entries describing a process that + drops packets randomly. Entries in this table are pointed to by + diffServAlgDropSpecific." + ::= { diffServAlgDrop 4 } + +diffServRandomDropEntry OBJECT-TYPE + SYNTAX DiffServRandomDropEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry describes a process that drops packets according to a + random algorithm." + INDEX { diffServRandomDropId } + ::= { diffServRandomDropTable 1 } + +DiffServRandomDropEntry ::= SEQUENCE { + diffServRandomDropId IndexInteger, + diffServRandomDropMinThreshBytes Unsigned32, + diffServRandomDropMinThreshPkts Unsigned32, + diffServRandomDropMaxThreshBytes Unsigned32, + diffServRandomDropMaxThreshPkts Unsigned32, + diffServRandomDropProbMax Unsigned32, + diffServRandomDropWeight Unsigned32, + diffServRandomDropSamplingRate Unsigned32, + diffServRandomDropStorage StorageType, + diffServRandomDropStatus RowStatus +} + +diffServRandomDropId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Random Drop entries. Managers + obtain new values for row creation in this table by reading + diffServRandomDropNextFree." + ::= { diffServRandomDropEntry 1 } + +diffServRandomDropMinThreshBytes OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "bytes" + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "The average queue depth in bytes, beyond which traffic has a + non-zero probability of being dropped. Changes in this variable + may or may not be reflected in the reported value of + diffServRandomDropMinThreshPkts." + ::= { diffServRandomDropEntry 2 } + +diffServRandomDropMinThreshPkts OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "packets" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The average queue depth in packets, beyond which traffic has a + non-zero probability of being dropped. Changes in this variable + may or may not be reflected in the reported value of + diffServRandomDropMinThreshBytes." + ::= { diffServRandomDropEntry 3 } + +diffServRandomDropMaxThreshBytes OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The average queue depth beyond which traffic has a probability + indicated by diffServRandomDropProbMax of being dropped or + marked. Note that this differs from the physical queue limit, + which is stored in diffServAlgDropQThreshold. Changes in this + variable may or may not be reflected in the reported value of + diffServRandomDropMaxThreshPkts." + ::= { diffServRandomDropEntry 4 } + +diffServRandomDropMaxThreshPkts OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "packets" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The average queue depth beyond which traffic has a probability + indicated by diffServRandomDropProbMax of being dropped or + marked. Note that this differs from the physical queue limit, + which is stored in diffServAlgDropQThreshold. Changes in this + variable may or may not be reflected in the reported value of + diffServRandomDropMaxThreshBytes." + ::= { diffServRandomDropEntry 5 } + +diffServRandomDropProbMax OBJECT-TYPE + + + + SYNTAX Unsigned32 (0..1000) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The worst case random drop probability, expressed in drops per + thousand packets. + + For example, if in the worst case every arriving packet may be + dropped (100%) for a period, this has the value 1000. + Alternatively, if in the worst case only one percent (1%) of + traffic may be dropped, it has the value 10." + ::= { diffServRandomDropEntry 6 } + +diffServRandomDropWeight OBJECT-TYPE + SYNTAX Unsigned32 (0..65536) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The weighting of past history in affecting the Exponentially + Weighted Moving Average function that calculates the current + average queue depth. The equation uses + diffServRandomDropWeight/65536 as the coefficient for the new + sample in the equation, and (65536 - + diffServRandomDropWeight)/65536 as the coefficient of the old + value. + + Implementations may limit the values of diffServRandomDropWeight + to a subset of the possible range of values, such as powers of + two. Doing this would facilitate implementation of the + Exponentially Weighted Moving Average using shift instructions or + registers." + ::= { diffServRandomDropEntry 7 } + +diffServRandomDropSamplingRate OBJECT-TYPE + SYNTAX Unsigned32 (0..1000000) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of times per second the queue is sampled for queue + average calculation. A value of zero is used to mean that the + queue is sampled approximately each time a packet is enqueued (or + dequeued)." + ::= { diffServRandomDropEntry 8 } + +diffServRandomDropStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServRandomDropEntry 9 } + +diffServRandomDropStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServRandomDropEntry 10 } + +-- +-- Queue Table +-- + +diffServQueue OBJECT IDENTIFIER ::= { diffServMIBObjects 7 } + +-- +-- An entry of diffServQTable represents a FIFO queue Differentiated +-- Services Functional Data Path element as described in the Informal +-- Differentiated Services Model section 7.1.1. Note that the +-- specification of scheduling parameters for a queue as part of the +-- input to a scheduler functional data path element as described in +-- the Informal Differentiated Services Model section 7.1.2. This +-- allows building of hierarchical queuing/scheduling. A queue +-- therefore has these attributes: +-- +-- 1. Which scheduler will service this queue, diffServQNext. +-- 2. How the scheduler will service this queue, with respect +-- to all the other queues the same scheduler needs to service, +-- diffServQMinRate. +-- +-- Note that upstream Differentiated Services Functional Data Path +-- elements may point to a shared diffServQTable entry as described +-- in the Informal Differentiated Services Model section 7.1.1. +-- + +diffServQNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "This object contains an unused value for diffServQId, or a zero + to indicate that none exist." + ::= { diffServQueue 1 } + +diffServQTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServQEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Queue Table enumerates the individual queues. Note that the + MIB models queuing systems as composed of individual queues, one + per class of traffic, even though they may in fact be structured + as classes of traffic scheduled using a common calendar queue, or + in other ways." + ::= { diffServQueue 2 } + +diffServQEntry OBJECT-TYPE + SYNTAX DiffServQEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the Queue Table describes a single queue or class of + traffic." + INDEX { diffServQId } + ::= { diffServQTable 1 } + +DiffServQEntry ::= SEQUENCE { + diffServQId IndexInteger, + diffServQNext RowPointer, + diffServQMinRate RowPointer, + diffServQMaxRate RowPointer, + diffServQStorage StorageType, + diffServQStatus RowStatus +} + +diffServQId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Queue entries. Managers obtain new + values for row creation in this table by reading + diffServQNextFree." + ::= { diffServQEntry 1 } + +diffServQNext OBJECT-TYPE + + + + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This selects the next Differentiated Services Scheduler. The + RowPointer must point to a diffServSchedulerEntry. + + A value of zeroDotZero in this attribute indicates an incomplete + diffServQEntry instance. In such a case, the entry has no + operational effect, since it has no parameters to give it + meaning. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServQEntry 2 } + +diffServQMinRate OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This RowPointer indicates the diffServMinRateEntry that the + scheduler, pointed to by diffServQNext, should use to service + this queue. + + If the row pointed to is zeroDotZero, the minimum rate and + priority is unspecified. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServQEntry 3 } + +diffServQMaxRate OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This RowPointer indicates the diffServMaxRateEntry that the + scheduler, pointed to by diffServQNext, should use to service + this queue. + + If the row pointed to is zeroDotZero, the maximum rate is the + line speed of the interface. + + + + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServQEntry 4 } + +diffServQStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServQEntry 5 } + +diffServQStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServQEntry 6 } + +-- +-- Scheduler Table +-- + +diffServScheduler OBJECT IDENTIFIER ::= { diffServMIBObjects 8 } + +-- +-- A Scheduler Entry represents a packet scheduler, such as a priority +-- scheduler or a WFQ scheduler. It provides flexibility for multiple +-- scheduling algorithms, each servicing multiple queues, to be used on +-- the same logical/physical interface. +-- +-- Note that upstream queues or schedulers specify several of the +-- scheduler's parameters. These must be properly specified if the +-- scheduler is to behave as expected. +-- +-- The diffServSchedulerMaxRate attribute specifies the parameters when +-- a scheduler's output is sent to another scheduler. This is used in +-- building hierarchical queues or schedulers. + + + +-- +-- More discussion of the scheduler functional data path element is in +-- the Informal Differentiated Services Model section 7.1.2. +-- + +diffServSchedulerNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServSchedulerId, or + a zero to indicate that none exist." + ::= { diffServScheduler 1 } + +diffServSchedulerTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServSchedulerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Scheduler Table enumerates packet schedulers. Multiple + scheduling algorithms can be used on a given data path, with each + algorithm described by one diffServSchedulerEntry." + ::= { diffServScheduler 2 } + +diffServSchedulerEntry OBJECT-TYPE + SYNTAX DiffServSchedulerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the Scheduler Table describing a single instance of + a scheduling algorithm." + INDEX { diffServSchedulerId } + ::= { diffServSchedulerTable 1 } + +DiffServSchedulerEntry ::= SEQUENCE { + diffServSchedulerId IndexInteger, + diffServSchedulerNext RowPointer, + diffServSchedulerMethod AutonomousType, + diffServSchedulerMinRate RowPointer, + diffServSchedulerMaxRate RowPointer, + diffServSchedulerStorage StorageType, + diffServSchedulerStatus RowStatus +} + +diffServSchedulerId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "An index that enumerates the Scheduler entries. Managers obtain + new values for row creation in this table by reading + diffServSchedulerNextFree." + ::= { diffServSchedulerEntry 1 } + +diffServSchedulerNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This normally + is null (zeroDotZero), or points to a diffServSchedulerEntry or a + diffServQEntry. + + However, this RowPointer may also point to an instance of: + diffServClfrEntry, + diffServMeterEntry, + diffServActionEntry, + diffServAlgDropEntry. + + It would point another diffServSchedulerEntry when implementing + multiple scheduler methods for the same data path, such as having + one set of queues scheduled by WRR and that group participating + in a priority scheduling system in which other queues compete + with it in that way. It might also point to a second scheduler + in a hierarchical scheduling system. + + If the row pointed to is zeroDotZero, no further Differentiated + Services treatment is performed on traffic of this data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServSchedulerEntry 2 } + +diffServSchedulerMethod OBJECT-TYPE + SYNTAX AutonomousType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The scheduling algorithm used by this Scheduler. zeroDotZero + indicates that this is unknown. Standard values for generic + algorithms: diffServSchedulerPriority, diffServSchedulerWRR, and + diffServSchedulerWFQ are specified in this MIB; additional values + + + + may be further specified in other MIBs." + ::= { diffServSchedulerEntry 3 } + +diffServSchedulerMinRate OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This RowPointer indicates the entry in diffServMinRateTable + which indicates the priority or minimum output rate from this + scheduler. This attribute is used only when there is more than + one level of scheduler. + + When it has the value zeroDotZero, it indicates that no minimum + rate or priority is imposed. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServSchedulerEntry 4 } + +diffServSchedulerMaxRate OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This RowPointer indicates the entry in diffServMaxRateTable + which indicates the maximum output rate from this scheduler. + When more than one maximum rate applies (eg, when a multi-rate + shaper is in view), it points to the first of those rate entries. + This attribute is used only when there is more than one level of + scheduler. + + When it has the value zeroDotZero, it indicates that no maximum + rate is imposed. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServSchedulerEntry 5 } + +diffServSchedulerStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + + + + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServSchedulerEntry 6 } + +diffServSchedulerStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServSchedulerEntry 7 } + +-- +-- OIDs for diffServTBParamType definitions. +-- + +diffServSchedulers OBJECT IDENTIFIER ::= { diffServMIBAdmin 2 } + +diffServSchedulerPriority OBJECT-IDENTITY + STATUS current + DESCRIPTION + "For use with diffServSchedulerMethod to indicate the Priority + scheduling method. This is defined as an algorithm in which the + presence of data in a queue or set of queues absolutely precludes + dequeue from another queue or set of queues of lower priority. + Note that attributes from diffServMinRateEntry of the + queues/schedulers feeding this scheduler are used when + determining the next packet to schedule." + ::= { diffServSchedulers 1 } + +diffServSchedulerWRR OBJECT-IDENTITY + STATUS current + DESCRIPTION + "For use with diffServSchedulerMethod to indicate the Weighted + Round Robin scheduling method, defined as any algorithm in which + a set of queues are visited in a fixed order, and varying amounts + of traffic are removed from each queue in turn to implement an + average output rate by class. Notice attributes from + diffServMinRateEntry of the queues/schedulers feeding this + scheduler are used when determining the next packet to schedule." + + + + ::= { diffServSchedulers 2 } + +diffServSchedulerWFQ OBJECT-IDENTITY + STATUS current + DESCRIPTION + "For use with diffServSchedulerMethod to indicate the Weighted + Fair Queuing scheduling method, defined as any algorithm in which + a set of queues are conceptually visited in some order, to + implement an average output rate by class. Notice attributes from + diffServMinRateEntry of the queues/schedulers feeding this + scheduler are used when determining the next packet to schedule." + ::= { diffServSchedulers 3 } + +-- +-- Minimum Rate Parameters Table +-- +-- The parameters used by a scheduler for its inputs or outputs are +-- maintained separately from the Queue or Scheduler table entries for +-- reusability reasons and so that they may be used by both queues and +-- schedulers. This follows the approach for separation of data path +-- elements from parameterization that is used throughout this MIB. +-- Use of these Minimum Rate Parameter Table entries by Queues and +-- Schedulers allows the modeling of hierarchical scheduling systems. +-- +-- Specifically, a Scheduler has one or more inputs and one output. +-- Any queue feeding a scheduler, or any scheduler which feeds a second +-- scheduler, might specify a minimum transfer rate by pointing to an +-- Minimum Rate Parameter Table entry. +-- +-- The diffServMinRatePriority/Abs/Rel attributes are used as +-- parameters to the work-conserving portion of a scheduler: +-- "work-conserving" implies that the scheduler can continue to emit +-- data as long as there is data available at its input(s). This has +-- the effect of guaranteeing a certain priority relative to other +-- scheduler inputs and/or a certain minimum proportion of the +-- available output bandwidth. Properly configured, this means a +-- certain minimum rate, which may be exceeded should traffic be +-- available should there be spare bandwidth after all other classes +-- have had opportunities to consume their own minimum rates. +-- + +diffServMinRateNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServMinRateId, or a + zero to indicate that none exist." + + + + ::= { diffServScheduler 3 } + +diffServMinRateTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServMinRateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Minimum Rate Parameters Table enumerates individual sets of + scheduling parameter that can be used/reused by Queues and + Schedulers." + ::= { diffServScheduler 4 } + +diffServMinRateEntry OBJECT-TYPE + SYNTAX DiffServMinRateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the Minimum Rate Parameters Table describes a single + set of scheduling parameters for use by one or more queues or + schedulers." + INDEX { diffServMinRateId } + ::= { diffServMinRateTable 1 } + +DiffServMinRateEntry ::= SEQUENCE { + diffServMinRateId IndexInteger, + diffServMinRatePriority Unsigned32, + diffServMinRateAbsolute Unsigned32, + diffServMinRateRelative Unsigned32, + diffServMinRateStorage StorageType, + diffServMinRateStatus RowStatus +} + +diffServMinRateId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Scheduler Parameter entries. + Managers obtain new values for row creation in this table by + reading diffServMinRateNextFree." + ::= { diffServMinRateEntry 1 } + +diffServMinRatePriority OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The priority of this input to the associated scheduler, relative + + + + to the scheduler's other inputs. A queue or scheduler with a + larger numeric value will be served before another with a smaller + numeric value." + ::= { diffServMinRateEntry 2 } + +diffServMinRateAbsolute OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "kilobits per second" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The minimum absolute rate, in kilobits/sec, that a downstream + scheduler element should allocate to this queue. If the value is + zero, then there is effectively no minimum rate guarantee. If the + value is non-zero, the scheduler will assure the servicing of + this queue to at least this rate. + + Note that this attribute value and that of + diffServMinRateRelative are coupled: changes to one will affect + the value of the other. They are linked by the following + equation, in that setting one will change the other: + + diffServMinRateRelative = + (diffServMinRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed" + REFERENCE + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" + ::= { diffServMinRateEntry 3 } + +diffServMinRateRelative OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The minimum rate that a downstream scheduler element should + allocate to this queue, relative to the maximum rate of the + interface as reported by ifSpeed or ifHighSpeed, in units of + 1/1000 of 1. If the value is zero, then there is effectively no + minimum rate guarantee. If the value is non-zero, the scheduler + will assure the servicing of this queue to at least this rate. + + Note that this attribute value and that of + diffServMinRateAbsolute are coupled: changes to one will affect + the value of the other. They are linked by the following + equation, in that setting one will change the other: + + + + diffServMinRateRelative = + (diffServMinRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed" + REFERENCE + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" + ::= { diffServMinRateEntry 4 } + +diffServMinRateStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServMinRateEntry 5 } + +diffServMinRateStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServMinRateEntry 6 } + +-- +-- Maximum Rate Parameter Table +-- +-- The parameters used by a scheduler for its inputs or outputs are +-- maintained separately from the Queue or Scheduler table entries for +-- reusability reasons and so that they may be used by both queues and +-- schedulers. This follows the approach for separation of data path +-- elements from parameterization that is used throughout this MIB. +-- Use of these Maximum Rate Parameter Table entries by Queues and +-- Schedulers allows the modeling of hierarchical scheduling systems. +-- +-- Specifically, a Scheduler has one or more inputs and one output. +-- Any queue feeding a scheduler, or any scheduler which feeds a second +-- scheduler, might specify a maximum transfer rate by pointing to a +-- Maximum Rate Parameter Table entry. Multi-rate shapers, such as a + + + +-- Dual Leaky Bucket algorithm, specify their rates using multiple +-- Maximum Rate Parameter Entries with the same diffServMaxRateId but +-- different diffServMaxRateLevels. +-- +-- The diffServMaxRateLevel/Abs/Rel attributes are used as +-- parameters to the non-work-conserving portion of a scheduler: +-- non-work-conserving implies that the scheduler may sometimes not +-- emit a packet, even if there is data available at its input(s). +-- This has the effect of limiting the servicing of the queue/scheduler +-- input or output, in effect performing shaping of the packet stream +-- passing through the queue/scheduler, as described in the Informal +-- Differentiated Services Model section 7.2. +-- + +diffServMaxRateNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServMaxRateId, or a + zero to indicate that none exist." + ::= { diffServScheduler 5 } + +diffServMaxRateTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServMaxRateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Maximum Rate Parameter Table enumerates individual sets of + scheduling parameter that can be used/reused by Queues and + Schedulers." + ::= { diffServScheduler 6 } + +diffServMaxRateEntry OBJECT-TYPE + SYNTAX DiffServMaxRateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the Maximum Rate Parameter Table describes a single + set of scheduling parameters for use by one or more queues or + schedulers." + INDEX { diffServMaxRateId, diffServMaxRateLevel } + ::= { diffServMaxRateTable 1 } + +DiffServMaxRateEntry ::= SEQUENCE { + diffServMaxRateId IndexInteger, + diffServMaxRateLevel Unsigned32, + diffServMaxRateAbsolute Unsigned32, + + + + diffServMaxRateRelative Unsigned32, + diffServMaxRateThreshold BurstSize, + diffServMaxRateStorage StorageType, + diffServMaxRateStatus RowStatus +} + +diffServMaxRateId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Maximum Rate Parameter entries. + Managers obtain new values for row creation in this table by + reading diffServMaxRateNextFree." + ::= { diffServMaxRateEntry 1 } + +diffServMaxRateLevel OBJECT-TYPE + SYNTAX Unsigned32 (1..32) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that indicates which level of a multi-rate shaper is + being given its parameters. A multi-rate shaper has some number + of rate levels. Frame Relay's dual rate specification refers to a + 'committed' and an 'excess' rate; ATM's dual rate specification + refers to a 'mean' and a 'peak' rate. This table is generalized + to support an arbitrary number of rates. The committed or mean + rate is level 1, the peak rate (if any) is the highest level rate + configured, and if there are other rates they are distributed in + monotonically increasing order between them." + ::= { diffServMaxRateEntry 2 } + +diffServMaxRateAbsolute OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "kilobits per second" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum rate in kilobits/sec that a downstream scheduler + element should allocate to this queue. If the value is zero, then + there is effectively no maximum rate limit and that the scheduler + should attempt to be work conserving for this queue. If the value + is non-zero, the scheduler will limit the servicing of this queue + to, at most, this rate in a non-work-conserving manner. + + Note that this attribute value and that of + diffServMaxRateRelative are coupled: changes to one will affect + the value of the other. They are linked by the following + + + + equation, in that setting one will change the other: + + diffServMaxRateRelative = + (diffServMaxRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed" + REFERENCE + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" + ::= { diffServMaxRateEntry 3 } + +diffServMaxRateRelative OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum rate that a downstream scheduler element should + allocate to this queue, relative to the maximum rate of the + interface as reported by ifSpeed or ifHighSpeed, in units of + 1/1000 of 1. If the value is zero, then there is effectively no + maximum rate limit and the scheduler should attempt to be work + conserving for this queue. If the value is non-zero, the + scheduler will limit the servicing of this queue to, at most, + this rate in a non-work-conserving manner. + + Note that this attribute value and that of + diffServMaxRateAbsolute are coupled: changes to one will affect + the value of the other. They are linked by the following + equation, in that setting one will change the other: + + diffServMaxRateRelative = + (diffServMaxRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed" + REFERENCE + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" + ::= { diffServMaxRateEntry 4 } + +diffServMaxRateThreshold OBJECT-TYPE + SYNTAX BurstSize + UNITS "Bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of bytes of queue depth at which the rate of a + + + + multi-rate scheduler will increase to the next output rate. In + the last conceptual row for such a shaper, this threshold is + ignored and by convention is zero." + REFERENCE + "Adaptive rate Shaper, RFC 2963" + ::= { diffServMaxRateEntry 5 } + +diffServMaxRateStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServMaxRateEntry 6 } + +diffServMaxRateStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServMaxRateEntry 7 } + +-- +-- MIB Compliance statements. +-- + +diffServMIBCompliances OBJECT IDENTIFIER ::= + { diffServMIBConformance 1 } +diffServMIBGroups OBJECT IDENTIFIER ::= + { diffServMIBConformance 2 } + +diffServMIBFullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "When this MIB is implemented with support for read-create, then + such an implementation can claim full compliance. Such devices + can then be both monitored and configured with this MIB." + + MODULE IF-MIB -- The interfaces MIB, RFC2863 + MANDATORY-GROUPS { + + + + ifCounterDiscontinuityGroup + } + + MODULE -- This Module + MANDATORY-GROUPS { + diffServMIBDataPathGroup, diffServMIBClfrGroup, + diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup, + diffServMIBActionGroup, diffServMIBAlgDropGroup, + diffServMIBQGroup, diffServMIBSchedulerGroup, + diffServMIBMaxRateGroup, diffServMIBMinRateGroup, + diffServMIBCounterGroup + } + + GROUP diffServMIBMeterGroup + DESCRIPTION + "This group is mandatory for devices that implement metering + functions." + + GROUP diffServMIBTBParamGroup + DESCRIPTION + "This group is mandatory for devices that implement token-bucket + metering functions." + + GROUP diffServMIBDscpMarkActGroup + DESCRIPTION + "This group is mandatory for devices that implement DSCP-Marking + functions." + + GROUP diffServMIBRandomDropGroup + DESCRIPTION + "This group is mandatory for devices that implement Random Drop + functions." + + OBJECT diffServDataPathStatus + SYNTAX INTEGER { active(1) } + WRITE-SYNTAX INTEGER { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServClfrStatus + SYNTAX INTEGER { active(1) } + WRITE-SYNTAX INTEGER { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServClfrElementStatus + SYNTAX INTEGER { active(1) } + WRITE-SYNTAX INTEGER { createAndGo(4), destroy(6) } + + + + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServMultiFieldClfrAddrType + SYNTAX INTEGER { unknown(0), ipv4(1), ipv6(2) } + DESCRIPTION + "An implementation is only required to support IPv4 and IPv6 + addresses." + + OBJECT diffServMultiFieldClfrDstAddr + SYNTAX InetAddress (SIZE(0|4|16)) + DESCRIPTION + "An implementation is only required to support IPv4 and globally + unique IPv6 addresses." + + OBJECT diffServAlgDropStatus + SYNTAX INTEGER { active(1) } + WRITE-SYNTAX INTEGER { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServRandomDropStatus + SYNTAX INTEGER { active(1) } + WRITE-SYNTAX INTEGER { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServQStatus + SYNTAX INTEGER { active(1) } + WRITE-SYNTAX INTEGER { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServSchedulerStatus + SYNTAX INTEGER { active(1) } + WRITE-SYNTAX INTEGER { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServMinRateStatus + SYNTAX INTEGER { active(1) } + WRITE-SYNTAX INTEGER { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServMaxRateStatus + SYNTAX INTEGER { active(1) } + WRITE-SYNTAX INTEGER { createAndGo(4), destroy(6) } + + + + DESCRIPTION + "Support for createAndWait and notInService is not required." + + ::= { diffServMIBCompliances 1 } + +-- +-- Read-Only Compliance +-- + +diffServMIBReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "When this MIB is implemented without support for read-create + (i.e. in read-only mode), then such an implementation can claim + read-only compliance. Such a device can then be monitored but can + not be configured with this MIB." + + MODULE IF-MIB -- The interfaces MIB, RFC2863 + MANDATORY-GROUPS { + ifCounterDiscontinuityGroup + } + + MODULE -- This Module + MANDATORY-GROUPS { + diffServMIBDataPathGroup, diffServMIBClfrGroup, + diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup, + diffServMIBActionGroup, diffServMIBAlgDropGroup, + diffServMIBQGroup, diffServMIBSchedulerGroup, + diffServMIBMaxRateGroup, diffServMIBMinRateGroup, + diffServMIBCounterGroup + } + + GROUP diffServMIBMeterGroup + DESCRIPTION + "This group is mandatory for devices that implement metering + functions." + + GROUP diffServMIBTBParamGroup + DESCRIPTION + "This group is mandatory for devices that implement token-bucket + metering functions." + + GROUP diffServMIBDscpMarkActGroup + DESCRIPTION + "This group is mandatory for devices that implement DSCP-Marking + functions." + + GROUP diffServMIBRandomDropGroup + + + + DESCRIPTION + "This group is mandatory for devices that implement Random Drop + functions." + + OBJECT diffServDataPathStart + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServDataPathStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServDataPathStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServClfrNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object not needed when diffServClfrTable is implemented read- + only" + + OBJECT diffServClfrStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServClfrStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServClfrElementNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object not needed when diffServClfrelementTable is implemented + read-only" + + OBJECT diffServClfrElementPrecedence + MIN-ACCESS read-only + DESCRIPTION + + + + "Write access is not required." + + OBJECT diffServClfrElementNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServClfrElementSpecific + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServClfrElementStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServClfrElementStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServMultiFieldClfrNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServMultiFieldClfrTable is + implemented in read-only mode." + + OBJECT diffServMultiFieldClfrAddrType + SYNTAX INTEGER { unknown(0), ipv4(1), ipv6(2) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. An implementation is only required + to support IPv4 and IPv6 addresses." + + OBJECT diffServMultiFieldClfrDstAddr + SYNTAX InetAddress (SIZE(0|4|16)) + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. An implementation is only required + to support IPv4 and globally unique IPv6 addresses." + + OBJECT diffServMultiFieldClfrDstPrefixLength + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + OBJECT diffServMultiFieldClfrSrcAddr + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. An implementation is only required + to support IPv4 and globally unique IPv6 addresses." + + OBJECT diffServMultiFieldClfrSrcPrefixLength + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrDscp + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrFlowId + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrProtocol + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrDstL4PortMin + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrDstL4PortMax + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrSrcL4PortMin + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrSrcL4PortMax + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrStorage + MIN-ACCESS read-only + + + + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, createAndWait and notInService + support is not required." + + OBJECT diffServMeterNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServMultiFieldClfrTable is + implemented in read-only mode." + + OBJECT diffServMeterSucceedNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMeterFailNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMeterSpecific + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMeterStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMeterStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServTBParamNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServTBParamTable is implemented in + read-only mode." + + + + + OBJECT diffServTBParamType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServTBParamRate + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServTBParamBurstSize + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServTBParamInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServTBParamStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServTBParamStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServActionNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServActionTable is implemented in + read-only mode." + + OBJECT diffServActionInterface + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServActionNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + + OBJECT diffServActionSpecific + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServActionStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServActionStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServCountActNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServCountActTable is implemented + in read-only mode." + + OBJECT diffServCountActStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServCountActStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServAlgDropNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServAlgDropTable is implemented in + read-only mode." + + OBJECT diffServAlgDropType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropNext + MIN-ACCESS read-only + + + + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropQMeasure + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropQThreshold + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropSpecific + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServRandomDropNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServRandomDropTable is implemented + in read-only mode." + + OBJECT diffServRandomDropMinThreshBytes + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropMinThreshPkts + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropMaxThreshBytes + MIN-ACCESS read-only + + + + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropMaxThreshPkts + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropProbMax + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropWeight + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropSamplingRate + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServQNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServQTable is implemented in + read-only mode." + + OBJECT diffServQNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServQMinRate + MIN-ACCESS read-only + + + + DESCRIPTION + "Write access is not required." + + OBJECT diffServQMaxRate + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServQStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServQStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServSchedulerNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServSchedulerTable is implemented + in read-only mode." + + OBJECT diffServSchedulerNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServSchedulerMethod + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServSchedulerMinRate + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServSchedulerMaxRate + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServSchedulerStorage + MIN-ACCESS read-only + + + + DESCRIPTION + "Write access is not required." + + OBJECT diffServSchedulerStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServMinRateNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServMinRateTable is implemented in + read-only mode." + + OBJECT diffServMinRatePriority + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMinRateAbsolute + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMinRateRelative + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMinRateStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMinRateStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServMaxRateNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServMaxrateTable is implemented in + read-only mode." + + + + OBJECT diffServMaxRateAbsolute + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMaxRateRelative + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMaxRateThreshold + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMaxRateStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMaxRateStatus + SYNTAX INTEGER { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + ::= { diffServMIBCompliances 2 } + +diffServMIBDataPathGroup OBJECT-GROUP + OBJECTS { + diffServDataPathStart, diffServDataPathStorage, + diffServDataPathStatus + } + STATUS current + DESCRIPTION + "The Data Path Group defines the MIB Objects that describe a + functional data path." + ::= { diffServMIBGroups 1 } + +diffServMIBClfrGroup OBJECT-GROUP + OBJECTS { + diffServClfrNextFree, diffServClfrStorage, + diffServClfrStatus + } + STATUS current + DESCRIPTION + "The Classifier Group defines the MIB Objects that describe the + + + + list the starts of individual classifiers." + ::= { diffServMIBGroups 2 } + +diffServMIBClfrElementGroup OBJECT-GROUP + OBJECTS { + diffServClfrElementNextFree, + diffServClfrElementPrecedence, diffServClfrElementNext, + diffServClfrElementSpecific, diffServClfrElementStorage, + diffServClfrElementStatus + } + STATUS current + DESCRIPTION + "The Classifier Element Group defines the MIB Objects that + describe the classifier elements that make up a generic + classifier." + ::= { diffServMIBGroups 3 } + +diffServMIBMultiFieldClfrGroup OBJECT-GROUP + OBJECTS { + diffServMultiFieldClfrNextFree, + diffServMultiFieldClfrAddrType, + diffServMultiFieldClfrDstAddr, + diffServMultiFieldClfrDstPrefixLength, + diffServMultiFieldClfrFlowId, + diffServMultiFieldClfrSrcAddr, + diffServMultiFieldClfrSrcPrefixLength, + diffServMultiFieldClfrDscp, + diffServMultiFieldClfrProtocol, + diffServMultiFieldClfrDstL4PortMin, + diffServMultiFieldClfrDstL4PortMax, + diffServMultiFieldClfrSrcL4PortMin, + diffServMultiFieldClfrSrcL4PortMax, + diffServMultiFieldClfrStorage, + diffServMultiFieldClfrStatus + } + STATUS current + DESCRIPTION + "The Multi-field Classifier Group defines the MIB Objects that + describe a classifier element for matching on various fields of + an IP and upper-layer protocol header." + ::= { diffServMIBGroups 4 } + +diffServMIBMeterGroup OBJECT-GROUP + OBJECTS { + diffServMeterNextFree, diffServMeterSucceedNext, + diffServMeterFailNext, diffServMeterSpecific, + diffServMeterStorage, diffServMeterStatus + } + + + + STATUS current + DESCRIPTION + "The Meter Group defines the objects used in describing a generic + meter element." + ::= { diffServMIBGroups 5 } + +diffServMIBTBParamGroup OBJECT-GROUP + OBJECTS { + diffServTBParamNextFree, diffServTBParamType, + diffServTBParamRate, diffServTBParamBurstSize, + diffServTBParamInterval, diffServTBParamStorage, + diffServTBParamStatus + } + STATUS current + DESCRIPTION + "The Token-Bucket Meter Group defines the objects used in + describing a token bucket meter element." + ::= { diffServMIBGroups 6 } + +diffServMIBActionGroup OBJECT-GROUP + OBJECTS { + diffServActionNextFree, diffServActionNext, + diffServActionSpecific, diffServActionStorage, + diffServActionInterface, diffServActionStatus + } + STATUS current + DESCRIPTION + "The Action Group defines the objects used in describing a + generic action element." + ::= { diffServMIBGroups 7 } + +diffServMIBDscpMarkActGroup OBJECT-GROUP + OBJECTS { + diffServDscpMarkActDscp + } + STATUS current + DESCRIPTION + "The DSCP Mark Action Group defines the objects used in + describing a DSCP Marking Action element." + ::= { diffServMIBGroups 8 } + +diffServMIBCounterGroup OBJECT-GROUP + OBJECTS { + diffServCountActOctets, diffServCountActPkts, + diffServAlgDropOctets, diffServAlgDropPkts, + diffServAlgRandomDropOctets, diffServAlgRandomDropPkts, + diffServCountActStorage, diffServCountActStatus, + diffServCountActNextFree + + + + } + STATUS current + DESCRIPTION + "A collection of objects providing information specific to + packet-oriented network interfaces." + ::= { diffServMIBGroups 9 } + +diffServMIBAlgDropGroup OBJECT-GROUP + OBJECTS { + diffServAlgDropNextFree, diffServAlgDropType, + diffServAlgDropNext, diffServAlgDropQMeasure, + diffServAlgDropQThreshold, diffServAlgDropSpecific, + diffServAlgDropStorage, diffServAlgDropStatus + } + STATUS current + DESCRIPTION + "The Algorithmic Drop Group contains the objects that describe + algorithmic dropper operation and configuration." + ::= { diffServMIBGroups 10 } + +diffServMIBRandomDropGroup OBJECT-GROUP + OBJECTS { + diffServRandomDropNextFree, + diffServRandomDropMinThreshBytes, + diffServRandomDropMinThreshPkts, + diffServRandomDropMaxThreshBytes, + diffServRandomDropMaxThreshPkts, + diffServRandomDropProbMax, + diffServRandomDropWeight, + diffServRandomDropSamplingRate, + diffServRandomDropStorage, + diffServRandomDropStatus + } + STATUS current + DESCRIPTION + "The Random Drop Group augments the Algorithmic Drop Group for + random dropper operation and configuration." + ::= { diffServMIBGroups 11 } + +diffServMIBQGroup OBJECT-GROUP + + OBJECTS { + diffServQNextFree, diffServQNext, diffServQMinRate, + diffServQMaxRate, diffServQStorage, diffServQStatus + } + STATUS current + DESCRIPTION + "The Queue Group contains the objects that describe an + + + + interface's queues." + ::= { diffServMIBGroups 12 } + +diffServMIBSchedulerGroup OBJECT-GROUP + OBJECTS { + diffServSchedulerNextFree, diffServSchedulerNext, + diffServSchedulerMethod, diffServSchedulerMinRate, + diffServSchedulerMaxRate, diffServSchedulerStorage, + diffServSchedulerStatus + } + STATUS current + DESCRIPTION + "The Scheduler Group contains the objects that describe packet + schedulers on interfaces." + ::= { diffServMIBGroups 13 } + +diffServMIBMinRateGroup OBJECT-GROUP + OBJECTS { + diffServMinRateNextFree, diffServMinRatePriority, + diffServMinRateAbsolute, diffServMinRateRelative, + diffServMinRateStorage, diffServMinRateStatus + } + STATUS current + DESCRIPTION + "The Minimum Rate Parameter Group contains the objects that + describe packet schedulers' minimum rate or priority guarantees." + ::= { diffServMIBGroups 14 } + +diffServMIBMaxRateGroup OBJECT-GROUP + OBJECTS { + diffServMaxRateNextFree, diffServMaxRateAbsolute, + diffServMaxRateRelative, diffServMaxRateThreshold, + diffServMaxRateStorage, diffServMaxRateStatus + } + STATUS current + DESCRIPTION + "The Maximum Rate Parameter Group contains the objects that + describe packet schedulers' maximum rate guarantees." + ::= { diffServMIBGroups 15 } + +END |