Commit | Line | Data |
---|---|---|
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 |