1
DISMAN-EXPRESSION-MIB DEFINITIONS ::= BEGIN
4
MODULE-IDENTITY, OBJECT-TYPE,
5
Integer32, Gauge32, Unsigned32,
6
Counter32, Counter64, IpAddress,
7
TimeTicks, mib-2, zeroDotZero FROM SNMPv2-SMI
8
RowStatus, TruthValue, TimeStamp FROM SNMPv2-TC
9
sysUpTime FROM SNMPv2-MIB
10
SnmpAdminString FROM SNMP-FRAMEWORK-MIB
11
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
13
dismanExpressionMIB MODULE-IDENTITY
14
LAST-UPDATED "200010160000Z" -- 16 October 2000
15
ORGANIZATION "IETF Distributed Management Working Group"
16
CONTACT-INFO "Ramanathan Kavasseri
18
170 West Tasman Drive,
19
San Jose CA 95134-1706.
20
Phone: +1 408 527 2446
21
Email: ramk@cisco.com"
23
"The MIB module for defining expressions of MIB objects for
26
REVISION "200010160000Z" -- 16 October 2000
27
DESCRIPTION "This is the initial version of this MIB.
28
Published as RFC 2982"
32
dismanExpressionMIBObjects OBJECT IDENTIFIER ::=
33
{ dismanExpressionMIB 1 }
35
expResource OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 1 }
36
expDefine OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 2 }
37
expValue OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 3 }
43
expResourceDeltaMinimum OBJECT-TYPE
44
SYNTAX Integer32 (-1 | 1..600)
49
"The minimum expExpressionDeltaInterval this system will
50
accept. A system may use the larger values of this minimum to
51
lessen the impact of constantly computing deltas. For larger
52
delta sampling intervals the system samples less often and
53
suffers less overhead. This object provides a way to enforce
54
such lower overhead for all expressions created after it is
57
The value -1 indicates that expResourceDeltaMinimum is
58
irrelevant as the system will not accept 'deltaValue' as a
59
value for expObjectSampleType.
61
Unless explicitly resource limited, a system's value for
62
this object should be 1, allowing as small as a 1 second
63
interval for ongoing delta sampling.
65
Changing this value will not invalidate an existing setting
66
of expObjectSampleType."
69
expResourceDeltaWildcardInstanceMaximum OBJECT-TYPE
75
"For every instance of a deltaValue object, one dynamic instance
76
entry is needed for holding the instance value from the previous
77
sample, i.e. to maintain state.
79
This object limits maximum number of dynamic instance entries
80
this system will support for wildcarded delta objects in
81
expressions. For a given delta expression, the number of
82
dynamic instances is the number of values that meet all criteria
83
to exist times the number of delta values in the expression.
85
A value of 0 indicates no preset limit, that is, the limit
86
is dynamic based on system operation and resources.
88
Unless explicitly resource limited, a system's value for
89
this object should be 0.
92
Changing this value will not eliminate or inhibit existing delta
93
wildcard instance objects but will prevent the creation of more
96
An attempt to allocate beyond the limit results in expErrorCode
97
being tooManyWildcardValues for that evaluation attempt."
100
expResourceDeltaWildcardInstances OBJECT-TYPE
106
"The number of currently active instance entries as
107
defined for expResourceDeltaWildcardInstanceMaximum."
108
::= { expResource 3 }
110
expResourceDeltaWildcardInstancesHigh OBJECT-TYPE
116
"The highest value of expResourceDeltaWildcardInstances
117
that has occurred since initialization of the managed
119
::= { expResource 4 }
121
expResourceDeltaWildcardInstanceResourceLacks OBJECT-TYPE
127
"The number of times this system could not evaluate an
128
expression because that would have created a value instance in
129
excess of expResourceDeltaWildcardInstanceMaximum."
130
::= { expResource 5 }
137
expExpressionTable OBJECT-TYPE
139
SYNTAX SEQUENCE OF ExpExpressionEntry
140
MAX-ACCESS not-accessible
143
"A table of expression definitions."
146
expExpressionEntry OBJECT-TYPE
147
SYNTAX ExpExpressionEntry
148
MAX-ACCESS not-accessible
151
"Information about a single expression. New expressions
152
can be created using expExpressionRowStatus.
154
To create an expression first create the named entry in this
155
table. Then use expExpressionName to populate expObjectTable.
156
For expression evaluation to succeed all related entries in
157
expExpressionTable and expObjectTable must be 'active'. If
158
these conditions are not met the corresponding values in
159
expValue simply are not instantiated.
161
Deleting an entry deletes all related entries in expObjectTable
164
Because of the relationships among the multiple tables for an
165
expression (expExpressionTable, expObjectTable, and
166
expValueTable) and the SNMP rules for independence in setting
167
object values, it is necessary to do final error checking when
168
an expression is evaluated, that is, when one of its instances
169
in expValueTable is read or a delta interval expires. Earlier
170
checking need not be done and an implementation may not impose
171
any ordering on the creation of objects related to an
174
To maintain security of MIB information, when creating a new row in
175
this table, the managed system must record the security credentials
176
of the requester. These security credentials are the parameters
177
necessary as inputs to isAccessAllowed from the Architecture for
179
Describing SNMP Management Frameworks. When obtaining the objects
180
that make up the expression, the system must (conceptually) use
181
isAccessAllowed to ensure that it does not violate security.
183
The evaluation of the expression takes place under the
184
security credentials of the creator of its expExpressionEntry.
186
Values of read-write objects in this table may be changed
189
INDEX { expExpressionOwner, expExpressionName }
190
::= { expExpressionTable 1 }
192
ExpExpressionEntry ::= SEQUENCE {
193
expExpressionOwner SnmpAdminString,
194
expExpressionName SnmpAdminString,
195
expExpression OCTET STRING,
196
expExpressionValueType INTEGER,
197
expExpressionComment SnmpAdminString,
198
expExpressionDeltaInterval Integer32,
199
expExpressionPrefix OBJECT IDENTIFIER,
200
expExpressionErrors Counter32,
201
expExpressionEntryStatus RowStatus
204
expExpressionOwner OBJECT-TYPE
205
SYNTAX SnmpAdminString (SIZE(0..32))
206
MAX-ACCESS not-accessible
209
"The owner of this entry. The exact semantics of this
210
string are subject to the security policy defined by the
211
security administrator."
212
::= { expExpressionEntry 1 }
214
expExpressionName OBJECT-TYPE
215
SYNTAX SnmpAdminString (SIZE (1..32))
216
MAX-ACCESS not-accessible
219
"The name of the expression. This is locally unique, within
220
the scope of an expExpressionOwner."
221
::= { expExpressionEntry 2 }
223
expExpression OBJECT-TYPE
224
SYNTAX OCTET STRING (SIZE (1..1024))
225
MAX-ACCESS read-create
228
"The expression to be evaluated. This object is the same
229
as a DisplayString (RFC 1903) except for its maximum length.
231
Except for the variable names the expression is in ANSI C
232
syntax. Only the subset of ANSI C operators and functions
233
listed here is allowed.
235
Variables are expressed as a dollar sign ('$') and an
237
integer that corresponds to an expObjectIndex. An
238
example of a valid expression is:
242
Expressions must not be recursive, that is although an expression
243
may use the results of another expression, it must not contain
244
any variable that is directly or indirectly a result of its own
245
evaluation. The managed system must check for recursive
248
The only allowed operators are:
254
! && || == != > >= < <=
256
Note the parentheses are included for parenthesizing the
257
expression, not for casting data types.
259
The only constant types defined are:
270
The default type for a positive integer is int unless it is too
271
large in which case it is long.
273
All but oid are as defined for ANSI C. Note that a
274
hexadecimal constant may end up as a scalar or an array of
275
8-bit integers. A string constant is enclosed in double
276
quotes and may contain back-slashed individual characters
279
An oid constant comprises 32-bit, unsigned integers and at
280
least one period, for example:
286
No additional leading or trailing subidentifiers are automatically
287
added to an OID constant. The constant is taken as expressed.
289
Integer-typed objects are treated as 32- or 64-bit, signed
290
or unsigned integers, as appropriate. The results of
291
mixing them are as for ANSI C, including the type of the
292
result. Note that a 32-bit value is thus promoted to 64 bits
293
only in an operation with a 64-bit value. There is no
294
provision for larger values to handle overflow.
296
Relative to SNMP data types, a resulting value becomes
297
unsigned when calculating it uses any unsigned value,
298
including a counter. To force the final value to be of
299
data type counter the expression must explicitly use the
300
counter32() or counter64() function (defined below).
302
OCTET STRINGS and OBJECT IDENTIFIERs are treated as
303
one-dimensioned arrays of unsigned 8-bit integers and
304
unsigned 32-bit integers, respectively.
306
IpAddresses are treated as 32-bit, unsigned integers in
307
network byte order, that is, the hex version of 255.0.0.0 is
310
Conditional expressions result in a 32-bit, unsigned integer
311
of value 0 for false or 1 for true. When an arbitrary value
312
is used as a boolean 0 is false and non-zero is true.
314
Rules for the resulting data type from an operation, based on
317
For << and >> the result is the same as the left hand operand.
319
For &&, ||, ==, !=, <, <=, >, and >= the result is always
322
For unary - the result is always Integer32.
324
For +, -, *, /, %, &, |, and ^ the result is promoted according
325
to the following rules, in order from most to least preferred:
327
If left hand and right hand operands are the same type,
330
If either side is Counter64, use that.
332
If either side is IpAddress, use that.
335
If either side is TimeTicks, use that.
337
If either side is Counter32, use that.
339
Otherwise use Unsigned32.
341
The following rules say what operators apply with what data
342
types. Any combination not explicitly defined does not work.
344
For all operators any of the following can be the left hand or
345
right hand operand: Integer32, Counter32, Unsigned32, Counter64.
347
The operators +, -, *, /, %, <, <=, >, and >= work with
350
The operators &, |, and ^ work with IpAddress.
352
The operators << and >> work with IpAddress but only as the
355
The + operator performs a concatenation of two OCTET STRINGs or
356
two OBJECT IDENTIFIERs.
358
The operators &, | perform bitwise operations on OCTET STRINGs.
359
If the OCTET STRING happens to be a DisplayString the results
360
may be meaningless, but the agent system does not check this as
361
some such systems do not have this information.
363
The operators << and >> perform bitwise operations on OCTET
364
STRINGs appearing as the left hand operand.
366
The only functions defined are:
384
The following function definitions indicate their parameters by
385
naming the data type of the parameter in the parameter's position
386
in the parameter list. The parameter must be of the type indicated
387
and generally may be a constant, a MIB object, a function, or an
390
counter32(integer) - wrapped around an integer value counter32
391
forces Counter32 as a data type.
393
counter64(integer) - similar to counter32 except that the
394
resulting data type is 'counter64'.
396
arraySection(array, integer, integer) - selects a piece of an
397
array (i.e. part of an OCTET STRING or OBJECT IDENTIFIER). The
398
integer arguments are in the range 0 to 4,294,967,295. The
399
first is an initial array index (one-dimensioned) and the second
400
is an ending array index. A value of 0 indicates first or last
401
element, respectively. If the first element is larger than the
402
array length the result is 0 length. If the second integer is
403
less than or equal to the first, the result is 0 length. If the
404
second is larger than the array length it indicates last
407
stringBegins/Ends/Contains(octetString, octetString) - looks for
408
the second string (which can be a string constant) in the first
409
and returns the one-dimensioned arrayindex where the match began.
410
A return value of 0 indicates no match (i.e. boolean false).
412
oidBegins/Ends/Contains(oid, oid) - looks for the second OID
413
(which can be an OID constant) in the first and returns the
414
the one-dimensioned index where the match began. A return value
415
of 0 indicates no match (i.e. boolean false).
417
average/maximum/minimum(integer) - calculates the average,
418
minimum, or maximum value of the integer valued object over
419
multiple sample times. If the object disappears for any
420
sample period, the accumulation and the resulting value object
421
cease to exist until the object reappears at which point the
422
calculation starts over.
424
sum(integerObject*) - sums all available values of the
425
wildcarded integer object, resulting in an integer scalar. Must
426
be used with caution as it wraps on overflow with no
429
exists(anyTypeObject) - verifies the object instance exists. A
430
return value of 0 indicates NoSuchInstance (i.e. boolean
433
::= { expExpressionEntry 3 }
435
expExpressionValueType OBJECT-TYPE
436
SYNTAX INTEGER { counter32(1), unsigned32(2), timeTicks(3),
437
integer32(4), ipAddress(5), octetString(6),
438
objectId(7), counter64(8) }
439
MAX-ACCESS read-create
442
"The type of the expression value. One and only one of the
443
value objects in expValueTable will be instantiated to match
446
If the result of the expression can not be made into this type,
447
an invalidOperandType error will occur."
449
::= { expExpressionEntry 4 }
451
expExpressionComment OBJECT-TYPE
452
SYNTAX SnmpAdminString
453
MAX-ACCESS read-create
456
"A comment to explain the use or meaning of the expression."
458
::= { expExpressionEntry 5 }
460
expExpressionDeltaInterval OBJECT-TYPE
461
SYNTAX Integer32 (0..86400)
463
MAX-ACCESS read-create
466
"Sampling interval for objects in this expression with
467
expObjectSampleType 'deltaValue'.
469
This object has no effect if the the expression has no
472
A value of 0 indicates no automated sampling. In this case
473
the delta is the difference from the last time the expression
474
was evaluated. Note that this is subject to unpredictable
475
delta times in the face of retries or multiple managers.
477
A value greater than zero is the number of seconds between
480
Until the delta interval has expired once the delta for the
482
object is effectively not instantiated and evaluating
483
the expression has results as if the object itself were not
486
Note that delta values potentially consume large amounts of
487
system CPU and memory. Delta state and processing must
488
continue constantly even if the expression is not being used.
489
That is, the expression is being evaluated every delta interval,
490
even if no application is reading those values. For wildcarded
491
objects this can be substantial overhead.
493
Note that delta intervals, external expression value sampling
494
intervals and delta intervals for expressions within other
495
expressions can have unusual interactions as they are impossible
496
to synchronize accurately. In general one interval embedded
497
below another must be enough shorter that the higher sample
498
sees relatively smooth, predictable behavior. So, for example,
499
to avoid the higher level getting the same sample twice, the
500
lower level should sample at least twice as fast as the higher
503
::= { expExpressionEntry 6 }
505
expExpressionPrefix OBJECT-TYPE
506
SYNTAX OBJECT IDENTIFIER
510
"An object prefix to assist an application in determining
511
the instance indexing to use in expValueTable, relieving the
512
application of the need to scan the expObjectTable to
513
determine such a prefix.
515
See expObjectTable for information on wildcarded objects.
517
If the expValueInstance portion of the value OID may
518
be treated as a scalar (that is, normally, 0) the value of
519
expExpressionPrefix is zero length, that is, no OID at all.
520
Note that zero length implies a null OID, not the OID 0.0.
522
Otherwise, the value of expExpressionPrefix is the expObjectID
523
value of any one of the wildcarded objects for the expression.
524
This is sufficient, as the remainder, that is, the instance
525
fragment relevant to instancing the values, must be the same for
526
all wildcarded objects in the expression."
527
::= { expExpressionEntry 7 }
529
expExpressionErrors OBJECT-TYPE
535
"The number of errors encountered while evaluating this
538
Note that an object in the expression not being accessible,
539
is not considered an error. An example of an inaccessible
540
object is when the object is excluded from the view of the
541
user whose security credentials are used in the expression
542
evaluation. In such cases, it is a legitimate condition
543
that causes the corresponding expression value not to be
545
::= { expExpressionEntry 8 }
547
expExpressionEntryStatus OBJECT-TYPE
549
MAX-ACCESS read-create
552
"The control that allows creation and deletion of entries."
553
::= { expExpressionEntry 9 }
558
expErrorTable OBJECT-TYPE
559
SYNTAX SEQUENCE OF ExpErrorEntry
560
MAX-ACCESS not-accessible
563
"A table of expression errors."
566
expErrorEntry OBJECT-TYPE
568
MAX-ACCESS not-accessible
571
"Information about errors in processing an expression.
573
Entries appear in this table only when there is a matching
574
expExpressionEntry and then only when there has been an
575
error for that expression as reflected by the error codes
576
defined for expErrorCode."
577
INDEX { expExpressionOwner, expExpressionName }
579
::= { expErrorTable 1 }
581
ExpErrorEntry ::= SEQUENCE {
582
expErrorTime TimeStamp,
583
expErrorIndex Integer32,
584
expErrorCode INTEGER,
585
expErrorInstance OBJECT IDENTIFIER
588
expErrorTime OBJECT-TYPE
593
"The value of sysUpTime the last time an error caused a
594
failure to evaluate this expression."
595
::= { expErrorEntry 1 }
597
expErrorIndex OBJECT-TYPE
602
"The one-dimensioned character array index into
603
expExpression for where the error occurred. The value
604
zero indicates irrelevance."
605
::= { expErrorEntry 2 }
607
expErrorCode OBJECT-TYPE
610
undefinedObjectIndex(2),
611
unrecognizedOperator(3),
612
unrecognizedFunction(4),
613
invalidOperandType(5),
614
unmatchedParenthesis(6),
615
tooManyWildcardValues(7),
618
resourceUnavailable(10),
624
"The error that occurred. In the following explanations the
625
expected timing of the error is in parentheses. 'S' means
626
the error occurs on a Set request. 'E' means the error
628
occurs on the attempt to evaluate the expression either due to
629
Get from expValueTable or in ongoing delta processing.
631
invalidSyntax the value sent for expExpression is not
632
valid Expression MIB expression syntax
634
undefinedObjectIndex an object reference ($n) in
635
expExpression does not have a matching
636
instance in expObjectTable (E)
637
unrecognizedOperator the value sent for expExpression held an
638
unrecognized operator (S)
639
unrecognizedFunction the value sent for expExpression held an
640
unrecognized function name (S)
641
invalidOperandType an operand in expExpression is not the
642
right type for the associated operator
644
unmatchedParenthesis the value sent for expExpression is not
645
correctly parenthesized (S)
646
tooManyWildcardValues evaluating the expression exceeded the
648
expResourceDeltaWildcardInstanceMaximum
650
recursion through some chain of embedded
651
expressions the expression invokes itself
653
deltaTooShort the delta for the next evaluation passed
654
before the system could evaluate the
656
resourceUnavailable some resource, typically dynamic memory,
658
divideByZero an attempt to divide by zero occurred
661
For the errors that occur when the attempt is made to set
662
expExpression Set request fails with the SNMP error code
663
'wrongValue'. Such failures refer to the most recent failure to
664
Set expExpression, not to the present value of expExpression
665
which must be either unset or syntactically correct.
667
Errors that occur during evaluation for a Get* operation return
668
the SNMP error code 'genErr' except for 'tooManyWildcardValues'
669
and 'resourceUnavailable' which return the SNMP error code
670
'resourceUnavailable'."
671
::= { expErrorEntry 3 }
673
expErrorInstance OBJECT-TYPE
674
SYNTAX OBJECT IDENTIFIER
679
"The expValueInstance being evaluated when the error
680
occurred. A zero-length indicates irrelevance."
681
::= { expErrorEntry 4 }
686
expObjectTable OBJECT-TYPE
687
SYNTAX SEQUENCE OF ExpObjectEntry
688
MAX-ACCESS not-accessible
691
"A table of object definitions for each expExpression.
693
Wildcarding instance IDs:
695
It is legal to omit all or part of the instance portion for
696
some or all of the objects in an expression. (See the
697
DESCRIPTION of expObjectID for details. However, note that
698
if more than one object in the same expression is wildcarded
699
in this way, they all must be objects where that portion of
700
the instance is the same. In other words, all objects may be
701
in the same SEQUENCE or in different SEQUENCEs but with the
702
same semantic index value (e.g., a value of ifIndex)
703
for the wildcarded portion."
706
expObjectEntry OBJECT-TYPE
707
SYNTAX ExpObjectEntry
708
MAX-ACCESS not-accessible
711
"Information about an object. An application uses
712
expObjectEntryStatus to create entries in this table while
713
in the process of defining an expression.
715
Values of read-create objects in this table may be
716
changed at any time."
717
INDEX { expExpressionOwner, expExpressionName, expObjectIndex }
718
::= { expObjectTable 1 }
720
ExpObjectEntry ::= SEQUENCE {
721
expObjectIndex Unsigned32,
722
expObjectID OBJECT IDENTIFIER,
723
expObjectIDWildcard TruthValue,
725
expObjectSampleType INTEGER,
726
expObjectDeltaDiscontinuityID OBJECT IDENTIFIER,
727
expObjectDiscontinuityIDWildcard TruthValue,
728
expObjectDiscontinuityIDType INTEGER,
729
expObjectConditional OBJECT IDENTIFIER,
730
expObjectConditionalWildcard TruthValue,
731
expObjectEntryStatus RowStatus
734
expObjectIndex OBJECT-TYPE
735
SYNTAX Unsigned32 (1..4294967295)
736
MAX-ACCESS not-accessible
739
"Within an expression, a unique, numeric identification for an
740
object. Prefixed with a dollar sign ('$') this is used to
741
reference the object in the corresponding expExpression."
742
::= { expObjectEntry 1 }
744
expObjectID OBJECT-TYPE
745
SYNTAX OBJECT IDENTIFIER
746
MAX-ACCESS read-create
749
"The OBJECT IDENTIFIER (OID) of this object. The OID may be
750
fully qualified, meaning it includes a complete instance
751
identifier part (e.g., ifInOctets.1 or sysUpTime.0), or it
752
may not be fully qualified, meaning it may lack all or part
753
of the instance identifier. If the expObjectID is not fully
754
qualified, then expObjectWildcard must be set to true(1).
755
The value of the expression will be multiple
756
values, as if done for a GetNext sweep of the object.
758
An object here may itself be the result of an expression but
759
recursion is not allowed.
761
NOTE: The simplest implementations of this MIB may not allow
763
::= { expObjectEntry 2 }
765
expObjectIDWildcard OBJECT-TYPE
767
MAX-ACCESS read-create
770
"A true value indicates the expObjecID of this row is a wildcard
771
object. False indicates that expObjectID is fully instanced.
772
If all expObjectWildcard values for a given expression are FALSE,
774
expExpressionPrefix will reflect a scalar object (i.e. will
777
NOTE: The simplest implementations of this MIB may not allow
780
::= { expObjectEntry 3 }
782
expObjectSampleType OBJECT-TYPE
783
SYNTAX INTEGER { absoluteValue(1), deltaValue(2),
785
MAX-ACCESS read-create
788
"The method of sampling the selected variable.
790
An 'absoluteValue' is simply the present value of the object.
792
A 'deltaValue' is the present value minus the previous value,
793
which was sampled expExpressionDeltaInterval seconds ago.
794
This is intended primarily for use with SNMP counters, which are
795
meaningless as an 'absoluteValue', but may be used with any
798
A 'changedValue' is a boolean for whether the present value is
799
different from the previous value. It is applicable to any data
800
type and results in an Unsigned32 with value 1 if the object's
801
value is changed and 0 if not. In all other respects it is as a
802
'deltaValue' and all statements and operation regarding delta
803
values apply to changed values.
805
When an expression contains both delta and absolute values
806
the absolute values are obtained at the end of the delta
808
DEFVAL { absoluteValue }
809
::= { expObjectEntry 4 }
811
sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 }
813
expObjectDeltaDiscontinuityID OBJECT-TYPE
814
SYNTAX OBJECT IDENTIFIER
815
MAX-ACCESS read-create
818
"The OBJECT IDENTIFIER (OID) of a TimeTicks, TimeStamp, or
819
DateAndTime object that indicates a discontinuity in the value
823
This object is instantiated only if expObjectSampleType is
824
'deltaValue' or 'changedValue'.
826
The OID may be for a leaf object (e.g. sysUpTime.0) or may
827
be wildcarded to match expObjectID.
829
This object supports normal checking for a discontinuity in a
830
counter. Note that if this object does not point to sysUpTime
831
discontinuity checking must still check sysUpTime for an overall
834
If the object identified is not accessible no discontinuity
836
DEFVAL { sysUpTimeInstance }
837
::= { expObjectEntry 5 }
839
expObjectDiscontinuityIDWildcard OBJECT-TYPE
841
MAX-ACCESS read-create
844
"A true value indicates the expObjectDeltaDiscontinuityID of
845
this row is a wildcard object. False indicates that
846
expObjectDeltaDiscontinuityID is fully instanced.
848
This object is instantiated only if expObjectSampleType is
849
'deltaValue' or 'changedValue'.
851
NOTE: The simplest implementations of this MIB may not allow
854
::= { expObjectEntry 6 }
856
expObjectDiscontinuityIDType OBJECT-TYPE
857
SYNTAX INTEGER { timeTicks(1), timeStamp(2), dateAndTime(3) }
858
MAX-ACCESS read-create
861
"The value 'timeTicks' indicates the expObjectDeltaDiscontinuityID
862
of this row is of syntax TimeTicks. The value 'timeStamp' indicates
863
syntax TimeStamp. The value 'dateAndTime indicates syntax
866
This object is instantiated only if expObjectSampleType is
867
'deltaValue' or 'changedValue'."
869
::= { expObjectEntry 7 }
872
expObjectConditional OBJECT-TYPE
873
SYNTAX OBJECT IDENTIFIER
874
MAX-ACCESS read-create
877
"The OBJECT IDENTIFIER (OID) of an object that overrides
878
whether the instance of expObjectID is to be considered
879
usable. If the value of the object at expObjectConditional
880
is 0 or not instantiated, the object at expObjectID is
881
treated as if it is not instantiated. In other words,
882
expObjectConditional is a filter that controls whether or
883
not to use the value at expObjectID.
885
The OID may be for a leaf object (e.g. sysObjectID.0) or may be
886
wildcarded to match expObjectID. If expObject is wildcarded and
887
expObjectID in the same row is not, the wild portion of
888
expObjectConditional must match the wildcarding of the rest of
889
the expression. If no object in the expression is wildcarded
890
but expObjectConditional is, use the lexically first instance
891
(if any) of expObjectConditional.
893
If the value of expObjectConditional is 0.0 operation is
894
as if the value pointed to by expObjectConditional is a
895
non-zero (true) value.
897
Note that expObjectConditional can not trivially use an object
898
of syntax TruthValue, since the underlying value is not 0 or 1."
899
DEFVAL { zeroDotZero }
900
::= { expObjectEntry 8 }
902
expObjectConditionalWildcard OBJECT-TYPE
904
MAX-ACCESS read-create
908
"A true value indicates the expObjectConditional of this row is
909
a wildcard object. False indicates that expObjectConditional is
912
NOTE: The simplest implementations of this MIB may not allow
915
::= { expObjectEntry 9 }
917
expObjectEntryStatus OBJECT-TYPE
919
MAX-ACCESS read-create
923
"The control that allows creation/deletion of entries.
925
Objects in this table may be changed while
926
expObjectEntryStatus is in any state."
927
::= { expObjectEntry 10 }
932
expValueTable OBJECT-TYPE
933
SYNTAX SEQUENCE OF ExpValueEntry
934
MAX-ACCESS not-accessible
937
"A table of values from evaluated expressions."
940
expValueEntry OBJECT-TYPE
942
MAX-ACCESS not-accessible
945
"A single value from an evaluated expression. For a given
946
instance, only one 'Val' object in the conceptual row will be
947
instantiated, that is, the one with the appropriate type for
948
the value. For values that contain no objects of
949
expObjectSampleType 'deltaValue' or 'changedValue', reading a
950
value from the table causes the evaluation of the expression
951
for that value. For those that contain a 'deltaValue' or
952
'changedValue' the value read is as of the last sampling
955
If in the attempt to evaluate the expression one or more
956
of the necessary objects is not available, the corresponding
957
entry in this table is effectively not instantiated.
959
To maintain security of MIB information, when creating a new
960
row in this table, the managed system must record the security
961
credentials of the requester. These security credentials are
962
the parameters necessary as inputs to isAccessAllowed from
963
[RFC2571]. When obtaining the objects that make up the
964
expression, the system must (conceptually) use isAccessAllowed to
965
ensure that it does not violate security.
967
The evaluation of that expression takes place under the
969
security credentials of the creator of its expExpressionEntry.
971
To maintain security of MIB information, expression evaluation must
972
take place using security credentials for the implied Gets of the
973
objects in the expression as inputs (conceptually) to
974
isAccessAllowed from the Architecture for Describing SNMP
975
Management Frameworks. These are the security credentials of the
976
creator of the corresponding expExpressionEntry."
977
INDEX { expExpressionOwner, expExpressionName,
978
IMPLIED expValueInstance }
979
::= { expValueTable 1 }
981
ExpValueEntry ::= SEQUENCE {
982
expValueInstance OBJECT IDENTIFIER,
983
expValueCounter32Val Counter32,
984
expValueUnsigned32Val Unsigned32,
985
expValueTimeTicksVal TimeTicks,
986
expValueInteger32Val Integer32,
987
expValueIpAddressVal IpAddress,
988
expValueOctetStringVal OCTET STRING,
989
expValueOidVal OBJECT IDENTIFIER,
990
expValueCounter64Val Counter64
993
expValueInstance OBJECT-TYPE
994
SYNTAX OBJECT IDENTIFIER
995
MAX-ACCESS not-accessible
998
"The final instance portion of a value's OID according to
999
the wildcarding in instances of expObjectID for the
1000
expression. The prefix of this OID fragment is 0.0,
1001
leading to the following behavior.
1003
If there is no wildcarding, the value is 0.0.0. In other
1004
words, there is one value which standing alone would have
1005
been a scalar with a 0 at the end of its OID.
1007
If there is wildcarding, the value is 0.0 followed by
1008
a value that the wildcard can take, thus defining one value
1009
instance for each real, possible value of the wildcard.
1010
So, for example, if the wildcard worked out to be an ifIndex,
1011
there is an expValueInstance for each applicable ifIndex."
1012
::= { expValueEntry 1 }
1014
expValueCounter32Val OBJECT-TYPE
1016
MAX-ACCESS read-only
1020
"The value when expExpressionValueType is 'counter32'."
1021
::= { expValueEntry 2 }
1023
expValueUnsigned32Val OBJECT-TYPE
1025
MAX-ACCESS read-only
1028
"The value when expExpressionValueType is 'unsigned32'."
1029
::= { expValueEntry 3 }
1031
expValueTimeTicksVal OBJECT-TYPE
1033
MAX-ACCESS read-only
1036
"The value when expExpressionValueType is 'timeTicks'."
1037
::= { expValueEntry 4 }
1039
expValueInteger32Val OBJECT-TYPE
1041
MAX-ACCESS read-only
1044
"The value when expExpressionValueType is 'integer32'."
1045
::= { expValueEntry 5 }
1047
expValueIpAddressVal OBJECT-TYPE
1049
MAX-ACCESS read-only
1052
"The value when expExpressionValueType is 'ipAddress'."
1053
::= { expValueEntry 6 }
1055
expValueOctetStringVal OBJECT-TYPE
1056
SYNTAX OCTET STRING -- (SIZE (0..65536))
1057
MAX-ACCESS read-only
1060
"The value when expExpressionValueType is 'octetString'."
1061
::= { expValueEntry 7 }
1063
expValueOidVal OBJECT-TYPE
1064
SYNTAX OBJECT IDENTIFIER
1065
MAX-ACCESS read-only
1069
"The value when expExpressionValueType is 'objectId'."
1070
::= { expValueEntry 8 }
1072
expValueCounter64Val OBJECT-TYPE
1074
MAX-ACCESS read-only
1077
"The value when expExpressionValueType is 'counter64'."
1078
::= { expValueEntry 9 }
1083
dismanExpressionMIBConformance OBJECT IDENTIFIER ::=
1084
{ dismanExpressionMIB 3 }
1085
dismanExpressionMIBCompliances OBJECT IDENTIFIER ::=
1086
{ dismanExpressionMIBConformance 1 }
1087
dismanExpressionMIBGroups OBJECT IDENTIFIER ::=
1088
{ dismanExpressionMIBConformance 2 }
1091
dismanExpressionMIBCompliance MODULE-COMPLIANCE
1094
"The compliance statement for entities which implement
1095
the Expression MIB."
1096
MODULE -- this module
1098
dismanExpressionResourceGroup,
1099
dismanExpressionDefinitionGroup,
1100
dismanExpressionValueGroup
1103
OBJECT expResourceDeltaMinimum
1104
SYNTAX Integer32 (-1 | 60..600)
1106
"Implementation need not allow deltas or it may
1107
implement them and restrict them to higher values."
1109
OBJECT expObjectSampleType
1110
WRITE-SYNTAX INTEGER { absoluteValue(1) }
1112
"Implementation may disallow deltas calculation or
1116
OBJECT expObjectIDWildcard
1117
WRITE-SYNTAX INTEGER { false(2) }
1119
"Implementation may allow wildcards."
1121
OBJECT expObjectDiscontinuityIDWildcard
1122
WRITE-SYNTAX INTEGER { false(2) }
1124
"Implementation need not allow wildcards."
1126
OBJECT expObjectConditionalWildcard
1127
WRITE-SYNTAX INTEGER { false(2) }
1129
"Implementation need not allow deltas wildcards."
1131
::= { dismanExpressionMIBCompliances 1 }
1134
dismanExpressionResourceGroup OBJECT-GROUP
1136
expResourceDeltaMinimum,
1137
expResourceDeltaWildcardInstanceMaximum,
1138
expResourceDeltaWildcardInstances,
1139
expResourceDeltaWildcardInstancesHigh,
1140
expResourceDeltaWildcardInstanceResourceLacks
1144
"Expression definition resource management."
1145
::= { dismanExpressionMIBGroups 1 }
1147
dismanExpressionDefinitionGroup OBJECT-GROUP
1150
expExpressionValueType,
1151
expExpressionComment,
1152
expExpressionDeltaInterval,
1153
expExpressionPrefix,
1154
expExpressionErrors,
1155
expExpressionEntryStatus,
1163
expObjectIDWildcard,
1164
expObjectSampleType,
1165
expObjectDeltaDiscontinuityID,
1166
expObjectDiscontinuityIDWildcard,
1167
expObjectDiscontinuityIDType,
1168
expObjectConditional,
1169
expObjectConditionalWildcard,
1170
expObjectEntryStatus
1174
"Expression definition."
1175
::= { dismanExpressionMIBGroups 2 }
1177
dismanExpressionValueGroup OBJECT-GROUP
1179
expValueCounter32Val,
1180
expValueUnsigned32Val,
1181
expValueTimeTicksVal,
1182
expValueInteger32Val,
1183
expValueIpAddressVal,
1184
expValueOctetStringVal,
1186
expValueCounter64Val
1191
::= { dismanExpressionMIBGroups 3 }