smilint output for ./SNMPv2-PARTY-MIB
Message Severities |
Severity | Count |
severe | 1 |
error | 4 |
minor error | 6 |
change recommended | 3 |
warning | 15 |
fyi | 2 |
Message Types |
Type | Count |
basetype-unknown (error) | 1 |
defval-syntax (error) | 1 |
group-member-invalid (minor error) | 2 |
group-membership (change recommended) | 3 |
identifier-external-redefined (warning) | 2 |
import-failed (error) | 1 |
index-element-no-size (minor error) | 3 |
index-exceeds-too-large (warning) | 3 |
integer-misuse (warning) | 10 |
object-identifier-unknown (severe) | 1 |
previous-definition (fyi) | 2 |
revision-missing (minor error) | 1 |
type-unknown (error) | 1 |
Messages:
/home/fenner/mibindex/latest2/SNMPv2-TC
1: -- extracted from rfc2579.txt
2: -- at Fri Dec 24 21:34:57 1999
3:
4: SNMPv2-TC DEFINITIONS ::= BEGIN
5:
6: IMPORTS
7: TimeTicks FROM SNMPv2-SMI;
8:
9:
10: -- definition of textual conventions
11:
12: TEXTUAL-CONVENTION MACRO ::=
13: BEGIN
14: TYPE NOTATION ::=
15: DisplayPart
16: "STATUS" Status
17: "DESCRIPTION" Text
18: ReferPart
19: "SYNTAX" Syntax
20:
21: VALUE NOTATION ::=
22: value(VALUE Syntax) -- adapted ASN.1
23:
24: DisplayPart ::=
25: "DISPLAY-HINT" Text
26: | empty
27:
28: Status ::=
29: "current"
30: | "deprecated"
31: | "obsolete"
32:
33: ReferPart ::=
34: "REFERENCE" Text
35: | empty
36:
37: -- a character string as defined in [2]
38: Text ::= value(IA5String)
39:
40: Syntax ::= -- Must be one of the following:
41: -- a base type (or its refinement), or
42: -- a BITS pseudo-type
43: type
44: | "BITS" "{" NamedBits "}"
45:
46: NamedBits ::= NamedBit
47: | NamedBits "," NamedBit
48:
49: NamedBit ::= identifier "(" number ")" -- number is nonnegative
50:
51: END
52:
53:
54:
55:
56: DisplayString ::= TEXTUAL-CONVENTION
57: DISPLAY-HINT "255a"
58: STATUS current
59: DESCRIPTION
60: "Represents textual information taken from the NVT ASCII
61: character set, as defined in pages 4, 10-11 of RFC 854.
62:
63: To summarize RFC 854, the NVT ASCII repertoire specifies:
64:
65: - the use of character codes 0-127 (decimal)
66:
67: - the graphics characters (32-126) are interpreted as
68: US ASCII
69:
70: - NUL, LF, CR, BEL, BS, HT, VT and FF have the special
71: meanings specified in RFC 854
72:
73: - the other 25 codes have no standard interpretation
74:
75: - the sequence 'CR LF' means newline
76:
77: - the sequence 'CR NUL' means carriage-return
78:
79: - an 'LF' not preceded by a 'CR' means moving to the
80: same column on the next line.
81:
82: - the sequence 'CR x' for any x other than LF or NUL is
83: illegal. (Note that this also means that a string may
84: end with either 'CR LF' or 'CR NUL', but not with CR.)
85:
86: Any object defined using this syntax may not exceed 255
87: characters in length."
88: SYNTAX OCTET STRING (SIZE (0..255))
89:
90: PhysAddress ::= TEXTUAL-CONVENTION
91: DISPLAY-HINT "1x:"
92: STATUS current
93: DESCRIPTION
94: "Represents media- or physical-level addresses."
95: SYNTAX OCTET STRING
96:
97:
98: MacAddress ::= TEXTUAL-CONVENTION
99: DISPLAY-HINT "1x:"
100: STATUS current
101: DESCRIPTION
102: "Represents an 802 MAC address represented in the
103: `canonical' order defined by IEEE 802.1a, i.e., as if it
104: were transmitted least significant bit first, even though
105: 802.5 (in contrast to other 802.x protocols) requires MAC
106: addresses to be transmitted most significant bit first."
107: SYNTAX OCTET STRING (SIZE (6))
108:
109: TruthValue ::= TEXTUAL-CONVENTION
110: STATUS current
111: DESCRIPTION
112: "Represents a boolean value."
113: SYNTAX INTEGER { true(1), false(2) }
114:
115: TestAndIncr ::= TEXTUAL-CONVENTION
116: STATUS current
117: DESCRIPTION
118: "Represents integer-valued information used for atomic
119: operations. When the management protocol is used to specify
120: that an object instance having this syntax is to be
121: modified, the new value supplied via the management protocol
122: must precisely match the value presently held by the
123: instance. If not, the management protocol set operation
124: fails with an error of `inconsistentValue'. Otherwise, if
125: the current value is the maximum value of 2^31-1 (2147483647
126: decimal), then the value held by the instance is wrapped to
127: zero; otherwise, the value held by the instance is
128: incremented by one. (Note that regardless of whether the
129: management protocol set operation succeeds, the variable-
130: binding in the request and response PDUs are identical.)
131:
132: The value of the ACCESS clause for objects having this
133: syntax is either `read-write' or `read-create'. When an
134: instance of a columnar object having this syntax is created,
135: any value may be supplied via the management protocol.
136:
137: When the network management portion of the system is re-
138: initialized, the value of every object instance having this
139: syntax must either be incremented from its value prior to
140: the re-initialization, or (if the value prior to the re-
141: initialization is unknown) be set to a pseudo-randomly
142: generated value."
143: SYNTAX INTEGER (0..2147483647)
144:
145: AutonomousType ::= TEXTUAL-CONVENTION
146: STATUS current
147: DESCRIPTION
148: "Represents an independently extensible type identification
149: value. It may, for example, indicate a particular sub-tree
150: with further MIB definitions, or define a particular type of
151: protocol or hardware."
152: SYNTAX OBJECT IDENTIFIER
153:
154:
155: InstancePointer ::= TEXTUAL-CONVENTION
156: STATUS obsolete
157: DESCRIPTION
158: "A pointer to either a specific instance of a MIB object or
159: a conceptual row of a MIB table in the managed device. In
160: the latter case, by convention, it is the name of the
161: particular instance of the first accessible columnar object
162: in the conceptual row.
163:
164: The two uses of this textual convention are replaced by
165: VariablePointer and RowPointer, respectively."
166: SYNTAX OBJECT IDENTIFIER
167:
168:
169: VariablePointer ::= TEXTUAL-CONVENTION
170: STATUS current
171: DESCRIPTION
172: "A pointer to a specific object instance. For example,
173: sysContact.0 or ifInOctets.3."
174: SYNTAX OBJECT IDENTIFIER
175:
176:
177: RowPointer ::= TEXTUAL-CONVENTION
178: STATUS current
179: DESCRIPTION
180: "Represents a pointer to a conceptual row. The value is the
181: name of the instance of the first accessible columnar object
182: in the conceptual row.
183:
184: For example, ifIndex.3 would point to the 3rd row in the
185: ifTable (note that if ifIndex were not-accessible, then
186: ifDescr.3 would be used instead)."
187: SYNTAX OBJECT IDENTIFIER
188:
189: RowStatus ::= TEXTUAL-CONVENTION
190: STATUS current
191: DESCRIPTION
192: "The RowStatus textual convention is used to manage the
193: creation and deletion of conceptual rows, and is used as the
194: value of the SYNTAX clause for the status column of a
195: conceptual row (as described in Section 7.7.1 of [2].)
196: The status column has six defined values:
197:
198: - `active', which indicates that the conceptual row is
199: available for use by the managed device;
200:
201: - `notInService', which indicates that the conceptual
202: row exists in the agent, but is unavailable for use by
203: the managed device (see NOTE below); 'notInService' has
204: no implication regarding the internal consistency of
205: the row, availability of resources, or consistency with
206: the current state of the managed device;
207:
208: - `notReady', which indicates that the conceptual row
209: exists in the agent, but is missing information
210: necessary in order to be available for use by the
211: managed device (i.e., one or more required columns in
212: the conceptual row have not been instanciated);
213:
214: - `createAndGo', which is supplied by a management
215: station wishing to create a new instance of a
216: conceptual row and to have its status automatically set
217: to active, making it available for use by the managed
218: device;
219:
220: - `createAndWait', which is supplied by a management
221: station wishing to create a new instance of a
222: conceptual row (but not make it available for use by
223: the managed device); and,
224:
225: - `destroy', which is supplied by a management station
226: wishing to delete all of the instances associated with
227: an existing conceptual row.
228:
229: Whereas five of the six values (all except `notReady') may
230: be specified in a management protocol set operation, only
231: three values will be returned in response to a management
232: protocol retrieval operation: `notReady', `notInService' or
233: `active'. That is, when queried, an existing conceptual row
234: has only three states: it is either available for use by
235: the managed device (the status column has value `active');
236: it is not available for use by the managed device, though
237: the agent has sufficient information to attempt to make it
238: so (the status column has value `notInService'); or, it is
239: not available for use by the managed device, and an attempt
240: to make it so would fail because the agent has insufficient
241: information (the state column has value `notReady').
242: NOTE WELL
243:
244: This textual convention may be used for a MIB table,
245: irrespective of whether the values of that table's
246: conceptual rows are able to be modified while it is
247: active, or whether its conceptual rows must be taken
248: out of service in order to be modified. That is, it is
249: the responsibility of the DESCRIPTION clause of the
250: status column to specify whether the status column must
251: not be `active' in order for the value of some other
252: column of the same conceptual row to be modified. If
253: such a specification is made, affected columns may be
254: changed by an SNMP set PDU if the RowStatus would not
255: be equal to `active' either immediately before or after
256: processing the PDU. In other words, if the PDU also
257: contained a varbind that would change the RowStatus
258: value, the column in question may be changed if the
259: RowStatus was not equal to `active' as the PDU was
260: received, or if the varbind sets the status to a value
261: other than 'active'.
262:
263:
264: Also note that whenever any elements of a row exist, the
265: RowStatus column must also exist.
266: To summarize the effect of having a conceptual row with a
267: status column having a SYNTAX clause value of RowStatus,
268: consider the following state diagram:
269:
270:
271: STATE
272: +--------------+-----------+-------------+-------------
273: | A | B | C | D
274: | |status col.|status column|
275: |status column | is | is |status column
276: ACTION |does not exist| notReady | notInService| is active
277: --------------+--------------+-----------+-------------+-------------
278: set status |noError ->D|inconsist- |inconsistent-|inconsistent-
279: column to | or | entValue| Value| Value
280: createAndGo |inconsistent- | | |
281: | Value| | |
282: --------------+--------------+-----------+-------------+-------------
283: set status |noError see 1|inconsist- |inconsistent-|inconsistent-
284: column to | or | entValue| Value| Value
285: createAndWait |wrongValue | | |
286: --------------+--------------+-----------+-------------+-------------
287: set status |inconsistent- |inconsist- |noError |noError
288: column to | Value| entValue| |
289: active | | | |
290: | | or | |
291: | | | |
292: | |see 2 ->D|see 8 ->D| ->D
293: --------------+--------------+-----------+-------------+-------------
294: set status |inconsistent- |inconsist- |noError |noError ->C
295: column to | Value| entValue| |
296: notInService | | | |
297: | | or | | or
298: | | | |
299: | |see 3 ->C| ->C|see 6
300: --------------+--------------+-----------+-------------+-------------
301: set status |noError |noError |noError |noError ->A
302: column to | | | | or
303: destroy | ->A| ->A| ->A|see 7
304: --------------+--------------+-----------+-------------+-------------
305: set any other |see 4 |noError |noError |see 5
306: column to some| | | |
307: value | | see 1| ->C| ->D
308: --------------+--------------+-----------+-------------+-------------
309:
310: (1) goto B or C, depending on information available to the
311: agent.
312:
313: (2) if other variable bindings included in the same PDU,
314: provide values for all columns which are missing but
315: required, and all columns have acceptable values, then
316: return noError and goto D.
317:
318: (3) if other variable bindings included in the same PDU,
319: provide legal values for all columns which are missing but
320: required, then return noError and goto C.
321:
322: (4) at the discretion of the agent, the return value may be
323: either:
324:
325: inconsistentName: because the agent does not choose to
326: create such an instance when the corresponding
327: RowStatus instance does not exist, or
328:
329: inconsistentValue: if the supplied value is
330: inconsistent with the state of some other MIB object's
331: value, or
332:
333: noError: because the agent chooses to create the
334: instance.
335:
336: If noError is returned, then the instance of the status
337: column must also be created, and the new state is B or C,
338: depending on the information available to the agent. If
339: inconsistentName or inconsistentValue is returned, the row
340: remains in state A.
341:
342: (5) depending on the MIB definition for the column/table,
343: either noError or inconsistentValue may be returned.
344:
345: (6) the return value can indicate one of the following
346: errors:
347:
348: wrongValue: because the agent does not support
349: notInService (e.g., an agent which does not support
350: createAndWait), or
351:
352: inconsistentValue: because the agent is unable to take
353: the row out of service at this time, perhaps because it
354: is in use and cannot be de-activated.
355:
356: (7) the return value can indicate the following error:
357:
358: inconsistentValue: because the agent is unable to
359: remove the row at this time, perhaps because it is in
360: use and cannot be de-activated.
361:
362: (8) the transition to D can fail, e.g., if the values of the
363: conceptual row are inconsistent, then the error code would
364: be inconsistentValue.
365:
366: NOTE: Other processing of (this and other varbinds of) the
367: set request may result in a response other than noError
368: being returned, e.g., wrongValue, noCreation, etc.
369:
370:
371: Conceptual Row Creation
372:
373: There are four potential interactions when creating a
374: conceptual row: selecting an instance-identifier which is
375: not in use; creating the conceptual row; initializing any
376: objects for which the agent does not supply a default; and,
377: making the conceptual row available for use by the managed
378: device.
379:
380: Interaction 1: Selecting an Instance-Identifier
381:
382: The algorithm used to select an instance-identifier varies
383: for each conceptual row. In some cases, the instance-
384: identifier is semantically significant, e.g., the
385: destination address of a route, and a management station
386: selects the instance-identifier according to the semantics.
387:
388: In other cases, the instance-identifier is used solely to
389: distinguish conceptual rows, and a management station
390: without specific knowledge of the conceptual row might
391: examine the instances present in order to determine an
392: unused instance-identifier. (This approach may be used, but
393: it is often highly sub-optimal; however, it is also a
394: questionable practice for a naive management station to
395: attempt conceptual row creation.)
396:
397: Alternately, the MIB module which defines the conceptual row
398: might provide one or more objects which provide assistance
399: in determining an unused instance-identifier. For example,
400: if the conceptual row is indexed by an integer-value, then
401: an object having an integer-valued SYNTAX clause might be
402: defined for such a purpose, allowing a management station to
403: issue a management protocol retrieval operation. In order
404: to avoid unnecessary collisions between competing management
405: stations, `adjacent' retrievals of this object should be
406: different.
407:
408: Finally, the management station could select a pseudo-random
409: number to use as the index. In the event that this index
410: was already in use and an inconsistentValue was returned in
411: response to the management protocol set operation, the
412: management station should simply select a new pseudo-random
413: number and retry the operation.
414:
415: A MIB designer should choose between the two latter
416: algorithms based on the size of the table (and therefore the
417: efficiency of each algorithm). For tables in which a large
418: number of entries are expected, it is recommended that a MIB
419: object be defined that returns an acceptable index for
420: creation. For tables with small numbers of entries, it is
421: recommended that the latter pseudo-random index mechanism be
422: used.
423:
424: Interaction 2: Creating the Conceptual Row
425:
426: Once an unused instance-identifier has been selected, the
427: management station determines if it wishes to create and
428: activate the conceptual row in one transaction or in a
429: negotiated set of interactions.
430:
431: Interaction 2a: Creating and Activating the Conceptual Row
432:
433: The management station must first determine the column
434: requirements, i.e., it must determine those columns for
435: which it must or must not provide values. Depending on the
436: complexity of the table and the management station's
437: knowledge of the agent's capabilities, this determination
438: can be made locally by the management station. Alternately,
439: the management station issues a management protocol get
440: operation to examine all columns in the conceptual row that
441: it wishes to create. In response, for each column, there
442: are three possible outcomes:
443:
444: - a value is returned, indicating that some other
445: management station has already created this conceptual
446: row. We return to interaction 1.
447:
448: - the exception `noSuchInstance' is returned,
449: indicating that the agent implements the object-type
450: associated with this column, and that this column in at
451: least one conceptual row would be accessible in the MIB
452: view used by the retrieval were it to exist. For those
453: columns to which the agent provides read-create access,
454: the `noSuchInstance' exception tells the management
455: station that it should supply a value for this column
456: when the conceptual row is to be created.
457: - the exception `noSuchObject' is returned, indicating
458: that the agent does not implement the object-type
459: associated with this column or that there is no
460: conceptual row for which this column would be
461: accessible in the MIB view used by the retrieval. As
462: such, the management station can not issue any
463: management protocol set operations to create an
464: instance of this column.
465:
466: Once the column requirements have been determined, a
467: management protocol set operation is accordingly issued.
468: This operation also sets the new instance of the status
469: column to `createAndGo'.
470:
471: When the agent processes the set operation, it verifies that
472: it has sufficient information to make the conceptual row
473: available for use by the managed device. The information
474: available to the agent is provided by two sources: the
475: management protocol set operation which creates the
476: conceptual row, and, implementation-specific defaults
477: supplied by the agent (note that an agent must provide
478: implementation-specific defaults for at least those objects
479: which it implements as read-only). If there is sufficient
480: information available, then the conceptual row is created, a
481: `noError' response is returned, the status column is set to
482: `active', and no further interactions are necessary (i.e.,
483: interactions 3 and 4 are skipped). If there is insufficient
484: information, then the conceptual row is not created, and the
485: set operation fails with an error of `inconsistentValue'.
486: On this error, the management station can issue a management
487: protocol retrieval operation to determine if this was
488: because it failed to specify a value for a required column,
489: or, because the selected instance of the status column
490: already existed. In the latter case, we return to
491: interaction 1. In the former case, the management station
492: can re-issue the set operation with the additional
493: information, or begin interaction 2 again using
494: `createAndWait' in order to negotiate creation of the
495: conceptual row.
496: NOTE WELL
497:
498: Regardless of the method used to determine the column
499: requirements, it is possible that the management
500: station might deem a column necessary when, in fact,
501: the agent will not allow that particular columnar
502: instance to be created or written. In this case, the
503: management protocol set operation will fail with an
504: error such as `noCreation' or `notWritable'. In this
505: case, the management station decides whether it needs
506: to be able to set a value for that particular columnar
507: instance. If not, the management station re-issues the
508: management protocol set operation, but without setting
509: a value for that particular columnar instance;
510: otherwise, the management station aborts the row
511: creation algorithm.
512:
513: Interaction 2b: Negotiating the Creation of the Conceptual
514: Row
515:
516: The management station issues a management protocol set
517: operation which sets the desired instance of the status
518: column to `createAndWait'. If the agent is unwilling to
519: process a request of this sort, the set operation fails with
520: an error of `wrongValue'. (As a consequence, such an agent
521: must be prepared to accept a single management protocol set
522: operation, i.e., interaction 2a above, containing all of the
523: columns indicated by its column requirements.) Otherwise,
524: the conceptual row is created, a `noError' response is
525: returned, and the status column is immediately set to either
526: `notInService' or `notReady', depending on whether it has
527: sufficient information to (attempt to) make the conceptual
528: row available for use by the managed device. If there is
529: sufficient information available, then the status column is
530: set to `notInService'; otherwise, if there is insufficient
531: information, then the status column is set to `notReady'.
532: Regardless, we proceed to interaction 3.
533:
534: Interaction 3: Initializing non-defaulted Objects
535:
536: The management station must now determine the column
537: requirements. It issues a management protocol get operation
538: to examine all columns in the created conceptual row. In
539: the response, for each column, there are three possible
540: outcomes:
541: - a value is returned, indicating that the agent
542: implements the object-type associated with this column
543: and had sufficient information to provide a value. For
544: those columns to which the agent provides read-create
545: access (and for which the agent allows their values to
546: be changed after their creation), a value return tells
547: the management station that it may issue additional
548: management protocol set operations, if it desires, in
549: order to change the value associated with this column.
550:
551: - the exception `noSuchInstance' is returned,
552: indicating that the agent implements the object-type
553: associated with this column, and that this column in at
554: least one conceptual row would be accessible in the MIB
555: view used by the retrieval were it to exist. However,
556: the agent does not have sufficient information to
557: provide a value, and until a value is provided, the
558: conceptual row may not be made available for use by the
559: managed device. For those columns to which the agent
560: provides read-create access, the `noSuchInstance'
561: exception tells the management station that it must
562: issue additional management protocol set operations, in
563: order to provide a value associated with this column.
564:
565: - the exception `noSuchObject' is returned, indicating
566: that the agent does not implement the object-type
567: associated with this column or that there is no
568: conceptual row for which this column would be
569: accessible in the MIB view used by the retrieval. As
570: such, the management station can not issue any
571: management protocol set operations to create an
572: instance of this column.
573:
574: If the value associated with the status column is
575: `notReady', then the management station must first deal with
576: all `noSuchInstance' columns, if any. Having done so, the
577: value of the status column becomes `notInService', and we
578: proceed to interaction 4.
579: Interaction 4: Making the Conceptual Row Available
580:
581: Once the management station is satisfied with the values
582: associated with the columns of the conceptual row, it issues
583: a management protocol set operation to set the status column
584: to `active'. If the agent has sufficient information to
585: make the conceptual row available for use by the managed
586: device, the management protocol set operation succeeds (a
587: `noError' response is returned). Otherwise, the management
588: protocol set operation fails with an error of
589: `inconsistentValue'.
590:
591: NOTE WELL
592:
593: A conceptual row having a status column with value
594: `notInService' or `notReady' is unavailable to the
595: managed device. As such, it is possible for the
596: managed device to create its own instances during the
597: time between the management protocol set operation
598: which sets the status column to `createAndWait' and the
599: management protocol set operation which sets the status
600: column to `active'. In this case, when the management
601: protocol set operation is issued to set the status
602: column to `active', the values held in the agent
603: supersede those used by the managed device.
604:
605: If the management station is prevented from setting the
606: status column to `active' (e.g., due to management station
607: or network failure) the conceptual row will be left in the
608: `notInService' or `notReady' state, consuming resources
609: indefinitely. The agent must detect conceptual rows that
610: have been in either state for an abnormally long period of
611: time and remove them. It is the responsibility of the
612: DESCRIPTION clause of the status column to indicate what an
613: abnormally long period of time would be. This period of
614: time should be long enough to allow for human response time
615: (including `think time') between the creation of the
616: conceptual row and the setting of the status to `active'.
617: In the absence of such information in the DESCRIPTION
618: clause, it is suggested that this period be approximately 5
619: minutes in length. This removal action applies not only to
620: newly-created rows, but also to previously active rows which
621: are set to, and left in, the notInService state for a
622: prolonged period exceeding that which is considered normal
623: for such a conceptual row.
624: Conceptual Row Suspension
625:
626: When a conceptual row is `active', the management station
627: may issue a management protocol set operation which sets the
628: instance of the status column to `notInService'. If the
629: agent is unwilling to do so, the set operation fails with an
630: error of `wrongValue' or `inconsistentValue'. Otherwise,
631: the conceptual row is taken out of service, and a `noError'
632: response is returned. It is the responsibility of the
633: DESCRIPTION clause of the status column to indicate under
634: what circumstances the status column should be taken out of
635: service (e.g., in order for the value of some other column
636: of the same conceptual row to be modified).
637:
638:
639: Conceptual Row Deletion
640:
641: For deletion of conceptual rows, a management protocol set
642: operation is issued which sets the instance of the status
643: column to `destroy'. This request may be made regardless of
644: the current value of the status column (e.g., it is possible
645: to delete conceptual rows which are either `notReady',
646: `notInService' or `active'.) If the operation succeeds,
647: then all instances associated with the conceptual row are
648: immediately removed."
649: SYNTAX INTEGER {
650: -- the following two values are states:
651: -- these values may be read or written
652: active(1),
653: notInService(2),
654:
655: -- the following value is a state:
656: -- this value may be read, but not written
657: notReady(3),
658:
659: -- the following three values are
660: -- actions: these values may be written,
661: -- but are never read
662: createAndGo(4),
663: createAndWait(5),
664: destroy(6)
665: }
666:
667: TimeStamp ::= TEXTUAL-CONVENTION
668: STATUS current
669: DESCRIPTION
670: "The value of the sysUpTime object at which a specific
671: occurrence happened. The specific occurrence must be
672: defined in the description of any object defined using this
673: type.
674:
675: If sysUpTime is reset to zero as a result of a re-
676: initialization of the network management (sub)system, then
677: the values of all TimeStamp objects are also reset.
678: However, after approximately 497 days without a re-
679: initialization, the sysUpTime object will reach 2^^32-1 and
680: then increment around to zero; in this case, existing values
681: of TimeStamp objects do not change. This can lead to
682: ambiguities in the value of TimeStamp objects."
683: SYNTAX TimeTicks
684:
685:
686: TimeInterval ::= TEXTUAL-CONVENTION
687: STATUS current
688: DESCRIPTION
689: "A period of time, measured in units of 0.01 seconds."
690: SYNTAX INTEGER (0..2147483647)
691:
692: DateAndTime ::= TEXTUAL-CONVENTION
693: DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
694: STATUS current
695: DESCRIPTION
696: "A date-time specification.
697:
698: field octets contents range
699: ----- ------ -------- -----
700: 1 1-2 year* 0..65536
701: 2 3 month 1..12
702: 3 4 day 1..31
703: 4 5 hour 0..23
704: 5 6 minutes 0..59
705: 6 7 seconds 0..60
706: (use 60 for leap-second)
707: 7 8 deci-seconds 0..9
708: 8 9 direction from UTC '+' / '-'
709: 9 10 hours from UTC* 0..13
710: 10 11 minutes from UTC 0..59
711:
712: * Notes:
713: - the value of year is in network-byte order
714: - daylight saving time in New Zealand is +13
715:
716: For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be
717: displayed as:
718:
719: 1992-5-26,13:30:15.0,-4:0
720:
721: Note that if only local time is known, then timezone
722: information (fields 8-10) is not present."
723: SYNTAX OCTET STRING (SIZE (8 | 11))
724:
725:
726: StorageType ::= TEXTUAL-CONVENTION
726: fyi -
info: previous definition of `StorageType'
727: STATUS current
728: DESCRIPTION
729: "Describes the memory realization of a conceptual row. A
730: row which is volatile(2) is lost upon reboot. A row which
731: is either nonVolatile(3), permanent(4) or readOnly(5), is
732: backed up by stable storage. A row which is permanent(4)
733: can be changed but not deleted. A row which is readOnly(5)
734: cannot be changed nor deleted.
735:
736: If the value of an object with this syntax is either
737: permanent(4) or readOnly(5), it cannot be written.
738: Conversely, if the value is either other(1), volatile(2) or
739: nonVolatile(3), it cannot be modified to be permanent(4) or
740: readOnly(5). (All illegal modifications result in a
741: 'wrongValue' error.)
742:
743: Every usage of this textual convention is required to
744: specify the columnar objects which a permanent(4) row must
745: at a minimum allow to be writable."
746: SYNTAX INTEGER {
747: other(1), -- eh?
748: volatile(2), -- e.g., in RAM
749: nonVolatile(3), -- e.g., in NVRAM
750: permanent(4), -- e.g., partially in ROM
751: readOnly(5) -- e.g., completely in ROM
752: }
753:
754: TDomain ::= TEXTUAL-CONVENTION
755: STATUS current
756: DESCRIPTION
757: "Denotes a kind of transport service.
758:
759: Some possible values, such as snmpUDPDomain, are defined in
760: the SNMPv2-TM MIB module. Other possible values are defined
761: in other MIB modules."
762: REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906."
763: SYNTAX OBJECT IDENTIFIER
764:
765:
766: TAddress ::= TEXTUAL-CONVENTION
766: fyi -
info: previous definition of `TAddress'
767: STATUS current
768: DESCRIPTION
769: "Denotes a transport service address.
770:
771: A TAddress value is always interpreted within the context of a
772: TDomain value. Thus, each definition of a TDomain value must
773: be accompanied by a definition of a textual convention for use
774: with that TDomain. Some possible textual conventions, such as
775: SnmpUDPAddress for snmpUDPDomain, are defined in the SNMPv2-TM
776: MIB module. Other possible textual conventions are defined in
777: other MIB modules."
778: REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906."
779: SYNTAX OCTET STRING (SIZE (1..255))
780:
781:
782: END
783:
784: --
785: -- Copyright (C) The Internet Society (1999). All Rights Reserved.
786: --
787: -- This document and translations of it may be copied and furnished to
788: -- others, and derivative works that comment on or otherwise explain it
789: -- or assist in its implementation may be prepared, copied, published
790: -- and distributed, in whole or in part, without restriction of any
791: -- kind, provided that the above copyright notice and this paragraph are
792: -- included on all such copies and derivative works. However, this
793: -- document itself may not be modified in any way, such as by removing
794: -- the copyright notice or references to the Internet Society or other
795: -- Internet organizations, except as needed for the purpose of
796: -- developing Internet standards in which case the procedures for
797: -- copyrights defined in the Internet Standards process must be
798: -- followed, or as required to translate it into languages other than
799: -- English.
800: --
801: -- The limited permissions granted above are perpetual and will not be
802: -- revoked by the Internet Society or its successors or assigns.
803: --
804: -- This document and the information contained herein is provided on an
805: -- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
806: -- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
807: -- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
808: -- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
809: -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
810:
SNMPv2-PARTY-MIB
1: -- extracted from rfc1447.txt
2: -- at Mon Nov 15 17:11:56 1999
3:
4: SNMPv2-PARTY-MIB DEFINITIONS ::= BEGIN
5:
6: IMPORTS
7: MODULE-IDENTITY, OBJECT-TYPE, snmpModules,
8: UInteger32
9: FROM SNMPv2-SMI
9: error -
identifier `UInteger32' cannot be imported from module `SNMPv2-SMI'
10: TEXTUAL-CONVENTION, RowStatus, TruthValue
11: FROM SNMPv2-TC
12: MODULE-COMPLIANCE, OBJECT-GROUP
13: FROM SNMPv2-CONF;
14:
15:
16: partyMIB MODULE-IDENTITY
17: LAST-UPDATED "9304010000Z"
18: ORGANIZATION "IETF SNMP Security Working Group"
19: CONTACT-INFO
20: " Keith McCloghrie
21:
22: Postal: Hughes LAN Systems
23: 1225 Charleston Road
24: Mountain View, CA 94043
25: US
26:
27: Tel: +1 415 966 7934
28: Fax: +1 415 960 3738
29:
30: E-mail: kzm@hls.com"
31: DESCRIPTION
32: "The MIB module describing SNMPv2 parties."
33: ::= { snmpModules 3 }
33: minor error -
revision for last update is missing
34:
35: -- textual conventions
36:
37: Party ::= TEXTUAL-CONVENTION
38: STATUS current
39: DESCRIPTION
40: "Denotes a SNMPv2 party identifier.
41:
42: Note that agents may impose implementation
43: limitations on the length of OIDs used to identify
44: Parties. As such, management stations creating
45: new parties should be aware that using an
46: excessively long OID may result in the agent
47: refusing to perform the set operation and instead
48: returning the appropriate error response, e.g.,
49: noCreation."
50: SYNTAX OBJECT IDENTIFIER
51:
52:
53: TAddress ::= TEXTUAL-CONVENTION
53: warning -
warning: redefinition of identifier `SNMPv2-TC::TAddress'
54: STATUS current
55: DESCRIPTION
56: "Denotes a transport service address.
57:
58: For snmpUDPDomain, a TAddress is 6 octets long,
59: the initial 4 octets containing the IP-address in
60: network-byte order and the last 2 containing the
61: UDP port in network-byte order. Consult [5] for
62: further information on snmpUDPDomain."
63: SYNTAX OCTET STRING
64:
65: Clock ::= TEXTUAL-CONVENTION
66: STATUS current
67: DESCRIPTION
68: "A party's authentication clock - a non-negative
69: integer which is incremented as specified/allowed
70: by the party's Authentication Protocol.
71:
72: For noAuth, a party's authentication clock is
73: unused and its value is undefined.
74:
75: For v2md5AuthProtocol, a party's authentication
76: clock is a relative clock with 1-second
77: granularity."
78: SYNTAX UInteger32
79:
80:
81: Context ::= TEXTUAL-CONVENTION
81: error -
unknown type `UInteger32'
82: STATUS current
83: DESCRIPTION
84: "Denotes a SNMPv2 context identifier.
85:
86: Note that agents may impose implementation
87: limitations on the length of OIDs used to identify
88: Contexts. As such, management stations creating new
89: contexts should be aware that using an excessively
90: long OID may result in the agent refusing to
91: perform the set operation and instead returning
92: the appropriate error response, e.g., noCreation."
93: SYNTAX OBJECT IDENTIFIER
94:
95: StorageType ::= TEXTUAL-CONVENTION
95: warning -
warning: redefinition of identifier `SNMPv2-TC::StorageType'
96: STATUS current
97: DESCRIPTION
98: "Describes the memory realization of a conceptual
99: row. A row which is volatile(2) is lost upon
100: reboot. A row which is nonVolatile(3) is backed
101: up by stable storage. A row which is permanent(4)
102: cannot be changed nor deleted."
103: SYNTAX INTEGER {
104: other(1), -- eh?
105: volatile(2), -- e.g., in RAM
106: nonVolatile(3), -- e.g., in NVRAM
107: permanent(4) -- e.g., in ROM
108: }
109:
110: -- administrative assignments
111:
112: partyAdmin OBJECT IDENTIFIER ::= { partyMIB 1 }
113:
114:
115: -- definitions of security protocols
116:
117: partyProtocols OBJECT IDENTIFIER ::= { partyAdmin 1 }
118:
119: -- the protocol without authentication
120: noAuth OBJECT IDENTIFIER ::= { partyProtocols 1 }
121:
122: -- the protocol without privacy
123: noPriv OBJECT IDENTIFIER ::= { partyProtocols 2 }
124:
125: -- the DES Privacy Protocol [4]
126: desPrivProtocol
127: OBJECT IDENTIFIER ::= { partyProtocols 3 }
128:
129: -- the MD5 Authentication Protocol [4]
130: v2md5AuthProtocol
131: OBJECT IDENTIFIER ::= { partyProtocols 4 }
132:
133:
134: -- definitions of temporal domains
135:
136: temporalDomains
137: OBJECT IDENTIFIER ::= { partyAdmin 2 }
138:
139: -- this temporal domain refers to management information
140: -- at the current time
141: currentTime OBJECT IDENTIFIER ::= { temporalDomains 1 }
142:
143: -- this temporal domain refers to management information
144: -- upon the next re-initialization of the managed device
145: restartTime OBJECT IDENTIFIER ::= { temporalDomains 2 }
146:
147: -- the temporal domain { cacheTime N } refers to management
148: -- information that is cached and guaranteed to be at most
149: -- N seconds old
150: cacheTime OBJECT IDENTIFIER ::= { temporalDomains 3 }
151: -- Definition of Initial Party and Context Identifiers
152:
153: -- When devices are installed, they need to be configured
154: -- with an initial set of SNMPv2 parties and contexts. The
155: -- configuration of SNMPv2 parties and contexts requires (among
156: -- other things) the assignment of several OBJECT IDENTIFIERs.
157: -- Any local network administration can obtain the delegated
158: -- authority necessary to assign its own OBJECT IDENTIFIERs.
159: -- However, to provide for those administrations who have not
160: -- obtained the necessary authority, this document allocates a
161: -- branch of the naming tree for use with the following
162: -- conventions.
163:
164: initialPartyId OBJECT IDENTIFIER ::= { partyAdmin 3 }
165:
166: initialContextId
167: OBJECT IDENTIFIER ::= { partyAdmin 4 }
168:
169: -- Note these are identified as "initial" party and context
170: -- identifiers since these allow secure SNMPv2 communication
171: -- to proceed, thereby allowing further SNMPv2 parties to be
172: -- configured through use of the SNMPv2 itself.
173:
174: -- The following definitions identify a party identifier, and
175: -- specify the initial values of various object instances
176: -- indexed by that identifier. In addition, the SNMPv2
177: -- context, access control policy, and MIB view information
178: -- assigned, by convention, are identified.
179: -- Party Identifiers for use as initial SNMPv2 parties
180: -- at IP address a.b.c.d
181:
182: -- Note that for all OBJECT IDENTIFIERs assigned under
183: -- initialPartyId, the four sub-identifiers immediately
184: -- following initialPartyId represent the four octets of
185: -- an IP address. Initial party identifiers for other address
186: -- families are assigned under a different OBJECT IDENTIFIER,
187: -- as defined elsewhere.
188:
189: -- Devices which support SNMPv2 as entities acting in an
190: -- agent role, and accessed via the snmpUDPDomain transport
191: -- domain, are required to be configured with the appropriate
192: -- set of the following as implicit assignments as and when
193: -- they are configured with an IP address. The appropriate
194: -- set is all those applicable to the authentication and
195: -- privacy protocols supported by the device.
196: -- a noAuth/noPriv party which executes at the agent
197: -- partyIdentity = { initialPartyId a b c d 1 }
198: -- partyIndex = 1
199: -- partyTDomain = snmpUDPDomain
200: -- partyTAddress = a.b.c.d, 161
201: -- partyLocal = true (in agent's database)
202: -- partyAuthProtocol = noAuth
203: -- partyAuthClock = 0
204: -- partyAuthPrivate = ''H (the empty string)
205: -- partyAuthPublic = ''H (the empty string)
206: -- partyAuthLifetime = 0
207: -- partyPrivProtocol = noPriv
208: -- partyPrivPrivate = ''H (the empty string)
209: -- partyPrivPublic = ''H (the empty string)
210:
211: -- a noAuth/noPriv party which executes at a manager
212: -- partyIdentity = { initialPartyId a b c d 2 }
213: -- partyIndex = 2
214: -- partyTDomain = snmpUDPDomain
215: -- partyTAddress = assigned by local administration
216: -- partyLocal = false (in agent's database)
217: -- partyAuthProtocol = noAuth
218: -- partyAuthClock = 0
219: -- partyAuthPrivate = ''H (the empty string)
220: -- partyAuthPublic = ''H (the empty string)
221: -- partyAuthLifetime = 0
222: -- partyPrivProtocol = noPriv
223: -- partyPrivPrivate = ''H (the empty string)
224: -- partyPrivPublic = ''H (the empty string)
225: -- a md5Auth/noPriv party which executes at the agent
226: -- partyIdentity = { initialPartyId a b c d 3 }
227: -- partyIndex = 3
228: -- partyTDomain = snmpUDPDomain
229: -- partyTAddress = a.b.c.d, 161
230: -- partyLocal = true (in agent's database)
231: -- partyAuthProtocol = v2md5AuthProtocol
232: -- partyAuthClock = 0
233: -- partyAuthPrivate = assigned by local administration
234: -- partyAuthPublic = ''H (the empty string)
235: -- partyAuthLifetime = 300
236: -- partyPrivProtocol = noPriv
237: -- partyPrivPrivate = ''H (the empty string)
238: -- partyPrivPublic = ''H (the empty string)
239:
240: -- a md5Auth/noPriv party which executes at a manager
241: -- partyIdentity = { initialPartyId a b c d 4 }
242: -- partyIndex = 4
243: -- partyTDomain = snmpUDPDomain
244: -- partyTAddress = assigned by local administration
245: -- partyLocal = false (in agent's database)
246: -- partyAuthProtocol = v2md5AuthProtocol
247: -- partyAuthClock = 0
248: -- partyAuthPrivate = assigned by local administration
249: -- partyAuthPublic = ''H (the empty string)
250: -- partyAuthLifetime = 300
251: -- partyPrivProtocol = noPriv
252: -- partyPrivPrivate = ''H (the empty string)
253: -- partyPrivPublic = ''H (the empty string)
254: -- a md5Auth/desPriv party which executes at the agent
255: -- partyIdentity = { initialPartyId a b c d 5 }
256: -- partyIndex = 5
257: -- partyTDomain = snmpUDPDomain
258: -- partyTAddress = a.b.c.d, 161
259: -- partyLocal = true (in agent's database)
260: -- partyAuthProtocol = v2md5AuthProtocol
261: -- partyAuthClock = 0
262: -- partyAuthPrivate = assigned by local administration
263: -- partyAuthPublic = ''H (the empty string)
264: -- partyAuthLifetime = 300
265: -- partyPrivProtocol = desPrivProtocol
266: -- partyPrivPrivate = assigned by local administration
267: -- partyPrivPublic = ''H (the empty string)
268:
269: -- a md5Auth/desPriv party which executes at a manager
270: -- partyIdentity = { initialPartyId a b c d 6 }
271: -- partyIndex = 6
272: -- partyTDomain = snmpUDPDomain
273: -- partyTAddress = assigned by local administration
274: -- partyLocal = false (in agent's database)
275: -- partyAuthProtocol = v2md5AuthProtocol
276: -- partyAuthClock = 0
277: -- partyAuthPrivate = assigned by local administration
278: -- partyAuthPublic = ''H (the empty string)
279: -- partyAuthLifetime = 300
280: -- partyPrivProtocol = desPrivProtocol
281: -- partyPrivPrivate = assigned by local administration
282: -- partyPrivPublic = ''H (the empty string)
283: -- the initial SNMPv2 contexts assigned, by convention, are:
284:
285: -- contextIdentity = { initialContextId a b c d 1 }
286: -- contextIndex = 1
287: -- contextLocal = true (in agent's database)
288: -- contextViewIndex = 1
289: -- contextLocalEntity = ''H (the empty string)
290: -- contextLocalTime = currentTime
291: -- contextProxyDstParty = { 0 0 }
292: -- contextProxySrcParty = { 0 0 }
293: -- contextProxyContext = { 0 0 }
294:
295: -- contextIdentity = { initialContextId a b c d 2 }
296: -- contextIndex = 2
297: -- contextLocal = true (in agent's database)
298: -- contextViewIndex = 2
299: -- contextLocalEntity = ''H (the empty string)
300: -- contextLocalTime = currentTime
301: -- contextProxyDstParty = { 0 0 }
302: -- contextProxySrcParty = { 0 0 }
303: -- contextProxyContext = { 0 0 }
304:
305: -- The initial access control policy assigned, by
306: -- convention, is:
307:
308: -- aclTarget = 1
309: -- aclSubject = 2
310: -- aclResources = 1
311: -- aclPrivileges = 35 (Get, Get-Next & Get-Bulk)
312:
313: -- aclTarget = 2
314: -- aclSubject = 1
315: -- aclResources = 1
316: -- aclPrivileges = 132 (Response & SNMPv2-Trap)
317:
318: -- aclTarget = 3
319: -- aclSubject = 4
320: -- aclResources = 2
321: -- aclPrivileges = 43 (Get, Get-Next, Set & Get-Bulk)
322:
323: -- aclTarget = 4
324: -- aclSubject = 3
325: -- aclResources = 2
326: -- aclPrivileges = 4 (Response)
327:
328: -- aclTarget = 5
329: -- aclSubject = 6
330: -- aclResources = 2
331: -- aclPrivileges = 43 (Get, Get-Next, Set & Get-Bulk)
332:
333: -- aclTarget = 6
334: -- aclSubject = 5
335: -- aclResources = 2
336: -- aclPrivileges = 4 (Response)
337:
338:
339: -- Note that the initial context and access control
340: -- information assigned above, by default, to the
341: -- md5Auth/desPriv parties are identical to those assigned to
342: -- the md5Auth/noPriv parties. However, each administration
343: -- may choose to have different authorization policies,
344: -- depending on whether privacy is used.
345: -- The initial MIB views assigned, by convention, are:
346:
347: -- viewIndex = 1
348: -- viewSubtree = system
349: -- viewMask = ''H
350: -- viewType = included
351:
352: -- viewIndex = 1
353: -- viewSubtree = snmpStats
354: -- viewMask = ''H
355: -- viewType = included
356:
357: -- viewIndex = 1
358: -- viewSubtree = snmpParties
359: -- viewMask = ''H
360: -- viewType = included
361:
362: -- viewIndex = 2
363: -- viewSubtree = internet
364: -- viewMask = ''H
365: -- viewType = included
366:
367:
368: -- Note that full access to the partyTable, contextTable,
369: -- aclTable, and viewTable gives a manager the ability to
370: -- configure any parties with any/all capabilities (the
371: -- equivalent of "root" access). A lesser manager can be
372: -- given access only to the partyTable so that it can
373: -- maintain its own parties, but not increase/decrease
374: -- their capabilities. Such a lesser manager can also
375: -- create new parties but they are of no use to it.
376: -- object assignments
377:
378: partyMIBObjects
379: OBJECT IDENTIFIER ::= { partyMIB 2 }
380:
381:
382: -- the SNMPv2 party database group
383:
384: snmpParties OBJECT IDENTIFIER ::= { partyMIBObjects 1 }
385:
386:
387: partyTable OBJECT-TYPE
388: SYNTAX SEQUENCE OF PartyEntry
389: MAX-ACCESS not-accessible
390: STATUS current
391: DESCRIPTION
392: "The SNMPv2 Party database."
393: ::= { snmpParties 1 }
394:
395: partyEntry OBJECT-TYPE
395: warning -
warning: index of row `partyEntry' can exceed OID size limit by 13 subidentifier(s)
396: SYNTAX PartyEntry
397: MAX-ACCESS not-accessible
398: STATUS current
399: DESCRIPTION
400: "Locally held information about a particular
401: SNMPv2 party."
402: INDEX { IMPLIED partyIdentity }
403: ::= { partyTable 1 }
404:
405: PartyEntry ::=
406: SEQUENCE {
407: partyIdentity Party,
408: partyIndex INTEGER,
409: partyTDomain OBJECT IDENTIFIER,
410: partyTAddress TAddress,
411: partyMaxMessageSize INTEGER,
412: partyLocal TruthValue,
413: partyAuthProtocol OBJECT IDENTIFIER,
414: partyAuthClock Clock,
415: partyAuthPrivate OCTET STRING,
416: partyAuthPublic OCTET STRING,
417: partyAuthLifetime INTEGER,
418: partyPrivProtocol OBJECT IDENTIFIER,
419: partyPrivPrivate OCTET STRING,
420: partyPrivPublic OCTET STRING,
421: partyCloneFrom Party,
422: partyStorageType StorageType,
423: partyStatus RowStatus
424: }
425:
426: partyIdentity OBJECT-TYPE
426: minor error -
index element `partyIdentity' of row `partyEntry' should but cannot have a size restriction
427: SYNTAX Party
428: MAX-ACCESS not-accessible
429: STATUS current
430: DESCRIPTION
431: "A party identifier uniquely identifying a
432: particular SNMPv2 party."
433: ::= { partyEntry 1 }
434:
435: partyIndex OBJECT-TYPE
436: SYNTAX INTEGER (1..65535)
436: warning -
warning: use Integer32 instead of INTEGER in SMIv2
437: MAX-ACCESS read-only
438: STATUS current
439: DESCRIPTION
440: "A unique value for each SNMPv2 party. The value
441: for each SNMPv2 party must remain constant at
442: least from one re-initialization of the entity's
443: network management system to the next re-
444: initialization."
445: ::= { partyEntry 2 }
446:
447: partyTDomain OBJECT-TYPE
447: severe -
unknown object identifier label `snmpUDPDomain'
447: error -
default value syntax does not match object syntax
448: SYNTAX OBJECT IDENTIFIER
449: MAX-ACCESS read-create
450: STATUS current
451: DESCRIPTION
452: "Indicates the kind of transport service by which
453: the party receives network management traffic."
454: DEFVAL { snmpUDPDomain }
455: ::= { partyEntry 3 }
456:
457: partyTAddress OBJECT-TYPE
458: SYNTAX TAddress
459: MAX-ACCESS read-create
460: STATUS current
461: DESCRIPTION
462: "The transport service address by which the party
463: receives network management traffic, formatted
464: according to the corresponding value of
465: partyTDomain. For snmpUDPDomain, partyTAddress is
466: formatted as a 4-octet IP Address concatenated
467: with a 2-octet UDP port number."
468: DEFVAL { '000000000000'H }
469: ::= { partyEntry 4 }
470:
471: partyMaxMessageSize OBJECT-TYPE
472: SYNTAX INTEGER (484..65507)
472: warning -
warning: use Integer32 instead of INTEGER in SMIv2
473: MAX-ACCESS read-create
474: STATUS current
475: DESCRIPTION
476: "The maximum length in octets of a SNMPv2 message
477: which this party will accept. For parties which
478: execute at an agent, the agent initializes this
479: object to the maximum length supported by the
480: agent, and does not let the object be set to any
481: larger value. For parties which do not execute at
482: the agent, the agent must allow the manager to set
483: this object to any legal value, even if it is
484: larger than the agent can generate."
485: DEFVAL { 484 }
486: ::= { partyEntry 5 }
487:
488: partyLocal OBJECT-TYPE
489: SYNTAX TruthValue
490: MAX-ACCESS read-create
491: STATUS current
492: DESCRIPTION
493: "An indication of whether this party executes at
494: this SNMPv2 entity. If this object has a value of
495: true(1), then the SNMPv2 entity will listen for
496: SNMPv2 messages on the partyTAddress associated
497: with this party. If this object has the value
498: false(2), then the SNMPv2 entity will not listen
499: for SNMPv2 messages on the partyTAddress
500: associated with this party."
501: DEFVAL { false }
502: ::= { partyEntry 6 }
503:
504: partyAuthProtocol OBJECT-TYPE
505: SYNTAX OBJECT IDENTIFIER
506: MAX-ACCESS read-create
507: STATUS current
508: DESCRIPTION
509: "The authentication protocol by which all messages
510: generated by the party are authenticated as to
511: origin and integrity. The value noAuth signifies
512: that messages generated by the party are not
513: authenticated.
514:
515: Once an instance of this object is created, its
516: value can not be changed."
517: DEFVAL { v2md5AuthProtocol }
518: ::= { partyEntry 7 }
519:
520: partyAuthClock OBJECT-TYPE
520: error -
type `Clock' of node `partyAuthClock' does not resolve to a known base type
521: SYNTAX Clock
522: MAX-ACCESS read-create
523: STATUS current
524: DESCRIPTION
525: "The authentication clock which represents the
526: local notion of the current time specific to the
527: party. This value must not be decremented unless
528: the party's private authentication key is changed
529: simultaneously."
530: DEFVAL { 0 }
531: ::= { partyEntry 8 }
532:
533: partyAuthPrivate OBJECT-TYPE
534: SYNTAX OCTET STRING
535: -- for v2md5AuthProtocol: (SIZE (16))
536: MAX-ACCESS read-create
537: STATUS current
538: DESCRIPTION
539: "An encoding of the party's private authentication
540: key which may be needed to support the
541: authentication protocol. Although the value of
542: this variable may be altered by a management
543: operation (e.g., a SNMPv2 Set-Request), its value
544: can never be retrieved by a management operation:
545: when read, the value of this variable is the zero
546: length OCTET STRING.
547:
548: The private authentication key is NOT directly
549: represented by the value of this variable, but
550: rather it is represented according to an encoding.
551: This encoding is the bitwise exclusive-OR of the
552: old key with the new key, i.e., of the old private
553: authentication key (prior to the alteration) with
554: the new private authentication key (after the
555: alteration). Thus, when processing a received
556: protocol Set operation, the new private
557: authentication key is obtained from the value of
558: this variable as the result of a bitwise
559: exclusive-OR of the variable's value and the old
560: private authentication key. In calculating the
561: exclusive-OR, if the old key is shorter than the
562: new key, zero-valued padding is appended to the
563: old key. If no value for the old key exists, a
564: zero-length OCTET STRING is used in the
565: calculation."
566: DEFVAL { ''H } -- the empty string
567: ::= { partyEntry 9 }
568:
569: partyAuthPublic OBJECT-TYPE
570: SYNTAX OCTET STRING
571: -- for v2md5AuthProtocol: (SIZE (0..16))
572: MAX-ACCESS read-create
573: STATUS current
574: DESCRIPTION
575: "A publically-readable value for the party.
576:
577: Depending on the party's authentication protocol,
578: this value may be needed to support the party's
579: authentication protocol. Alternatively, it may be
580: used by a manager during the procedure for
581: altering secret information about a party. (For
582: example, by altering the value of an instance of
583: this object in the same SNMPv2 Set-Request used to
584: update an instance of partyAuthPrivate, a
585: subsequent Get-Request can determine if the Set-
586: Request was successful in the event that no
587: response to the Set-Request is received, see [4].)
588:
589: The length of the value is dependent on the
590: party's authentication protocol. If not used by
591: the authentication protocol, it is recommended
592: that agents support values of any length up to and
593: including the length of the corresponding
594: partyAuthPrivate object."
595: DEFVAL { ''H } -- the empty string
596: ::= { partyEntry 10 }
597:
598: partyAuthLifetime OBJECT-TYPE
599: SYNTAX INTEGER (0..2147483647)
599: warning -
warning: use Integer32 instead of INTEGER in SMIv2
600: UNITS "seconds"
601: MAX-ACCESS read-create
602: STATUS current
603: DESCRIPTION
604: "The lifetime (in units of seconds) which
605: represents an administrative upper bound on
606: acceptable delivery delay for protocol messages
607: generated by the party.
608:
609: Once an instance of this object is created, its
610: value can not be changed."
611: DEFVAL { 300 }
612: ::= { partyEntry 11 }
613:
614: partyPrivProtocol OBJECT-TYPE
615: SYNTAX OBJECT IDENTIFIER
616: MAX-ACCESS read-create
617: STATUS current
618: DESCRIPTION
619: "The privacy protocol by which all protocol
620: messages received by the party are protected from
621: disclosure. The value noPriv signifies that
622: messages received by the party are not protected.
623:
624: Once an instance of this object is created, its
625: value can not be changed."
626: DEFVAL { noPriv }
627: ::= { partyEntry 12 }
628:
629: partyPrivPrivate OBJECT-TYPE
630: SYNTAX OCTET STRING
631: -- for desPrivProtocol: (SIZE (16))
632: MAX-ACCESS read-create
633: STATUS current
634: DESCRIPTION
635: "An encoding of the party's private encryption key
636: which may be needed to support the privacy
637: protocol. Although the value of this variable may
638: be altered by a management operation (e.g., a
639: SNMPv2 Set-Request), its value can never be
640: retrieved by a management operation: when read,
641: the value of this variable is the zero length
642: OCTET STRING.
643:
644: The private encryption key is NOT directly
645: represented by the value of this variable, but
646: rather it is represented according to an encoding.
647: This encoding is the bitwise exclusive-OR of the
648: old key with the new key, i.e., of the old private
649: encryption key (prior to the alteration) with the
650: new private encryption key (after the alteration).
651: Thus, when processing a received protocol Set
652: operation, the new private encryption key is
653: obtained from the value of this variable as the
654: result of a bitwise exclusive-OR of the variable's
655: value and the old private encryption key. In
656: calculating the exclusive-OR, if the old key is
657: shorter than the new key, zero-valued padding is
658: appended to the old key. If no value for the old
659: key exists, a zero-length OCTET STRING is used in
660: the calculation."
661: DEFVAL { ''H } -- the empty string
662: ::= { partyEntry 13 }
663:
664: partyPrivPublic OBJECT-TYPE
665: SYNTAX OCTET STRING
666: -- for desPrivProtocol: (SIZE (0..16))
667: MAX-ACCESS read-create
668: STATUS current
669: DESCRIPTION
670: "A publically-readable value for the party.
671:
672: Depending on the party's privacy protocol, this
673: value may be needed to support the party's privacy
674: protocol. Alternatively, it may be used by a
675: manager as a part of its procedure for altering
676: secret information about a party. (For example,
677: by altering the value of an instance of this
678: object in the same SNMPv2 Set-Request used to
679: update an instance of partyPrivPrivate, a
680: subsequent Get-Request can determine if the Set-
681: Request was successful in the event that no
682: response to the Set-Request is received, see [4].)
683:
684: The length of the value is dependent on the
685: party's privacy protocol. If not used by the
686: privacy protocol, it is recommended that agents
687: support values of any length up to and including
688: the length of the corresponding partyPrivPrivate
689: object."
690: DEFVAL { ''H } -- the empty string
691: ::= { partyEntry 14 }
692:
693: partyCloneFrom OBJECT-TYPE
694: SYNTAX Party
695: MAX-ACCESS read-create
696: STATUS current
697: DESCRIPTION
698: "The identity of a party to clone authentication
699: and privacy parameters from. When read, the value
700: { 0 0 } is returned.
701:
702: This value must be written exactly once, when the
703: associated instance of partyStatus either does not
704: exist or has the value `notReady'. When written,
705: the value identifies a party, the cloning party,
706: whose status column has the value `active'. The
707: cloning party is used in two ways.
708:
709: One, if instances of the following objects do not
710: exist for the party being created, then they are
711: created with values identical to those of the
712: corresponding objects for the cloning party:
713:
714: partyAuthProtocol
715: partyAuthPublic
716: partyAuthLifetime
717: partyPrivProtocol
718: partyPrivPublic
719:
720: Two, instances of the following objects are
721: updated using the corresponding values of the
722: cloning party:
723:
724: partyAuthPrivate
725: partyPrivPrivate
726:
727: (e.g., the value of the cloning party's instance
728: of the partyAuthPrivate object is XOR'd with the
729: value of the partyAuthPrivate instances of the
730: party being created.)"
731: ::= { partyEntry 15 }
732:
733: partyStorageType OBJECT-TYPE
734: SYNTAX StorageType
735: MAX-ACCESS read-create
736: STATUS current
737: DESCRIPTION
738: "The storage type for this conceptual row in the
739: partyTable."
740: DEFVAL { nonVolatile }
741: ::= { partyEntry 16 }
742:
743: partyStatus OBJECT-TYPE
744: SYNTAX RowStatus
745: MAX-ACCESS read-create
746: STATUS current
747: DESCRIPTION
748: "The status of this conceptual row in the
749: partyTable.
750:
751: A party is not qualified for activation until
752: instances of all columns of its partyEntry row
753: have an appropriate value. In particular:
754:
755: A value must be written to the Party's
756: partyCloneFrom object.
757:
758: If the Party's partyAuthProtocol object has the
759: value md5AuthProtocol, then the corresponding
760: instance of partyAuthPrivate must contain a
761: secret of the appropriate length. Further, at
762: least one management protocol set operation
763: updating the value of the party's
764: partyAuthPrivate object must be successfully
765: processed, before the partyAuthPrivate column is
766: considered appropriately configured.
767:
768: If the Party's partyPrivProtocol object has the
769: value desPrivProtocol, then the corresponding
770: instance of partyPrivPrivate must contain a
771: secret of the appropriate length. Further, at
772: least one management protocol set operation
773: updating the value of the party's
774: partyPrivPrivate object must be successfully
775: processed, before the partyPrivPrivate column is
776: considered appropriately configured.
777:
778: Until instances of all corresponding columns are
779: appropriately configured, the value of the
780: corresponding instance of the partyStatus column is
781: `notReady'."
782: ::= { partyEntry 17 }
783:
784: -- the SNMPv2 contexts database group
785:
786: snmpContexts OBJECT IDENTIFIER ::= { partyMIBObjects 2 }
787:
788:
789: contextTable OBJECT-TYPE
790: SYNTAX SEQUENCE OF ContextEntry
791: MAX-ACCESS not-accessible
792: STATUS current
793: DESCRIPTION
794: "The SNMPv2 Context database."
795: ::= { snmpContexts 1 }
796:
797: contextEntry OBJECT-TYPE
797: warning -
warning: index of row `contextEntry' can exceed OID size limit by 13 subidentifier(s)
798: SYNTAX ContextEntry
799: MAX-ACCESS not-accessible
800: STATUS current
801: DESCRIPTION
802: "Locally held information about a particular
803: SNMPv2 context."
804: INDEX { IMPLIED contextIdentity }
805: ::= { contextTable 1 }
806:
807: ContextEntry ::=
808: SEQUENCE {
809: contextIdentity Context,
810: contextIndex INTEGER,
811: contextLocal TruthValue,
812: contextViewIndex INTEGER,
813: contextLocalEntity OCTET STRING,
814: contextLocalTime OBJECT IDENTIFIER,
815: contextProxyDstParty Party,
816: contextProxySrcParty Party,
817: contextProxyContext OBJECT IDENTIFIER,
818: contextStorageType StorageType,
819: contextStatus RowStatus
820: }
821:
822: contextIdentity OBJECT-TYPE
822: minor error -
index element `contextIdentity' of row `contextEntry' should but cannot have a size restriction
823: SYNTAX Context
824: MAX-ACCESS not-accessible
825: STATUS current
826: DESCRIPTION
827: "A context identifier uniquely identifying a
828: particular SNMPv2 context."
829: ::= { contextEntry 1 }
830:
831: contextIndex OBJECT-TYPE
832: SYNTAX INTEGER (1..65535)
832: warning -
warning: use Integer32 instead of INTEGER in SMIv2
833: MAX-ACCESS read-only
834: STATUS current
835: DESCRIPTION
836: "A unique value for each SNMPv2 context. The
837: value for each SNMPv2 context must remain constant
838: at least from one re-initialization of the
839: entity's network management system to the next
840: re-initialization."
841: ::= { contextEntry 2 }
842:
843: contextLocal OBJECT-TYPE
844: SYNTAX TruthValue
845: MAX-ACCESS read-create
846: STATUS current
847: DESCRIPTION
848: "An indication of whether this context is realized
849: by this SNMPv2 entity."
850: DEFVAL { true }
851: ::= { contextEntry 3 }
852:
853: contextViewIndex OBJECT-TYPE
854: SYNTAX INTEGER (0..65535)
854: warning -
warning: use Integer32 instead of INTEGER in SMIv2
855: MAX-ACCESS read-create
856: STATUS current
857: DESCRIPTION
858: "If the value of an instance of this object is
859: zero, then this corresponding conceptual row in
860: the contextTable refers to a SNMPv2 context which
861: identifies a proxy relationship; the values of the
862: corresponding instances of the
863: contextProxyDstParty, contextProxySrcParty, and
864: contextProxyContext objects provide further
865: information on the proxy relationship.
866:
867: Otherwise, if the value of an instance of this
868: object is greater than zero, then this
869: corresponding conceptual row in the contextTable
870: refers to a SNMPv2 context which identifies a MIB
871: view of a locally accessible entity; the value of
872: the instance identifies the particular MIB view
873: which has the same value of viewIndex; and the
874: value of the corresponding instances of the
875: contextLocalEntity and contextLocalTime objects
876: provide further information on the local entity
877: and its temporal domain."
878: ::= { contextEntry 4 }
879:
880: contextLocalEntity OBJECT-TYPE
881: SYNTAX OCTET STRING
882: MAX-ACCESS read-create
883: STATUS current
884: DESCRIPTION
885: "If the value of the corresponding instance of the
886: contextViewIndex is greater than zero, then the
887: value of an instance of this object identifies the
888: local entity whose management information is in
889: the SNMPv2 context's MIB view. The empty string
890: indicates that the MIB view contains the SNMPv2
891: entity's own local management information;
892: otherwise, a non-empty string indicates that the
893: MIB view contains management information of some
894: other local entity, e.g., 'Repeater1'."
895: DEFVAL { ''H } -- the empty string
896: ::= { contextEntry 5 }
897:
898: contextLocalTime OBJECT-TYPE
899: SYNTAX OBJECT IDENTIFIER
900: MAX-ACCESS read-create
901: STATUS current
902: DESCRIPTION
903: "If the value of the corresponding instance of the
904: contextViewIndex is greater than zero, then the
905: value of an instance of this object identifies the
906: temporal context of the management information in
907: the MIB view."
908: DEFVAL { currentTime }
909: ::= { contextEntry 6 }
910:
911: contextProxyDstParty OBJECT-TYPE
911: change recommended -
warning: node `contextProxyDstParty' must be contained in at least one conformance group
912: SYNTAX Party
913: MAX-ACCESS read-create
914: STATUS current
915: DESCRIPTION
916: "If the value of the corresponding instance of the
917: contextViewIndex is equal to zero, then the value
918: of an instance of this object identifies a SNMPv2
919: party which is the proxy destination of a proxy
920: relationship.
921:
922: If the value of the corresponding instance of the
923: contextViewIndex is greater than zero, then the
924: value of an instance of this object is { 0 0 }."
925: ::= { contextEntry 7 }
926:
927: contextProxySrcParty OBJECT-TYPE
927: change recommended -
warning: node `contextProxySrcParty' must be contained in at least one conformance group
928: SYNTAX Party
929: MAX-ACCESS read-create
930: STATUS current
931: DESCRIPTION
932: "If the value of the corresponding instance of the
933: contextViewIndex is equal to zero, then the value
934: of an instance of this object identifies a SNMPv2
935: party which is the proxy source of a proxy
936: relationship.
937:
938: Interpretation of an instance of this object
939: depends upon the value of the transport domain
940: associated with the SNMPv2 party used as the proxy
941: destination in this proxy relationship.
942:
943: If the value of the corresponding instance of the
944: contextViewIndex is greater than zero, then the
945: value of an instance of this object is { 0 0 }."
946: ::= { contextEntry 8 }
947:
948: contextProxyContext OBJECT-TYPE
948: change recommended -
warning: node `contextProxyContext' must be contained in at least one conformance group
949: SYNTAX OBJECT IDENTIFIER
950: MAX-ACCESS read-create
951: STATUS current
952: DESCRIPTION
953: "If the value of the corresponding instance of the
954: contextViewIndex is equal to zero, then the value
955: of an instance of this object identifies the
956: context of a proxy relationship.
957:
958: Interpretation of an instance of this object
959: depends upon the value of the transport domain
960: associated with the SNMPv2 party used as the proxy
961: destination in this proxy relationship.
962:
963: If the value of the corresponding instance of the
964: contextViewIndex is greater than zero, then the
965: value of an instance of this object is { 0 0 }."
966: ::= { contextEntry 9 }
967:
968: contextStorageType OBJECT-TYPE
969: SYNTAX StorageType
970: MAX-ACCESS read-create
971: STATUS current
972: DESCRIPTION
973: "The storage type for this conceptual row in the
974: contextTable."
975: DEFVAL { nonVolatile }
976: ::= { contextEntry 10 }
977:
978: contextStatus OBJECT-TYPE
979: SYNTAX RowStatus
980: MAX-ACCESS read-create
981: STATUS current
982: DESCRIPTION
983: "The status of this conceptual row in the
984: contextTable.
985:
986: A context is not qualified for activation until
987: instances of all corresponding columns have the
988: appropriate value. In particular, if the
989: context's contextViewIndex is greater than zero,
990: then the viewStatus column of the associated
991: conceptual row(s) in the viewTable must have the
992: value `active'. Until instances of all
993: corresponding columns are appropriately
994: configured, the value of the corresponding
995: instance of the contextStatus column is
996: `notReady'."
997: ::= { contextEntry 11 }
998:
999: -- the SNMPv2 access privileges database group
1000:
1001: snmpAccess OBJECT IDENTIFIER ::= { partyMIBObjects 3 }
1002:
1003:
1004: aclTable OBJECT-TYPE
1005: SYNTAX SEQUENCE OF AclEntry
1006: MAX-ACCESS not-accessible
1007: STATUS current
1008: DESCRIPTION
1009: "The access privileges database."
1010: ::= { snmpAccess 1 }
1011:
1012: aclEntry OBJECT-TYPE
1013: SYNTAX AclEntry
1014: MAX-ACCESS not-accessible
1015: STATUS current
1016: DESCRIPTION
1017: "The access privileges for a particular subject
1018: SNMPv2 party when asking a particular target
1019: SNMPv2 party to access a particular SNMPv2
1020: context."
1021: INDEX { aclTarget, aclSubject, aclResources }
1022: ::= { aclTable 1 }
1023:
1024: AclEntry ::=
1025: SEQUENCE {
1026: aclTarget INTEGER,
1027: aclSubject INTEGER,
1028: aclResources INTEGER,
1029: aclPrivileges INTEGER,
1030: aclStorageType StorageType,
1031: aclStatus RowStatus
1032: }
1033:
1034: aclTarget OBJECT-TYPE
1035: SYNTAX INTEGER (1..65535)
1035: warning -
warning: use Integer32 instead of INTEGER in SMIv2
1036: MAX-ACCESS not-accessible
1037: STATUS current
1038: DESCRIPTION
1039: "The value of an instance of this object
1040: identifies a SNMPv2 party which is the target of
1041: an access control policy, and has the same value
1042: as the instance of the partyIndex object for that
1043: party."
1044: ::= { aclEntry 1 }
1045:
1046: aclSubject OBJECT-TYPE
1047: SYNTAX INTEGER (1..65535)
1047: warning -
warning: use Integer32 instead of INTEGER in SMIv2
1048: MAX-ACCESS not-accessible
1049: STATUS current
1050: DESCRIPTION
1051: "The value of an instance of this object
1052: identifies a SNMPv2 party which is the subject of
1053: an access control policy, and has the same value
1054: as the instance of the partyIndex object for that
1055: SNMPv2 party."
1056: ::= { aclEntry 2 }
1057:
1058: aclResources OBJECT-TYPE
1059: SYNTAX INTEGER (1..65535)
1059: warning -
warning: use Integer32 instead of INTEGER in SMIv2
1060: MAX-ACCESS not-accessible
1061: STATUS current
1062: DESCRIPTION
1063: "The value of an instance of this object
1064: identifies a SNMPv2 context in an access control
1065: policy, and has the same value as the instance of
1066: the contextIndex object for that SNMPv2 context."
1067: ::= { aclEntry 3 }
1068:
1069: aclPrivileges OBJECT-TYPE
1070: SYNTAX INTEGER (0..255)
1070: warning -
warning: use Integer32 instead of INTEGER in SMIv2
1071: MAX-ACCESS read-create
1072: STATUS current
1073: DESCRIPTION
1074: "The access privileges which govern what
1075: management operations a particular target party
1076: may perform with respect to a particular SNMPv2
1077: context when requested by a particular subject
1078: party. These privileges are specified as a sum of
1079: values, where each value specifies a SNMPv2 PDU
1080: type by which the subject party may request a
1081: permitted operation. The value for a particular
1082: PDU type is computed as 2 raised to the value of
1083: the ASN.1 context-specific tag for the appropriate
1084: SNMPv2 PDU type. The values (for the tags defined
1085: in [5]) are defined in [3] as:
1086:
1087: Get : 1
1088: GetNext : 2
1089: Response : 4
1090: Set : 8
1091: unused : 16
1092: GetBulk : 32
1093: Inform : 64
1094: SNMPv2-Trap : 128
1095:
1096: The null set is represented by the value zero."
1097: DEFVAL { 35 } -- Get, Get-Next & Get-Bulk
1098: ::= { aclEntry 4 }
1099:
1100: aclStorageType OBJECT-TYPE
1101: SYNTAX StorageType
1102: MAX-ACCESS read-create
1103: STATUS current
1104: DESCRIPTION
1105: "The storage type for this conceptual row in the
1106: aclTable."
1107: DEFVAL { nonVolatile }
1108: ::= { aclEntry 5 }
1109:
1110: aclStatus OBJECT-TYPE
1111: SYNTAX RowStatus
1112: MAX-ACCESS read-create
1113: STATUS current
1114: DESCRIPTION
1115: "The status of this conceptual row in the
1116: aclTable."
1117: ::= { aclEntry 6 }
1118:
1119: -- the MIB view database group
1120:
1121: snmpViews OBJECT IDENTIFIER ::= { partyMIBObjects 4 }
1122:
1123:
1124: viewTable OBJECT-TYPE
1125: SYNTAX SEQUENCE OF ViewEntry
1126: MAX-ACCESS not-accessible
1127: STATUS current
1128: DESCRIPTION
1129: "Locally held information about the MIB views
1130: known to this SNMPv2 entity.
1131:
1132: Each SNMPv2 context which is locally accessible
1133: has a single MIB view which is defined by two
1134: collections of view subtrees: the included view
1135: subtrees, and the excluded view subtrees. Every
1136: such subtree, both included and excluded, is
1137: defined in this table.
1138:
1139: To determine if a particular object instance is in
1140: a particular MIB view, compare the object
1141: instance's OBJECT IDENTIFIER with each of the MIB
1142: view's entries in this table. If none match, then
1143: the object instance is not in the MIB view. If
1144: one or more match, then the object instance is
1145: included in, or excluded from, the MIB view
1146: according to the value of viewType in the entry
1147: whose value of viewSubtree has the most sub-
1148: identifiers. If multiple entries match and have
1149: the same number of sub-identifiers, then the
1150: lexicographically greatest instance of viewType
1151: determines the inclusion or exclusion.
1152:
1153: An object instance's OBJECT IDENTIFIER X matches
1154: an entry in this table when the number of sub-
1155: identifiers in X is at least as many as in the
1156: value of viewSubtree for the entry, and each sub-
1157: identifier in the value of viewSubtree matches its
1158: corresponding sub-identifier in X. Two sub-
1159: identifiers match either if the corresponding bit
1160: of viewMask is zero (the 'wild card' value), or if
1161: they are equal.
1162:
1163: Due to this 'wild card' capability, we introduce
1164: the term, a 'family' of view subtrees, to refer to
1165: the set of subtrees defined by a particular
1166: combination of values of viewSubtree and viewMask.
1167: In the case where no 'wild card' is defined in
1168: viewMask, the family of view subtrees reduces to a
1169: single view subtree."
1170: ::= { snmpViews 1 }
1171:
1172: viewEntry OBJECT-TYPE
1172: warning -
warning: index of row `viewEntry' can exceed OID size limit by 14 subidentifier(s)
1173: SYNTAX ViewEntry
1174: MAX-ACCESS not-accessible
1175: STATUS current
1176: DESCRIPTION
1177: "Information on a particular family of view
1178: subtrees included in or excluded from a particular
1179: SNMPv2 context's MIB view.
1180:
1181: Implementations must not restrict the number of
1182: families of view subtrees for a given MIB view,
1183: except as dictated by resource constraints on the
1184: overall number of entries in the viewTable."
1185: INDEX { viewIndex, IMPLIED viewSubtree }
1186: ::= { viewTable 1 }
1187:
1188: ViewEntry ::=
1189: SEQUENCE {
1190: viewIndex INTEGER,
1191: viewSubtree OBJECT IDENTIFIER,
1192: viewMask OCTET STRING,
1193: viewType INTEGER,
1194: viewStorageType StorageType,
1195: viewStatus RowStatus
1196: }
1197:
1198: viewIndex OBJECT-TYPE
1199: SYNTAX INTEGER (1..65535)
1199: warning -
warning: use Integer32 instead of INTEGER in SMIv2
1200: MAX-ACCESS not-accessible
1201: STATUS current
1202: DESCRIPTION
1203: "A unique value for each MIB view. The value for
1204: each MIB view must remain constant at least from
1205: one re-initialization of the entity's network
1206: management system to the next re-initialization."
1207: ::= { viewEntry 1 }
1208:
1209: viewSubtree OBJECT-TYPE
1209: minor error -
index element `viewSubtree' of row `viewEntry' should but cannot have a size restriction
1210: SYNTAX OBJECT IDENTIFIER
1211: MAX-ACCESS not-accessible
1212: STATUS current
1213: DESCRIPTION
1214: "A MIB subtree."
1215: ::= { viewEntry 2 }
1216:
1217: viewMask OBJECT-TYPE
1218: SYNTAX OCTET STRING (SIZE (0..16))
1219: MAX-ACCESS read-create
1220: STATUS current
1221: DESCRIPTION
1222: "The bit mask which, in combination with the
1223: corresponding instance of viewSubtree, defines a
1224: family of view subtrees.
1225:
1226: Each bit of this bit mask corresponds to a sub-
1227: identifier of viewSubtree, with the most
1228: significant bit of the i-th octet of this octet
1229: string value (extended if necessary, see below)
1230: corresponding to the (8*i - 7)-th sub-identifier,
1231: and the least significant bit of the i-th octet of
1232: this octet string corresponding to the (8*i)-th
1233: sub-identifier, where i is in the range 1 through
1234: 16.
1235:
1236: Each bit of this bit mask specifies whether or not
1237: the corresponding sub-identifiers must match when
1238: determining if an OBJECT IDENTIFIER is in this
1239: family of view subtrees; a '1' indicates that an
1240: exact match must occur; a '0' indicates 'wild
1241: card', i.e., any sub-identifier value matches.
1242: Thus, the OBJECT IDENTIFIER X of an object
1243: instance is contained in a family of view subtrees
1244: if the following criteria are met:
1245:
1246: for each sub-identifier of the value of
1247: viewSubtree, either:
1248:
1249: the i-th bit of viewMask is 0, or
1250:
1251: the i-th sub-identifier of X is equal to
1252: the i-th sub-identifier of the value of
1253: viewSubtree.
1254:
1255: If the value of this bit mask is M bits long and
1256: there are more than M sub-identifiers in the
1257: corresponding instance of viewSubtree, then the
1258: bit mask is extended with 1's to be the required
1259: length.
1260:
1261: Note that when the value of this object is the
1262: zero-length string, this extension rule results in
1263: a mask of all-1's being used (i.e., no 'wild
1264: card'), and the family of view subtrees is the one
1265: view subtree uniquely identified by the
1266: corresponding instance of viewSubtree."
1267: DEFVAL { ''H }
1268: ::= { viewEntry 3 }
1269:
1270: viewType OBJECT-TYPE
1271: SYNTAX INTEGER {
1272: included(1),
1273: excluded(2)
1274: }
1275: MAX-ACCESS read-create
1276: STATUS current
1277: DESCRIPTION
1278: "The status of a particular family of view
1279: subtrees within the particular SNMPv2 context's
1280: MIB view. The value 'included(1)' indicates that
1281: the corresponding instances of viewSubtree and
1282: viewMask define a family of view subtrees included
1283: in the MIB view. The value 'excluded(2)'
1284: indicates that the corresponding instances of
1285: viewSubtree and viewMask define a family of view
1286: subtrees excluded from the MIB view."
1287: DEFVAL { included }
1288: ::= { viewEntry 4 }
1289:
1290: viewStorageType OBJECT-TYPE
1291: SYNTAX StorageType
1292: MAX-ACCESS read-create
1293: STATUS current
1294: DESCRIPTION
1295: "The storage type for this conceptual row in the
1296: viewTable."
1297: DEFVAL { nonVolatile }
1298: ::= { viewEntry 5 }
1299:
1300: viewStatus OBJECT-TYPE
1301: SYNTAX RowStatus
1302: MAX-ACCESS read-create
1303: STATUS current
1304: DESCRIPTION
1305: "The status of this conceptual row in the
1306: viewTable."
1307: ::= { viewEntry 6 }
1308:
1309: -- conformance information
1310:
1311: partyMIBConformance
1312: OBJECT IDENTIFIER ::= { partyMIB 3 }
1313:
1314: partyMIBCompliances
1315: OBJECT IDENTIFIER ::= { partyMIBConformance 1 }
1316: partyMIBGroups
1317: OBJECT IDENTIFIER ::= { partyMIBConformance 2 }
1318:
1319:
1320: -- compliance statements
1321:
1322: unSecurableCompliance MODULE-COMPLIANCE
1323: STATUS current
1324: DESCRIPTION
1325: "The compliance statement for SNMPv2 entities
1326: which implement the Party MIB, but do not support
1327: any authentication or privacy protocols (i.e.,
1328: only the noAuth and noPriv protocols are
1329: supported)."
1330: MODULE -- this module
1331: MANDATORY-GROUPS { partyMIBGroup }
1332: ::= { partyMIBCompliances 1 }
1333:
1334:
1335: partyNoPrivacyCompliance MODULE-COMPLIANCE
1336: STATUS current
1337: DESCRIPTION
1338: "The compliance statement for SNMPv2 entities
1339: which implement the Party MIB, and support an
1340: authentication protocol, but do not support any
1341: privacy protocols (i.e., only the noAuth,
1342: v2md5AuthProtocol, and noPriv protocols are
1343: supported)."
1344: MODULE -- this module
1345: MANDATORY-GROUPS { partyMIBGroup }
1346: ::= { partyMIBCompliances 2 }
1347:
1348: partyPrivacyCompliance MODULE-COMPLIANCE
1349: STATUS current
1350: DESCRIPTION
1351: "The compliance statement for SNMPv2 entities
1352: which implement the Party MIB, support an
1353: authentication protocol, and support a privacy
1354: protocol ONLY for the purpose of accessing
1355: security parameters.
1356:
1357: For all aclTable entries authorizing a subject
1358: and/or target SNMPv2 party whose privacy protocol
1359: is desPrivProtocol, to be used in accessing a
1360: SNMPv2 context, the MIB view for that SNMPv2
1361: context shall include only those objects
1362: subordinate to partyMIBObjects, or a subset
1363: thereof, e.g.,
1364:
1365: viewSubtree = { partyMIBObjects }
1366: viewMask = ''H
1367: viewType = { included }
1368:
1369: Any attempt to configure an entry in the
1370: partyTable, the contextTable, the aclTable or the
1371: viewTable such that a party using the
1372: desPrivProtocol would be authorized for use in
1373: accessing objects outside of the partyMIBObjects
1374: subtree shall result in the appropriate error
1375: response (e.g., wrongValue or inconsistentValue)."
1376: MODULE -- this module
1377: MANDATORY-GROUPS { partyMIBGroup }
1378: ::= { partyMIBCompliances 3 }
1379:
1380: fullPrivacyCompliance MODULE-COMPLIANCE
1381: STATUS current
1382: DESCRIPTION
1383: "The compliance statement for SNMPv2 entities
1384: which implement the Party MIB, support an
1385: authentication protocol, and support a privacy
1386: protocol without restrictions on its use."
1387: MODULE -- this module
1388: MANDATORY-GROUPS { partyMIBGroup }
1389: ::= { partyMIBCompliances 4 }
1390:
1391:
1392: -- units of conformance
1393:
1394: partyMIBGroup OBJECT-GROUP
1394: minor error -
node `aclTarget' is an invalid member of group `partyMIBGroup'
1394: minor error -
node `aclSubject' is an invalid member of group `partyMIBGroup'
1395: OBJECTS { partyIndex, partyTDomain, partyTAddress,
1396: partyMaxMessageSize, partyLocal,
1397: partyAuthProtocol, partyAuthClock,
1398: partyAuthPrivate, partyAuthPublic,
1399: partyAuthLifetime, partyPrivProtocol,
1400: partyPrivPrivate, partyPrivPublic,
1401: partyStorageType, partyStatus,
1402: partyCloneFrom,
1403: contextIndex, contextLocal,
1404: contextViewIndex, contextLocalEntity,
1405: contextLocalTime, contextStorageType,
1406: contextStatus, aclTarget, aclSubject,
1407: aclPrivileges, aclStorageType, aclStatus,
1408: viewMask, viewType, viewStorageType, viewStatus }
1409: STATUS current
1410: DESCRIPTION
1411: "The collection of objects allowing the
1412: description and configuration of SNMPv2 parties.
1413:
1414: Note that objects which support proxy
1415: relationships are not included in this conformance
1416: group."
1417: ::= { partyMIBGroups 1 }
1418:
1419:
1420: END