474 lines
21 KiB
Plaintext
474 lines
21 KiB
Plaintext
-- Changes to RFC1229 (Interface Extensions MIB):
|
|
-- Changes from RFC-1239 applied which include:
|
|
-- removing import of experimental,
|
|
-- adding import of mib-2, changing
|
|
-- ifExtensions to be { mib-2 12 }
|
|
-- instead of { experimental 6 }
|
|
-- dperkins@scruznet.com
|
|
|
|
|
|
RFC1229-MIB DEFINITIONS ::= BEGIN
|
|
|
|
-- RFC1229
|
|
-- May 91
|
|
|
|
-- Extensions to MIB-II's Generic Interface Table
|
|
|
|
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
|
|
|
|
|