BSD 4_3_Net_2 development
[unix-history] / usr / src / contrib / isode / snmp / ifx.my
CommitLineData
9e8e5516
C
1-- ifx.my - Generic Interface Extensions MIB
2
3-- $Header: /f/osi/snmp/RCS/ifx.my,v 7.2 91/02/22 09:43:21 mrose Interim $
4--
5--
6-- $Log: ifx.my,v $
7-- Revision 7.2 91/02/22 09:43:21 mrose
8-- Interim 6.8
9--
10-- Revision 7.1 91/01/11 13:02:42 mrose
11-- update
12--
13-- Revision 7.0 90/09/26 19:21:21 mrose
14-- *** empty log message ***
15--
16
17--
18-- NOTICE
19--
20-- Acquisition, use, and distribution of this module and related
21-- materials are subject to the restrictions of a license agreement.
22-- Consult the Preface in the User's Manual for the full terms of
23-- this agreement.
24--
25--
26
27
28 RFCxxxx-MIB DEFINITIONS ::= BEGIN
29
30
31 -- Extensions to MIB-II's Generic Interface Table
32
33 IMPORTS
34 experimental, Counter FROM RFC1155-SMI
35 DisplayString FROM RFC1158-MIB
36 PhysAddress FROM RFC-mmmm-MIB-II
37 OBJECT-TYPE FROM RFC-oooo;
38
39
40 -- This MIB Module uses the extended OBJECT-TYPE macro as
41 -- defined in [10]
42
43
44 ifExtensions OBJECT IDENTIFIER ::= { experimental 6 }
45
46
47
48 -- Generic Interface Extension Table
49 --
50 -- This group of objects is mandatory for all types of
51 -- subnetwork interface.
52
53 ifExtnsTable OBJECT-TYPE
54 SYNTAX SEQUENCE OF IfExtnsEntry
55 ACCESS not-accessible
56 STATUS mandatory
57 DESCRIPTION
58 "A list of interfaces extension entries.
59 The number of entries is given by the value
60 of ifNumber, defined in [4,6]."
61 ::= { ifExtensions 1 }
62
63 ifExtnsEntry OBJECT-TYPE
64 SYNTAX IfExtnsEntry
65 ACCESS not-accessible
66 STATUS mandatory
67 DESCRIPTION
68 "An extension to the interfaces entry,
69 defined in [4,6], containing additional
70
71
72
73
74
75
76
77 objects at the subnetwork layer and below
78 for a particular interface."
79 INDEX { ifExtnsIfIndex }
80 ::= { ifExtnsTable 1 }
81
82 IfExtnsEntry ::= SEQUENCE {
83 ifExtnsIfIndex
84 INTEGER,
85 ifExtnsChipSet
86 OBJECT IDENTIFIER,
87 ifExtnsRevWare
88 DisplayString,
89 ifExtnsMulticastsTransmittedOks
90 Counter,
91 ifExtnsBroadcastsTransmittedOks
92 Counter,
93 ifExtnsMulticastsReceivedOks
94 Counter,
95 ifExtnsBroadcastsReceivedOks
96 Counter,
97 ifExtnsPromiscuous
98 INTEGER
99 }
100
101 ifExtnsIfIndex OBJECT-TYPE
102 SYNTAX INTEGER
103 ACCESS read-only
104 STATUS mandatory
105 DESCRIPTION
106 "The value of this object identifies the
107 interface for which this entry contains
108 extended management information. The value
109 of this object for a particular interface
110 has the same value as the ifIndex object,
111 defined in [4,6], for the same interface."
112 ::= { ifExtnsEntry 1 }
113
114 ifExtnsChipSet OBJECT-TYPE
115 SYNTAX OBJECT IDENTIFIER
116 ACCESS read-only
117 STATUS mandatory
118 DESCRIPTION
119 "This object identifies the hardware chip
120 set being used in the interface. The
121 assignment of OBJECT IDENTIFIERs to various
122
123
124
125
126
127
128
129 types of hardware chip sets is defined
130 elsewhere. This document assigns only the
131 value: unknownChipSet for use if the chip
132 set in use is unknown.
133 Note that unknownChipSet is a
134 syntactically valid object identifier, and
135 any conformant implementation of ASN.1 and
136 the BER must be able to generate and
137 recognize this value."
138 ::= { ifExtnsEntry 2 }
139
140 -- for unknown hardware chip set
141 unknownChipSet OBJECT IDENTIFIER ::= { 0 0 }
142
143 ifExtnsRevWare OBJECT-TYPE
144 SYNTAX DisplayString (SIZE (0..255))
145 ACCESS read-only
146 STATUS mandatory
147 DESCRIPTION
148 "An arbitrary octet string that describes
149 the firmware version of this interface.
150 It is intended that this should be human
151 readable. It must only contain ASCII
152 printable characters. Typically this
153 will be the firmware version of the main
154 interface software."
155 ::= { ifExtnsEntry 3 }
156
157 ifExtnsMulticastsTransmittedOks OBJECT-TYPE
158 SYNTAX Counter
159 ACCESS read-only
160 STATUS mandatory
161 DESCRIPTION
162 "The count of frames successfully
163 transmitted to a subnetwork or link-layer
164 multicast destination address other than a
165 broadcast address. For a MAC layer protocol,
166 this includes both Group and Functional
167 addresses."
168 ::= { ifExtnsEntry 4 }
169
170 ifExtnsBroadcastsTransmittedOks OBJECT-TYPE
171 SYNTAX Counter
172 ACCESS read-only
173 STATUS mandatory
174
175
176
177
178
179
180
181 DESCRIPTION
182 "The count of frames successfully
183 transmitted to a subnetwork or link-layer
184 broadcast addresses. It does not include
185 frames sent to a multicast address."
186 ::= { ifExtnsEntry 5 }
187
188 ifExtnsMulticastsReceivedOks OBJECT-TYPE
189 SYNTAX Counter
190 ACCESS read-only
191 STATUS mandatory
192 DESCRIPTION
193 "The count of frames successfully received
194 that are directed to an active subnetwork
195 or link-layer multicast address (for a MAC
196 layer protocol, this includes both Group and
197 Functional addresses). This does not include
198 frames directed to a broadcast address, nor
199 frames received with errors."
200 ::= { ifExtnsEntry 6 }
201
202 ifExtnsBroadcastsReceivedOks OBJECT-TYPE
203 SYNTAX Counter
204 ACCESS read-only
205 STATUS mandatory
206 DESCRIPTION
207 "The count of frames successfully received
208 that are directed to a subnetwork or
209 link-layer broadcast address."
210 ::= { ifExtnsEntry 7 }
211
212 ifExtnsPromiscuous OBJECT-TYPE
213 SYNTAX INTEGER {
214 true(1),
215 false(2)
216 }
217 ACCESS read-only -- Note: agent implementors are
218 -- encouraged to extend this
219 -- access to read-write if that
220 -- makes sense in their agent.
221 STATUS mandatory
222 DESCRIPTION
223 "This object has a value of false(2) if
224 this interface only accepts packets/frames
225 that are addressed to this station. This
226
227
228
229
230
231
232
233 object has a value of true(1) when the
234 station accepts all packets/frames
235 transmitted on the media. The value
236 true(1) is only legal on certain types of
237 media. If legal, setting this object to a
238 value of true(1) may require the interface
239 to be reset before becoming effective."
240 ::= { ifExtnsEntry 8 }
241
242 --
243 -- Generic Interface Test Table
244 --
245 -- This group of objects is optional, but if the table is
246 -- implemented, all objects in the table must be implemented.
247
248 ifExtnsTestTable OBJECT-TYPE
249 SYNTAX SEQUENCE OF IfExtnsTestEntry
250 ACCESS not-accessible
251 STATUS mandatory
252 DESCRIPTION
253 "This table contains one entry per
254 interface."
255 ::= { ifExtensions 2 }
256
257 ifExtnsTestEntry OBJECT-TYPE
258 SYNTAX IfExtnsTestEntry
259 ACCESS not-accessible
260 STATUS mandatory
261 DESCRIPTION
262 "An entry containing objects for
263 invoking tests on an interface."
264 INDEX { ifExtnsTestIfIndex }
265 ::= { ifExtnsTestTable 1 }
266
267 IfExtnsTestEntry ::= SEQUENCE {
268 ifExtnsTestIfIndex
269 INTEGER,
270 ifExtnsTestUser
271 OCTET STRING,
272 ifExtnsTestCommunity
273 OCTET STRING,
274 ifExtnsTestType
275 OBJECT IDENTIFIER,
276 ifExtnsTestResult
277 INTEGER,
278
279
280
281
282
283
284
285 ifExtnsTestCode
286 OBJECT IDENTIFIER
287 }
288
289 ifExtnsTestUser OBJECT-TYPE
290 SYNTAX OCTET STRING
291 ACCESS read-only
292 STATUS mandatory
293 DESCRIPTION
294 "This object contains the name of the
295 authentication service user [9] who
296 originated the SNMP Message which invoked
297 the current or most recent test on this
298 interface. If the authentication service
299 user is unknown or undefined, this value
300 contains the zero-length string."
301 ::= { ifExtnsTestEntry 1 }
302
303 ifExtnsTestCommunity OBJECT-TYPE
304 SYNTAX OCTET STRING
305 ACCESS read-only
306 STATUS mandatory
307 DESCRIPTION
308 "This object contains the name of the
309 SNMP authentication community [9] which
310 was used to authenticate the SNMP Message
311 which invoked the current or most recent
312 test on this interface. If the
313 authentication community is unknown or
314 undefined, this value contains the
315 zero-length string."
316 ::= { ifExtnsTestEntry 2 }
317
318 ifExtnsTestIfIndex OBJECT-TYPE
319 SYNTAX INTEGER
320 ACCESS read-only
321 STATUS mandatory
322 DESCRIPTION
323 "The value of this object identifies the
324 interface for which this entry contains
325 information on interface tests. The value
326 of this object for a particular interface
327 has the same value as the ifIndex object,
328 defined in [4,6], for the same interface."
329 ::= { ifExtnsTestEntry 3 }
330
331
332
333
334
335
336
337
338 ifExtnsTestType OBJECT-TYPE
339 SYNTAX OBJECT IDENTIFIER
340 ACCESS read-write
341 STATUS mandatory
342 DESCRIPTION
343 "A control variable used to start and stop
344 operator-initiated interface tests. If
345 the value noTest is written, then this
346 aborts any test in progress, or if no test
347 is in progress, acts as a no-operation.
348 If any other value is used, writing to
349 this object is only valid when no test is
350 currently in progress, in which case the
351 indicated test is initiated.
352 Most OBJECT IDENTIFIER values assigned
353 to tests are defined elsewhere, in associ-
354 ation with specific types of interface.
355 However, this document does assign a value
356 for a full-duplex loopback test. Also,
357 the subject identifier, noTest, is defined
358 here.
359 Note that noTest is a syntactically
360 valid object identifier, and any conformant
361 implementation of ASN.1 and BER must be able
362 to generate and recognize this value.
363 When read, this object always returns
364 the most recent value that ifExtnsTestType
365 was set to. If it has not been set since
366 the last initialization of the network
367 management subsystem on the node, it returns
368 a value of noTest."
369 ::= { ifExtnsTestEntry 4 }
370
371 -- abort Test in progress/ no Test in progress
372 noTest OBJECT IDENTIFIER ::= { 0 0 }
373
374 wellKnownTests OBJECT IDENTIFIER ::= { ifExtensions 4 }
375
376 -- full-duplex loopback test
377 testFullDuplexLoopBack OBJECT IDENTIFIER ::= { wellKnownTests 1 }
378
379 ifExtnsTestResult OBJECT-TYPE
380 SYNTAX INTEGER {
381 none(1), -- no test yet requested
382
383
384
385
386
387
388
389 success(2),
390 inProgress(3),
391 notSupported(4),
392 unAbleToRun(5), -- due to state of system
393 aborted(6),
394 failed(7)
395 }
396 ACCESS read-only
397 STATUS mandatory
398 DESCRIPTION
399 "This object contains the result of the most
400 recently requested test, or the value
401 none(1) if no tests have been requested since
402 the last reset. Note that this facility
403 provides no provision for saving the results
404 of one test when starting another, as could
405 be required if used by multiple managers
406 concurrently."
407 ::= { ifExtnsTestEntry 5 }
408
409 ifExtnsTestCode OBJECT-TYPE
410 SYNTAX OBJECT IDENTIFIER
411 ACCESS read-only
412 STATUS mandatory
413 DESCRIPTION
414 "This object contains a code which contains
415 more specific information on the test result,
416 for example an error-code after a failed
417 test. Error codes and other values this
418 object may take are specific to the type of
419 interface and/or test. However, one subject
420 identifier, testCodeUnknown, is defined here
421 for use if no additional result code is
422 available.
423 Note that testCodeUnknown is a
424 syntactically valid object identifier, and
425 any conformant implementation of ASN.1 and
426 the BER must be able to generate and
427 recognize this value."
428 ::= { ifExtnsTestEntry 6 }
429
430 -- no additional result code available
431 testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 }
432
433
434
435
436
437
438
439
440
441 -- Generic Receive Address Table
442 --
443 -- This group of objects is mandatory for all types of
444 -- interfaces which can receive packets/frames addressed to
445 -- more than one address.
446
447 ifExtnsRcvAddrTable OBJECT-TYPE
448 SYNTAX SEQUENCE OF IfExtnsRcvAddrEntry
449 ACCESS not-accessible
450 STATUS mandatory
451 DESCRIPTION
452 "This table contains an entry for each
453 address (broadcast, multicast, or uni-cast)
454 for which the system will receive packets/
455 frames on a particular interface. When an
456 interface is operating in promiscuous mode,
457 entries are only required for those
458 addresses for which the system would receive
459 frames were it not operating in promiscuous
460 mode."
461 ::= { ifExtensions 3 }
462
463 ifExtnsRcvAddrEntry OBJECT-TYPE
464 SYNTAX IfExtnsRcvAddrEntry
465 ACCESS not-accessible
466 STATUS mandatory
467 DESCRIPTION
468 "A list of objects identifying an address
469 for which the system will accept packets/
470 frames on a particular interface."
471 INDEX { ifExtnsRcvAddrIfIndex, ifExtnsRcvAddress }
472 ::= { ifExtnsRcvAddrTable 1 }
473
474 IfExtnsRcvAddrEntry ::= SEQUENCE {
475 ifExtnsRcvAddrIfIndex
476 INTEGER,
477 ifExtnsRcvAddress
478 PhysAddress,
479 ifExtnsRcvAddrStatus
480 INTEGER
481 }
482
483 ifExtnsRcvAddrIfIndex OBJECT-TYPE
484 SYNTAX INTEGER
485 ACCESS read-only
486
487
488
489
490
491
492
493 STATUS mandatory
494 DESCRIPTION
495 "The value of ifIndex, defined in [4,6],
496 of an interface which recognizes this
497 entry's address."
498 ::= { ifExtnsRcvAddrEntry 1 }
499
500 ifExtnsRcvAddress OBJECT-TYPE
501 SYNTAX PhysAddress
502 ACCESS read-only
503 STATUS mandatory
504 DESCRIPTION
505 "An address for which the system will
506 accept packets/frames on this entry's
507 interface."
508 ::= { ifExtnsRcvAddrEntry 2 }
509
510 ifExtnsRcvAddrStatus OBJECT-TYPE
511 SYNTAX INTEGER {
512 other(1),
513 invalid(2),
514 volatile(3),
515 nonVolatile(4)
516 }
517 ACCESS read-write
518 STATUS mandatory
519 DESCRIPTION
520 "This object has the value nonVolatile(4)
521 for those entries in the table which are
522 valid and will not be deleted by the next
523 restart of the managed system. Entries
524 having the value volatile(3) are valid
525 and exist, but have not been saved, so
526 that will not exist after the next
527 restart of the managed system. Entries
528 having the value other(1) are valid and
529 exist but are not classified as to whether
530 they will continue to exist after the next
531 restart. Entries having the value invalid(2)
532 are invalid and do not represent an address
533 for which an interface accepts frames.
534 Setting an object instance to one of
535 the values other(1), volatile(3), or
536 nonVolatile(4) causes the corresponding
537 entry to exist or continue to exist, and
538
539
540
541
542
543
544
545 to take on the respective status as regards
546 the next restart of the managed system.
547 Setting an object instance to the value
548 invalid(2) causes the corresponding entry
549 to become invalid or cease to exist.
550 It is an implementation-specific matter
551 as to whether the agent removes an
552 invalidated entry from the table.
553 Accordingly, management stations must be
554 prepared to receive tabular information
555 from agents that corresponds to entries not
556 currently in use. Proper interpretation of
557 such entries requires examination of the
558 relevant ifExtnsRcvAddrStatus object
559 instance."
560 DEFVAL { volatile }
561 ::= { ifExtnsRcvAddrEntry 3 }
562
563 END