RFC1229-MIB DEFINITIONS ::= BEGIN -- Extensions to MIB-II's Generic Interface Table -- This MIB is a copy of RFC-1229 updated with the -- OID re-assignments detailed in RFC-1239. Please -- see RFC-1229 and RFC-1239 for more details. IMPORTS Counter FROM RFC1155-SMI mib-2, DisplayString, PhysAddress FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212; ifExtensions OBJECT IDENTIFIER ::= { mib-2 12 } -- Generic Interface Extension Table -- -- This group of objects is mandatory for all types of -- subnetwork interface. ifExtnsTable OBJECT-TYPE SYNTAX SEQUENCE OF IfExtnsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of interfaces extension entries. The number of entries is given by the value of ifNumber, defined in [4,6]." ::= { ifExtensions 1 } ifExtnsEntry OBJECT-TYPE SYNTAX IfExtnsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An extension to the interfaces entry, defined in [4,6], containing additional objects at the subnetwork layer and below for a particular interface." INDEX { ifExtnsIfIndex } ::= { ifExtnsTable 1 } IfExtnsEntry ::= SEQUENCE { ifExtnsIfIndex INTEGER, ifExtnsChipSet OBJECT IDENTIFIER, ifExtnsRevWare DisplayString, ifExtnsMulticastsTransmittedOks Counter, ifExtnsBroadcastsTransmittedOks Counter, ifExtnsMulticastsReceivedOks Counter, ifExtnsBroadcastsReceivedOks Counter, ifExtnsPromiscuous INTEGER } ifExtnsIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of this object identifies the interface for which this entry contains extended management information. The value of this object for a particular interface has the same value as the ifIndex object, defined in [4,6], for the same interface." ::= { ifExtnsEntry 1 } ifExtnsChipSet OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-only STATUS mandatory DESCRIPTION "This object identifies the hardware chip set being used in the interface. The assignment of OBJECT IDENTIFIERs to various types of hardware chip sets is managed by the IANA. If the hardware chip set is unknown, the object identifier unknownChipSet OBJECT IDENTIFIER ::= { 0 0 } is returned. Note that unknownChipSet is a syntactically valid object identifier, and any conformant implementation of ASN.1 and the BER must be able to generate and recognize this value." ::= { ifExtnsEntry 2 } ifExtnsRevWare OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "An arbitrary octet string that describes the firmware version of this interface. It is intended that this should be human readable. It must only contain ASCII printable characters. Typically this will be the firmware version of the main interface software." ::= { ifExtnsEntry 3 } ifExtnsMulticastsTransmittedOks OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The count of frames successfully transmitted to a subnetwork or link-layer multicast destination address other than a broadcast address. For a MAC layer protocol, this includes both Group and Functional addresses." ::= { ifExtnsEntry 4 } ifExtnsBroadcastsTransmittedOks OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The count of frames successfully transmitted to a subnetwork or link-layer broadcast addresses. It does not include frames sent to a multicast address." ::= { ifExtnsEntry 5 } ifExtnsMulticastsReceivedOks OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The count of frames successfully received that are directed to an active subnetwork or link-layer multicast address (for a MAC layer protocol, this includes both Group and Functional addresses). This does not include frames directed to a broadcast address, nor frames received with errors." ::= { ifExtnsEntry 6 } ifExtnsBroadcastsReceivedOks OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The count of frames successfully received that are directed to a subnetwork or link-layer broadcast address. This does not include frames received with errors." ::= { ifExtnsEntry 7 } ifExtnsPromiscuous OBJECT-TYPE SYNTAX INTEGER { true(1), false(2) } ACCESS read-only -- Note: agent implementors are -- encouraged to extend this -- access to read-write if that -- makes sense in their agent. STATUS mandatory DESCRIPTION "This object has a value of false(2) if this interface only accepts packets/frames that are addressed to this station. This object has a value of true(1) when the station accepts all packets/frames transmitted on the media. The value true(1) is only legal on certain types of media. If legal, setting this object to a value of true(1) may require the interface to be reset before becoming effective." ::= { ifExtnsEntry 8 } -- -- Generic Interface Test Table -- -- This group of objects is optional, but if the table is -- implemented, all objects in the table must be implemented. ifExtnsTestTable OBJECT-TYPE SYNTAX SEQUENCE OF IfExtnsTestEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains one entry per interface." ::= { ifExtensions 2 } ifExtnsTestEntry OBJECT-TYPE SYNTAX IfExtnsTestEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry containing objects for invoking tests on an interface." INDEX { ifExtnsTestIfIndex } ::= { ifExtnsTestTable 1 } IfExtnsTestEntry ::= SEQUENCE { ifExtnsTestIfIndex INTEGER, ifExtnsTestCommunity OCTET STRING, ifExtnsTestRequestId INTEGER, ifExtnsTestType OBJECT IDENTIFIER, ifExtnsTestResult INTEGER, ifExtnsTestCode OBJECT IDENTIFIER } ifExtnsTestIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of this object identifies the interface for which this entry contains information on interface tests. The value of this object for a particular interface has the same value as the ifIndex object, defined in [4,6], for the same interface." ::= { ifExtnsTestEntry 1 } ifExtnsTestCommunity OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "This object contains the name of the SNMP authentication community [5] which was used to authenticate the SNMP Message which invoked the current or most recent test on this interface. If the authentication community is unknown or undefined, this value contains the zero-length string." ::= { ifExtnsTestEntry 2 } ifExtnsTestRequestId OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This object contains the value of the request-id field in the SNMP PDU [5] which invoked the current or most recent test on this interface. If the request-id is unknown or undefined, this value contains the value zero." ::= { ifExtnsTestEntry 3 } ifExtnsTestType OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-write STATUS mandatory DESCRIPTION "A control variable used to start and stop operator-initiated interface tests. Most OBJECT IDENTIFIER values assigned to tests are defined elsewhere, in associ- ation with specific types of interface. However, this document assigns a value for a full-duplex loopback test, and defines the special meanings of the subject identifier: noTest OBJECT IDENTIFIER ::= { 0 0 } When the value noTest is written to this object, no action is taken unless a test is in progress, in which case the test is aborted. Writing any other value to this object is only valid when no test is currently in progress, in which case the indicated test is initiated. Note that noTest is a syntactically valid object identifier, and any conformant implementation of ASN.1 and BER must be able to generate and recognize this value. When read, this object always returns the most recent value that ifExtnsTestType was set to. If it has not been set since the last initialization of the network management subsystem on the agent, a value of noTest is returned." ::= { ifExtnsTestEntry 4 } wellKnownTests OBJECT IDENTIFIER ::= { ifExtensions 4 } -- full-duplex loopback test testFullDuplexLoopBack OBJECT IDENTIFIER ::= { wellKnownTests 1 } ifExtnsTestResult OBJECT-TYPE SYNTAX INTEGER { none(1), -- no test yet requested success(2), inProgress(3), notSupported(4), unAbleToRun(5), -- due to state of system aborted(6), failed(7) } ACCESS read-only STATUS mandatory DESCRIPTION "This object contains the result of the most recently requested test, or the value none(1) if no tests have been requested since the last reset. Note that this facility provides no provision for saving the results of one test when starting another, as could be required if used by multiple managers concurrently." ::= { ifExtnsTestEntry 5 } ifExtnsTestCode OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-only STATUS mandatory DESCRIPTION "This object contains a code which contains more specific information on the test result, for example an error-code after a failed test. Error codes and other values this object may take are specific to the type of interface and/or test. However, one subject identifier: testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 } for use if no additional result code is available. Note that testCodeUnknown is a syntactically valid object identifier, and any conformant implementation of ASN.1 and the BER must be able to generate and recognize this value." ::= { ifExtnsTestEntry 6 } -- Generic Receive Address Table -- -- This group of objects is mandatory for all types of -- interfaces which can receive packets/frames addressed to -- more than one address. ifExtnsRcvAddrTable OBJECT-TYPE SYNTAX SEQUENCE OF IfExtnsRcvAddrEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains an entry for each address (broadcast, multicast, or uni-cast) for which the system will receive packets/ frames on a particular interface. When an interface is operating in promiscuous mode, entries are only required for those addresses for which the system would receive frames were it not operating in promiscuous mode." ::= { ifExtensions 3 } ifExtnsRcvAddrEntry OBJECT-TYPE SYNTAX IfExtnsRcvAddrEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of objects identifying an address for which the system will accept packets/ frames on a particular interface." INDEX { ifExtnsRcvAddrIfIndex, ifExtnsRcvAddress } ::= { ifExtnsRcvAddrTable 1 } IfExtnsRcvAddrEntry ::= SEQUENCE { ifExtnsRcvAddrIfIndex INTEGER, ifExtnsRcvAddress PhysAddress, ifExtnsRcvAddrStatus INTEGER } ifExtnsRcvAddrIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of ifIndex, defined in [4,6], of an interface which recognizes this entry's address." ::= { ifExtnsRcvAddrEntry 1 } ifExtnsRcvAddress OBJECT-TYPE SYNTAX PhysAddress ACCESS read-only STATUS mandatory DESCRIPTION "An address for which the system will accept packets/frames on this entry's interface." ::= { ifExtnsRcvAddrEntry 2 } ifExtnsRcvAddrStatus OBJECT-TYPE SYNTAX INTEGER { other(1), invalid(2), volatile(3), nonVolatile(4) } ACCESS read-write STATUS mandatory DESCRIPTION "This object has the value nonVolatile(4) for those entries in the table which are valid and will not be deleted by the next restart of the managed system. Entries having the value volatile(3) are valid and exist, but have not been saved, so that will not exist after the next restart of the managed system. Entries having the value other(1) are valid and exist but are not classified as to whether they will continue to exist after the next restart. Entries having the value invalid(2) are invalid and do not represent an address for which an interface accepts frames. Setting an object instance to one of the values other(1), volatile(3), or nonVolatile(4) causes the corresponding entry to exist or continue to exist, and to take on the respective status as regards the next restart of the managed system. Setting an object instance to the value invalid(2) causes the corresponding entry to become invalid or cease to exist. It is an implementation-specific matter as to whether the agent removes an invalidated entry from the table. Accordingly, management stations must be prepared to receive tabular information from agents that corresponds to entries not currently in use. Proper interpretation of such entries requires examination of the relevant ifExtnsRcvAddrStatus object instance." DEFVAL { volatile } ::= { ifExtnsRcvAddrEntry 3 } END