DISMAN-EXPRESSION-MIB.txt
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:42k
源码类别:
SNMP编程
开发平台:
Unix_Linux
- DISMAN-EXPRESSION-MIB DEFINITIONS ::= BEGIN
- IMPORTS
- MODULE-IDENTITY, OBJECT-TYPE,
- Integer32, Gauge32, Unsigned32,
- Counter32, Counter64, IpAddress,
- TimeTicks, mib-2, zeroDotZero FROM SNMPv2-SMI
- RowStatus, TruthValue, TimeStamp FROM SNMPv2-TC
- sysUpTime FROM SNMPv2-MIB
- SnmpAdminString FROM SNMP-FRAMEWORK-MIB
- MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
- dismanExpressionMIB MODULE-IDENTITY
- LAST-UPDATED "200010160000Z" -- 16 October 2000
- ORGANIZATION "IETF Distributed Management Working Group"
- CONTACT-INFO "Ramanathan Kavasseri
- Cisco Systems, Inc.
- 170 West Tasman Drive,
- San Jose CA 95134-1706.
- Phone: +1 408 527 2446
- Email: ramk@cisco.com"
- DESCRIPTION
- "The MIB module for defining expressions of MIB objects for
- management purposes."
- -- Revision History
- REVISION "200010160000Z" -- 16 October 2000
- DESCRIPTION "This is the initial version of this MIB.
- Published as RFC 2982"
- ::= { mib-2 90 }
- dismanExpressionMIBObjects OBJECT IDENTIFIER ::=
- { dismanExpressionMIB 1 }
- expResource OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 1 }
- expDefine OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 2 }
- expValue OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 3 }
- --
- -- Resource Control
- --
- expResourceDeltaMinimum OBJECT-TYPE
- SYNTAX Integer32 (-1 | 1..600)
- UNITS "seconds"
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The minimum expExpressionDeltaInterval this system will
- accept. A system may use the larger values of this minimum to
- lessen the impact of constantly computing deltas. For larger
- delta sampling intervals the system samples less often and
- suffers less overhead. This object provides a way to enforce
- such lower overhead for all expressions created after it is
- set.
- The value -1 indicates that expResourceDeltaMinimum is
- irrelevant as the system will not accept 'deltaValue' as a
- value for expObjectSampleType.
- Unless explicitly resource limited, a system's value for
- this object should be 1, allowing as small as a 1 second
- interval for ongoing delta sampling.
- Changing this value will not invalidate an existing setting
- of expObjectSampleType."
- ::= { expResource 1 }
- expResourceDeltaWildcardInstanceMaximum OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "instances"
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "For every instance of a deltaValue object, one dynamic instance
- entry is needed for holding the instance value from the previous
- sample, i.e. to maintain state.
- This object limits maximum number of dynamic instance entries
- this system will support for wildcarded delta objects in
- expressions. For a given delta expression, the number of
- dynamic instances is the number of values that meet all criteria
- to exist times the number of delta values in the expression.
- A value of 0 indicates no preset limit, that is, the limit
- is dynamic based on system operation and resources.
- Unless explicitly resource limited, a system's value for
- this object should be 0.
- Changing this value will not eliminate or inhibit existing delta
- wildcard instance objects but will prevent the creation of more
- such objects.
- An attempt to allocate beyond the limit results in expErrorCode
- being tooManyWildcardValues for that evaluation attempt."
- ::= { expResource 2 }
- expResourceDeltaWildcardInstances OBJECT-TYPE
- SYNTAX Gauge32
- UNITS "instances"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of currently active instance entries as
- defined for expResourceDeltaWildcardInstanceMaximum."
- ::= { expResource 3 }
- expResourceDeltaWildcardInstancesHigh OBJECT-TYPE
- SYNTAX Gauge32
- UNITS "instances"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The highest value of expResourceDeltaWildcardInstances
- that has occurred since initialization of the managed
- system."
- ::= { expResource 4 }
- expResourceDeltaWildcardInstanceResourceLacks OBJECT-TYPE
- SYNTAX Counter32
- UNITS "instances"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of times this system could not evaluate an
- expression because that would have created a value instance in
- excess of expResourceDeltaWildcardInstanceMaximum."
- ::= { expResource 5 }
- --
- -- Definition
- --
- -- Expression Definition Table
- --
- expExpressionTable OBJECT-TYPE
- SYNTAX SEQUENCE OF ExpExpressionEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A table of expression definitions."
- ::= { expDefine 1 }
- expExpressionEntry OBJECT-TYPE
- SYNTAX ExpExpressionEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "Information about a single expression. New expressions
- can be created using expExpressionRowStatus.
- To create an expression first create the named entry in this
- table. Then use expExpressionName to populate expObjectTable.
- For expression evaluation to succeed all related entries in
- expExpressionTable and expObjectTable must be 'active'. If
- these conditions are not met the corresponding values in
- expValue simply are not instantiated.
- Deleting an entry deletes all related entries in expObjectTable
- and expErrorTable.
- Because of the relationships among the multiple tables for an
- expression (expExpressionTable, expObjectTable, and
- expValueTable) and the SNMP rules for independence in setting
- object values, it is necessary to do final error checking when
- an expression is evaluated, that is, when one of its instances
- in expValueTable is read or a delta interval expires. Earlier
- checking need not be done and an implementation may not impose
- any ordering on the creation of objects related to an
- expression.
- To maintain security of MIB information, when creating a new row in
- this table, the managed system must record the security credentials
- of the requester. These security credentials are the parameters
- necessary as inputs to isAccessAllowed from the Architecture for
- Describing SNMP Management Frameworks. When obtaining the objects
- that make up the expression, the system must (conceptually) use
- isAccessAllowed to ensure that it does not violate security.
- The evaluation of the expression takes place under the
- security credentials of the creator of its expExpressionEntry.
- Values of read-write objects in this table may be changed
- at any time."
- INDEX { expExpressionOwner, expExpressionName }
- ::= { expExpressionTable 1 }
- ExpExpressionEntry ::= SEQUENCE {
- expExpressionOwner SnmpAdminString,
- expExpressionName SnmpAdminString,
- expExpression OCTET STRING,
- expExpressionValueType INTEGER,
- expExpressionComment SnmpAdminString,
- expExpressionDeltaInterval Integer32,
- expExpressionPrefix OBJECT IDENTIFIER,
- expExpressionErrors Counter32,
- expExpressionEntryStatus RowStatus
- }
- expExpressionOwner OBJECT-TYPE
- SYNTAX SnmpAdminString (SIZE(0..32))
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The owner of this entry. The exact semantics of this
- string are subject to the security policy defined by the
- security administrator."
- ::= { expExpressionEntry 1 }
- expExpressionName OBJECT-TYPE
- SYNTAX SnmpAdminString (SIZE (1..32))
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The name of the expression. This is locally unique, within
- the scope of an expExpressionOwner."
- ::= { expExpressionEntry 2 }
- expExpression OBJECT-TYPE
- SYNTAX OCTET STRING (SIZE (1..1024))
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The expression to be evaluated. This object is the same
- as a DisplayString (RFC 1903) except for its maximum length.
- Except for the variable names the expression is in ANSI C
- syntax. Only the subset of ANSI C operators and functions
- listed here is allowed.
- Variables are expressed as a dollar sign ('$') and an
- integer that corresponds to an expObjectIndex. An
- example of a valid expression is:
- ($1-$5)*100
- Expressions must not be recursive, that is although an expression
- may use the results of another expression, it must not contain
- any variable that is directly or indirectly a result of its own
- evaluation. The managed system must check for recursive
- expressions.
- The only allowed operators are:
- ( )
- - (unary)
- + - * / %
- & | ^ << >> ~
- ! && || == != > >= < <=
- Note the parentheses are included for parenthesizing the
- expression, not for casting data types.
- The only constant types defined are:
- int (32-bit signed)
- long (64-bit signed)
- unsigned int
- unsigned long
- hexadecimal
- character
- string
- oid
- The default type for a positive integer is int unless it is too
- large in which case it is long.
- All but oid are as defined for ANSI C. Note that a
- hexadecimal constant may end up as a scalar or an array of
- 8-bit integers. A string constant is enclosed in double
- quotes and may contain back-slashed individual characters
- as in ANSI C.
- An oid constant comprises 32-bit, unsigned integers and at
- least one period, for example:
- 0.
- .0
- 1.3.6.1
- No additional leading or trailing subidentifiers are automatically
- added to an OID constant. The constant is taken as expressed.
- Integer-typed objects are treated as 32- or 64-bit, signed
- or unsigned integers, as appropriate. The results of
- mixing them are as for ANSI C, including the type of the
- result. Note that a 32-bit value is thus promoted to 64 bits
- only in an operation with a 64-bit value. There is no
- provision for larger values to handle overflow.
- Relative to SNMP data types, a resulting value becomes
- unsigned when calculating it uses any unsigned value,
- including a counter. To force the final value to be of
- data type counter the expression must explicitly use the
- counter32() or counter64() function (defined below).
- OCTET STRINGS and OBJECT IDENTIFIERs are treated as
- one-dimensioned arrays of unsigned 8-bit integers and
- unsigned 32-bit integers, respectively.
- IpAddresses are treated as 32-bit, unsigned integers in
- network byte order, that is, the hex version of 255.0.0.0 is
- 0xff000000.
- Conditional expressions result in a 32-bit, unsigned integer
- of value 0 for false or 1 for true. When an arbitrary value
- is used as a boolean 0 is false and non-zero is true.
- Rules for the resulting data type from an operation, based on
- the operator:
- For << and >> the result is the same as the left hand operand.
- For &&, ||, ==, !=, <, <=, >, and >= the result is always
- Unsigned32.
- For unary - the result is always Integer32.
- For +, -, *, /, %, &, |, and ^ the result is promoted according
- to the following rules, in order from most to least preferred:
- If left hand and right hand operands are the same type,
- use that.
- If either side is Counter64, use that.
- If either side is IpAddress, use that.
- If either side is TimeTicks, use that.
- If either side is Counter32, use that.
- Otherwise use Unsigned32.
- The following rules say what operators apply with what data
- types. Any combination not explicitly defined does not work.
- For all operators any of the following can be the left hand or
- right hand operand: Integer32, Counter32, Unsigned32, Counter64.
- The operators +, -, *, /, %, <, <=, >, and >= work with
- TimeTicks.
- The operators &, |, and ^ work with IpAddress.
- The operators << and >> work with IpAddress but only as the
- left hand operand.
- The + operator performs a concatenation of two OCTET STRINGs or
- two OBJECT IDENTIFIERs.
- The operators &, | perform bitwise operations on OCTET STRINGs.
- If the OCTET STRING happens to be a DisplayString the results
- may be meaningless, but the agent system does not check this as
- some such systems do not have this information.
- The operators << and >> perform bitwise operations on OCTET
- STRINGs appearing as the left hand operand.
- The only functions defined are:
- counter32
- counter64
- arraySection
- stringBegins
- stringEnds
- stringContains
- oidBegins
- oidEnds
- oidContains
- average
- maximum
- minimum
- sum
- exists
- The following function definitions indicate their parameters by
- naming the data type of the parameter in the parameter's position
- in the parameter list. The parameter must be of the type indicated
- and generally may be a constant, a MIB object, a function, or an
- expression.
- counter32(integer) - wrapped around an integer value counter32
- forces Counter32 as a data type.
- counter64(integer) - similar to counter32 except that the
- resulting data type is 'counter64'.
- arraySection(array, integer, integer) - selects a piece of an
- array (i.e. part of an OCTET STRING or OBJECT IDENTIFIER). The
- integer arguments are in the range 0 to 4,294,967,295. The
- first is an initial array index (one-dimensioned) and the second
- is an ending array index. A value of 0 indicates first or last
- element, respectively. If the first element is larger than the
- array length the result is 0 length. If the second integer is
- less than or equal to the first, the result is 0 length. If the
- second is larger than the array length it indicates last
- element.
- stringBegins/Ends/Contains(octetString, octetString) - looks for
- the second string (which can be a string constant) in the first
- and returns the one-dimensioned arrayindex where the match began.
- A return value of 0 indicates no match (i.e. boolean false).
- oidBegins/Ends/Contains(oid, oid) - looks for the second OID
- (which can be an OID constant) in the first and returns the
- the one-dimensioned index where the match began. A return value
- of 0 indicates no match (i.e. boolean false).
- average/maximum/minimum(integer) - calculates the average,
- minimum, or maximum value of the integer valued object over
- multiple sample times. If the object disappears for any
- sample period, the accumulation and the resulting value object
- cease to exist until the object reappears at which point the
- calculation starts over.
- sum(integerObject*) - sums all available values of the
- wildcarded integer object, resulting in an integer scalar. Must
- be used with caution as it wraps on overflow with no
- notification.
- exists(anyTypeObject) - verifies the object instance exists. A
- return value of 0 indicates NoSuchInstance (i.e. boolean
- false)."
- ::= { expExpressionEntry 3 }
- expExpressionValueType OBJECT-TYPE
- SYNTAX INTEGER { counter32(1), unsigned32(2), timeTicks(3),
- integer32(4), ipAddress(5), octetString(6),
- objectId(7), counter64(8) }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The type of the expression value. One and only one of the
- value objects in expValueTable will be instantiated to match
- this type.
- If the result of the expression can not be made into this type,
- an invalidOperandType error will occur."
- DEFVAL { counter32 }
- ::= { expExpressionEntry 4 }
- expExpressionComment OBJECT-TYPE
- SYNTAX SnmpAdminString
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "A comment to explain the use or meaning of the expression."
- DEFVAL { ''H }
- ::= { expExpressionEntry 5 }
- expExpressionDeltaInterval OBJECT-TYPE
- SYNTAX Integer32 (0..86400)
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "Sampling interval for objects in this expression with
- expObjectSampleType 'deltaValue'.
- This object has no effect if the the expression has no
- deltaValue objects.
- A value of 0 indicates no automated sampling. In this case
- the delta is the difference from the last time the expression
- was evaluated. Note that this is subject to unpredictable
- delta times in the face of retries or multiple managers.
- A value greater than zero is the number of seconds between
- automated samples.
- Until the delta interval has expired once the delta for the
- object is effectively not instantiated and evaluating
- the expression has results as if the object itself were not
- instantiated.
- Note that delta values potentially consume large amounts of
- system CPU and memory. Delta state and processing must
- continue constantly even if the expression is not being used.
- That is, the expression is being evaluated every delta interval,
- even if no application is reading those values. For wildcarded
- objects this can be substantial overhead.
- Note that delta intervals, external expression value sampling
- intervals and delta intervals for expressions within other
- expressions can have unusual interactions as they are impossible
- to synchronize accurately. In general one interval embedded
- below another must be enough shorter that the higher sample
- sees relatively smooth, predictable behavior. So, for example,
- to avoid the higher level getting the same sample twice, the
- lower level should sample at least twice as fast as the higher
- level does."
- DEFVAL { 0 }
- ::= { expExpressionEntry 6 }
- expExpressionPrefix OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "An object prefix to assist an application in determining
- the instance indexing to use in expValueTable, relieving the
- application of the need to scan the expObjectTable to
- determine such a prefix.
- See expObjectTable for information on wildcarded objects.
- If the expValueInstance portion of the value OID may
- be treated as a scalar (that is, normally, 0) the value of
- expExpressionPrefix is zero length, that is, no OID at all.
- Note that zero length implies a null OID, not the OID 0.0.
- Otherwise, the value of expExpressionPrefix is the expObjectID
- value of any one of the wildcarded objects for the expression.
- This is sufficient, as the remainder, that is, the instance
- fragment relevant to instancing the values, must be the same for
- all wildcarded objects in the expression."
- ::= { expExpressionEntry 7 }
- expExpressionErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of errors encountered while evaluating this
- expression.
- Note that an object in the expression not being accessible,
- is not considered an error. An example of an inaccessible
- object is when the object is excluded from the view of the
- user whose security credentials are used in the expression
- evaluation. In such cases, it is a legitimate condition
- that causes the corresponding expression value not to be
- instantiated."
- ::= { expExpressionEntry 8 }
- expExpressionEntryStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The control that allows creation and deletion of entries."
- ::= { expExpressionEntry 9 }
- --
- -- Expression Error Table
- --
- expErrorTable OBJECT-TYPE
- SYNTAX SEQUENCE OF ExpErrorEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A table of expression errors."
- ::= { expDefine 2 }
- expErrorEntry OBJECT-TYPE
- SYNTAX ExpErrorEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "Information about errors in processing an expression.
- Entries appear in this table only when there is a matching
- expExpressionEntry and then only when there has been an
- error for that expression as reflected by the error codes
- defined for expErrorCode."
- INDEX { expExpressionOwner, expExpressionName }
- ::= { expErrorTable 1 }
- ExpErrorEntry ::= SEQUENCE {
- expErrorTime TimeStamp,
- expErrorIndex Integer32,
- expErrorCode INTEGER,
- expErrorInstance OBJECT IDENTIFIER
- }
- expErrorTime OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime the last time an error caused a
- failure to evaluate this expression."
- ::= { expErrorEntry 1 }
- expErrorIndex OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The one-dimensioned character array index into
- expExpression for where the error occurred. The value
- zero indicates irrelevance."
- ::= { expErrorEntry 2 }
- expErrorCode OBJECT-TYPE
- SYNTAX INTEGER {
- invalidSyntax(1),
- undefinedObjectIndex(2),
- unrecognizedOperator(3),
- unrecognizedFunction(4),
- invalidOperandType(5),
- unmatchedParenthesis(6),
- tooManyWildcardValues(7),
- recursion(8),
- deltaTooShort(9),
- resourceUnavailable(10),
- divideByZero(11)
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The error that occurred. In the following explanations the
- expected timing of the error is in parentheses. 'S' means
- the error occurs on a Set request. 'E' means the error
- occurs on the attempt to evaluate the expression either due to
- Get from expValueTable or in ongoing delta processing.
- invalidSyntax the value sent for expExpression is not
- valid Expression MIB expression syntax
- (S)
- undefinedObjectIndex an object reference ($n) in
- expExpression does not have a matching
- instance in expObjectTable (E)
- unrecognizedOperator the value sent for expExpression held an
- unrecognized operator (S)
- unrecognizedFunction the value sent for expExpression held an
- unrecognized function name (S)
- invalidOperandType an operand in expExpression is not the
- right type for the associated operator
- or result (SE)
- unmatchedParenthesis the value sent for expExpression is not
- correctly parenthesized (S)
- tooManyWildcardValues evaluating the expression exceeded the
- limit set by
- expResourceDeltaWildcardInstanceMaximum
- (E)
- recursion through some chain of embedded
- expressions the expression invokes itself
- (E)
- deltaTooShort the delta for the next evaluation passed
- before the system could evaluate the
- present sample (E)
- resourceUnavailable some resource, typically dynamic memory,
- was unavailable (SE)
- divideByZero an attempt to divide by zero occurred
- (E)
- For the errors that occur when the attempt is made to set
- expExpression Set request fails with the SNMP error code
- 'wrongValue'. Such failures refer to the most recent failure to
- Set expExpression, not to the present value of expExpression
- which must be either unset or syntactically correct.
- Errors that occur during evaluation for a Get* operation return
- the SNMP error code 'genErr' except for 'tooManyWildcardValues'
- and 'resourceUnavailable' which return the SNMP error code
- 'resourceUnavailable'."
- ::= { expErrorEntry 3 }
- expErrorInstance OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The expValueInstance being evaluated when the error
- occurred. A zero-length indicates irrelevance."
- ::= { expErrorEntry 4 }
- --
- -- Object Table
- --
- expObjectTable OBJECT-TYPE
- SYNTAX SEQUENCE OF ExpObjectEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A table of object definitions for each expExpression.
- Wildcarding instance IDs:
- It is legal to omit all or part of the instance portion for
- some or all of the objects in an expression. (See the
- DESCRIPTION of expObjectID for details. However, note that
- if more than one object in the same expression is wildcarded
- in this way, they all must be objects where that portion of
- the instance is the same. In other words, all objects may be
- in the same SEQUENCE or in different SEQUENCEs but with the
- same semantic index value (e.g., a value of ifIndex)
- for the wildcarded portion."
- ::= { expDefine 3 }
- expObjectEntry OBJECT-TYPE
- SYNTAX ExpObjectEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "Information about an object. An application uses
- expObjectEntryStatus to create entries in this table while
- in the process of defining an expression.
- Values of read-create objects in this table may be
- changed at any time."
- INDEX { expExpressionOwner, expExpressionName, expObjectIndex }
- ::= { expObjectTable 1 }
- ExpObjectEntry ::= SEQUENCE {
- expObjectIndex Unsigned32,
- expObjectID OBJECT IDENTIFIER,
- expObjectIDWildcard TruthValue,
- expObjectSampleType INTEGER,
- expObjectDeltaDiscontinuityID OBJECT IDENTIFIER,
- expObjectDiscontinuityIDWildcard TruthValue,
- expObjectDiscontinuityIDType INTEGER,
- expObjectConditional OBJECT IDENTIFIER,
- expObjectConditionalWildcard TruthValue,
- expObjectEntryStatus RowStatus
- }
- expObjectIndex OBJECT-TYPE
- SYNTAX Unsigned32 (1..4294967295)
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "Within an expression, a unique, numeric identification for an
- object. Prefixed with a dollar sign ('$') this is used to
- reference the object in the corresponding expExpression."
- ::= { expObjectEntry 1 }
- expObjectID OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The OBJECT IDENTIFIER (OID) of this object. The OID may be
- fully qualified, meaning it includes a complete instance
- identifier part (e.g., ifInOctets.1 or sysUpTime.0), or it
- may not be fully qualified, meaning it may lack all or part
- of the instance identifier. If the expObjectID is not fully
- qualified, then expObjectWildcard must be set to true(1).
- The value of the expression will be multiple
- values, as if done for a GetNext sweep of the object.
- An object here may itself be the result of an expression but
- recursion is not allowed.
- NOTE: The simplest implementations of this MIB may not allow
- wildcards."
- ::= { expObjectEntry 2 }
- expObjectIDWildcard OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "A true value indicates the expObjecID of this row is a wildcard
- object. False indicates that expObjectID is fully instanced.
- If all expObjectWildcard values for a given expression are FALSE,
- expExpressionPrefix will reflect a scalar object (i.e. will
- be 0.0).
- NOTE: The simplest implementations of this MIB may not allow
- wildcards."
- DEFVAL { false }
- ::= { expObjectEntry 3 }
- expObjectSampleType OBJECT-TYPE
- SYNTAX INTEGER { absoluteValue(1), deltaValue(2),
- changedValue(3) }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The method of sampling the selected variable.
- An 'absoluteValue' is simply the present value of the object.
- A 'deltaValue' is the present value minus the previous value,
- which was sampled expExpressionDeltaInterval seconds ago.
- This is intended primarily for use with SNMP counters, which are
- meaningless as an 'absoluteValue', but may be used with any
- integer-based value.
- A 'changedValue' is a boolean for whether the present value is
- different from the previous value. It is applicable to any data
- type and results in an Unsigned32 with value 1 if the object's
- value is changed and 0 if not. In all other respects it is as a
- 'deltaValue' and all statements and operation regarding delta
- values apply to changed values.
- When an expression contains both delta and absolute values
- the absolute values are obtained at the end of the delta
- period."
- DEFVAL { absoluteValue }
- ::= { expObjectEntry 4 }
- sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 }
- expObjectDeltaDiscontinuityID OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The OBJECT IDENTIFIER (OID) of a TimeTicks, TimeStamp, or
- DateAndTime object that indicates a discontinuity in the value
- at expObjectID.
- This object is instantiated only if expObjectSampleType is
- 'deltaValue' or 'changedValue'.
- The OID may be for a leaf object (e.g. sysUpTime.0) or may
- be wildcarded to match expObjectID.
- This object supports normal checking for a discontinuity in a
- counter. Note that if this object does not point to sysUpTime
- discontinuity checking must still check sysUpTime for an overall
- discontinuity.
- If the object identified is not accessible no discontinuity
- check will be made."
- DEFVAL { sysUpTimeInstance }
- ::= { expObjectEntry 5 }
- expObjectDiscontinuityIDWildcard OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "A true value indicates the expObjectDeltaDiscontinuityID of
- this row is a wildcard object. False indicates that
- expObjectDeltaDiscontinuityID is fully instanced.
- This object is instantiated only if expObjectSampleType is
- 'deltaValue' or 'changedValue'.
- NOTE: The simplest implementations of this MIB may not allow
- wildcards."
- DEFVAL { false }
- ::= { expObjectEntry 6 }
- expObjectDiscontinuityIDType OBJECT-TYPE
- SYNTAX INTEGER { timeTicks(1), timeStamp(2), dateAndTime(3) }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The value 'timeTicks' indicates the expObjectDeltaDiscontinuityID
- of this row is of syntax TimeTicks. The value 'timeStamp' indicates
- syntax TimeStamp. The value 'dateAndTime indicates syntax
- DateAndTime.
- This object is instantiated only if expObjectSampleType is
- 'deltaValue' or 'changedValue'."
- DEFVAL { timeTicks }
- ::= { expObjectEntry 7 }
- expObjectConditional OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The OBJECT IDENTIFIER (OID) of an object that overrides
- whether the instance of expObjectID is to be considered
- usable. If the value of the object at expObjectConditional
- is 0 or not instantiated, the object at expObjectID is
- treated as if it is not instantiated. In other words,
- expObjectConditional is a filter that controls whether or
- not to use the value at expObjectID.
- The OID may be for a leaf object (e.g. sysObjectID.0) or may be
- wildcarded to match expObjectID. If expObject is wildcarded and
- expObjectID in the same row is not, the wild portion of
- expObjectConditional must match the wildcarding of the rest of
- the expression. If no object in the expression is wildcarded
- but expObjectConditional is, use the lexically first instance
- (if any) of expObjectConditional.
- If the value of expObjectConditional is 0.0 operation is
- as if the value pointed to by expObjectConditional is a
- non-zero (true) value.
- Note that expObjectConditional can not trivially use an object
- of syntax TruthValue, since the underlying value is not 0 or 1."
- DEFVAL { zeroDotZero }
- ::= { expObjectEntry 8 }
- expObjectConditionalWildcard OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "A true value indicates the expObjectConditional of this row is
- a wildcard object. False indicates that expObjectConditional is
- fully instanced.
- NOTE: The simplest implementations of this MIB may not allow
- wildcards."
- DEFVAL { false }
- ::= { expObjectEntry 9 }
- expObjectEntryStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The control that allows creation/deletion of entries.
- Objects in this table may be changed while
- expObjectEntryStatus is in any state."
- ::= { expObjectEntry 10 }
- --
- -- Expression Value Table
- --
- expValueTable OBJECT-TYPE
- SYNTAX SEQUENCE OF ExpValueEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A table of values from evaluated expressions."
- ::= { expValue 1 }
- expValueEntry OBJECT-TYPE
- SYNTAX ExpValueEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A single value from an evaluated expression. For a given
- instance, only one 'Val' object in the conceptual row will be
- instantiated, that is, the one with the appropriate type for
- the value. For values that contain no objects of
- expObjectSampleType 'deltaValue' or 'changedValue', reading a
- value from the table causes the evaluation of the expression
- for that value. For those that contain a 'deltaValue' or
- 'changedValue' the value read is as of the last sampling
- interval.
- If in the attempt to evaluate the expression one or more
- of the necessary objects is not available, the corresponding
- entry in this table is effectively not instantiated.
- To maintain security of MIB information, when creating a new
- row in this table, the managed system must record the security
- credentials of the requester. These security credentials are
- the parameters necessary as inputs to isAccessAllowed from
- [RFC2571]. When obtaining the objects that make up the
- expression, the system must (conceptually) use isAccessAllowed to
- ensure that it does not violate security.
- The evaluation of that expression takes place under the
- security credentials of the creator of its expExpressionEntry.
- To maintain security of MIB information, expression evaluation must
- take place using security credentials for the implied Gets of the
- objects in the expression as inputs (conceptually) to
- isAccessAllowed from the Architecture for Describing SNMP
- Management Frameworks. These are the security credentials of the
- creator of the corresponding expExpressionEntry."
- INDEX { expExpressionOwner, expExpressionName,
- IMPLIED expValueInstance }
- ::= { expValueTable 1 }
- ExpValueEntry ::= SEQUENCE {
- expValueInstance OBJECT IDENTIFIER,
- expValueCounter32Val Counter32,
- expValueUnsigned32Val Unsigned32,
- expValueTimeTicksVal TimeTicks,
- expValueInteger32Val Integer32,
- expValueIpAddressVal IpAddress,
- expValueOctetStringVal OCTET STRING,
- expValueOidVal OBJECT IDENTIFIER,
- expValueCounter64Val Counter64
- }
- expValueInstance OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The final instance portion of a value's OID according to
- the wildcarding in instances of expObjectID for the
- expression. The prefix of this OID fragment is 0.0,
- leading to the following behavior.
- If there is no wildcarding, the value is 0.0.0. In other
- words, there is one value which standing alone would have
- been a scalar with a 0 at the end of its OID.
- If there is wildcarding, the value is 0.0 followed by
- a value that the wildcard can take, thus defining one value
- instance for each real, possible value of the wildcard.
- So, for example, if the wildcard worked out to be an ifIndex,
- there is an expValueInstance for each applicable ifIndex."
- ::= { expValueEntry 1 }
- expValueCounter32Val OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value when expExpressionValueType is 'counter32'."
- ::= { expValueEntry 2 }
- expValueUnsigned32Val OBJECT-TYPE
- SYNTAX Unsigned32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value when expExpressionValueType is 'unsigned32'."
- ::= { expValueEntry 3 }
- expValueTimeTicksVal OBJECT-TYPE
- SYNTAX TimeTicks
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value when expExpressionValueType is 'timeTicks'."
- ::= { expValueEntry 4 }
- expValueInteger32Val OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value when expExpressionValueType is 'integer32'."
- ::= { expValueEntry 5 }
- expValueIpAddressVal OBJECT-TYPE
- SYNTAX IpAddress
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value when expExpressionValueType is 'ipAddress'."
- ::= { expValueEntry 6 }
- expValueOctetStringVal OBJECT-TYPE
- SYNTAX OCTET STRING -- (SIZE (0..65536))
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value when expExpressionValueType is 'octetString'."
- ::= { expValueEntry 7 }
- expValueOidVal OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value when expExpressionValueType is 'objectId'."
- ::= { expValueEntry 8 }
- expValueCounter64Val OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value when expExpressionValueType is 'counter64'."
- ::= { expValueEntry 9 }
- --
- -- Conformance
- --
- dismanExpressionMIBConformance OBJECT IDENTIFIER ::=
- { dismanExpressionMIB 3 }
- dismanExpressionMIBCompliances OBJECT IDENTIFIER ::=
- { dismanExpressionMIBConformance 1 }
- dismanExpressionMIBGroups OBJECT IDENTIFIER ::=
- { dismanExpressionMIBConformance 2 }
- -- Compliance
- dismanExpressionMIBCompliance MODULE-COMPLIANCE
- STATUS current
- DESCRIPTION
- "The compliance statement for entities which implement
- the Expression MIB."
- MODULE -- this module
- MANDATORY-GROUPS {
- dismanExpressionResourceGroup,
- dismanExpressionDefinitionGroup,
- dismanExpressionValueGroup
- }
- OBJECT expResourceDeltaMinimum
- SYNTAX Integer32 (-1 | 60..600)
- DESCRIPTION
- "Implementation need not allow deltas or it may
- implement them and restrict them to higher values."
- OBJECT expObjectSampleType
- WRITE-SYNTAX INTEGER { absoluteValue(1) }
- DESCRIPTION
- "Implementation may disallow deltas calculation or
- change detection."
- OBJECT expObjectIDWildcard
- WRITE-SYNTAX INTEGER { false(2) }
- DESCRIPTION
- "Implementation may allow wildcards."
- OBJECT expObjectDiscontinuityIDWildcard
- WRITE-SYNTAX INTEGER { false(2) }
- DESCRIPTION
- "Implementation need not allow wildcards."
- OBJECT expObjectConditionalWildcard
- WRITE-SYNTAX INTEGER { false(2) }
- DESCRIPTION
- "Implementation need not allow deltas wildcards."
- ::= { dismanExpressionMIBCompliances 1 }
- -- Units of Conformance
- dismanExpressionResourceGroup OBJECT-GROUP
- OBJECTS {
- expResourceDeltaMinimum,
- expResourceDeltaWildcardInstanceMaximum,
- expResourceDeltaWildcardInstances,
- expResourceDeltaWildcardInstancesHigh,
- expResourceDeltaWildcardInstanceResourceLacks
- }
- STATUS current
- DESCRIPTION
- "Expression definition resource management."
- ::= { dismanExpressionMIBGroups 1 }
- dismanExpressionDefinitionGroup OBJECT-GROUP
- OBJECTS {
- expExpression,
- expExpressionValueType,
- expExpressionComment,
- expExpressionDeltaInterval,
- expExpressionPrefix,
- expExpressionErrors,
- expExpressionEntryStatus,
- expErrorTime,
- expErrorIndex,
- expErrorCode,
- expErrorInstance,
- expObjectID,
- expObjectIDWildcard,
- expObjectSampleType,
- expObjectDeltaDiscontinuityID,
- expObjectDiscontinuityIDWildcard,
- expObjectDiscontinuityIDType,
- expObjectConditional,
- expObjectConditionalWildcard,
- expObjectEntryStatus
- }
- STATUS current
- DESCRIPTION
- "Expression definition."
- ::= { dismanExpressionMIBGroups 2 }
- dismanExpressionValueGroup OBJECT-GROUP
- OBJECTS {
- expValueCounter32Val,
- expValueUnsigned32Val,
- expValueTimeTicksVal,
- expValueInteger32Val,
- expValueIpAddressVal,
- expValueOctetStringVal,
- expValueOidVal,
- expValueCounter64Val
- }
- STATUS current
- DESCRIPTION
- "Expression value."
- ::= { dismanExpressionMIBGroups 3 }
- END