Blame mibs/DISMAN-EXPRESSION-MIB.txt

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