1805 lines
74 KiB
Plaintext
1805 lines
74 KiB
Plaintext
-- =================================================================
|
|
-- Description: ifnet mib definition
|
|
-- Reference: This mib was extracted from RFC 2233
|
|
-- =================================================================
|
|
|
|
|
|
IF-MIB DEFINITIONS ::= BEGIN
|
|
|
|
IMPORTS
|
|
MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Counter64,
|
|
Integer32, TimeTicks, mib-2,
|
|
NOTIFICATION-TYPE FROM SNMPv2-SMI
|
|
TEXTUAL-CONVENTION, DisplayString,
|
|
PhysAddress, TruthValue, RowStatus,
|
|
TimeStamp, AutonomousType, TestAndIncr FROM SNMPv2-TC
|
|
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
|
|
snmpTraps FROM SNMPv2-MIB
|
|
IANAifType FROM IANAifType-MIB;
|
|
|
|
ifMIB MODULE-IDENTITY
|
|
LAST-UPDATED "9611031355Z"
|
|
ORGANIZATION "IETF Interfaces MIB Working Group"
|
|
CONTACT-INFO
|
|
" Keith McCloghrie
|
|
Cisco Systems, Inc.
|
|
170 West Tasman Drive
|
|
San Jose, CA 95134-1706
|
|
US
|
|
|
|
408-526-5260
|
|
kzm@cisco.com"
|
|
DESCRIPTION
|
|
"The MIB module to describe generic objects for
|
|
network interface sub-layers. This MIB is an updated
|
|
version of MIB-II's ifTable, and incorporates the
|
|
extensions defined in RFC 1229.
|
|
"
|
|
REVISION "9602282155Z"
|
|
DESCRIPTION
|
|
"Revisions made by the Interfaces MIB WG."
|
|
REVISION "9311082155Z"
|
|
DESCRIPTION
|
|
"Initial revision, published as part of RFC 1573."
|
|
::= { mib-2 31 }
|
|
|
|
|
|
ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
|
|
|
|
interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
|
|
|
|
|
|
OwnerString ::= TEXTUAL-CONVENTION
|
|
DISPLAY-HINT "255a"
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This data type is used to model an administratively
|
|
assigned name of the owner of a resource. This
|
|
information is taken from the NVT ASCII character set.
|
|
It is suggested that this name contain one or more of
|
|
the following: ASCII form of the manager station's
|
|
transport address, management station name (e.g.,
|
|
domain name), network management personnel's name,
|
|
location, or phone number. In some cases the agent
|
|
itself will be the owner of an entry. In these cases,
|
|
this string shall be set to a string starting with
|
|
'agent'."
|
|
SYNTAX OCTET STRING (SIZE(0..255))
|
|
|
|
-- InterfaceIndex contains the semantics of ifIndex and
|
|
-- should be used for any objects defined on other mib
|
|
-- modules that need these semantics.
|
|
|
|
InterfaceIndex ::= TEXTUAL-CONVENTION
|
|
DISPLAY-HINT "d"
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A unique value, greater than zero, for each interface
|
|
or interface sub-layer in the managed system. It is
|
|
recommended that values are assigned contiguously
|
|
starting from 1. The value for each interface sub-
|
|
layer must remain constant at least from one re-
|
|
initialization of the entity's network management
|
|
system to the next re-initialization."
|
|
SYNTAX Integer32 (1..2147483647)
|
|
|
|
|
|
InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
|
|
DISPLAY-HINT "d"
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This textual convention is an extension of the
|
|
InterfaceIndex convention. The latter defines a
|
|
greater than zero value used to identify an interface
|
|
or interface sub-layer in the managed system. This
|
|
extension permits the additional value of zero. the
|
|
value zero is object-specific and must therefore be
|
|
defined as part of the description of any object which
|
|
uses this syntax. Examples of the usage of zero might
|
|
include situations where interface was unknown, or
|
|
when none or all interfaces need to be referenced."
|
|
SYNTAX Integer32 (0..2147483647)
|
|
|
|
|
|
ifNumber OBJECT-TYPE
|
|
SYNTAX Integer32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of network interfaces (regardless of their
|
|
current state) present on this system."
|
|
::= { interfaces 1 }
|
|
|
|
|
|
ifTableLastChange OBJECT-TYPE
|
|
SYNTAX TimeTicks
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The value of sysUpTime at the time of the last
|
|
creation or deletion of an entry in the ifTable. If
|
|
the number of entries has been unchanged since the
|
|
last re-initialization of the local network management
|
|
subsystem, then this object contains a zero value."
|
|
::= { ifMIBObjects 5 }
|
|
|
|
|
|
-- the Interfaces table
|
|
|
|
-- The Interfaces table contains information on the entity's
|
|
-- interfaces. Each sub-layer below the internetwork-layer
|
|
-- of a network interface is considered to be an interface.
|
|
|
|
ifTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF IfEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A list of interface entries. The number of entries
|
|
is given by the value of ifNumber."
|
|
::= { interfaces 2 }
|
|
|
|
ifEntry OBJECT-TYPE
|
|
SYNTAX IfEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry containing management information applicable
|
|
to a particular interface."
|
|
INDEX { ifIndex }
|
|
|
|
|
|
|
|
::= { ifTable 1 }
|
|
|
|
IfEntry ::=
|
|
SEQUENCE {
|
|
ifIndex InterfaceIndex,
|
|
ifDescr DisplayString,
|
|
ifType IANAifType,
|
|
ifMtu Integer32,
|
|
ifSpeed Gauge32,
|
|
ifPhysAddress PhysAddress,
|
|
ifAdminStatus INTEGER,
|
|
ifOperStatus INTEGER,
|
|
ifLastChange TimeTicks,
|
|
ifInOctets Counter32,
|
|
ifInUcastPkts Counter32,
|
|
ifInNUcastPkts Counter32, -- deprecated
|
|
ifInDiscards Counter32,
|
|
ifInErrors Counter32,
|
|
ifInUnknownProtos Counter32,
|
|
ifOutOctets Counter32,
|
|
ifOutUcastPkts Counter32,
|
|
ifOutNUcastPkts Counter32, -- deprecated
|
|
ifOutDiscards Counter32,
|
|
ifOutErrors Counter32,
|
|
ifOutQLen Gauge32, -- deprecated
|
|
ifSpecific OBJECT IDENTIFIER -- deprecated
|
|
|
|
}
|
|
|
|
|
|
ifIndex OBJECT-TYPE
|
|
SYNTAX InterfaceIndex
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A unique value, greater than zero, for each
|
|
interface. It is recommended that values are assigned
|
|
contiguously starting from 1. The value for each
|
|
interface sub-layer must remain constant at least from
|
|
one re-initialization of the entity's network
|
|
management system to the next re-initialization."
|
|
::= { ifEntry 1 }
|
|
|
|
ifDescr OBJECT-TYPE
|
|
SYNTAX DisplayString (SIZE (0..255))
|
|
MAX-ACCESS read-only
|
|
|
|
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A textual string containing information about the
|
|
interface. This string should include the name of the
|
|
manufacturer, the product name and the version of the
|
|
interface hardware/software."
|
|
::= { ifEntry 2 }
|
|
|
|
ifType OBJECT-TYPE
|
|
SYNTAX IANAifType
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The type of interface. Additional values for ifType
|
|
are assigned by the Internet Assigned Numbers
|
|
Authority (IANA), through updating the syntax of the
|
|
IANAifType textual convention."
|
|
::= { ifEntry 3 }
|
|
|
|
ifMtu OBJECT-TYPE
|
|
SYNTAX Integer32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The size of the largest packet which can be
|
|
sent/received on the interface, specified in octets.
|
|
For interfaces that are used for transmitting network
|
|
datagrams, this is the size of the largest network
|
|
datagram that can be sent on the interface."
|
|
::= { ifEntry 4 }
|
|
|
|
ifSpeed OBJECT-TYPE
|
|
SYNTAX Gauge32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An estimate of the interface's current bandwidth in
|
|
bits per second. For interfaces which do not vary in
|
|
bandwidth or for those where no accurate estimation
|
|
can be made, this object should contain the nominal
|
|
bandwidth. If the bandwidth of the interface is
|
|
greater than the maximum value reportable by this
|
|
object then this object should report its maximum
|
|
value (4,294,967,295) and ifHighSpeed must be used to
|
|
report the interace's speed. For a sub-layer which
|
|
has no concept of bandwidth, this object should be
|
|
zero."
|
|
::= { ifEntry 5 }
|
|
|
|
ifPhysAddress OBJECT-TYPE
|
|
SYNTAX PhysAddress
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The interface's address at its protocol sub-layer.
|
|
For example, for an 802.x interface, this object
|
|
normally contains a MAC address. The interface's
|
|
media-specific MIB must define the bit and byte
|
|
ordering and the format of the value of this object.
|
|
For interfaces which do not have such an address
|
|
(e.g., a serial line), this object should contain an
|
|
octet string of zero length."
|
|
::= { ifEntry 6 }
|
|
|
|
ifAdminStatus OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
up(1), -- ready to pass packets
|
|
down(2),
|
|
testing(3) -- in some test mode
|
|
}
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The desired state of the interface. The testing(3)
|
|
state indicates that no operational packets can be
|
|
passed. When a managed system initializes, all
|
|
interfaces start with ifAdminStatus in the down(2)
|
|
state. As a result of either explicit management
|
|
action or per configuration information retained by
|
|
the managed system, ifAdminStatus is then changed to
|
|
either the up(1) or testing(3) states (or remains in
|
|
the down(2) state)."
|
|
::= { ifEntry 7 }
|
|
|
|
ifOperStatus OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
up(1), -- ready to pass packets
|
|
down(2),
|
|
testing(3), -- in some test mode
|
|
unknown(4), -- status can not be determined
|
|
-- for some reason.
|
|
dormant(5),
|
|
notPresent(6), -- some component is missing
|
|
lowerLayerDown(7) -- down due to state of
|
|
-- lower-layer interface(s)
|
|
}
|
|
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The current operational state of the interface. The
|
|
testing(3) state indicates that no operational packets
|
|
can be passed. If ifAdminStatus is down(2) then
|
|
ifOperStatus should be down(2). If ifAdminStatus is
|
|
changed to up(1) then ifOperStatus should change to
|
|
up(1) if the interface is ready to transmit and
|
|
receive network traffic; it should change to
|
|
dormant(5) if the interface is waiting for external
|
|
actions (such as a serial line waiting for an incoming
|
|
connection); it should remain in the down(2) state if
|
|
and only if there is a fault that prevents it from
|
|
going to the up(1) state; it should remain in the
|
|
notPresent(6) state if the interface has missing
|
|
(typically, hardware) components."
|
|
::= { ifEntry 8 }
|
|
|
|
ifLastChange OBJECT-TYPE
|
|
SYNTAX TimeTicks
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The value of sysUpTime at the time the interface
|
|
entered its current operational state. If the current
|
|
state was entered prior to the last re-initialization
|
|
of the local network management subsystem, then this
|
|
object contains a zero value."
|
|
::= { ifEntry 9 }
|
|
|
|
ifInOctets OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of octets received on the interface,
|
|
including framing characters.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifEntry 10 }
|
|
|
|
ifInUcastPkts OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of packets, delivered by this sub-layer to
|
|
a higher (sub-)layer, which were not addressed to a
|
|
multicast or broadcast address at this sub-layer.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifEntry 11 }
|
|
|
|
ifInNUcastPkts OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"The number of packets, delivered by this sub-layer to
|
|
a higher (sub-)layer, which were addressed to a
|
|
multicast or broadcast address at this sub-layer.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime.
|
|
|
|
This object is deprecated in favour of
|
|
ifInMulticastPkts and ifInBroadcastPkts."
|
|
::= { ifEntry 12 }
|
|
|
|
ifInDiscards OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of inbound packets which were chosen to be
|
|
discarded even though no errors had been detected to
|
|
prevent their being deliverable to a higher-layer
|
|
protocol. One possible reason for discarding such a
|
|
packet could be to free up buffer space.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifEntry 13 }
|
|
|
|
ifInErrors OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"For packet-oriented interfaces, the number of inbound
|
|
packets that contained errors preventing them from
|
|
being deliverable to a higher-layer protocol. For
|
|
character-oriented or fixed-length interfaces, the
|
|
number of inbound transmission units that contained
|
|
errors preventing them from being deliverable to a
|
|
higher-layer protocol.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifEntry 14 }
|
|
|
|
ifInUnknownProtos OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"For packet-oriented interfaces, the number of packets
|
|
received via the interface which were discarded
|
|
because of an unknown or unsupported protocol. For
|
|
character-oriented or fixed-length interfaces that
|
|
support protocol multiplexing the number of
|
|
transmission units received via the interface which
|
|
were discarded because of an unknown or unsupported
|
|
protocol. For any interface that does not support
|
|
protocol multiplexing, this counter will always be 0.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifEntry 15 }
|
|
|
|
ifOutOctets OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of octets transmitted out of the
|
|
interface, including framing characters.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifEntry 16 }
|
|
|
|
ifOutUcastPkts OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of packets that higher-level
|
|
protocols requested be transmitted, and which were not
|
|
addressed to a multicast or broadcast address at this
|
|
sub-layer, including those that were discarded or not
|
|
sent.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifEntry 17 }
|
|
|
|
ifOutNUcastPkts OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"The total number of packets that higher-level
|
|
protocols requested be transmitted, and which were
|
|
addressed to a multicast or broadcast address at this
|
|
sub-layer, including those that were discarded or not
|
|
sent.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime.
|
|
|
|
This object is deprecated in favour of
|
|
ifOutMulticastPkts and ifOutBroadcastPkts."
|
|
::= { ifEntry 18 }
|
|
|
|
ifOutDiscards OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of outbound packets which were chosen to
|
|
be discarded even though no errors had been detected
|
|
to prevent their being transmitted. One possible
|
|
reason for discarding such a packet could be to free
|
|
up buffer space.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifEntry 19 }
|
|
|
|
ifOutErrors OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"For packet-oriented interfaces, the number of
|
|
outbound packets that could not be transmitted because
|
|
of errors. For character-oriented or fixed-length
|
|
interfaces, the number of outbound transmission units
|
|
that could not be transmitted because of errors.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifEntry 20 }
|
|
|
|
|
|
ifOutQLen OBJECT-TYPE
|
|
SYNTAX Gauge32
|
|
MAX-ACCESS read-only
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"The length of the output packet queue (in packets)."
|
|
::= { ifEntry 21 }
|
|
|
|
ifSpecific OBJECT-TYPE
|
|
SYNTAX OBJECT IDENTIFIER
|
|
MAX-ACCESS read-only
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"A reference to MIB definitions specific to the
|
|
particular media being used to realize the interface.
|
|
It is recommended that this value point to an instance
|
|
of a MIB object in the media-specific MIB, i.e., that
|
|
this object have the semantics associated with the
|
|
InstancePointer textual convention defined in RFC
|
|
1903. In fact, it is recommended that the media-
|
|
specific MIB specify what value ifSpecific should/can
|
|
take for values of ifType. If no MIB definitions
|
|
specific to the particular media are available, the
|
|
value should be set to the OBJECT IDENTIFIER { 0 0 }."
|
|
::= { ifEntry 22 }
|
|
|
|
|
|
|
|
--
|
|
-- Extension to the interface table
|
|
--
|
|
-- This table replaces the ifExtnsTable table.
|
|
--
|
|
|
|
ifXTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF IfXEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A list of interface entries. The number of entries
|
|
is given by the value of ifNumber. This table
|
|
contains additional objects for the interface table."
|
|
::= { ifMIBObjects 1 }
|
|
|
|
ifXEntry OBJECT-TYPE
|
|
SYNTAX IfXEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry containing additional management information
|
|
applicable to a particular interface."
|
|
AUGMENTS { ifEntry }
|
|
::= { ifXTable 1 }
|
|
|
|
IfXEntry ::=
|
|
SEQUENCE {
|
|
ifName DisplayString,
|
|
ifInMulticastPkts Counter32,
|
|
ifInBroadcastPkts Counter32,
|
|
ifOutMulticastPkts Counter32,
|
|
ifOutBroadcastPkts Counter32,
|
|
ifHCInOctets Counter64,
|
|
ifHCInUcastPkts Counter64,
|
|
ifHCInMulticastPkts Counter64,
|
|
ifHCInBroadcastPkts Counter64,
|
|
ifHCOutOctets Counter64,
|
|
ifHCOutUcastPkts Counter64,
|
|
ifHCOutMulticastPkts Counter64,
|
|
ifHCOutBroadcastPkts Counter64,
|
|
ifLinkUpDownTrapEnable INTEGER,
|
|
ifHighSpeed Gauge32,
|
|
ifPromiscuousMode TruthValue,
|
|
ifConnectorPresent TruthValue,
|
|
ifAlias DisplayString,
|
|
ifCounterDiscontinuityTime TimeStamp
|
|
}
|
|
|
|
|
|
ifName OBJECT-TYPE
|
|
SYNTAX DisplayString
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The textual name of the interface. The value of this
|
|
object should be the name of the interface as assigned
|
|
by the local device and should be suitable for use in
|
|
commands entered at the device's `console'. This
|
|
might be a text name, such as `le0' or a simple port
|
|
number, such as `1', depending on the interface naming
|
|
syntax of the device. If several entries in the
|
|
ifTable together represent a single interface as named
|
|
by the device, then each will have the same value of
|
|
ifName. Note that for an agent which responds to SNMP
|
|
queries concerning an interface on some other
|
|
(proxied) device, then the value of ifName for such an
|
|
interface is the proxied device's local name for it.
|
|
|
|
If there is no local name, or this object is otherwise
|
|
not applicable, then this object contains a zero-
|
|
length string."
|
|
::= { ifXEntry 1 }
|
|
|
|
ifInMulticastPkts OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of packets, delivered by this sub-layer to
|
|
a higher (sub-)layer, which were addressed to a
|
|
multicast address at this sub-layer. For a MAC layer
|
|
protocol, this includes both Group and Functional
|
|
addresses.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 2 }
|
|
|
|
ifInBroadcastPkts OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of packets, delivered by this sub-layer to
|
|
a higher (sub-)layer, which were addressed to a
|
|
broadcast address at this sub-layer.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 3 }
|
|
|
|
ifOutMulticastPkts OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of packets that higher-level
|
|
protocols requested be transmitted, and which were
|
|
addressed to a multicast address at this sub-layer,
|
|
including those that were discarded or not sent. For
|
|
a MAC layer protocol, this includes both Group and
|
|
Functional addresses.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 4 }
|
|
|
|
ifOutBroadcastPkts OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of packets that higher-level
|
|
protocols requested be transmitted, and which were
|
|
addressed to a broadcast address at this sub-layer,
|
|
including those that were discarded or not sent.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 5 }
|
|
|
|
--
|
|
-- High Capacity Counter objects. These objects are all
|
|
-- 64 bit versions of the "basic" ifTable counters. These
|
|
-- objects all have the same basic semantics as their 32-bit
|
|
-- counterparts, however, their syntax has been extended
|
|
-- to 64 bits.
|
|
--
|
|
|
|
ifHCInOctets OBJECT-TYPE
|
|
SYNTAX Counter64
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
|
|
DESCRIPTION
|
|
"The total number of octets received on the interface,
|
|
including framing characters. This object is a 64-bit
|
|
version of ifInOctets.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 6 }
|
|
|
|
|
|
ifHCInUcastPkts OBJECT-TYPE
|
|
SYNTAX Counter64
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of packets, delivered by this sub-layer to
|
|
a higher (sub-)layer, which were not addressed to a
|
|
multicast or broadcast address at this sub-layer.
|
|
This object is a 64-bit version of ifInUcastPkts.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 7 }
|
|
|
|
ifHCInMulticastPkts OBJECT-TYPE
|
|
SYNTAX Counter64
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of packets, delivered by this sub-layer to
|
|
a higher (sub-)layer, which were addressed to a
|
|
multicast address at this sub-layer. For a MAC layer
|
|
protocol, this includes both Group and Functional
|
|
addresses. This object is a 64-bit version of
|
|
ifInMulticastPkts.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 8 }
|
|
|
|
|
|
ifHCInBroadcastPkts OBJECT-TYPE
|
|
SYNTAX Counter64
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of packets, delivered by this sub-layer to
|
|
a higher (sub-)layer, which were addressed to a
|
|
broadcast address at this sub-layer. This object is a
|
|
64-bit version of ifInBroadcastPkts.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 9 }
|
|
|
|
ifHCOutOctets OBJECT-TYPE
|
|
SYNTAX Counter64
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of octets transmitted out of the
|
|
interface, including framing characters. This object
|
|
is a 64-bit version of ifOutOctets.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 10 }
|
|
|
|
ifHCOutUcastPkts OBJECT-TYPE
|
|
SYNTAX Counter64
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of packets that higher-level
|
|
protocols requested be transmitted, and which were not
|
|
addressed to a multicast or broadcast address at this
|
|
sub-layer, including those that were discarded or not
|
|
sent. This object is a 64-bit version of
|
|
ifOutUcastPkts.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 11 }
|
|
|
|
ifHCOutMulticastPkts OBJECT-TYPE
|
|
SYNTAX Counter64
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of packets that higher-level
|
|
protocols requested be transmitted, and which were
|
|
addressed to a multicast address at this sub-layer,
|
|
including those that were discarded or not sent. For
|
|
a MAC layer protocol, this includes both Group and
|
|
Functional addresses. This object is a 64-bit version
|
|
of ifOutMulticastPkts.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 12 }
|
|
|
|
ifHCOutBroadcastPkts OBJECT-TYPE
|
|
SYNTAX Counter64
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of packets that higher-level
|
|
protocols requested be transmitted, and which were
|
|
addressed to a broadcast address at this sub-layer,
|
|
including those that were discarded or not sent. This
|
|
object is a 64-bit version of ifOutBroadcastPkts.
|
|
|
|
Discontinuities in the value of this counter can occur
|
|
at re-initialization of the management system, and at
|
|
other times as indicated by the value of
|
|
ifCounterDiscontinuityTime."
|
|
::= { ifXEntry 13 }
|
|
|
|
ifLinkUpDownTrapEnable OBJECT-TYPE
|
|
SYNTAX INTEGER { enabled(1), disabled(2) }
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
|
|
"Indicates whether linkUp/linkDown traps should be
|
|
generated for this interface.
|
|
|
|
By default, this object should have the value
|
|
enabled(1) for interfaces which do not operate on
|
|
'top' of any other interface (as defined in the
|
|
ifStackTable), and disabled(2) otherwise."
|
|
::= { ifXEntry 14 }
|
|
|
|
ifHighSpeed OBJECT-TYPE
|
|
SYNTAX Gauge32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An estimate of the interface's current bandwidth in
|
|
units of 1,000,000 bits per second. If this object
|
|
reports a value of `n' then the speed of the interface
|
|
is somewhere in the range of `n-500,000' to
|
|
`n+499,999'. For interfaces which do not vary in
|
|
bandwidth or for those where no accurate estimation
|
|
can be made, this object should contain the nominal
|
|
bandwidth. For a sub-layer which has no concept of
|
|
bandwidth, this object should be zero."
|
|
::= { ifXEntry 15 }
|
|
|
|
ifPromiscuousMode OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
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.
|
|
|
|
The value of ifPromiscuousMode does not affect the
|
|
reception of broadcast and multicast packets/frames by
|
|
the interface."
|
|
::= { ifXEntry 16 }
|
|
|
|
ifConnectorPresent OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object has the value 'true(1)' if the interface
|
|
sublayer has a physical connector and the value
|
|
'false(2)' otherwise."
|
|
::= { ifXEntry 17 }
|
|
|
|
ifAlias OBJECT-TYPE
|
|
SYNTAX DisplayString (SIZE(0..242))
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is an 'alias' name for the interface as
|
|
specified by a network manager, and provides a non-
|
|
volatile 'handle' for the interface.
|
|
|
|
On the first instantiation of an interface, the value
|
|
of ifAlias associated with that interface is the
|
|
zero-length string. As and when a value is written
|
|
into an instance of ifAlias through a network
|
|
management set operation, then the agent must retain
|
|
the supplied value in the ifAlias instance associated
|
|
with the same interface for as long as that interface
|
|
remains instantiated, including across all re-
|
|
initializations/reboots of the network management
|
|
system, including those which result in a change of
|
|
the interface's ifIndex value.
|
|
|
|
An example of the value which a network manager might
|
|
store in this object for a WAN interface is the
|
|
(Telco's) circuit number/identifier of the interface.
|
|
|
|
Some agents may support write-access only for
|
|
interfaces having particular values of ifType. An
|
|
agent which supports write access to this object is
|
|
required to keep the value in non-volatile storage,
|
|
but it may limit the length of new values depending on
|
|
how much storage is already occupied by the current
|
|
values for other interfaces."
|
|
::= { ifXEntry 18 }
|
|
|
|
ifCounterDiscontinuityTime OBJECT-TYPE
|
|
SYNTAX TimeStamp
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The value of sysUpTime on the most recent occasion at
|
|
which any one or more of this interface's counters
|
|
suffered a discontinuity. The relevant counters are
|
|
the specific instances associated with this interface
|
|
of any Counter32 or Counter64 object contained in the
|
|
ifTable or ifXTable. If no such discontinuities have
|
|
occurred since the last re-initialization of the local
|
|
management subsystem, then this object contains a zero
|
|
value."
|
|
::= { ifXEntry 19 }
|
|
|
|
|
|
-- The Interface Stack Group
|
|
--
|
|
-- Implementation of this group is mandatory for all systems
|
|
--
|
|
|
|
ifStackTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF IfStackEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The table containing information on the relationships
|
|
between the multiple sub-layers of network interfaces.
|
|
In particular, it contains information on which sub-
|
|
layers run 'on top of' which other sub-layers, where
|
|
each sub-layer corresponds to a conceptual row in the
|
|
ifTable. For example, when the sub-layer with ifIndex
|
|
value x runs over the sub-layer with ifIndex value y,
|
|
then this table contains:
|
|
|
|
ifStackStatus.x.y=active
|
|
|
|
For each ifIndex value, I, which identifies an active
|
|
interface, there are always at least two instantiated
|
|
rows in this table associated with I. For one of
|
|
these rows, I is the value of ifStackHigherLayer; for
|
|
the other, I is the value of ifStackLowerLayer. (If I
|
|
is not involved in multiplexing, then these are the
|
|
only two rows associated with I.)
|
|
|
|
For example, two rows exist even for an interface
|
|
which has no others stacked on top or below it:
|
|
|
|
ifStackStatus.0.x=active
|
|
ifStackStatus.x.0=active "
|
|
::= { ifMIBObjects 2 }
|
|
|
|
|
|
ifStackEntry OBJECT-TYPE
|
|
SYNTAX IfStackEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Information on a particular relationship between two
|
|
sub-layers, specifying that one sub-layer runs on
|
|
'top' of the other sub-layer. Each sub-layer
|
|
corresponds to a conceptual row in the ifTable."
|
|
INDEX { ifStackHigherLayer, ifStackLowerLayer }
|
|
::= { ifStackTable 1 }
|
|
|
|
|
|
IfStackEntry ::=
|
|
SEQUENCE {
|
|
ifStackHigherLayer Integer32,
|
|
ifStackLowerLayer Integer32,
|
|
ifStackStatus RowStatus
|
|
}
|
|
|
|
ifStackHigherLayer OBJECT-TYPE
|
|
SYNTAX Integer32
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The value of ifIndex corresponding to the higher
|
|
sub-layer of the relationship, i.e., the sub-layer
|
|
which runs on 'top' of the sub-layer identified by the
|
|
corresponding instance of ifStackLowerLayer. If there
|
|
is no higher sub-layer (below the internetwork layer),
|
|
then this object has the value 0."
|
|
::= { ifStackEntry 1 }
|
|
|
|
|
|
ifStackLowerLayer OBJECT-TYPE
|
|
SYNTAX Integer32
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The value of ifIndex corresponding to the lower sub-
|
|
layer of the relationship, i.e., the sub-layer which
|
|
runs 'below' the sub-layer identified by the
|
|
corresponding instance of ifStackHigherLayer. If
|
|
there is no lower sub-layer, then this object has the
|
|
value 0."
|
|
::= { ifStackEntry 2 }
|
|
|
|
|
|
ifStackStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The status of the relationship between two sub-
|
|
layers.
|
|
|
|
Changing the value of this object from 'active' to
|
|
'notInService' or 'destroy' will likely have
|
|
consequences up and down the interface stack. Thus,
|
|
write access to this object is likely to be
|
|
inappropriate for some types of interfaces, and many
|
|
implementations will choose not to support write-
|
|
access for any type of interface."
|
|
::= { ifStackEntry 3 }
|
|
|
|
ifStackLastChange OBJECT-TYPE
|
|
SYNTAX TimeTicks
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The value of sysUpTime at the time of the last change
|
|
of the (whole) interface stack. A change of the
|
|
interface stack is defined to be any creation,
|
|
deletion, or change in value of any instance of
|
|
ifStackStatus. If the interface stack has been
|
|
unchanged since the last re-initialization of the
|
|
local network management subsystem, then this object
|
|
contains a zero value."
|
|
::= { ifMIBObjects 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.
|
|
--
|
|
-- This table replaces the ifExtnsRcvAddr table. The main
|
|
-- difference is that this table makes use of the RowStatus
|
|
-- textual convention, while ifExtnsRcvAddr did not.
|
|
|
|
ifRcvAddressTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF IfRcvAddressEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
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, except as follows:
|
|
|
|
- for an interface 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.
|
|
|
|
- for 802.5 functional addresses, only one entry is
|
|
required, for the address which has the functional
|
|
address bit ANDed with the bit mask of all functional
|
|
addresses for which the interface will accept frames.
|
|
|
|
A system is normally able to use any unicast address
|
|
which corresponds to an entry in this table as a
|
|
source address."
|
|
::= { ifMIBObjects 4 }
|
|
|
|
ifRcvAddressEntry OBJECT-TYPE
|
|
SYNTAX IfRcvAddressEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A list of objects identifying an address for which
|
|
the system will accept packets/frames on the
|
|
particular interface identified by the index value
|
|
ifIndex."
|
|
INDEX { ifIndex, ifRcvAddressAddress }
|
|
::= { ifRcvAddressTable 1 }
|
|
|
|
IfRcvAddressEntry ::=
|
|
SEQUENCE {
|
|
ifRcvAddressAddress PhysAddress,
|
|
ifRcvAddressStatus RowStatus,
|
|
ifRcvAddressType INTEGER
|
|
}
|
|
|
|
ifRcvAddressAddress OBJECT-TYPE
|
|
SYNTAX PhysAddress
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An address for which the system will accept
|
|
packets/frames on this entry's interface."
|
|
|
|
::= { ifRcvAddressEntry 1 }
|
|
|
|
ifRcvAddressStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to create and delete rows in the
|
|
ifRcvAddressTable."
|
|
|
|
::= { ifRcvAddressEntry 2 }
|
|
|
|
ifRcvAddressType OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
other(1),
|
|
volatile(2),
|
|
nonVolatile(3)
|
|
}
|
|
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object has the value nonVolatile(3) 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(2) 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."
|
|
|
|
DEFVAL { volatile }
|
|
::= { ifRcvAddressEntry 3 }
|
|
|
|
-- definition of interface-related traps.
|
|
|
|
linkDown NOTIFICATION-TYPE
|
|
OBJECTS { ifIndex, ifAdminStatus, ifOperStatus, ifDescr}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A linkDown trap signifies that the SNMPv2 entity,
|
|
acting in an agent role, has detected that the
|
|
ifOperStatus object for one of its communication links
|
|
is about to enter the down state from some other state
|
|
(but not from the notPresent state). This other state
|
|
is indicated by the included value of ifOperStatus."
|
|
::= { snmpTraps 3 }
|
|
|
|
linkUp NOTIFICATION-TYPE
|
|
OBJECTS { ifIndex, ifAdminStatus, ifOperStatus, ifDescr}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A linkUp trap signifies that the SNMPv2 entity,
|
|
acting in an agent role, has detected that the
|
|
ifOperStatus object for one of its communication links
|
|
left the down state and transitioned into some other
|
|
state (but not into the notPresent state). This other
|
|
state is indicated by the included value of
|
|
ifOperStatus."
|
|
::= { snmpTraps 4 }
|
|
|
|
-- conformance information
|
|
|
|
ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
|
|
|
|
ifGroups OBJECT IDENTIFIER ::= { ifConformance 1 }
|
|
ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
|
|
|
|
|
|
-- compliance statements
|
|
|
|
ifCompliance2 MODULE-COMPLIANCE
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The compliance statement for SNMPv2 entities which
|
|
have network interfaces."
|
|
|
|
MODULE -- this module
|
|
MANDATORY-GROUPS { ifGeneralInformationGroup, ifStackGroup2,
|
|
ifCounterDiscontinuityGroup }
|
|
|
|
GROUP ifFixedLengthGroup
|
|
DESCRIPTION
|
|
"This group is mandatory for all network interfaces
|
|
which are character-oriented or transmit data in
|
|
fixed-length transmission units."
|
|
|
|
GROUP ifHCFixedLengthGroup
|
|
DESCRIPTION
|
|
"This group is mandatory only for those network
|
|
interfaces which are character-oriented or transmit
|
|
data in fixed-length transmission units, and for which
|
|
the value of the corresponding instance of ifSpeed is
|
|
greater than 20,000,000 bits/second."
|
|
|
|
GROUP ifPacketGroup
|
|
DESCRIPTION
|
|
"This group is mandatory for all network interfaces
|
|
which are packet-oriented."
|
|
|
|
GROUP ifHCPacketGroup
|
|
DESCRIPTION
|
|
"This group is mandatory only for those network
|
|
interfaces which are packet-oriented and for which the
|
|
value of the corresponding instance of ifSpeed is
|
|
greater than 650,000,000 bits/second."
|
|
|
|
GROUP ifRcvAddressGroup
|
|
DESCRIPTION
|
|
"The applicability of this group MUST be defined by
|
|
the media-specific MIBs. Media-specific MIBs must
|
|
define the exact meaning, use, and semantics of the
|
|
addresses in this group."
|
|
|
|
|
|
OBJECT ifLinkUpDownTrapEnable
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION
|
|
"Write access is not required."
|
|
|
|
OBJECT ifPromiscuousMode
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION
|
|
"Write access is not required."
|
|
|
|
OBJECT ifStackStatus
|
|
SYNTAX INTEGER { active(1) } -- subset of RowStatus
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION
|
|
"Write access is not required, and only one of the six
|
|
enumerated values for the RowStatus textual convention
|
|
need be supported, specifically: active(1)."
|
|
|
|
OBJECT ifAdminStatus
|
|
SYNTAX INTEGER { up(1), down(2) }
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION
|
|
"Write access is not required, nor is support for the
|
|
value testing(3)."
|
|
|
|
OBJECT ifAlias
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION
|
|
"Write access is not required."
|
|
|
|
::= { ifCompliances 2 }
|
|
|
|
-- units of conformance
|
|
|
|
ifGeneralInformationGroup OBJECT-GROUP
|
|
OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress,
|
|
ifAdminStatus, ifOperStatus, ifLastChange,
|
|
ifLinkUpDownTrapEnable, ifConnectorPresent,
|
|
ifHighSpeed, ifName, ifNumber, ifAlias,
|
|
ifTableLastChange }
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A collection of objects providing information
|
|
applicable to all network interfaces."
|
|
::= { ifGroups 10 }
|
|
|
|
-- the following five groups are mutually exclusive; at most
|
|
-- one of these groups is implemented for any interface
|
|
|
|
ifFixedLengthGroup OBJECT-GROUP
|
|
OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
|
|
ifInErrors, ifOutErrors }
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A collection of objects providing information
|
|
specific to non-high speed (non-high speed interfaces
|
|
transmit and receive at speeds less than or equal to
|
|
20,000,000 bits/second) character-oriented or fixed-
|
|
length-transmission network interfaces."
|
|
::= { ifGroups 2 }
|
|
|
|
ifHCFixedLengthGroup OBJECT-GROUP
|
|
OBJECTS { ifHCInOctets, ifHCOutOctets,
|
|
ifInOctets, ifOutOctets, ifInUnknownProtos,
|
|
ifInErrors, ifOutErrors }
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A collection of objects providing information
|
|
specific to high speed (greater than 20,000,000
|
|
bits/second) character-oriented or fixed-length-
|
|
transmission network interfaces."
|
|
::= { ifGroups 3 }
|
|
|
|
ifPacketGroup OBJECT-GROUP
|
|
OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
|
|
ifInErrors, ifOutErrors,
|
|
ifMtu, ifInUcastPkts, ifInMulticastPkts,
|
|
ifInBroadcastPkts, ifInDiscards,
|
|
ifOutUcastPkts, ifOutMulticastPkts,
|
|
ifOutBroadcastPkts, ifOutDiscards,
|
|
ifPromiscuousMode }
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A collection of objects providing information
|
|
specific to non-high speed (non-high speed interfaces
|
|
transmit and receive at speeds less than or equal to
|
|
20,000,000 bits/second) packet-oriented network
|
|
interfaces."
|
|
::= { ifGroups 4 }
|
|
|
|
ifHCPacketGroup OBJECT-GROUP
|
|
OBJECTS { ifHCInOctets, ifHCOutOctets,
|
|
ifInOctets, ifOutOctets, ifInUnknownProtos,
|
|
ifInErrors, ifOutErrors,
|
|
ifMtu, ifInUcastPkts, ifInMulticastPkts,
|
|
ifInBroadcastPkts, ifInDiscards,
|
|
ifOutUcastPkts, ifOutMulticastPkts,
|
|
ifOutBroadcastPkts, ifOutDiscards,
|
|
ifPromiscuousMode }
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A collection of objects providing information
|
|
specific to high speed (greater than 20,000,000
|
|
bits/second but less than or equal to 650,000,000
|
|
bits/second) packet-oriented network interfaces."
|
|
::= { ifGroups 5 }
|
|
|
|
ifVHCPacketGroup OBJECT-GROUP
|
|
OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
|
|
ifHCInBroadcastPkts, ifHCOutUcastPkts,
|
|
ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
|
|
ifHCInOctets, ifHCOutOctets,
|
|
ifInOctets, ifOutOctets, ifInUnknownProtos,
|
|
ifInErrors, ifOutErrors,
|
|
ifMtu, ifInUcastPkts, ifInMulticastPkts,
|
|
ifInBroadcastPkts, ifInDiscards,
|
|
ifOutUcastPkts, ifOutMulticastPkts,
|
|
ifOutBroadcastPkts, ifOutDiscards,
|
|
ifPromiscuousMode }
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A collection of objects providing information
|
|
specific to higher speed (greater than 650,000,000
|
|
bits/second) packet-oriented network interfaces."
|
|
::= { ifGroups 6 }
|
|
|
|
ifRcvAddressGroup OBJECT-GROUP
|
|
OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A collection of objects providing information on the
|
|
multiple addresses which an interface receives."
|
|
::= { ifGroups 7 }
|
|
|
|
ifStackGroup2 OBJECT-GROUP
|
|
OBJECTS { ifStackStatus, ifStackLastChange }
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A collection of objects providing information on the
|
|
layering of MIB-II interfaces."
|
|
::= { ifGroups 11 }
|
|
|
|
ifCounterDiscontinuityGroup OBJECT-GROUP
|
|
OBJECTS { ifCounterDiscontinuityTime }
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A collection of objects providing information
|
|
specific to interface counter discontinuities."
|
|
::= { ifGroups 13 }
|
|
|
|
-- Deprecated Definitions - Objects
|
|
|
|
|
|
--
|
|
-- The Interface Test Table
|
|
--
|
|
-- This group of objects is optional. However, a media-specific
|
|
-- MIB may make implementation of this group mandatory.
|
|
--
|
|
-- This table replaces the ifExtnsTestTable
|
|
--
|
|
|
|
ifTestTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF IfTestEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"This table contains one entry per interface. It
|
|
defines objects which allow a network manager to
|
|
instruct an agent to test an interface for various
|
|
faults. Tests for an interface are defined in the
|
|
media-specific MIB for that interface. After invoking
|
|
a test, the object ifTestResult can be read to
|
|
determine the outcome. If an agent can not perform
|
|
the test, ifTestResult is set to so indicate. The
|
|
object ifTestCode can be used to provide further
|
|
test-specific or interface-specific (or even
|
|
enterprise-specific) information concerning the
|
|
outcome of the test. Only one test can be in progress
|
|
on each interface at any one time. If one test is in
|
|
progress when another test is invoked, the second test
|
|
is rejected. Some agents may reject a test when a
|
|
prior test is active on another interface.
|
|
|
|
Before starting a test, a manager-station must first
|
|
obtain 'ownership' of the entry in the ifTestTable for
|
|
the interface to be tested. This is accomplished with
|
|
the ifTestId and ifTestStatus objects as follows:
|
|
|
|
try_again:
|
|
get (ifTestId, ifTestStatus)
|
|
while (ifTestStatus != notInUse)
|
|
/*
|
|
* Loop while a test is running or some other
|
|
* manager is configuring a test.
|
|
*/
|
|
short delay
|
|
get (ifTestId, ifTestStatus)
|
|
}
|
|
|
|
/*
|
|
* Is not being used right now -- let's compete
|
|
* to see who gets it.
|
|
*/
|
|
lock_value = ifTestId
|
|
|
|
if ( set(ifTestId = lock_value, ifTestStatus = inUse,
|
|
ifTestOwner = 'my-IP-address') == FAILURE)
|
|
/*
|
|
* Another manager got the ifTestEntry -- go
|
|
* try again
|
|
*/
|
|
goto try_again;
|
|
|
|
/*
|
|
* I have the lock
|
|
*/
|
|
set up any test parameters.
|
|
|
|
/*
|
|
* This starts the test
|
|
*/
|
|
set(ifTestType = test_to_run);
|
|
|
|
wait for test completion by polling ifTestResult
|
|
|
|
when test completes, agent sets ifTestResult
|
|
agent also sets ifTestStatus = 'notInUse'
|
|
|
|
retrieve any additional test results, and ifTestId
|
|
|
|
if (ifTestId == lock_value+1) results are valid
|
|
|
|
A manager station first retrieves the value of the
|
|
appropriate ifTestId and ifTestStatus objects,
|
|
periodically repeating the retrieval if necessary,
|
|
until the value of ifTestStatus is 'notInUse'. The
|
|
manager station then tries to set the same ifTestId
|
|
object to the value it just retrieved, the same
|
|
ifTestStatus object to 'inUse', and the corresponding
|
|
ifTestOwner object to a value indicating itself. If
|
|
the set operation succeeds then the manager has
|
|
obtained ownership of the ifTestEntry, and the value of
|
|
the ifTestId object is incremented by the agent (per
|
|
the semantics of TestAndIncr). Failure of the set
|
|
operation indicates that some other manager has
|
|
obtained ownership of the ifTestEntry.
|
|
|
|
Once ownership is obtained, any test parameters can be
|
|
setup, and then the test is initiated by setting
|
|
ifTestType. On completion of the test, the agent sets
|
|
ifTestStatus to 'notInUse'. Once this occurs, the
|
|
manager can retrieve the results. In the (rare) event
|
|
that the invocation of tests by two network managers
|
|
were to overlap, then there would be a possibility that
|
|
the first test's results might be overwritten by the
|
|
second test's results prior to the first results being
|
|
read. This unlikely circumstance can be detected by a
|
|
network manager retrieving ifTestId at the same time as
|
|
retrieving the test results, and ensuring that the
|
|
results are for the desired request.
|
|
|
|
If ifTestType is not set within an abnormally long
|
|
period of time after ownership is obtained, the agent
|
|
should time-out the manager, and reset the value of the
|
|
ifTestStatus object back to 'notInUse'. It is
|
|
suggested that this time-out period be 5 minutes.
|
|
|
|
In general, a management station must not retransmit a
|
|
request to invoke a test for which it does not receive
|
|
a response; instead, it properly inspects an agent's
|
|
MIB to determine if the invocation was successful.
|
|
Only if the invocation was unsuccessful, is the
|
|
invocation request retransmitted.
|
|
|
|
Some tests may require the interface to be taken off-
|
|
line in order to execute them, or may even require the
|
|
agent to reboot after completion of the test. In these
|
|
circumstances, communication with the management
|
|
station invoking the test may be lost until after
|
|
completion of the test. An agent is not required to
|
|
support such tests. However, if such tests are
|
|
supported, then the agent should make every effort to
|
|
transmit a response to the request which invoked the
|
|
test prior to losing communication. When the agent is
|
|
restored to normal service, the results of the test are
|
|
properly made available in the appropriate objects.
|
|
Note that this requires that the ifIndex value assigned
|
|
to an interface must be unchanged even if the test
|
|
causes a reboot. An agent must reject any test for
|
|
which it cannot, perhaps due to resource constraints,
|
|
make available at least the minimum amount of
|
|
information after that test completes."
|
|
::= { ifMIBObjects 3 }
|
|
|
|
ifTestEntry OBJECT-TYPE
|
|
SYNTAX IfTestEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"An entry containing objects for invoking tests on an
|
|
interface."
|
|
AUGMENTS { ifEntry }
|
|
::= { ifTestTable 1 }
|
|
|
|
IfTestEntry ::=
|
|
SEQUENCE {
|
|
ifTestId TestAndIncr,
|
|
ifTestStatus INTEGER,
|
|
ifTestType AutonomousType,
|
|
ifTestResult INTEGER,
|
|
ifTestCode OBJECT IDENTIFIER,
|
|
ifTestOwner OwnerString
|
|
}
|
|
|
|
ifTestId OBJECT-TYPE
|
|
SYNTAX TestAndIncr
|
|
MAX-ACCESS read-write
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"This object identifies the current invocation of the
|
|
interface's test."
|
|
::= { ifTestEntry 1 }
|
|
|
|
ifTestStatus OBJECT-TYPE
|
|
SYNTAX INTEGER { notInUse(1), inUse(2) }
|
|
MAX-ACCESS read-write
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"This object indicates whether or not some manager
|
|
currently has the necessary 'ownership' required to
|
|
invoke a test on this interface. A write to this
|
|
object is only successful when it changes its value
|
|
from 'notInUse(1)' to 'inUse(2)'. After completion of
|
|
a test, the agent resets the value back to
|
|
'notInUse(1)'."
|
|
::= { ifTestEntry 2 }
|
|
|
|
ifTestType OBJECT-TYPE
|
|
SYNTAX AutonomousType
|
|
MAX-ACCESS read-write
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"A control variable used to start and stop operator-
|
|
initiated interface tests. Most OBJECT IDENTIFIER
|
|
values assigned to tests are defined elsewhere, in
|
|
association 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.
|
|
|
|
When read, this object always returns the most recent
|
|
value that ifTestType 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."
|
|
::= { ifTestEntry 3 }
|
|
|
|
ifTestResult 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)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS deprecated
|
|
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."
|
|
::= { ifTestEntry 4 }
|
|
|
|
ifTestCode OBJECT-TYPE
|
|
SYNTAX OBJECT IDENTIFIER
|
|
MAX-ACCESS read-only
|
|
STATUS deprecated
|
|
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. The value may have the
|
|
semantics of either the AutonomousType or
|
|
InstancePointer textual conventions as defined in RFC
|
|
1903. The identifier:
|
|
|
|
testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 }
|
|
|
|
is defined for use if no additional result code is
|
|
available."
|
|
::= { ifTestEntry 5 }
|
|
|
|
ifTestOwner OBJECT-TYPE
|
|
SYNTAX OwnerString
|
|
MAX-ACCESS read-write
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"The entity which currently has the 'ownership'
|
|
required to invoke a test on this interface."
|
|
::= { ifTestEntry 6 }
|
|
|
|
-- Deprecated Definitions - Groups
|
|
|
|
|
|
ifGeneralGroup OBJECT-GROUP
|
|
OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
|
|
ifAdminStatus, ifOperStatus, ifLastChange,
|
|
ifLinkUpDownTrapEnable, ifConnectorPresent,
|
|
ifHighSpeed, ifName }
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"A collection of objects deprecated in favour of
|
|
ifGeneralInformationGroup."
|
|
::= { ifGroups 1 }
|
|
|
|
|
|
ifTestGroup OBJECT-GROUP
|
|
OBJECTS { ifTestId, ifTestStatus, ifTestType,
|
|
ifTestResult, ifTestCode, ifTestOwner }
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"A collection of objects providing the ability to
|
|
invoke tests on an interface."
|
|
::= { ifGroups 8 }
|
|
|
|
|
|
ifStackGroup OBJECT-GROUP
|
|
OBJECTS { ifStackStatus }
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"The previous collection of objects providing
|
|
information on the layering of MIB-II interfaces."
|
|
::= { ifGroups 9 }
|
|
|
|
|
|
ifOldObjectsGroup OBJECT-GROUP
|
|
OBJECTS { ifInNUcastPkts, ifOutNUcastPkts,
|
|
ifOutQLen, ifSpecific }
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"The collection of objects deprecated from the
|
|
original MIB-II interfaces group."
|
|
::= { ifGroups 12 }
|
|
|
|
|
|
-- Deprecated Definitions - Compliance
|
|
|
|
ifCompliance MODULE-COMPLIANCE
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"The previous compliance statement for SNMPv2 entities
|
|
which have network interfaces."
|
|
|
|
MODULE -- this module
|
|
MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
|
|
|
|
GROUP ifFixedLengthGroup
|
|
DESCRIPTION
|
|
"This group is mandatory for all network interfaces
|
|
which are character-oriented or transmit data in
|
|
fixed-length transmission units."
|
|
|
|
GROUP ifHCFixedLengthGroup
|
|
DESCRIPTION
|
|
"This group is mandatory only for those network
|
|
interfaces which are character-oriented or transmit
|
|
data in fixed-length transmission units, and for which
|
|
the value of the corresponding instance of ifSpeed is
|
|
greater than 20,000,000 bits/second."
|
|
|
|
GROUP ifPacketGroup
|
|
DESCRIPTION
|
|
"This group is mandatory for all network interfaces
|
|
which are packet-oriented."
|
|
|
|
GROUP ifHCPacketGroup
|
|
DESCRIPTION
|
|
"This group is mandatory only for those network
|
|
interfaces which are packet-oriented and for which the
|
|
value of the corresponding instance of ifSpeed is
|
|
greater than 650,000,000 bits/second."
|
|
|
|
GROUP ifTestGroup
|
|
DESCRIPTION
|
|
"This group is optional. Media-specific MIBs which
|
|
require interface tests are strongly encouraged to use
|
|
this group for invoking tests and reporting results.
|
|
A medium specific MIB which has mandatory tests may
|
|
make implementation of this group mandatory."
|
|
|
|
GROUP ifRcvAddressGroup
|
|
DESCRIPTION
|
|
"The applicability of this group MUST be defined by
|
|
the media-specific MIBs. Media-specific MIBs must
|
|
define the exact meaning, use, and semantics of the
|
|
addresses in this group."
|
|
|
|
OBJECT ifLinkUpDownTrapEnable
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION
|
|
"Write access is not required."
|
|
|
|
OBJECT ifPromiscuousMode
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION
|
|
"Write access is not required."
|
|
|
|
OBJECT ifStackStatus
|
|
SYNTAX INTEGER { active(1) } -- subset of RowStatus
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION
|
|
"Write access is not required, and only one of the six
|
|
enumerated values for the RowStatus textual convention
|
|
need be supported, specifically: active(1)."
|
|
|
|
OBJECT ifAdminStatus
|
|
SYNTAX INTEGER { up(1), down(2) }
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION
|
|
"Write access is not required, nor is support for the
|
|
value testing(3)."
|
|
::= { ifCompliances 1 }
|
|
|
|
END
|
|
|
|
--
|
|
-- Copyright (C) The Internet Society (1997). All Rights Reserved.
|
|
--
|
|
-- This document and translations of it may be copied and furnished to
|
|
-- others, and derivative works that comment on or otherwise explain it
|
|
-- or assist in its implementation may be prepared, copied, published
|
|
-- and distributed, in whole or in part, without restriction of any
|
|
-- kind, provided that the above copyright notice and this paragraph are
|
|
-- included on all such copies and derivative works. However, this
|
|
-- document itself may not be modified in any way, such as by removing
|
|
-- the copyright notice or references to the Internet Society or other
|
|
-- Internet organizations, except as needed for the purpose of
|
|
-- developing Internet standards in which case the procedures for
|
|
-- copyrights defined in the Internet Standards process must be
|
|
-- followed, or as required to translate it into languages other than
|
|
-- English.
|
|
--
|
|
-- The limited permissions granted above are perpetual and will not be
|
|
-- revoked by the Internet Society or its successors or assigns.
|
|
--
|
|
-- This document and the information contained herein is provided on an
|
|
-- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
|
|
-- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
|
-- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
|
|
-- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
|
|
-- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|