Está en la página 1de 53

Contenidos

1.
2.
3.
4.

Codificacin BER y formato del mensaje SNMP..................................................................................... 3


MIB-II RFC1232 ...................................................................................................................................... 5
Host-Resources MIB............................................................................................................................... 38
RMON-MIB RFC2819 ........................................................................................................................... 56

ANEXO DE GESTIN DE RED

1. Codificacin BER y formato del mensaje SNMP


TIPO

Etiquetas Universales

Formato Corto

BOOLEAN

00001

INTEGER

00010

BIT STRING
OCTET STRING

3
4

00011
00100

0 Primitivo
1 Construido

NULL
OBJECT IDENTIFIER

5
6

00101
00110

ObjectDescriptor

00111

00 UNIVERSAL
01 APPLICATION
10 Especfica de contexto
11 PRIVATE

EXTERNAL
REAL

8
9

01000
01001

ENUMERATED
SEQUENCE [OF]

10
16

01010
10000

clase

C/P

etiqueta

Formato Largo: etiquetas > 30


clase

1
1
0

n
n
n

C/P

n
n
n

etiqueta

1
n
n
n

1
n
n
n

1
n
n
n

1
n
n
n

1
n
n
n

Etiqueta = nnnn..............nnnn

SET [OF]

17

10001

NumericString
PrintableString

18
19

10010
10011

TeletextString
VideoString

20
21

10100
10101

IA5String

22

10110

UTCTime
GeneralizedTime

23
24

10111
11000

GraphicString
VisibleString

25
26

11001
11010

GeneralString

27

11011

LONGITUD

Formato Corto.
0

L
Datos de LLL..L octetos.

Datos
Formato Largo.
1
L
.
L

n
L
.
L

n
L
.
L

n
L
.
L

n
L
.
L

n
L
.
L

n
L
.
L

n
L
.
L

Datos

Los siguientes nn..n octetos


indican la longitud.
n..nn octetos que contienen
la longitud de los datos
Datos de LLL..L octetos.

RFC1157-SNMP DEFINITIONS ::= BEGIN


IMPORTS
ObjectName, ObjectSyntax, NetworkAddress, IpAddress, TimeTicks
FROM RFC1155-SMI;
--top-level message
Message ::= SEQUENCE {
version -- version-1 for this RFC
INTEGER { version-1(0)},
community OCTET STRING, -- community name
data ANY -- e.g., PDUs if trivial authentication is being used
}
-- protocol data units
PDUs ::= CHOICE {
get-request GetRequest-PDU,
get-next-request GetNextRequest-PDU,
get-response GetResponse-PDU,
set-request SetRequest-PDU,
trap Trap-PDU
}
-- PDUs
GetRequest-PDU ::= [0]IMPLICIT PDU
GetNextRequest-PDU ::= [1] IMPLICIT PDU
GetResponse-PDU ::= [2] IMPLICIT PDU
SetRequest-PDU ::= [3] IMPLICIT PDU
PDU ::= SEQUENCE {
request-id INTEGER,
error-status INTEGER {
noError(0),
tooBig(1),
noSuchName(2),
badValue(3),
readOnly(4),
genErr(5)
},
error-index INTEGER,
variable-bindings VarBindList
}
Trap-PDU ::= [4]IMPLICIT SEQUENCE{
enterprise OBJECT IDENTIFIER,
agent-addr NetworkAddress,
generic-trap INTEGER{
coldStart(0),
warmStart(1),
linkDown(2),
linkUp(3),
authenticationFailure(4),
egpNeighborLoss(5),
enterpriseSpecific(6)
},
specific-trap INTEGER, -- specific code, present even
time-stamp TimeTicks, -- time elapsed between the last
variable-bindings VarBindList -- "interesting" information
}
VarBind ::= SEQUENCE {
name ObjectName,
value ObjectSyntax
}
VarBindList ::= SEQUENCE OF VarBind
END

"A textual description of the entity. This value


should include the full name and version
identification of the system's hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters."
::= { system 1 }

2. MIB-II RFC1232
RFC1213-MIB DEFINITIONS ::= BEGIN
IMPORTS
mgmt, NetworkAddress, IpAddress, Counter, Gauge,
TimeTicks
FROM RFC1155-SMI
OBJECT-TYPE
FROM RFC-1212;
-- This MIB module uses the extended OBJECT-TYPE macro as
-- defined in [14];

-- MIB-II (same prefix as MIB-I)


mib-2

OBJECT IDENTIFIER ::= { mgmt 1 }

-- textual conventions

sysUpTime OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized."
::= { system 3 }

DisplayString ::=
OCTET STRING
-- This data type is used to model textual information taken
-- from the NVT ASCII character set. By convention, objects
-- with this syntax are declared as having
--SIZE (0..255)
PhysAddress ::=
OCTET STRING
-- This data type is used to model media addresses. For many
-- types of media, this will be in a binary representation.
-- For example, an ethernet address would be represented as
-- a string of 6 octets.

sysContact OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The textual identification of the contact person
for this managed node, together with information
on how to contact this person."
::= { system 4 }

-- groups in MIB-II
system

OBJECT IDENTIFIER ::= { mib-2 1 }

interfaces OBJECT IDENTIFIER ::= { mib-2 2 }


at

OBJECT IDENTIFIER ::= { mib-2 3 }

ip

OBJECT IDENTIFIER ::= { mib-2 4 }

icmp
tcp

sysName OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"An administratively-assigned name for this
managed node. By convention, this is the node's
fully-qualified domain name."
::= { system 5 }

OBJECT IDENTIFIER ::= { mib-2 5 }


OBJECT IDENTIFIER ::= { mib-2 6 }

udp

OBJECT IDENTIFIER ::= { mib-2 7 }

egp

OBJECT IDENTIFIER ::= { mib-2 8 }

sysLocation OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The physical location of this node (e.g.,
`telephone closet, 3rd floor')."
::= { system 6 }

-- historical (some say hysterical)


-- cmot
OBJECT IDENTIFIER ::= { mib-2 9 }
transmission OBJECT IDENTIFIER ::= { mib-2 10 }
snmp

sysObjectID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The vendor's authoritative identification of the
network management subsystem contained in the
entity. This value is allocated within the SMI
enterprises subtree (1.3.6.1.4.1) and provides an
easy and unambiguous means for determining `what
kind of box' is being managed. For example, if
vendor `Flintstones, Inc.' was assigned the
subtree 1.3.6.1.4.1.4242, it could assign the
identifier 1.3.6.1.4.1.4242.1.1 to its `Fred
Router'."
::= { system 2 }

OBJECT IDENTIFIER ::= { mib-2 11 }

sysServices OBJECT-TYPE
SYNTAX INTEGER (0..127)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A value which indicates the set of services that
this entity primarily offers.

-- the System group


-- Implementation of the System group is mandatory for all
-- systems. If an agent is not configured to have a value
-- for any of these variables, a string of length 0 is
-- returned.

The value is a sum. This sum initially takes the


value zero, Then, for each layer, L, in the range
1 through 7, that this node performs transactions
for, 2 raised to (L - 1) is added to the sum. For
example, a node which performs primarily routing
functions would have a value of 4 (2^(3-1)). In
contrast, a node which is a host offering

sysDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
DESCRIPTION

application services would have a value of 72


(2^(4-1) + 2^(7-1)). Note that in the context of
the Internet suite of protocols, values should be
calculated accordingly:
layer functionality
1 physical (e.g., repeaters)
2 datalink/subnetwork (e.g., bridges)
3 internet (e.g., IP gateways)
4 end-to-end (e.g., IP hosts)
7 applications (e.g., mail relays)

Counter,
ifInUcastPkts
Counter,
ifInNUcastPkts
Counter,
ifInDiscards
Counter,
ifInErrors
Counter,
ifInUnknownProtos
Counter,
ifOutOctets
Counter,
ifOutUcastPkts
Counter,
ifOutNUcastPkts
Counter,
ifOutDiscards
Counter,
ifOutErrors
Counter,
ifOutQLen
Gauge,
ifSpecific
OBJECT IDENTIFIER

For systems including OSI protocols, layers 5 and


6 may also be counted."
::= { system 7 }
-- the Interfaces group
-- Implementation of the Interfaces group is mandatory for
-- all systems.
ifNumber OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of network interfaces (regardless of
their current state) present on this system."
::= { interfaces 1 }

}
ifIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique value for each interface. Its value
ranges between 1 and the value of ifNumber. The
value for each interface must remain constant at
least from one re-initialization of the entity's
network management system to the next reinitialization."
::= { ifEntry 1 }

-- the Interfaces table


-- The Interfaces table contains information on the entity's
-- interfaces. Each interface is thought of as being
-- attached to a `subnetwork'. Note that this term should
-- not be confused with `subnet' which refers to an
-- addressing partitioning scheme used in the Internet suite
-- of protocols.
ifTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of interface entries. The number of
entries is given by the value of ifNumber."
::= { interfaces 2 }

ifDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
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 hardware interface."
::= { ifEntry 2 }

ifEntry OBJECT-TYPE
SYNTAX IfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An interface entry containing objects at the
subnetwork layer and below for a particular
interface."
INDEX { ifIndex }
::= { ifTable 1 }

ifType OBJECT-TYPE
SYNTAX INTEGER {
other(1),
-- none of the following
regular1822(2),
hdh1822(3),
ddn-x25(4),
rfc877-x25(5),
ethernet-csmacd(6),
iso88023-csmacd(7),
iso88024-tokenBus(8),
iso88025-tokenRing(9),
iso88026-man(10),
starLan(11),
proteon-10Mbit(12),
proteon-80Mbit(13),
hyperchannel(14),
fddi(15),
lapb(16),
sdlc(17),
ds1(18),
-- T-1
e1(19),
-- european equiv. of T-1
basicISDN(20),
primaryISDN(21), -- proprietary serial
propPointToPointSerial(22),
ppp(23),
softwareLoopback(24),
eon(25),
-- CLNP over IP [11]
ethernet-3Mbit(26),
nsip(27),
-- XNS over IP

IfEntry ::=
SEQUENCE {
ifIndex
INTEGER,
ifDescr
DisplayString,
ifType
INTEGER,
ifMtu
INTEGER,
ifSpeed
Gauge,
ifPhysAddress
PhysAddress,
ifAdminStatus
INTEGER,
ifOperStatus
INTEGER,
ifLastChange
TimeTicks,
ifInOctets

slip(28),
-- generic SLIP
ultra(29),
-- ULTRA technologies
ds3(30),
-- T-3
sip(31),
-- SMDS
frame-relay(32)

ifLastChange OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
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 reinitialization of the local network management
subsystem, then this object contains a zero
value."
::= { ifEntry 9 }

}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The type of interface, distinguished according to
the physical/link protocol(s) immediately `below'
the network layer in the protocol stack."
::= { ifEntry 3 }

ifInOctets OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of octets received on the
interface, including framing characters."
::= { ifEntry 10 }

ifMtu OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The size of the largest datagram 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 }

ifInUcastPkts OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of subnetwork-unicast packets
delivered to a higher-layer protocol."
::= { ifEntry 11 }

ifSpeed OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
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."
::= { ifEntry 5 }

ifInNUcastPkts OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of non-unicast (i.e., subnetworkbroadcast or subnetwork-multicast) packets
delivered to a higher-layer protocol."
::= { ifEntry 12 }

ifPhysAddress OBJECT-TYPE
SYNTAX PhysAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The interface's address at the protocol layer
immediately `below' the network layer in the
protocol stack. 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 }

ifInDiscards OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
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."
::= { ifEntry 13 }

ifAdminStatus OBJECT-TYPE
SYNTAX INTEGER {
up(1),
-- ready to pass packets
down(2),
testing(3) -- in some test mode
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The desired state of the interface. The
testing(3) state indicates that no operational
packets can be passed."
::= { ifEntry 7 }

ifInErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of inbound packets that contained
errors preventing them from being deliverable to a
higher-layer protocol."
::= { ifEntry 14 }
ifInUnknownProtos OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of packets received via the interface
which were discarded because of an unknown or
unsupported protocol."
::= { ifEntry 15 }

ifOperStatus OBJECT-TYPE
SYNTAX INTEGER {
up(1),
-- ready to pass packets
down(2),
testing(3) -- in some test mode
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The current operational state of the interface.
The testing(3) state indicates that no operational
packets can be passed."
::= { ifEntry 8 }

ifOutOctets OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of octets transmitted out of the

10

interface, including framing characters."


::= { ifEntry 16 }

-- solely for compatibility with MIB-I nodes, and will most


-- likely be excluded from MIB-III nodes. From MIB-II and
-- onwards, each network protocol group contains its own
-- address translation tables.

ifOutUcastPkts OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of packets that higher-level
protocols requested be transmitted to a
subnetwork-unicast address, including those that
were discarded or not sent."
::= { ifEntry 17 }

-- The Address Translation group contains one table which is


-- the union across all interfaces of the translation tables
-- for converting a NetworkAddress (e.g., an IP address) into
-- a subnetwork-specific address. For lack of a better term,
-- this document refers to such a subnetwork-specific address
-- as a `physical' address.
-- Examples of such translation tables are: for broadcast
-- media where ARP is in use, the translation table is
-- equivalent to the ARP cache; or, on an X.25 network where
-- non-algorithmic translation to X.121 addresses is
-- required, the translation table contains the
-- NetworkAddress to X.121 address equivalences.

ifOutNUcastPkts OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of packets that higher-level
protocols requested be transmitted to a nonunicast (i.e., a subnetwork-broadcast or
subnetwork-multicast) address, including those
that were discarded or not sent."
::= { ifEntry 18 }

atTable OBJECT-TYPE
SYNTAX SEQUENCE OF AtEntry
ACCESS not-accessible
STATUS deprecated
DESCRIPTION
"The Address Translation tables contain the
NetworkAddress to `physical' address equivalences.
Some interfaces do not use translation tables for
determining address equivalences (e.g., DDN-X.25
has an algorithmic method); if all interfaces are
of this type, then the Address Translation table
is empty, i.e., has zero entries."
::= { at 1 }

ifOutDiscards OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
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."
::= { ifEntry 19 }

atEntry OBJECT-TYPE
SYNTAX AtEntry
ACCESS not-accessible
STATUS deprecated
DESCRIPTION
"Each entry contains one NetworkAddress to
`physical' address equivalence."
INDEX { atIfIndex,
atNetAddress }
::= { atTable 1 }

ifOutErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of outbound packets that could not be
transmitted because of errors."
::= { ifEntry 20 }

AtEntry ::=
SEQUENCE {
atIfIndex
INTEGER,
atPhysAddress
PhysAddress,
atNetAddress
NetworkAddress
}

ifOutQLen OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The length of the output packet queue (in
packets)."
::= { ifEntry 21 }

atIfIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS deprecated
DESCRIPTION
"The interface on which this entry's equivalence
is effective. The interface identified by a
particular value of this index is the same
interface as identified by the same value of
ifIndex."
::= { atEntry 1 }

ifSpecific OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A reference to MIB definitions specific to the
particular media being used to realize the
interface. For example, if the interface is
realized by an ethernet, then the value of this
object refers to a document defining objects
specific to ethernet. If this information is not
present, its value should be set to the OBJECT
IDENTIFIER { 0 0 }, which is a syntatically valid
object identifier, and any conformant
implementation of ASN.1 and BER must be able to
generate and recognize this value."
::= { ifEntry 22 }

atPhysAddress OBJECT-TYPE
SYNTAX PhysAddress
ACCESS read-write
STATUS deprecated
DESCRIPTION
"The media-dependent `physical' address.
Setting this object to a null string (one of zero
length) has the effect of invaliding the
corresponding entry in the atTable object. That
is, it effectively dissasociates the interface
identified with said entry from the mapping
identified with said entry. It is an
implementation-specific matter as to whether the

-- the Address Translation group


-- Implementation of the Address Translation group is
-- mandatory for all systems. Note however that this group
-- is deprecated by MIB-II. That is, it is being included

11

12

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 atPhysAddress object."
::= { atEntry 2 }

ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of input datagrams discarded because
the IP address in their IP header's destination
field was not a valid address to be received at
this entity. This count includes invalid
addresses (e.g., 0.0.0.0) and addresses of
unsupported Classes (e.g., Class E). For entities
which are not IP Gateways and therefore do not
forward datagrams, this counter includes datagrams
discarded because the destination address was not
a local address."
::= { ip 5 }

atNetAddress OBJECT-TYPE
SYNTAX NetworkAddress
ACCESS read-write
STATUS deprecated
DESCRIPTION
"The NetworkAddress (e.g., the IP address)
corresponding to the media-dependent `physical'
address."
::= { atEntry 3 }

ipForwDatagrams OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of input datagrams for which this
entity was not their final IP destination, as a
result of which an attempt was made to find a
route to forward them to that final destination.
In entities which do not act as IP Gateways, this
counter will include only those packets which were
Source-Routed via this entity, and the SourceRoute option processing was successful."
::= { ip 6 }

-- the IP group
-- Implementation of the IP group is mandatory for all
-- systems.
ipForwarding OBJECT-TYPE
SYNTAX INTEGER {
forwarding(1), -- acting as a gateway
not-forwarding(2) -- NOT acting as a gateway
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The indication of whether this entity is acting
as an IP gateway in respect to the forwarding of
datagrams received by, but not addressed to, this
entity. IP gateways forward datagrams. IP hosts
do not (except those source-routed via the host).

ipInUnknownProtos OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of locally-addressed datagrams
received successfully but discarded because of an
unknown or unsupported protocol."
::= { ip 7 }

Note that for some managed nodes, this object may


take on only a subset of the values possible.
Accordingly, it is appropriate for an agent to
return a `badValue' response if a management
station attempts to change this object to an
inappropriate value."
::= { ip 1 }

ipInDiscards OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of input IP datagrams for which no
problems were encountered to prevent their
continued processing, but which were discarded
(e.g., for lack of buffer space). Note that this
counter does not include any datagrams discarded
while awaiting re-assembly."
::= { ip 8 }

ipDefaultTTL OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The default value inserted into the Time-To-Live
field of the IP header of datagrams originated at
this entity, whenever a TTL value is not supplied
by the transport layer protocol."
::= { ip 2 }

ipInDelivers OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of input datagrams successfully
delivered to IP user-protocols (including ICMP)."
::= { ip 9 }

ipInReceives OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of input datagrams received from
interfaces, including those received in error."
::= { ip 3 }

ipOutRequests OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of IP datagrams which local IP
user-protocols (including ICMP) supplied to IP in
requests for transmission. Note that this counter
does not include any datagrams counted in
ipForwDatagrams."
::= { ip 10 }

ipInHdrErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of input datagrams discarded due to
errors in their IP headers, including bad
checksums, version number mismatch, other format
errors, time-to-live exceeded, errors discovered
in processing their IP options, etc."
::= { ip 4 }

ipOutDiscards OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of output IP datagrams for which no

ipInAddrErrors OBJECT-TYPE
SYNTAX Counter

13

14

problem was encountered to prevent their


transmission to their destination, but which were
discarded (e.g., for lack of buffer space). Note
that this counter would include datagrams counted
in ipForwDatagrams if any such packets met this
(discretionary) discard criterion."
::= { ip 11 }

this entity but could not be, e.g., because their


Don't Fragment flag was set."
::= { ip 18 }
ipFragCreates OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of IP datagram fragments that have
been generated as a result of fragmentation at
this entity."
::= { ip 19 }
-- the IP address table

ipOutNoRoutes OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of IP datagrams discarded because no
route could be found to transmit them to their
destination. Note that this counter includes any
packets counted in ipForwDatagrams which meet this
`no-route' criterion. Note that this includes any
datagarms which a host cannot route because all of
its default gateways are down."
::= { ip 12 }

-- The IP address table contains this entity's IP addressing


-- information.
ipAddrTable OBJECT-TYPE
SYNTAX SEQUENCE OF IpAddrEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The table of addressing information relevant to
this entity's IP addresses."
::= { ip 20 }

ipReasmTimeout OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The maximum number of seconds which received
fragments are held while they are awaiting
reassembly at this entity."
::= { ip 13 }

ipAddrEntry OBJECT-TYPE
SYNTAX IpAddrEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The addressing information for one of this
entity's IP addresses."
INDEX { ipAdEntAddr }
::= { ipAddrTable 1 }

ipReasmReqds OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of IP fragments received which needed
to be reassembled at this entity."
::= { ip 14 }

IpAddrEntry ::=
SEQUENCE {
ipAdEntAddr
IpAddress,
ipAdEntIfIndex
INTEGER,
ipAdEntNetMask
IpAddress,
ipAdEntBcastAddr
INTEGER,
ipAdEntReasmMaxSize
INTEGER (0..65535)
}

ipReasmOKs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of IP datagrams successfully reassembled."
::= { ip 15 }
ipReasmFails OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of failures detected by the IP reassembly algorithm (for whatever reason: timed
out, errors, etc). Note that this is not
necessarily a count of discarded IP fragments
since some algorithms (notably the algorithm in
RFC 815) can lose track of the number of fragments
by combining them as they are received."
::= { ip 16 }

ipAdEntAddr OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The IP address to which this entry's addressing
information pertains."
::= { ipAddrEntry 1 }
ipAdEntIfIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The index value which uniquely identifies the
interface to which this entry is applicable. The
interface identified by a particular value of this
index is the same interface as identified by the
same value of ifIndex."
::= { ipAddrEntry 2 }

ipFragOKs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of IP datagrams that have been
successfully fragmented at this entity."
::= { ip 17 }

ipAdEntNetMask OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The subnet mask associated with the IP address of
this entry. The value of the mask is an IP
address with all the network bits set to 1 and all
the hosts bits set to 0."

ipFragFails OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of IP datagrams that have been
discarded because they needed to be fragmented at

15

16

::= { ipAddrEntry 3 }

ipRouteDest OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The destination IP address of this route. An
entry with a value of 0.0.0.0 is considered a
default route. Multiple routes to a single
destination can appear in the table, but access to
such multiple entries is dependent on the tableaccess mechanisms defined by the network
management protocol in use."
::= { ipRouteEntry 1 }

ipAdEntBcastAddr OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of the least-significant bit in the IP
broadcast address used for sending datagrams on
the (logical) interface associated with the IP
address of this entry. For example, when the
Internet standard all-ones broadcast address is
used, the value will be 1. This value applies to
both the subnet and network broadcasts addresses
used by the entity on this (logical) interface."
::= { ipAddrEntry 4 }

ipRouteIfIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The index value which uniquely identifies the
local interface through which the next hop of this
route should be reached. The interface identified
by a particular value of this index is the same
interface as identified by the same value of
ifIndex."
::= { ipRouteEntry 2 }

ipAdEntReasmMaxSize OBJECT-TYPE
SYNTAX INTEGER (0..65535)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The size of the largest IP datagram which this
entity can re-assemble from incoming IP fragmented
datagrams received on this interface."
::= { ipAddrEntry 5 }
-- the IP routing table

ipRouteMetric1 OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The primary routing metric for this route. The
semantics of this metric are determined by the
routing-protocol specified in the route's
ipRouteProto value. If this metric is not used,
its value should be set to -1."
::= { ipRouteEntry 3 }

-- The IP routing table contains an entry for each route


-- presently known to this entity.
ipRouteTable OBJECT-TYPE
SYNTAX SEQUENCE OF IpRouteEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"This entity's IP Routing table."
::= { ip 21 }
ipRouteEntry OBJECT-TYPE
SYNTAX IpRouteEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A route to a particular destination."
INDEX { ipRouteDest }
::= { ipRouteTable 1 }

ipRouteMetric2 OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"An alternate routing metric for this route. The
semantics of this metric are determined by the
routing-protocol specified in the route's
ipRouteProto value. If this metric is not used,
its value should be set to -1."
::= { ipRouteEntry 4 }

IpRouteEntry ::=
SEQUENCE {
ipRouteDest
IpAddress,
ipRouteIfIndex
INTEGER,
ipRouteMetric1
INTEGER,
ipRouteMetric2
INTEGER,
ipRouteMetric3
INTEGER,
ipRouteMetric4
INTEGER,
ipRouteNextHop
IpAddress,
ipRouteType
INTEGER,
ipRouteProto
INTEGER,
ipRouteAge
INTEGER,
ipRouteMask
IpAddress,
ipRouteMetric5
INTEGER,
ipRouteInfo
OBJECT IDENTIFIER
}

ipRouteMetric3 OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"An alternate routing metric for this route. The
semantics of this metric are determined by the
routing-protocol specified in the route's
ipRouteProto value. If this metric is not used,
its value should be set to -1."
::= { ipRouteEntry 5 }
ipRouteMetric4 OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"An alternate routing metric for this route. The
semantics of this metric are determined by the
routing-protocol specified in the route's
ipRouteProto value. If this metric is not used,
its value should be set to -1."
::= { ipRouteEntry 6 }
ipRouteNextHop OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION

17

18

"The IP address of the next hop of this route.


(In the case of a route bound to an interface
which is realized via a broadcast media, the value
of this field is the agent's IP address on that
interface.)"
::= { ipRouteEntry 7 }

ipRouteAge OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The number of seconds since this route was last
updated or otherwise determined to be correct.
Note that no semantics of `too old' can be implied
except through knowledge of the routing protocol
by which the route was learned."
::= { ipRouteEntry 10 }

ipRouteType OBJECT-TYPE
SYNTAX INTEGER {
other(1),
-- none of the following
invalid(2), -- an invalidated route
-- route to directly
direct(3),
-- connected (sub-)network

ipRouteMask OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Indicate the mask to be logical-ANDed with the
destination address before being compared to the
value in the ipRouteDest field. For those systems
that do not support arbitrary subnet masks, an
agent constructs the value of the ipRouteMask by
determining whether the value of the correspondent
ipRouteDest field belong to a class-A, B, or C
network, and then using one of:

-- route to a non-local
indirect(4)
-- host/network/sub-network
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The type of route. Note that the values
direct(3) and indirect(4) refer to the notion of
direct and indirect routing in the IP
architecture.

mask
network
255.0.0.0
class-A
255.255.0.0 class-B
255.255.255.0 class-C
If the value of the ipRouteDest is 0.0.0.0 (a
default route), then the mask value is also
0.0.0.0. It should be noted that all IP routing
subsystems implicitly use this mechanism."
::= { ipRouteEntry 11 }

Setting this object to the value invalid(2) has


the effect of invalidating the corresponding entry
in the ipRouteTable object. That is, it
effectively dissasociates the destination
identified with said entry from the route
identified with said entry. 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 ipRouteType object."
::= { ipRouteEntry 8 }

ipRouteMetric5 OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"An alternate routing metric for this route. The
semantics of this metric are determined by the
routing-protocol specified in the route's
ipRouteProto value. If this metric is not used,
its value should be set to -1."
::= { ipRouteEntry 12 }

ipRouteProto OBJECT-TYPE
SYNTAX INTEGER {
other(1),
-- none of the following

local(2),

-- non-protocol information,
-- e.g., manually configured
-- entries

ipRouteInfo OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A reference to MIB definitions specific to the
particular routing protocol which is responsible
for this route, as determined by the value
specified in the route's ipRouteProto value. If
this information is not present, its value should
be set to the OBJECT IDENTIFIER { 0 0 }, which is
a syntatically valid object identifier, and any
conformant implementation of ASN.1 and BER must be
able to generate and recognize this value."
::= { ipRouteEntry 13 }

-- set via a network


netmgmt(3), -- management protocol

icmp(4),

-- obtained via ICMP,


-- e.g., Redirect
-- the remaining values are
-- all gateway routing
-- protocols

egp(5),
ggp(6),
hello(7),
rip(8),
is-is(9),
es-is(10),
ciscoIgrp(11),
bbnSpfIgp(12),
ospf(13),
bgp(14)

-- the IP Address Translation table


-- The IP address translation table contain the IpAddress to
-- `physical' address equivalences. Some interfaces do not
-- use translation tables for determining address
-- equivalences (e.g., DDN-X.25 has an algorithmic method);
-- if all interfaces are of this type, then the Address
-- Translation table is empty, i.e., has zero entries.

}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The routing mechanism via which this route was
learned. Inclusion of values for gateway routing
protocols is not intended to imply that hosts
should support those protocols."
::= { ipRouteEntry 9 }

ipNetToMediaTable OBJECT-TYPE
SYNTAX SEQUENCE OF IpNetToMediaEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The IP Address Translation table used for mapping

19

20

from IP addresses to physical addresses."


::= { ip 22 }

ipNetToMediaType object."
::= { ipNetToMediaEntry 4 }

ipNetToMediaEntry OBJECT-TYPE
SYNTAX IpNetToMediaEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Each entry contains one IpAddress to `physical'
address equivalence."
INDEX { ipNetToMediaIfIndex,
ipNetToMediaNetAddress }
::= { ipNetToMediaTable 1 }

-- additional IP objects
ipRoutingDiscards OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of routing entries which were chosen
to be discarded even though they are valid. One
possible reason for discarding such an entry could
be to free-up buffer space for other routing
entries."
::= { ip 23 }

IpNetToMediaEntry ::=
SEQUENCE {
ipNetToMediaIfIndex
INTEGER,
ipNetToMediaPhysAddress
PhysAddress,
ipNetToMediaNetAddress
IpAddress,
ipNetToMediaType
INTEGER
}

-- the ICMP group


-- Implementation of the ICMP group is mandatory for all
-- systems.
icmpInMsgs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of ICMP messages which the
entity received. Note that this counter includes
all those counted by icmpInErrors."
::= { icmp 1 }

ipNetToMediaIfIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The interface on which this entry's equivalence
is effective. The interface identified by a
particular value of this index is the same
interface as identified by the same value of
ifIndex."
::= { ipNetToMediaEntry 1 }

icmpInErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP messages which the entity
received but determined as having ICMP-specific
errors (bad ICMP checksums, bad length, etc.)."
::= { icmp 2 }

ipNetToMediaPhysAddress OBJECT-TYPE
SYNTAX PhysAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The media-dependent `physical' address."
::= { ipNetToMediaEntry 2 }
ipNetToMediaNetAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IpAddress corresponding to the mediadependent `physical' address."
::= { ipNetToMediaEntry 3 }

icmpInDestUnreachs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Destination Unreachable
messages received."
::= { icmp 3 }
icmpInTimeExcds OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Time Exceeded messages
received."
::= { icmp 4 }
icmpInParmProbs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Parameter Problem messages
received."
::= { icmp 5 }

ipNetToMediaType OBJECT-TYPE
SYNTAX INTEGER {
other(1),
-- none of the following
invalid(2), -- an invalidated mapping
dynamic(3),
static(4)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The type of mapping.
Setting this object to the value invalid(2) has
the effect of invalidating the corresponding entry
in the ipNetToMediaTable. That is, it effectively
dissasociates the interface identified with said
entry from the mapping identified with said entry.
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

icmpInSrcQuenchs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Source Quench messages
received."
::= { icmp 6 }

21

22

icmpInRedirects OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Redirect messages received."
::= { icmp 7 }

such as the inability of IP to route the resultant


datagram. In some implementations there may be no
types of error which contribute to this counter's
value."
::= { icmp 15 }
icmpOutDestUnreachs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Destination Unreachable
messages sent."
::= { icmp 16 }

icmpInEchos OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Echo (request) messages
received."
::= { icmp 8 }

icmpOutTimeExcds OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Time Exceeded messages sent."
::= { icmp 17 }

icmpInEchoReps OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Echo Reply messages received."
::= { icmp 9 }

icmpOutParmProbs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Parameter Problem messages
sent."
::= { icmp 18 }

icmpInTimestamps OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Timestamp (request) messages
received."
::= { icmp 10 }

icmpOutSrcQuenchs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Source Quench messages sent."
::= { icmp 19 }

icmpInTimestampReps OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Timestamp Reply messages
received."
::= { icmp 11 }
icmpInAddrMasks OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Address Mask Request messages
received."
::= { icmp 12 }
icmpInAddrMaskReps OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Address Mask Reply messages
received."
::= { icmp 13 }

icmpOutRedirects OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Redirect messages sent. For a
host, this object will always be zero, since hosts
do not send redirects."
::= { icmp 20 }
icmpOutEchos OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Echo (request) messages sent."
::= { icmp 21 }
icmpOutEchoReps OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Echo Reply messages sent."
::= { icmp 22 }

icmpOutMsgs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of ICMP messages which this
entity attempted to send. Note that this counter
includes all those counted by icmpOutErrors."
::= { icmp 14 }

icmpOutTimestamps OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Timestamp (request) messages
sent."
::= { icmp 23 }

icmpOutErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP messages which this entity did
not send due to problems discovered within ICMP
such as a lack of buffers. This value should not
include errors discovered outside the ICMP layer

icmpOutTimestampReps OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION

23

24

"The number of ICMP Timestamp Reply messages


sent."
::= { icmp 24 }
icmpOutAddrMasks OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Address Mask Request messages
sent."
::= { icmp 25 }
icmpOutAddrMaskReps OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of ICMP Address Mask Reply messages
sent."
::= { icmp 26 }

tcpMaxConn OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The limit on the total number of TCP connections
the entity can support. In entities where the
maximum number of connections is dynamic, this
object should contain the value -1."
::= { tcp 4 }
tcpActiveOpens OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times TCP connections have made a
direct transition to the SYN-SENT state from the
CLOSED state."
::= { tcp 5 }
tcpPassiveOpens OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times TCP connections have made a
direct transition to the SYN-RCVD state from the
LISTEN state."
::= { tcp 6 }
tcpAttemptFails OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times TCP connections have made a
direct transition to the CLOSED state from either
the SYN-SENT state or the SYN-RCVD state, plus the
number of times TCP connections have made a direct
transition to the LISTEN state from the SYN-RCVD
state."
::= { tcp 7 }

-- the TCP group


-- Implementation of the TCP group is mandatory for all
-- systems that implement the TCP.
-- Note that instances of object types that represent
-- information about a particular TCP connection are
-- transient; they persist only as long as the connection
-- in question.
tcpRtoAlgorithm OBJECT-TYPE
SYNTAX INTEGER {
other(1), -- none of the following
constant(2), -- a constant rto
rsre(3), -- MIL-STD-1778, Appendix B
vanj(4)
-- Van Jacobson's algorithm [10]
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The algorithm used to determine the timeout value
used for retransmitting unacknowledged octets."
::= { tcp 1 }

tcpEstabResets OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times TCP connections have made a
direct transition to the CLOSED state from either
the ESTABLISHED state or the CLOSE-WAIT state."
::= { tcp 8 }

tcpRtoMin OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The minimum value permitted by a TCP
implementation for the retransmission timeout,
measured in milliseconds. More refined semantics
for objects of this type depend upon the algorithm
used to determine the retransmission timeout. In
particular, when the timeout algorithm is rsre(3),
an object of this type has the semantics of the
LBOUND quantity described in RFC 793."
::= { tcp 2 }

tcpCurrEstab OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of TCP connections for which the
current state is either ESTABLISHED or CLOSEWAIT."
::= { tcp 9 }
tcpInSegs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of segments received, including
those received in error. This count includes
segments received on currently established
connections."
::= { tcp 10 }

tcpRtoMax OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The maximum value permitted by a TCP
implementation for the retransmission timeout,
measured in milliseconds. More refined semantics
for objects of this type depend upon the algorithm
used to determine the retransmission timeout. In
particular, when the timeout algorithm is rsre(3),
an object of this type has the semantics of the
UBOUND quantity described in RFC 793."
::= { tcp 3 }

tcpOutSegs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of segments sent, including

25

26

those on current connections but excluding those


containing only retransmitted octets."
::= { tcp 11 }

The only value which may be set by a management


station is deleteTCB(12). Accordingly, it is
appropriate for an agent to return a `badValue'
response if a management station attempts to set
this object to any other value.

tcpRetransSegs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of segments retransmitted - that
is, the number of TCP segments transmitted
containing one or more previously transmitted
octets."
::= { tcp 12 }

If a management station sets this object to the


value deleteTCB(12), then this has the effect of
deleting the TCB (as defined in RFC 793) of the
corresponding connection on the managed node,
resulting in immediate termination of the
connection.
As an implementation-specific option, a RST
segment may be sent from the managed node to the
other TCP endpoint (note however that RST segments
are not sent reliably)."
::= { tcpConnEntry 1 }

-- the TCP Connection table


-- The TCP connection table contains information about this
-- entity's existing TCP connections.

tcpConnLocalAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The local IP address for this TCP connection. In
the case of a connection in the listen state which
is willing to accept connections for any IP
interface associated with the node, the value
0.0.0.0 is used."
::= { tcpConnEntry 2 }

tcpConnTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpConnEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing TCP connection-specific
information."
::= { tcp 13 }
tcpConnEntry OBJECT-TYPE
SYNTAX TcpConnEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Information about a particular current TCP
connection. An object of this type is transient,
in that it ceases to exist when (or soon after)
the connection makes the transition to the CLOSED
state."
INDEX { tcpConnLocalAddress,
tcpConnLocalPort,
tcpConnRemAddress,
tcpConnRemPort }
::= { tcpConnTable 1 }

tcpConnLocalPort OBJECT-TYPE
SYNTAX INTEGER (0..65535)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The local port number for this TCP connection."
::= { tcpConnEntry 3 }
tcpConnRemAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The remote IP address for this TCP connection."
::= { tcpConnEntry 4 }

TcpConnEntry ::=
SEQUENCE {
tcpConnState
INTEGER,
tcpConnLocalAddress
IpAddress,
tcpConnLocalPort
INTEGER (0..65535),
tcpConnRemAddress
IpAddress,
tcpConnRemPort
INTEGER (0..65535)
}

tcpConnRemPort OBJECT-TYPE
SYNTAX INTEGER (0..65535)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The remote port number for this TCP connection."
::= { tcpConnEntry 5 }

-- additional TCP objects


tcpInErrs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of segments received in error
(e.g., bad TCP checksums)."
::= { tcp 14 }

tcpConnState OBJECT-TYPE
SYNTAX INTEGER {
closed(1),
listen(2),
synSent(3),
synReceived(4),
established(5),
finWait1(6),
finWait2(7),
closeWait(8),
lastAck(9),
closing(10),
timeWait(11),
deleteTCB(12)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The state of this TCP connection.

tcpOutRsts OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of TCP segments sent containing the
RST flag."
::= { tcp 15 }

27

28

-- the UDP group


-- Implementation of the UDP group is mandatory for all
-- systems which implement the UDP.

the case of a UDP listener which is willing to


accept datagrams for any IP interface associated
with the node, the value 0.0.0.0 is used."
::= { udpEntry 1 }

udpInDatagrams OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of UDP datagrams delivered to
UDP users."
::= { udp 1 }

udpLocalPort OBJECT-TYPE
SYNTAX INTEGER (0..65535)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The local port number for this UDP listener."
::= { udpEntry 2 }

udpNoPorts OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of received UDP datagrams for
which there was no application at the destination
port."
::= { udp 2 }

-- the EGP group


-- Implementation of the EGP group is mandatory for all
-- systems which implement the EGP.
egpInMsgs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of EGP messages received without
error."
::= { egp 1 }

udpInErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of received UDP datagrams that could
not be delivered for reasons other than the lack
of an application at the destination port."
::= { udp 3 }
udpOutDatagrams OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of UDP datagrams sent from this
entity."
::= { udp 4 }

egpInErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of EGP messages received that proved
to be in error."
::= { egp 2 }
egpOutMsgs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of locally generated EGP
messages."
::= { egp 3 }

-- the UDP Listener table


-- The UDP listener table contains information about this
-- entity's UDP end-points on which a local application is
-- currently accepting datagrams.

egpOutErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of locally generated EGP messages not
sent due to resource limitations within an EGP
entity."
::= { egp 4 }

udpTable OBJECT-TYPE
SYNTAX SEQUENCE OF UdpEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing UDP listener information."
::= { udp 5 }
udpEntry OBJECT-TYPE
SYNTAX UdpEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Information about a particular current UDP
listener."
INDEX { udpLocalAddress, udpLocalPort }
::= { udpTable 1 }

-- the EGP Neighbor table


-- The EGP neighbor table contains information about this
-- entity's EGP neighbors.
egpNeighTable OBJECT-TYPE
SYNTAX SEQUENCE OF EgpNeighEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The EGP neighbor table."
::= { egp 5 }

UdpEntry ::=
SEQUENCE {
udpLocalAddress
IpAddress,
udpLocalPort
INTEGER (0..65535)
}

egpNeighEntry OBJECT-TYPE
SYNTAX EgpNeighEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Information about this entity's relationship with
a particular EGP neighbor."
INDEX { egpNeighAddr }
::= { egpNeighTable 1 }

udpLocalAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The local IP address for this UDP listener. In

29

30

EgpNeighEntry ::=
SEQUENCE {
egpNeighState
INTEGER,
egpNeighAddr
IpAddress,
egpNeighAs
INTEGER,
egpNeighInMsgs
Counter,
egpNeighInErrs
Counter,
egpNeighOutMsgs
Counter,
egpNeighOutErrs
Counter,
egpNeighInErrMsgs
Counter,
egpNeighOutErrMsgs
Counter,
egpNeighStateUps
Counter,
egpNeighStateDowns
Counter,
egpNeighIntervalHello
INTEGER,
egpNeighIntervalPoll
INTEGER,
egpNeighMode
INTEGER,
egpNeighEventTrigger
INTEGER
}

egpNeighInErrs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of EGP messages received from this EGP
peer that proved to be in error (e.g., bad EGP
checksum)."
::= { egpNeighEntry 5 }
egpNeighOutMsgs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of locally generated EGP messages to
this EGP peer."
::= { egpNeighEntry 6 }
egpNeighOutErrs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of locally generated EGP messages not
sent to this EGP peer due to resource limitations
within an EGP entity."
::= { egpNeighEntry 7 }
egpNeighInErrMsgs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of EGP-defined error messages received
from this EGP peer."
::= { egpNeighEntry 8 }

egpNeighState OBJECT-TYPE
SYNTAX INTEGER {
idle(1),
acquisition(2),
down(3),
up(4),
cease(5)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The EGP state of the local system with respect to
this entry's EGP neighbor. Each EGP state is
represented by a value that is one greater than
the numerical value associated with said state in
RFC 904."
::= { egpNeighEntry 1 }

egpNeighOutErrMsgs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of EGP-defined error messages sent to
this EGP peer."
::= { egpNeighEntry 9 }
egpNeighStateUps OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of EGP state transitions to the UP
state with this EGP peer."
::= { egpNeighEntry 10 }

egpNeighAddr OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The IP address of this entry's EGP neighbor."
::= { egpNeighEntry 2 }

egpNeighStateDowns OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of EGP state transitions from the UP
state to any other state with this EGP peer."
::= { egpNeighEntry 11 }

egpNeighAs OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The autonomous system of this EGP peer. Zero
should be specified if the autonomous system
number of the neighbor is not yet known."
::= { egpNeighEntry 3 }

egpNeighIntervalHello OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The interval between EGP Hello command
retransmissions (in hundredths of a second). This
represents the t1 timer as defined in RFC 904."
::= { egpNeighEntry 12 }

egpNeighInMsgs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of EGP messages received without error
from this EGP peer."
::= { egpNeighEntry 4 }

egpNeighIntervalPoll OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory

31

32

DESCRIPTION
"The interval between EGP poll command
retransmissions (in hundredths of a second). This
represents the t3 timer as defined in RFC 904."
::= { egpNeighEntry 13 }

-- those functions specific to either a management agent or


-- a management station. In particular, it should be
-- observed that the objects below refer to an SNMP entity,
-- and there may be several SNMP entities residing on a
-- managed node (e.g., if the node is hosting acting as
-- a management station).

egpNeighMode OBJECT-TYPE
SYNTAX INTEGER { active(1), passive(2) }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The polling mode of this EGP entity, either
passive or active."
::= { egpNeighEntry 14 }

snmpInPkts OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of Messages delivered to the
SNMP entity from the transport service."
::= { snmp 1 }

egpNeighEventTrigger OBJECT-TYPE
SYNTAX INTEGER { start(1), stop(2) }
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A control variable used to trigger operatorinitiated Start and Stop events. When read, this
variable always returns the most recent value that
egpNeighEventTrigger was set to. If it has not
been set since the last initialization of the
network management subsystem on the node, it
returns a value of `stop'.

snmpOutPkts OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Messages which were
passed from the SNMP protocol entity to the
transport service."
::= { snmp 2 }
snmpInBadVersions OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Messages which were
delivered to the SNMP protocol entity and were for
an unsupported SNMP version."
::= { snmp 3 }

When set, this variable causes a Start or Stop


event on the specified neighbor, as specified on
pages 8-10 of RFC 904. Briefly, a Start event
causes an Idle peer to begin neighbor acquisition
and a non-Idle peer to reinitiate neighbor
acquisition. A stop event causes a non-Idle peer
to return to the Idle state until a Start event
occurs, either via egpNeighEventTrigger or
otherwise."
::= { egpNeighEntry 15 }

snmpInBadCommunityNames OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Messages delivered to
the SNMP protocol entity which used a SNMP
community name not known to said entity."
::= { snmp 4 }

-- additional EGP objects


egpAs OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The autonomous system number of this EGP entity."
::= { egp 6 }
-- the Transmission group

snmpInBadCommunityUses OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Messages delivered to
the SNMP protocol entity which represented an SNMP
operation which was not allowed by the SNMP
community named in the Message."
::= { snmp 5 }

-- Based on the transmission media underlying each interface


-- on a system, the corresponding portion of the Transmission
-- group is mandatory for that system.
-- When Internet-standard definitions for managing
-- transmission media are defined, the transmission group is
-- used to provide a prefix for the names of those objects.
-- Typically, such definitions reside in the experimental
-- portion of the MIB until they are "proven", then as a
-- part of the Internet standardization process, the
-- definitions are accordingly elevated and a new object
-- identifier, under the transmission group is defined. By
-- convention, the name assigned is:
--- type OBJECT IDENTIFIER ::= { transmission number }
--- where "type" is the symbolic value used for the media in
-- the ifType column of the ifTable object, and "number" is
-- the actual integer value corresponding to the symbol.

-- the SNMP group


-- Implementation of the SNMP group is mandatory for all
-- systems which support an SNMP protocol entity. Some of
-- the objects defined below will be zero-valued in those
-- SNMP implementations that are optimized to support only

33

snmpInASNParseErrs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of ASN.1 or BER errors
encountered by the SNMP protocol entity when
decoding received SNMP Messages."
::= { snmp 6 }
-- { snmp 7 } is not used
snmpInTooBigs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP PDUs which were
delivered to the SNMP protocol entity and for
which the value of the error-status field is
`tooBig'."
::= { snmp 8 }

34

snmpInNoSuchNames OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP PDUs which were
delivered to the SNMP protocol entity and for
which the value of the error-status field is
`noSuchName'."
::= { snmp 9 }

snmpInGetNexts OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Get-Next PDUs which have
been accepted and processed by the SNMP protocol
entity."
::= { snmp 16 }

snmpInBadValues OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP PDUs which were
delivered to the SNMP protocol entity and for
which the value of the error-status field is
`badValue'."
::= { snmp 10 }

snmpInSetRequests OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Set-Request PDUs which
have been accepted and processed by the SNMP
protocol entity."
::= { snmp 17 }

snmpInReadOnlys OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number valid SNMP PDUs which were
delivered to the SNMP protocol entity and for
which the value of the error-status field is
`readOnly'. It should be noted that it is a
protocol error to generate an SNMP PDU which
contains the value `readOnly' in the error-status
field, as such this object is provided as a means
of detecting incorrect implementations of the
SNMP."
::= { snmp 11 }

snmpInGetResponses OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Get-Response PDUs which
have been accepted and processed by the SNMP
protocol entity."
::= { snmp 18 }
snmpInTraps OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Trap PDUs which have
been accepted and processed by the SNMP protocol
entity."
::= { snmp 19 }

snmpInGenErrs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP PDUs which were
delivered to the SNMP protocol entity and for
which the value of the error-status field is
`genErr'."
::= { snmp 12 }

snmpOutTooBigs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP PDUs which were
generated by the SNMP protocol entity and for
which the value of the error-status field is
`tooBig.'"
::= { snmp 20 }

snmpInTotalReqVars OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of MIB objects which have been
retrieved successfully by the SNMP protocol entity
as the result of receiving valid SNMP Get-Request
and Get-Next PDUs."
::= { snmp 13 }

snmpOutNoSuchNames OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP PDUs which were
generated by the SNMP protocol entity and for
which the value of the error-status is
`noSuchName'."
::= { snmp 21 }

snmpInTotalSetVars OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of MIB objects which have been
altered successfully by the SNMP protocol entity
as the result of receiving valid SNMP Set-Request
PDUs."
::= { snmp 14 }

snmpOutBadValues OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP PDUs which were
generated by the SNMP protocol entity and for
which the value of the error-status field is
`badValue'."
::= { snmp 22 }

snmpInGetRequests OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Get-Request PDUs which
have been accepted and processed by the SNMP
protocol entity."
::= { snmp 15 }

-- { snmp 23 } is not used

35

36

snmpOutGenErrs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP PDUs which were
generated by the SNMP protocol entity and for
which the value of the error-status field is
`genErr'."
::= { snmp 24 }

3. Host-Resources MIB
HOST-RESOURCES-MIB DEFINITIONS ::= BEGIN
IMPORTS
OBJECT-TYPE
FROM RFC-1212
DisplayString, mib-2 FROM RFC1213-MIB
TimeTicks,
Counter, Gauge
FROM RFC1155-SMI;

snmpOutGetRequests OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Get-Request PDUs which
have been generated by the SNMP protocol entity."
::= { snmp 25 }

host

snmpOutGetNexts OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Get-Next PDUs which have
been generated by the SNMP protocol entity."
::= { snmp 26 }
snmpOutSetRequests OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Set-Request PDUs which
have been generated by the SNMP protocol entity."
::= { snmp 27 }

OBJECT IDENTIFIER ::= { mib-2 25 }

hrSystem
OBJECT IDENTIFIER ::= { host 1 }
hrStorage
OBJECT IDENTIFIER ::= { host 2 }
hrDevice
OBJECT IDENTIFIER ::= { host 3 }
hrSWRun
OBJECT IDENTIFIER ::= { host 4 }
hrSWRunPerf OBJECT IDENTIFIER ::= { host 5 }
hrSWInstalled OBJECT IDENTIFIER ::= { host 6 }
-- textual conventions
-- a truth value
Boolean ::= INTEGER { true(1), false(2) }
-- memory size, expressed in units of 1024bytes
KBytes ::= INTEGER (0..2147483647)
-- This textual convention is intended to identify the manufacturer,
-- model, and version of a specific hardware or software product.
-- It is suggested that these OBJECT IDENTIFIERs are allocated such
-- that all products from a particular manufacturer are registered
-- under a subtree distinct to that manufacturer. In addition, all

snmpOutGetResponses OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Get-Response PDUs which
have been generated by the SNMP protocol entity."
::= { snmp 28 }

-- versions of a product should be registered under a subtree


-- distinct to that product. With this strategy, a management
-- station may uniquely determine the manufacturer and/or model of a
-- product whose productID is unknown to the management station.
-- Objects of this type may be useful for inventory purposes or for
-- automatically detecting incompatibilities or version mismatches
-- between various hardware and software components on a system.
ProductID ::= OBJECT IDENTIFIER
-- unknownProduct will be used for any unknown ProductID
-- unknownProduct OBJECT IDENTIFIER ::= { 0 0 }

snmpOutTraps OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of SNMP Trap PDUs which have
been generated by the SNMP protocol entity."
::= { snmp 29 }

-- For example, the product ID for the ACME 4860 66MHz clock doubled
-- processor might be:
-- enterprises.acme.acmeProcessors.a4860DX2.MHz66
-- A software product might be registered as:
-- enterprises.acme.acmeOperatingSystems.acmeDOS.six(6).one(1)

snmpEnableAuthenTraps OBJECT-TYPE
SYNTAX INTEGER { enabled(1), disabled(2) }
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Indicates whether the SNMP agent process is
permitted to generate authentication-failure
traps. The value of this object overrides any
configuration information; as such, it provides a
means whereby all authentication-failure traps may
be disabled.

DateAndTime ::= OCTET STRING (SIZE (8 | 11))


-A date-time specification for the local time of day.
-This data type is intended to provide a consistent
-method of reporting date information.
--field octets contents
range
-_____ ______ ________
_____
-1 1-2 year
0..65536
-(in network byte order)
-2
3 month
1..12
-3
4 day
1..31
-4
5 hour
0..23
-5
6 minutes
0..59
-6
7 seconds
0..60
-(use 60 for leap-second)
-7
8 deci-seconds
0..9
-8
9 direction from UTC
"+" / "-"
-(in ascii notation)
-9 10 hours from UTC
0..11
-10 11 minutes from UTC
0..59
--Note that if only local time is known, then
-timezone information (fields 8-10) is not present.

Note that it is strongly recommended that this


object be stored in non-volatile memory so that it
remains constant between re-initializations of the
network management system."
::= { snmp 30 }
END

37

38

InternationalDisplayString ::= OCTET STRING


-- This data type is used to model textual information in some
-- character set. A network management station should use a local
-- algorithm to determine which character set is in use and how it
-- should be displayed. Note that this character set may be encoded
-- with more than one octet per symbol, but will most often be NVT

-- ASCII.
-- The Host Resources System Group
--- Implementation of this group is mandatory for all host systems.
hrSystemUptime OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The amount of time since this host was last
initialized. Note that this is different from
sysUpTime in MIB-II [3] because sysUpTime is the
uptime of the network management portion of the
system."
::= { hrSystem 1 }

hrSystemMaxProcesses OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The maximum number of process contexts this system
can support. If there is no fixed maximum, the
value should be zero. On systems that have a fixed
maximum, this object can help diagnose failures
that occur when this maximum is reached."
::= { hrSystem 7 }
-- The Host Resources Storage Group
--- Implementation of this group is mandatory for all host systems.
-- Registration for some storage types, for use with hrStorageType
hrStorageTypes
OBJECT IDENTIFIER ::= { hrStorage 1 }
hrStorageOther
OBJECT IDENTIFIER ::= { hrStorageTypes 1 }
hrStorageRam
OBJECT IDENTIFIER ::= { hrStorageTypes 2 }
-- hrStorageVirtualMemory is temporary storage of swapped
-- or paged memory
hrStorageVirtualMemory OBJECT IDENTIFIER ::= { hrStorageTypes 3 }
hrStorageFixedDisk
OBJECT IDENTIFIER ::= { hrStorageTypes 4 }
hrStorageRemovableDisk OBJECT IDENTIFIER ::= { hrStorageTypes 5 }
hrStorageFloppyDisk OBJECT IDENTIFIER ::= { hrStorageTypes 6 }

hrSystemDate OBJECT-TYPE
SYNTAX DateAndTime
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The host's notion of the local date and time of
day."
::= { hrSystem 2 }

hrStorageCompactDisc OBJECT IDENTIFIER ::= { hrStorageTypes 7 }


hrStorageRamDisk
OBJECT IDENTIFIER ::= { hrStorageTypes 8 }
hrMemorySize OBJECT-TYPE
SYNTAX KBytes
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The amount of physical main memory contained by
the host."
::= { hrStorage 2 }

hrSystemInitialLoadDevice OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The index of the hrDeviceEntry for the device from
which this host is configured to load its initial
operating system configuration."
::= { hrSystem 3 }

hrStorageTable OBJECT-TYPE
SYNTAX SEQUENCE OF HrStorageEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The (conceptual) table of logical storage areas on
the host.

hrSystemInitialLoadParameters OBJECT-TYPE
SYNTAX InternationalDisplayString (SIZE (0..128))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This object contains the parameters (e.g. a
pathname and parameter) supplied to the load device
when requesting the initial operating system
configuration from that device."
::= { hrSystem 4 }

An entry shall be placed in the storage table for


each logical area of storage that is allocated and
has fixed resource limits. The amount of storage
represented in an entity is the amount actually
usable by the requesting entity, and excludes loss
due to formatting or file system reference
information.
These entries are associated with logical storage
areas, as might be seen by an application, rather
than physical storage entities which are typically
seen by an operating system. Storage such as tapes
and floppies without file systems on them are
typically not allocated in chunks by the operating
system to requesting applications, and therefore
shouldn't appear in this table. Examples of valid
storage for this table include disk partitions,
file systems, ram (for some architectures this is
further segmented into regular memory, extended
memory, and so on), backing store for virtual
memory (`swap space').

hrSystemNumUsers OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of user sessions for which this host is
storing state information. A session is a
collection of processes requiring a single act of
user authentication and possibly subject to
collective job control."
::= { hrSystem 5 }

This table is intended to be a useful diagnostic


for `out of memory' and `out of buffers' types of
failures. In addition, it can be a useful
performance monitoring tool for tracking memory,
disk, or buffer usage."

hrSystemProcesses OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of process contexts currently loaded or
running on this system."
::= { hrSystem 6 }

::= { hrStorage 3 }
hrStorageEntry OBJECT-TYPE
SYNTAX HrStorageEntry

39

40

ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A (conceptual) entry for one logical storage area
on the host. As an example, an instance of the
hrStorageType object might be named
hrStorageType.3"
INDEX { hrStorageIndex }
::= { hrStorageTable 1 }

SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of requests for storage represented by
this entry that could not be honored due to not
enough storage. It should be noted that as this
object has a SYNTAX of Counter, that it does not
have a defined initial value. However, it is
recommended that this object be initialized to
zero."
::= { hrStorageEntry 7 }

HrStorageEntry ::= SEQUENCE {


hrStorageIndex
INTEGER,
hrStorageType
OBJECT IDENTIFIER,
hrStorageDescr
DisplayString,
hrStorageAllocationUnits INTEGER,
hrStorageSize
INTEGER,
hrStorageUsed
INTEGER,
hrStorageAllocationFailures Counter
}

-- The Host Resources Device Group


--- Implementation of this group is mandatory for all host systems.
--- The device group is useful for identifying and diagnosing the
-- devices on a system. The hrDeviceTable contains common
-- information for any type of device. In addition, some devices
-- have device-specific tables for more detailed information. More
-- such tables may be defined in the future for other device types.

hrStorageIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique value for each logical storage area
contained by the host."
::= { hrStorageEntry 1 }

-- Registration for some device types, for use with hrDeviceType


hrDeviceTypes
OBJECT IDENTIFIER ::= { hrDevice 1 }
hrDeviceOther
OBJECT IDENTIFIER ::= { hrDeviceTypes 1 }
hrDeviceUnknown
OBJECT IDENTIFIER ::= { hrDeviceTypes 2 }
hrDeviceProcessor
OBJECT IDENTIFIER ::= { hrDeviceTypes 3 }
hrDeviceNetwork
OBJECT IDENTIFIER ::= { hrDeviceTypes 4 }
hrDevicePrinter
OBJECT IDENTIFIER ::= { hrDeviceTypes 5 }
hrDeviceDiskStorage
OBJECT IDENTIFIER ::= { hrDeviceTypes 6 }
hrDeviceVideo
OBJECT IDENTIFIER ::= { hrDeviceTypes 10 }
hrDeviceAudio
OBJECT IDENTIFIER ::= { hrDeviceTypes 11 }
hrDeviceCoprocessor
OBJECT IDENTIFIER ::= { hrDeviceTypes 12 }
hrDeviceKeyboard
OBJECT IDENTIFIER ::= { hrDeviceTypes 13 }
hrDeviceModem
OBJECT IDENTIFIER ::= { hrDeviceTypes 14 }
hrDeviceParallelPort
OBJECT IDENTIFIER ::= { hrDeviceTypes 15 }
hrDevicePointing
OBJECT IDENTIFIER ::= { hrDeviceTypes 16 }
hrDeviceSerialPort
OBJECT IDENTIFIER ::= { hrDeviceTypes 17 }
hrDeviceTape
OBJECT IDENTIFIER ::= { hrDeviceTypes 18 }
hrDeviceClock
OBJECT IDENTIFIER ::= { hrDeviceTypes 19 }
hrDeviceVolatileMemory OBJECT IDENTIFIER ::= { hrDeviceTypes 20 }
hrDeviceNonVolatileMemory OBJECT IDENTIFIER ::= { hrDeviceTypes 21 }

hrStorageType OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The type of storage represented by this entry."
::= { hrStorageEntry 2 }
hrStorageDescr OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A description of the type and instance of the
storage described by this entry."

::= { hrStorageEntry 3 }

hrDeviceTable OBJECT-TYPE
SYNTAX SEQUENCE OF HrDeviceEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The (conceptual) table of devices contained by the
host."
::= { hrDevice 2 }

hrStorageAllocationUnits OBJECT-TYPE
SYNTAX
INTEGER (1..2147483647)
ACCESS read-only
STATUS
mandatory
DESCRIPTION
"The size, in bytes, of the data objects allocated
from this pool. If this entry is monitoring
sectors, blocks, buffers, or packets, for example,
this number will commonly be greater than one.
Otherwise this number will typically be one."
::= { hrStorageEntry 4 }

hrDeviceEntry OBJECT-TYPE
SYNTAX HrDeviceEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A (conceptual) entry for one device contained by

hrStorageSize OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The size of the storage represented by this entry,
in units of hrStorageAllocationUnits."
::= { hrStorageEntry 5 }

the host. As an example, an instance of the


hrDeviceType object might be named hrDeviceType.3"
INDEX { hrDeviceIndex }
::= { hrDeviceTable 1 }
HrDeviceEntry ::= SEQUENCE {
hrDeviceIndex
INTEGER,
hrDeviceType
OBJECT IDENTIFIER,
hrDeviceDescr
DisplayString,
hrDeviceID
ProductID,
hrDeviceStatus
INTEGER,
hrDeviceErrors
Counter
}

hrStorageUsed OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The amount of the storage represented by this
entry that is allocated, in units of
hrStorageAllocationUnits."
::= { hrStorageEntry 6 }

hrDeviceIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS read-only

hrStorageAllocationFailures OBJECT-TYPE

41

42

STATUS mandatory
DESCRIPTION
"A unique value for each device contained by the
host. The value for each device must remain
constant at least from one re-initialization of the
agent to the next re-initialization."
::= { hrDeviceEntry 1 }

hrDeviceErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of errors detected on this device. It
should be noted that as this object has a SYNTAX
of Counter, that it does not have a defined
initial value. However, it is recommended that
this object be initialized to zero."
::= { hrDeviceEntry 6 }

hrDeviceType OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An indication of the type of device.

hrProcessorTable OBJECT-TYPE
SYNTAX SEQUENCE OF HrProcessorEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The (conceptual) table of processors contained by
the host.

If this value is `hrDeviceProcessor { hrDeviceTypes


3 }' then an entry exists in the hrProcessorTable
which corresponds to this device.
If this value is `hrDeviceNetwork { hrDeviceTypes 4
}', then an entry exists in the hrNetworkTable
which corresponds to this device.

Note that this table is potentially sparse: a


(conceptual) entry exists only if the correspondent
value of the hrDeviceType object is
`hrDeviceProcessor'."
::= { hrDevice 3 }

If this value is `hrDevicePrinter { hrDeviceTypes 5


}', then an entry exists in the hrPrinterTable
which corresponds to this device.
If this value is `hrDeviceDiskStorage {
hrDeviceTypes 6 }', then an entry exists in the
hrDiskStorageTable which corresponds to this
device."
::= { hrDeviceEntry 2 }

hrProcessorEntry OBJECT-TYPE
SYNTAX HrProcessorEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A (conceptual) entry for one processor contained
by the host. The hrDeviceIndex in the index
represents the entry in the hrDeviceTable that
corresponds to the hrProcessorEntry.

hrDeviceDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..64))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of this device, including
the device's manufacturer and revision, and
optionally, its serial number."
::= { hrDeviceEntry 3 }

As an example of how objects in this table are


named, an instance of the hrProcessorFrwID object
might be named hrProcessorFrwID.3"
INDEX { hrDeviceIndex }
::= { hrProcessorTable 1 }

hrDeviceID OBJECT-TYPE
SYNTAX ProductID
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The product ID for this device."
::= { hrDeviceEntry 4 }

HrProcessorEntry ::= SEQUENCE {


hrProcessorFrwID
ProductID,
hrProcessorLoad
INTEGER
}
hrProcessorFrwID OBJECT-TYPE
SYNTAX ProductID
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The product ID of the firmware associated with the
processor."
::= { hrProcessorEntry 1 }

hrDeviceStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
running(2),
warning(3),
testing(4),
down(5)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The current operational state of the device
described by this row of the table. A value
unknown(1) indicates that the current state of the
device is unknown. running(2) indicates that the
device is up and running and that no unusual error
conditions are known. The warning(3) state
indicates that agent has been informed of an
unusual error condition by the operational software
(e.g., a disk device driver) but that the device is
still 'operational'. An example would be high
number of soft errors on a disk. A value of
testing(4), indicates that the device is not
available for use because it is in the testing
state. The state of down(5) is used only when the
agent has been informed that the device is not
available for any use."
::= { hrDeviceEntry 5 }

hrProcessorLoad OBJECT-TYPE
SYNTAX INTEGER (0..100)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The average, over the last minute, of the
percentage of time that this processor was not
idle."
::= { hrProcessorEntry 2 }
hrNetworkTable OBJECT-TYPE
SYNTAX SEQUENCE OF HrNetworkEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The (conceptual) table of network devices
contained by the host.
Note that this table is potentially sparse: a
(conceptual) entry exists only if the correspondent
value of the hrDeviceType object is
`hrDeviceNetwork'."
::= { hrDevice 4 }

43

44

the corresponding hrDeviceStatus should be


running(2) or warning(3). When in the unknown
state, the corresponding hrDeviceStatus should be
unknown(1)."
::= { hrPrinterEntry 1 }

hrNetworkEntry OBJECT-TYPE
SYNTAX HrNetworkEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A (conceptual) entry for one network device
contained by the host. The hrDeviceIndex in the
index represents the entry in the hrDeviceTable
that corresponds to the hrNetworkEntry.

hrPrinterDetectedErrorState OBJECT-TYPE
SYNTAX OCTET STRING
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object represents any error conditions
detected by the printer. The error conditions are
encoded as bits in an octet string, with the
following definitions:

As an example of how objects in this table are


named, an instance of the hrNetworkIfIndex object
might be named hrNetworkIfIndex.3"
INDEX { hrDeviceIndex }
::= { hrNetworkTable 1 }

Condition
Bit # hrDeviceStatus
lowPaper
0
warning(3)
noPaper
1
down(5)
lowToner
2
warning(3)
noToner
3
down(5)
doorOpen
4
down(5)
jammed
5
down(5)
offline
6
down(5)
serviceRequested 7
warning(3)

HrNetworkEntry ::= SEQUENCE {


hrNetworkIfIndex INTEGER
}
hrNetworkIfIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of ifIndex which corresponds to this
network device."
::= { hrNetworkEntry 1 }

If multiple conditions are currently detected and


the hrDeviceStatus would not otherwise be
unknown(1) or testing(4), the hrDeviceStatus shall
correspond to the worst state of those indicated,
where down(5) is worse than warning(3) which is
worse than running(2).

hrPrinterTable OBJECT-TYPE
SYNTAX SEQUENCE OF HrPrinterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The (conceptual) table of printers local to the
host.

Bits are numbered starting with the most

significant bit of the first byte being bit 0, the


least significant bit of the first byte being bit
7, the most significant bit of the second byte
being bit 8, and so on. A one bit encodes that
the condition was detected, while a zero bit
encodes that the condition was not detected.

Note that this table is potentially sparse: a


(conceptual) entry exists only if the correspondent
value of the hrDeviceType object is
`hrDevicePrinter'."
::= { hrDevice 5 }

This object is useful for alerting an operator to


specific warning or error conditions that may
occur, especially those requiring human
intervention."
::= { hrPrinterEntry 2 }

hrPrinterEntry OBJECT-TYPE
SYNTAX HrPrinterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A (conceptual) entry for one printer local to the
host. The hrDeviceIndex in the index represents
the entry in the hrDeviceTable that corresponds to
the hrPrinterEntry.

hrDiskStorageTable OBJECT-TYPE
SYNTAX SEQUENCE OF HrDiskStorageEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The (conceptual) table of long-term storage
devices contained by the host. In particular, disk
devices accessed remotely over a network are not
included here.

As an example of how objects in this table are


named, an instance of the hrPrinterStatus object
might be named hrPrinterStatus.3"
INDEX { hrDeviceIndex }
::= { hrPrinterTable 1 }

Note that this table is potentially sparse: a


(conceptual) entry exists only if the correspondent
value of the hrDeviceType object is
`hrDeviceDiskStorage'."
::= { hrDevice 6 }

HrPrinterEntry ::= SEQUENCE {


hrPrinterStatus
INTEGER,
hrPrinterDetectedErrorState OCTET STRING
}

hrDiskStorageEntry OBJECT-TYPE
SYNTAX HrDiskStorageEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A (conceptual) entry for one long-term storage
device contained by the host. The hrDeviceIndex in
the index represents the entry in the hrDeviceTable
that corresponds to the hrDiskStorageEntry. As an
example, an instance of the hrDiskStorageCapacity
object might be named hrDiskStorageCapacity.3"
INDEX { hrDeviceIndex }
::= { hrDiskStorageTable 1 }

hrPrinterStatus OBJECT-TYPE
SYNTAX INTEGER {
other(1),
unknown(2),
idle(3),
printing(4),
warmup(5)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The current status of this printer device. When
in the idle(1), printing(2), or warmup(3) state,

45

46

HrDiskStorageEntry ::= SEQUENCE {


hrDiskStorageAccess
INTEGER,
hrDiskStorageMedia
INTEGER,
hrDiskStorageRemoveble Boolean,
hrDiskStorageCapacity
KBytes

As an example of how objects in this table are


named, an instance of the hrPartitionSize object
might be named hrPartitionSize.3.1"
INDEX { hrDeviceIndex, hrPartitionIndex }
::= { hrPartitionTable 1 }
HrPartitionEntry ::= SEQUENCE {
hrPartitionIndex
INTEGER,
hrPartitionLabel
InternationalDisplayString,
hrPartitionID
OCTET STRING,
hrPartitionSize
KBytes,
hrPartitionFSIndex
INTEGER
}

}
hrDiskStorageAccess OBJECT-TYPE
SYNTAX INTEGER {
readWrite(1),
readOnly(2)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An indication if this long-term storage device is
readable and writable or only readable. This
should reflect the media type, any write-protect
mechanism, and any device configuration that
affects the entire device."
::= { hrDiskStorageEntry 1 }

hrPartitionIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique value for each partition on this longterm storage device. The value for each long-term
storage device must remain constant at least from
one re-initialization of the agent to the next re-

hrDiskStorageMedia OBJECT-TYPE
SYNTAX INTEGER {
other(1),
unknown(2),
hardDisk(3),
floppyDisk(4),
opticalDiskROM(5),
opticalDiskWORM(6), -- Write Once Read Many
opticalDiskRW(7),
ramDisk(8)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An indication of the type of media used in this
long-term storage device."
::= { hrDiskStorageEntry 2 }

initialization."
::= { hrPartitionEntry 1 }
hrPartitionLabel OBJECT-TYPE
SYNTAX InternationalDisplayString (SIZE (0..128))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of this partition."
::= { hrPartitionEntry 2 }
hrPartitionID OBJECT-TYPE
SYNTAX OCTET STRING
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A descriptor which uniquely represents this
partition to the responsible operating system. On
some systems, this might take on a binary
representation."
::= { hrPartitionEntry 3 }

hrDiskStorageRemoveble OBJECT-TYPE
SYNTAX Boolean
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Denotes whether or not the disk media may be
removed from the drive."
::= { hrDiskStorageEntry 3 }

hrPartitionSize OBJECT-TYPE
SYNTAX KBytes
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The size of this partition."
::= { hrPartitionEntry 4 }

hrDiskStorageCapacity OBJECT-TYPE
SYNTAX KBytes
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total size for this long-term storage device."
::= { hrDiskStorageEntry 4 }

hrPartitionFSIndex OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The index of the file system mounted on this
partition. If no file system is mounted on this
partition, then this value shall be zero. Note
that multiple partitions may point to one file
system, denoting that that file system resides on
those partitions. Multiple file systems may not
reside on one partition."
::= { hrPartitionEntry 5 }

hrPartitionTable OBJECT-TYPE
SYNTAX SEQUENCE OF HrPartitionEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The (conceptual) table of partitions for long-term
storage devices contained by the host. In
particular, partitions accessed remotely over a
network are not included here."
::= { hrDevice 7 }

-- The File System Table


hrFSTable OBJECT-TYPE
SYNTAX SEQUENCE OF HrFSEntry

hrPartitionEntry OBJECT-TYPE
SYNTAX HrPartitionEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A (conceptual) entry for one partition. The
hrDeviceIndex in the index represents the entry in
the hrDeviceTable that corresponds to the
hrPartitionEntry.

ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The (conceptual) table of file systems local to
this host or remotely mounted from a file server.
File systems that are in only one user's

47

48

environment on a multi-user system will not be


included in this table."
::= { hrDevice 8 }

constant at least from one re-initialization of


the agent to the next re-initialization."
::= { hrFSEntry 1 }

hrFSEntry OBJECT-TYPE
SYNTAX HrFSEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A (conceptual) entry for one file system local to
this host or remotely mounted from a file server.
File systems that are in only one user's
environment on a multi-user system will not be
included in this table.

hrFSMountPoint OBJECT-TYPE
SYNTAX InternationalDisplayString (SIZE(0..128))
ACCESS read-only
STATUS mandatory

DESCRIPTION
"The path name of the root of this file system."
::= { hrFSEntry 2 }
hrFSRemoteMountPoint OBJECT-TYPE
SYNTAX InternationalDisplayString (SIZE(0..128))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A description of the name and/or address of the
server that this file system is mounted from.
This may also include parameters such as the mount
point on the remote file system. If this is not a
remote file system, this string should have a
length of zero."
::= { hrFSEntry 3 }

As an example of how objects in this table are


named, an instance of the hrFSMountPoint object
might be named hrFSMountPoint.3"
INDEX { hrFSIndex }
::= { hrFSTable 1 }
-- Registration for some popular File System types,
-- for use with hrFSType.
hrFSTypes
OBJECT IDENTIFIER ::= { hrDevice 9 }
hrFSOther
OBJECT IDENTIFIER ::= { hrFSTypes 1 }
hrFSUnknown
OBJECT IDENTIFIER ::= { hrFSTypes 2 }
hrFSBerkeleyFFS
OBJECT IDENTIFIER ::= { hrFSTypes 3 }
hrFSSys5FS
OBJECT IDENTIFIER ::= { hrFSTypes 4 }
-- DOS
hrFSFat
OBJECT IDENTIFIER ::= { hrFSTypes 5 }
-- OS/2 High Performance File System
hrFSHPFS
OBJECT IDENTIFIER ::= { hrFSTypes 6 }
-- Macintosh Hierarchical File System
hrFSHFS
OBJECT IDENTIFIER ::= { hrFSTypes 7 }

hrFSType OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of this object identifies the type of
this file system."
::= { hrFSEntry 4 }

-- Macintosh File System


hrFSMFS
OBJECT IDENTIFIER ::= { hrFSTypes 8 }
-- Windows NT
hrFSNTFS
OBJECT IDENTIFIER ::= { hrFSTypes 9 }

hrFSVNode
OBJECT IDENTIFIER ::= { hrFSTypes 10 }
hrFSJournaled
OBJECT IDENTIFIER ::= { hrFSTypes 11 }
-- CD File systems
hrFSiso9660
OBJECT IDENTIFIER ::= { hrFSTypes 12 }
hrFSRockRidge
OBJECT IDENTIFIER ::= { hrFSTypes 13 }
hrFSNFS
OBJECT IDENTIFIER ::= { hrFSTypes 14 }
hrFSNetware
OBJECT IDENTIFIER ::= { hrFSTypes 15 }
-- Andrew File System
hrFSAFS
OBJECT IDENTIFIER ::= { hrFSTypes 16 }
-- OSF DCE Distributed File System
hrFSDFS
OBJECT IDENTIFIER ::= { hrFSTypes 17 }
hrFSAppleshare
OBJECT IDENTIFIER ::= { hrFSTypes 18 }
hrFSRFS
OBJECT IDENTIFIER ::= { hrFSTypes 19 }
-- Data General
hrFSDGCFS
OBJECT IDENTIFIER ::= { hrFSTypes 20 }
-- SVR4 Boot File System
hrFSBFS
OBJECT IDENTIFIER ::= { hrFSTypes 21 }

hrFSAccess OBJECT-TYPE
SYNTAX INTEGER {
readWrite(1),
readOnly(2)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An indication if this file system is logically
configured by the operating system to be readable
and writable or only readable. This does not
represent any local access-control policy, except
one that is applied to the file system as a whole."
::= { hrFSEntry 5 }
hrFSBootable OBJECT-TYPE
SYNTAX Boolean
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A flag indicating whether this file system is
bootable."
::= { hrFSEntry 6 }
hrFSStorageIndex OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The index of the hrStorageEntry that represents
information about this file system. If there is
no such information available, then this value
shall be zero. The relevant storage entry will be
useful in tracking the percent usage of this file
system and diagnosing errors that may occur when
it runs out of space."
::= { hrFSEntry 7 }

HrFSEntry ::= SEQUENCE {


hrFSIndex
INTEGER,
hrFSMountPoint
InternationalDisplayString,
hrFSRemoteMountPoint
InternationalDisplayString,
hrFSType
OBJECT IDENTIFIER,
hrFSAccess
INTEGER,
hrFSBootable
Boolean,
hrFSStorageIndex
INTEGER,
hrFSLastFullBackupDate DateAndTime,
hrFSLastPartialBackupDate DateAndTime
}
hrFSIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique value for each file system local to this
host. The value for each file system must remain

hrFSLastFullBackupDate OBJECT-TYPE
SYNTAX DateAndTime
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The last date at which this complete file system

49

50

was copied to another storage device for backup.


This information is useful for ensuring that
backups are being performed regularly.

HrSWRunEntry ::= SEQUENCE {


hrSWRunIndex
INTEGER,
hrSWRunName
InternationalDisplayString,
hrSWRunID
ProductID,
hrSWRunPath
InternationalDisplayString,
hrSWRunParameters InternationalDisplayString,
hrSWRunType
INTEGER,
hrSWRunStatus INTEGER
}

If this information is not known, then this


variable shall have the value corresponding to
January 1, year 0000, 00:00:00.0, which is encoded
as (hex)'00 00 01 01 00 00 00 00'."
::= { hrFSEntry 8 }
hrFSLastPartialBackupDate OBJECT-TYPE
SYNTAX DateAndTime
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The last date at which a portion of this file
system was copied to another storage device for
backup. This information is useful for ensuring
that backups are being performed regularly.

hrSWRunIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique value for each piece of software running
on the host. Wherever possible, this should be the
system's native, unique identification number."
::= { hrSWRunEntry 1 }

If this information is not known, then this


variable shall have the value corresponding to
January 1, year 0000, 00:00:00.0, which is encoded
as (hex)'00 00 01 01 00 00 00 00'."
::= { hrFSEntry 9 }

hrSWRunName OBJECT-TYPE
SYNTAX InternationalDisplayString (SIZE (0..64))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of this running piece of
software, including the manufacturer, revision,
and the name by which it is commonly known. If
this software was installed locally, this should be
the same string as used in the corresponding
hrSWInstalledName."
::= { hrSWRunEntry 2 }

-- The Host Resources Running Software Group


--- Implementation of this group is optional.
--- The hrSWRunTable contains an entry for each distinct piece of
-- software that is running or loaded into physical or virtual
-- memory in preparation for running. This includes the host's
-- operating system, device drivers, and applications.

hrSWRunID OBJECT-TYPE
SYNTAX ProductID
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The product ID of this running piece of software."
::= { hrSWRunEntry 3 }

hrSWOSIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of the hrSWRunIndex for the
hrSWRunEntry that represents the primary operating
system running on this host. This object is
useful for quickly and uniquely identifying that
primary operating system."
::= { hrSWRun 1 }

hrSWRunPath OBJECT-TYPE
SYNTAX InternationalDisplayString (SIZE(0..128))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A description of the location on long-term storage
(e.g. a disk drive) from which this software was
loaded."
::= { hrSWRunEntry 4 }

hrSWRunTable OBJECT-TYPE
SYNTAX SEQUENCE OF HrSWRunEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The (conceptual) table of software running on the
host."
::= { hrSWRun 2 }

hrSWRunParameters OBJECT-TYPE
SYNTAX InternationalDisplayString (SIZE(0..128))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A description of the parameters supplied to this
software when it was initially loaded."
::= { hrSWRunEntry 5 }

hrSWRunEntry OBJECT-TYPE
SYNTAX HrSWRunEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A (conceptual) entry for one piece of software
running on the host Note that because the installed
software table only contains information for
software stored locally on this host, not every
piece of running software will be found in the
installed software table. This is true of software
that was loaded and run from a non-local source,
such as a network-mounted file system.

hrSWRunType OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
operatingSystem(2),
deviceDriver(3),
application(4)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The type of this software."
::= { hrSWRunEntry 6 }

As an example of how objects in this table are


named, an instance of the hrSWRunName object might
be named hrSWRunName.1287"
INDEX { hrSWRunIndex }

hrSWRunStatus OBJECT-TYPE
SYNTAX INTEGER {
running(1),
runnable(2), -- waiting for resource (CPU, memory, IO)
notRunnable(3), -- loaded but waiting for event
invalid(4) -- not loaded

::= { hrSWRunTable 1 }

51

52

}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The status of this running piece of software.
Setting this value to invalid(4) shall cause this
software to stop running and to be unloaded."
::= { hrSWRunEntry 7 }

hrSWInstalledLastChange OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of sysUpTime when an entry in the
hrSWInstalledTable was last added, renamed, or
deleted. Because this table is likely to contain
many entries, polling of this object allows a
management station to determine when re-downloading
of the table might be useful."
::= { hrSWInstalled 1 }

-- The Host Resources Running Software Performance Group


-- Implementation of this group is optional.
--- The hrSWRunPerfTable contains an entry corresponding to
-- each entry in the hrSWRunTable.

hrSWRunPerfTable OBJECT-TYPE
SYNTAX SEQUENCE OF HrSWRunPerfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The (conceptual) table of running software
performance metrics."
::= { hrSWRunPerf 1 }
hrSWRunPerfEntry OBJECT-TYPE
SYNTAX HrSWRunPerfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A (conceptual) entry containing software
performance metrics. As an example, an instance
of the hrSWRunPerfCPU object might be named
hrSWRunPerfCPU.1287"
INDEX { hrSWRunIndex } -- This table augments information in
-- the hrSWRunTable.
::= { hrSWRunPerfTable 1 }
HrSWRunPerfEntry ::= SEQUENCE {
hrSWRunPerfCPU
INTEGER,
hrSWRunPerfMem
KBytes
}

hrSWInstalledLastUpdateTime OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of sysUpTime when the hrSWInstalledTable
was last completely updated. Because caching of
this data will be a popular implementation
strategy, retrieval of this object allows a
management station to obtain a guarantee that no
data in this table is older than the indicated
time."
::= { hrSWInstalled 2 }
hrSWInstalledTable OBJECT-TYPE
SYNTAX SEQUENCE OF HrSWInstalledEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The (conceptual) table of software installed on

this host."
::= { hrSWInstalled 3 }
hrSWInstalledEntry OBJECT-TYPE
SYNTAX HrSWInstalledEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A (conceptual) entry for a piece of software
installed on this host.
As an example of how objects in this table are
named, an instance of the hrSWInstalledName object
might be named hrSWInstalledName.96"
INDEX { hrSWInstalledIndex }
::= { hrSWInstalledTable 1 }

hrSWRunPerfCPU OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of centi-seconds of the total system's
CPU resources consumed by this process. Note that
on a multi-processor system, this value may
increment by more than one centi-second in one
centi-second of real (wall clock) time."
::= { hrSWRunPerfEntry 1 }

HrSWInstalledEntry ::= SEQUENCE {


hrSWInstalledIndex
INTEGER,
hrSWInstalledName
InternationalDisplayString,
hrSWInstalledID
ProductID,
hrSWInstalledType
INTEGER,
hrSWInstalledDate
DateAndTime
}

hrSWRunPerfMem OBJECT-TYPE
SYNTAX KBytes
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total amount of real system memory allocated
to this process."
::= { hrSWRunPerfEntry 2 }

hrSWInstalledIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique value for each piece of software
installed on the host. This value shall be in the
range from 1 to the number of pieces of software
installed on the host."
::= { hrSWInstalledEntry 1 }

-- The Host Resources Installed Software Group


--- Implementation of this group is optional.
--- The hrSWInstalledTable contains an entry for each piece
-- of software installed in long-term storage (e.g. a disk
-- drive) locally on this host. Note that this does not
-- include software loadable remotely from a network
-- server.
--- This table is useful for identifying and inventorying
-- software on a host and for diagnosing incompatibility
-- and version mismatch problems between various pieces
-- of hardware and software.

hrSWInstalledName OBJECT-TYPE
SYNTAX InternationalDisplayString (SIZE (0..64))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of this installed piece of
software, including the manufacturer, revision, the
name by which it is commonly known, and optionally,

53

54

its serial number."


::= { hrSWInstalledEntry 2 }

4. RMON-MIB RFC2819

hrSWInstalledID OBJECT-TYPE
SYNTAX ProductID
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The product ID of this installed piece of
software."
::= { hrSWInstalledEntry 3 }

RMON-MIB DEFINITIONS ::= BEGIN


IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
NOTIFICATION-TYPE, mib-2, Counter32,
Integer32, TimeTicks
FROM SNMPv2-SMI

hrSWInstalledType OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
operatingSystem(2),
deviceDriver(3),
application(4)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The type of this software."
::= { hrSWInstalledEntry 4 }

TEXTUAL-CONVENTION, DisplayString

FROM SNMPv2-TC

MODULE-COMPLIANCE, OBJECT-GROUP,
NOTIFICATION-GROUP
FROM SNMPv2-CONF;

-- Remote Network Monitoring MIB


rmonMibModule MODULE-IDENTITY
LAST-UPDATED "200005110000Z" -- 11 May, 2000
ORGANIZATION "IETF RMON MIB Working Group"
CONTACT-INFO
"Steve Waldbusser
Phone: +1-650-948-6500
Fax: +1-650-745-0671
Email: waldbusser@nextbeacon.com"
DESCRIPTION
"Remote network monitoring devices, often called
monitors or probes, are instruments that exist for
the purpose of managing a network. This MIB defines
objects for managing remote network monitoring devices."

hrSWInstalledDate OBJECT-TYPE
SYNTAX DateAndTime
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The last-modification date of this application as
it would appear in a directory listing."
::= { hrSWInstalledEntry 5 }
END

REVISION "200005110000Z" -- 11 May, 2000


DESCRIPTION
"Reformatted into SMIv2 format.
This version published as RFC 2819."
REVISION "199502010000Z" -- 1 Feb, 1995
DESCRIPTION
"Bug fixes, clarifications and minor changes based on
implementation experience, published as RFC1757 [18].
Two changes were made to object definitions:
1) A new status bit has been defined for the
captureBufferPacketStatus object, indicating that the
packet order within the capture buffer may not be identical to
the packet order as received off the wire. This bit may only
be used for packets transmitted by the probe. Older NMS
applications can safely ignore this status bit, which might be
used by newer agents.
2) The packetMatch trap has been removed. This trap was never
actually 'approved' and was not added to this document along
with the risingAlarm and fallingAlarm traps. The packetMatch
trap could not be throttled, which could cause disruption of
normal network traffic under some circumstances. An NMS should
configure a risingAlarm threshold on the appropriate
channelMatches instance if a trap is desired for a packetMatch
event. Note that logging of packetMatch events is still
supported--only trap generation for such events has been
removed.
In addition, several clarifications to individual object
definitions have been added to assist agent and NMS
implementors:
- global definition of 'good packets' and 'bad packets'
- more detailed text governing conceptual row creation and
modification
- instructions for probes relating to interface changes and
disruptions

55

56

- clarification of some ethernet counter definitions

the management station is finished configuring the entry


and sets this object to valid(1) or aborts, setting this
object to invalid(4). If the agent determines that an
entry has been in the underCreation(3) state for an
abnormally long time, it may decide that the management
station has crashed. If the agent makes this decision,
it may set this object to invalid(4) to reclaim the
entry. A prudent agent will understand that the
management station may need to wait for human input
and will allow for that possibility in its
determination of this abnormally long period.

- recommended formula for calculating network utilization


- clarification of channel and captureBuffer behavior for some
unusual conditions
- examples of proper instance naming for each table"
REVISION "199111010000Z" -- 1 Nov, 1991
DESCRIPTION
"The original version of this MIB, published as RFC1271."
::= { rmonConformance 8 }

An entry in the valid(1) state is fully configured and


consistent and fully represents the configuration or
operation such a row is intended to represent. For
example, it could be a statistical function that is
configured and active, or a filter that is available
in the list of filters processed by the packet capture
process.

rmon OBJECT IDENTIFIER ::= { mib-2 16 }

-- textual conventions
OwnerString ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This data type is used to model an administratively
assigned name of the owner of a resource. Implementations
must accept values composed of well-formed NVT ASCII
sequences. In addition, implementations should accept
values composed of well-formed UTF-8 sequences.

A manager is restricted to changing the state of an entry in


the following ways:
To:
valid createRequest underCreation invalid
From:
valid
OK
NO
OK
OK
createRequest N/A
N/A
N/A
N/A
underCreation OK
NO
OK
OK
invalid
NO
NO
NO
OK
nonExistent
NO
OK
NO
OK

It is suggested that this name contain one or more of


the following: IP address, management station name,
network manager'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 'monitor'.

In the table above, it is not applicable to move the state


from the createRequest state to any other state because the
manager will never find the variable in that state. The
nonExistent state is not a value of the enumeration, rather
it means that the entryStatus variable does not exist at all.
An agent may allow an entryStatus variable to change state in
additional ways, so long as the semantics of the states are
followed. This allowance is made to ease the implementation of
the agent and is made despite the fact that managers should
never exercise these additional state transitions."
SYNTAX INTEGER {
valid(1),
createRequest(2),
underCreation(3),
invalid(4)
}

SNMP access control is articulated entirely in terms


of the contents of MIB views; access to a particular
SNMP object instance depends only upon its presence
or absence in a particular MIB view and never upon
its value or the value of related object instances.
Thus, objects of this type afford resolution of
resource contention only among cooperating
managers; they realize no access control function
with respect to uncooperative parties."
SYNTAX OCTET STRING (SIZE (0..127))
EntryStatus ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The status of a table entry.

statistics
OBJECT IDENTIFIER ::= { rmon 1 }
history
OBJECT IDENTIFIER ::= { rmon 2 }
alarm
OBJECT IDENTIFIER ::= { rmon 3 }
hosts
OBJECT IDENTIFIER ::= { rmon 4 }
hostTopN
OBJECT IDENTIFIER ::= { rmon 5 }
matrix
OBJECT IDENTIFIER ::= { rmon 6 }
filter
OBJECT IDENTIFIER ::= { rmon 7 }
capture
OBJECT IDENTIFIER ::= { rmon 8 }
event
OBJECT IDENTIFIER ::= { rmon 9 }
rmonConformance OBJECT IDENTIFIER ::= { rmon 20 }

Setting this object to the value invalid(4) has the


effect of invalidating the corresponding entry.
That is, it effectively disassociates the mapping
identified with said entry.
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 currently not in use. Proper
interpretation of such entries requires examination
of the relevant EntryStatus object.

-- The Ethernet Statistics Group


--- Implementation of the Ethernet Statistics group is optional.
-- Consult the MODULE-COMPLIANCE macro for the authoritative
-- conformance information for this MIB.
--- The ethernet statistics group contains statistics measured by the
-- probe for each monitored interface on this device. These
-- statistics take the form of free running counters that start from
-- zero when a valid entry is created.
--- This group currently has statistics defined only for
-- Ethernet interfaces. Each etherStatsEntry contains statistics
-- for one Ethernet interface. The probe must create one
-- etherStats entry for each monitored Ethernet interface
-- on the device.

An existing instance of this object cannot be set to


createRequest(2). This object may only be set to
createRequest(2) when this instance is created. When
this object is created, the agent may wish to create
supplemental object instances with default values
to complete a conceptual row in this table. Because the
creation of these default objects is entirely at the option
of the agent, the manager must not assume that any will be
created, but may make use of any that are created.
Immediately after completing the create operation, the agent
must set this object to underCreation(3).
When in the underCreation(3) state, an entry is allowed to
exist in a possibly incomplete, possibly inconsistent state,
usually to allow it to be modified in multiple PDUs. When in
this state, an entry is not fully active.
Entries shall exist in the underCreation(3) state until

etherStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF EtherStatsEntry
MAX-ACCESS not-accessible
STATUS current

57

58

DESCRIPTION
"A list of Ethernet statistics entries."
::= { statistics 1 }

MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of events in which packets
were dropped by the probe due to lack of resources.
Note that this number is not necessarily the number of
packets dropped; it is just the number of times this
condition has been detected."
::= { etherStatsEntry 3 }

etherStatsEntry OBJECT-TYPE
SYNTAX EtherStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A collection of statistics kept for a particular
Ethernet interface. As an example, an instance of the
etherStatsPkts object might be named etherStatsPkts.1"
INDEX { etherStatsIndex }
::= { etherStatsTable 1 }

etherStatsOctets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets of data (including
those in bad packets) received on the
network (excluding framing bits but including
FCS octets).
This object can be used as a reasonable estimate of
10-Megabit ethernet utilization. If greater precision is
desired, the etherStatsPkts and etherStatsOctets objects
should be sampled before and after a common interval. The
differences in the sampled values are Pkts and Octets,
respectively, and the number of seconds in the interval is
Interval. These values are used to calculate the Utilization
as follows:

EtherStatsEntry ::= SEQUENCE {


etherStatsIndex
Integer32,
etherStatsDataSource
OBJECT IDENTIFIER,
etherStatsDropEvents
Counter32,
etherStatsOctets
Counter32,
etherStatsPkts
Counter32,
etherStatsBroadcastPkts
Counter32,
etherStatsMulticastPkts
Counter32,
etherStatsCRCAlignErrors
Counter32,
etherStatsUndersizePkts
Counter32,
etherStatsOversizePkts
Counter32,
etherStatsFragments
Counter32,
etherStatsJabbers
Counter32,
etherStatsCollisions
Counter32,
etherStatsPkts64Octets
Counter32,
etherStatsPkts65to127Octets
Counter32,
etherStatsPkts128to255Octets
Counter32,
etherStatsPkts256to511Octets
Counter32,
etherStatsPkts512to1023Octets Counter32,
etherStatsPkts1024to1518Octets Counter32,
etherStatsOwner
OwnerString,
etherStatsStatus
EntryStatus
}

Pkts * (9.6 + 6.4) + (Octets * .8)


Utilization = ------------------------------------Interval * 10,000
The result of this equation is the value Utilization which
is the percent utilization of the ethernet segment on a
scale of 0 to 100 percent."
::= { etherStatsEntry 4 }
etherStatsPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad packets,
broadcast packets, and multicast packets) received."
::= { etherStatsEntry 5 }

etherStatsIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of this object uniquely identifies this
etherStats entry."
::= { etherStatsEntry 1 }
etherStatsDataSource OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object identifies the source of the data that
this etherStats entry is configured to analyze. This
source can be any ethernet interface on this device.
In order to identify a particular interface, this object
shall identify the instance of the ifIndex object,
defined in RFC 2233 [17], for the desired interface.
For example, if an entry were to receive data from
interface #1, this object would be set to ifIndex.1.

etherStatsBroadcastPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of good packets received that were
directed to the broadcast address. Note that this
does not include multicast packets."
::= { etherStatsEntry 6 }
etherStatsMulticastPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of good packets received that were
directed to a multicast address. Note that this number
does not include packets directed to the broadcast
address."
::= { etherStatsEntry 7 }

The statistics in this group reflect all packets


on the local network segment attached to the identified
interface.
An agent may or may not be able to tell if fundamental
changes to the media of the interface have occurred and
necessitate an invalidation of this entry. For example, a
hot-pluggable ethernet card could be pulled out and replaced
by a token-ring card. In such a case, if the agent has such
knowledge of the change, it is recommended that it
invalidate this entry.

etherStatsCRCAlignErrors OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets received that
had a length (excluding framing bits, but
including FCS octets) of between 64 and 1518

This object may not be modified if the associated


etherStatsStatus object is equal to valid(1)."
::= { etherStatsEntry 2 }
etherStatsDropEvents OBJECT-TYPE
SYNTAX Counter32

59

60

octets, inclusive, but had either a bad


Frame Check Sequence (FCS) with an integral
number of octets (FCS Error) or a bad FCS with
a non-integral number of octets (Alignment Error)."
::= { etherStatsEntry 8 }

RMON probe. Section 8.2.1.3 (10BASE-5) and section


10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
station must detect a collision, in the receive mode, if
three or more stations are transmitting simultaneously. A
repeater port must detect a collision when two or more
stations are transmitting simultaneously. Thus a probe
placed on a repeater port could record more collisions
than a probe connected to a station on the same segment
would.

etherStatsUndersizePkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets received that were
less than 64 octets long (excluding framing bits,
but including FCS octets) and were otherwise well
formed."
::= { etherStatsEntry 9 }

Probe location plays a much smaller role when considering


10BASE-T. 14.2.1.4 (10BASE-T) of IEEE standard 802.3
defines a collision as the simultaneous presence of signals
on the DO and RD circuits (transmitting and receiving
at the same time). A 10BASE-T station can only detect
collisions when it is transmitting. Thus probes placed on
a station and a repeater, should report the same number of
collisions.

etherStatsOversizePkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets received that were
longer than 1518 octets (excluding framing bits,
but including FCS octets) and were otherwise
well formed."
::= { etherStatsEntry 10 }

Note also that an RMON probe inside a repeater should


ideally report collisions between the repeater and one or
more other hosts (transmit collisions as defined by IEEE
802.3k) plus receiver collisions observed on any coax
segments to which the repeater is connected."
::= { etherStatsEntry 13 }
etherStatsPkts64Octets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad
packets) received that were 64 octets in length
(excluding framing bits but including FCS octets)."
::= { etherStatsEntry 14 }

etherStatsFragments OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets received that were less than
64 octets in length (excluding framing bits but including
FCS octets) and had either a bad Frame Check Sequence
(FCS) with an integral number of octets (FCS Error) or a
bad FCS with a non-integral number of octets (Alignment
Error).

etherStatsPkts65to127Octets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad
packets) received that were between
65 and 127 octets in length inclusive
(excluding framing bits but including FCS octets)."
::= { etherStatsEntry 15 }

Note that it is entirely normal for etherStatsFragments to


increment. This is because it counts both runts (which are
normal occurrences due to collisions) and noise hits."
::= { etherStatsEntry 11 }
etherStatsJabbers OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets received that were
longer than 1518 octets (excluding framing bits,
but including FCS octets), and had either a bad
Frame Check Sequence (FCS) with an integral number
of octets (FCS Error) or a bad FCS with a non-integral
number of octets (Alignment Error).

etherStatsPkts128to255Octets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad
packets) received that were between
128 and 255 octets in length inclusive
(excluding framing bits but including FCS octets)."
::= { etherStatsEntry 16 }
etherStatsPkts256to511Octets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad
packets) received that were between
256 and 511 octets in length inclusive
(excluding framing bits but including FCS octets)."
::= { etherStatsEntry 17 }

Note that this definition of jabber is different


than the definition in IEEE-802.3 section 8.2.1.5
(10BASE5) and section 10.3.1.4 (10BASE2). These
documents define jabber as the condition where any
packet exceeds 20 ms. The allowed range to detect
jabber is between 20 ms and 150 ms."
::= { etherStatsEntry 12 }
etherStatsCollisions OBJECT-TYPE
SYNTAX Counter32
UNITS
"Collisions"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The best estimate of the total number of collisions
on this Ethernet segment.

etherStatsPkts512to1023Octets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad

The value returned will depend on the location of the

61

62

packets) received that were between


512 and 1023 octets in length inclusive
(excluding framing bits but including FCS octets)."
::= { etherStatsEntry 18 }

statistics. As an example, an instance of the


historyControlInterval object might be named
historyControlInterval.2"
INDEX { historyControlIndex }
::= { historyControlTable 1 }

etherStatsPkts1024to1518Octets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad
packets) received that were between
1024 and 1518 octets in length inclusive
(excluding framing bits but including FCS octets)."
::= { etherStatsEntry 19 }

HistoryControlEntry ::= SEQUENCE {


historyControlIndex
Integer32,
historyControlDataSource
OBJECT IDENTIFIER,
historyControlBucketsRequested Integer32,
historyControlBucketsGranted Integer32,
historyControlInterval
Integer32,
historyControlOwner
OwnerString,
historyControlStatus
EntryStatus
}

etherStatsOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The entity that configured this entry and is therefore
using the resources assigned to it."
::= { etherStatsEntry 20 }

historyControlIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in the
historyControl table. Each such entry defines a
set of samples at a particular interval for an
interface on the device."
::= { historyControlEntry 1 }

etherStatsStatus OBJECT-TYPE
SYNTAX EntryStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this etherStats entry."
::= { etherStatsEntry 21 }
-- The History Control Group
-- Implementation of the History Control group is optional.
-- Consult the MODULE-COMPLIANCE macro for the authoritative
-- conformance information for this MIB.
--- The history control group controls the periodic statistical
-- sampling of data from various types of networks. The
-- historyControlTable stores configuration entries that each
-- define an interface, polling period, and other parameters.
-- Once samples are taken, their data is stored in an entry
-- in a media-specific table. Each such entry defines one
-- sample, and is associated with the historyControlEntry that
-- caused the sample to be taken. Each counter in the
-- etherHistoryEntry counts the same event as its similarly-named
-- counterpart in the etherStatsEntry, except that each value here
-- is a cumulative sum during a sampling period.
--- If the probe keeps track of the time of day, it should start
-- the first sample of the history at a time such that
-- when the next hour of the day begins, a sample is
-- started at that instant. This tends to make more
-- user-friendly reports, and enables comparison of reports
-- from different probes that have relatively accurate time
-- of day.
--- The probe is encouraged to add two history control entries
-- per monitored interface upon initialization that describe a short
-- term and a long term polling period. Suggested parameters are 30
-- seconds for the short term polling period and 30 minutes for
-- the long term period.
historyControlTable OBJECT-TYPE
SYNTAX SEQUENCE OF HistoryControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of history control entries."
::= { history 1 }

historyControlDataSource OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object identifies the source of the data for
which historical data was collected and
placed in a media-specific table on behalf of this
historyControlEntry. This source can be any
interface on this device. In order to identify
a particular interface, this object shall identify
the instance of the ifIndex object, defined
in RFC 2233 [17], for the desired interface.
For example, if an entry were to receive data from
interface #1, this object would be set to ifIndex.1.
The statistics in this group reflect all packets
on the local network segment attached to the identified
interface.
An agent may or may not be able to tell if fundamental
changes to the media of the interface have occurred and
necessitate an invalidation of this entry. For example, a
hot-pluggable ethernet card could be pulled out and replaced
by a token-ring card. In such a case, if the agent has such
knowledge of the change, it is recommended that it
invalidate this entry.
This object may not be modified if the associated
historyControlStatus object is equal to valid(1)."
::= { historyControlEntry 2 }
historyControlBucketsRequested OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The requested number of discrete time intervals
over which data is to be saved in the part of the
media-specific table associated with this
historyControlEntry.
When this object is created or modified, the probe
should set historyControlBucketsGranted as closely to
this object as is possible for the particular probe
implementation and available resources."
DEFVAL { 50 }
::= { historyControlEntry 3 }

historyControlEntry OBJECT-TYPE
SYNTAX HistoryControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of parameters that set up a periodic sampling of

historyControlBucketsGranted OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current

63

64

DESCRIPTION
"The number of discrete sampling intervals
over which data shall be saved in the part of
the media-specific table associated with this
historyControlEntry.

historyControlStatus OBJECT-TYPE
SYNTAX EntryStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this historyControl entry.

When the associated historyControlBucketsRequested


object is created or modified, the probe
should set this object as closely to the requested
value as is possible for the particular
probe implementation and available resources. The
probe must not lower this value except as a result
of a modification to the associated
historyControlBucketsRequested object.

Each instance of the media-specific table associated


with this historyControlEntry will be deleted by the agent
if this historyControlEntry is not equal to valid(1)."
::= { historyControlEntry 7 }
-- The Ethernet History Group

When the number of buckets reaches the value of


this object and a new bucket is to be added to the
media-specific table, the oldest bucket associated
with this historyControlEntry shall be deleted by
the agent so that the new bucket can be added.

-- Implementation of the Ethernet History group is optional.


-- Consult the MODULE-COMPLIANCE macro for the authoritative
-- conformance information for this MIB.
--- The Ethernet History group records periodic statistical samples
-- from a network and stores them for later retrieval.
-- Once samples are taken, their data is stored in an entry
-- in a media-specific table. Each such entry defines one
-- sample, and is associated with the historyControlEntry that
-- caused the sample to be taken. This group defines the
-- etherHistoryTable, for Ethernet networks.
--

When the value of this object changes to a value less


than the current value, entries are deleted
from the media-specific table associated with this
historyControlEntry. Enough of the oldest of these
entries shall be deleted by the agent so that their
number remains less than or equal to the new value of
this object.

etherHistoryTable OBJECT-TYPE
SYNTAX SEQUENCE OF EtherHistoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of Ethernet history entries."
::= { history 2 }

There will be times when the actual number of


buckets associated with this entry is less than
the value of this object. In this case, at the
end of each sampling interval, a new bucket will
be added to the media-specific table.

When the value of this object changes to a value greater


than the current value, the number of associated mediaspecific entries may be allowed to grow."
::= { historyControlEntry 4 }

etherHistoryEntry OBJECT-TYPE
SYNTAX EtherHistoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An historical sample of Ethernet statistics on a particular
Ethernet interface. This sample is associated with the
historyControlEntry which set up the parameters for
a regular collection of these samples. As an example, an
instance of the etherHistoryPkts object might be named
etherHistoryPkts.2.89"
INDEX { etherHistoryIndex , etherHistorySampleIndex }
::= { etherHistoryTable 1 }

historyControlInterval OBJECT-TYPE
SYNTAX Integer32 (1..3600)
UNITS
"Seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The interval in seconds over which the data is
sampled for each bucket in the part of the
media-specific table associated with this
historyControlEntry. This interval can
be set to any number of seconds between 1 and
3600 (1 hour).

EtherHistoryEntry ::= SEQUENCE {


etherHistoryIndex
Integer32,
etherHistorySampleIndex
Integer32,
etherHistoryIntervalStart
TimeTicks,
etherHistoryDropEvents
Counter32,
etherHistoryOctets
Counter32,
etherHistoryPkts
Counter32,
etherHistoryBroadcastPkts
Counter32,
etherHistoryMulticastPkts
Counter32,
etherHistoryCRCAlignErrors
Counter32,
etherHistoryUndersizePkts
Counter32,
etherHistoryOversizePkts
Counter32,
etherHistoryFragments
Counter32,
etherHistoryJabbers
Counter32,
etherHistoryCollisions
Counter32,
etherHistoryUtilization
Integer32
}

Because the counters in a bucket may overflow at their


maximum value with no indication, a prudent manager will
take into account the possibility of overflow in any of
the associated counters. It is important to consider the
minimum time in which any counter could overflow on a
particular media type and set the historyControlInterval
object to a value less than this interval. This is
typically most important for the 'octets' counter in any
media-specific table. For example, on an Ethernet
network, the etherHistoryOctets counter could overflow
in about one hour at the Ethernet's maximum
utilization.
This object may not be modified if the associated
historyControlStatus object is equal to valid(1)."
DEFVAL { 1800 }
::= { historyControlEntry 5 }

etherHistoryIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The history of which this entry is a part. The
history identified by a particular value of this
index is the same history as identified
by the same value of historyControlIndex."
::= { etherHistoryEntry 1 }

historyControlOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The entity that configured this entry and is therefore
using the resources assigned to it."
::= { historyControlEntry 6 }

etherHistorySampleIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)

65

66

MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies the particular
sample this entry represents among all samples
associated with the same historyControlEntry.
This index starts at 1 and increases by one
as each new sample is taken."
::= { etherHistoryEntry 2 }

"The number of good packets received during this


sampling interval that were directed to a
multicast address. Note that this number does not
include packets addressed to the broadcast address."
::= { etherHistoryEntry 8 }
etherHistoryCRCAlignErrors OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets received during this
sampling interval that had a length (excluding
framing bits but including FCS octets) between
64 and 1518 octets, inclusive, but had either a bad Frame
Check Sequence (FCS) with an integral number of octets
(FCS Error) or a bad FCS with a non-integral number
of octets (Alignment Error)."
::= { etherHistoryEntry 9 }

etherHistoryIntervalStart OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the start of the interval
over which this sample was measured. If the probe
keeps track of the time of day, it should start
the first sample of the history at a time such that
when the next hour of the day begins, a sample is
started at that instant. Note that following this
rule may require the probe to delay collecting the
first sample of the history, as each sample must be
of the same interval. Also note that the sample which
is currently being collected is not accessible in this
table until the end of its interval."
::= { etherHistoryEntry 3 }

etherHistoryUndersizePkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets received during this
sampling interval that were less than 64 octets
long (excluding framing bits but including FCS
octets) and were otherwise well formed."
::= { etherHistoryEntry 10 }

etherHistoryDropEvents OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of events in which packets
were dropped by the probe due to lack of resources
during this sampling interval. Note that this number
is not necessarily the number of packets dropped, it
is just the number of times this condition has been
detected."
::= { etherHistoryEntry 4 }

etherHistoryOversizePkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets received during this
sampling interval that were longer than 1518
octets (excluding framing bits but including
FCS octets) but were otherwise well formed."
::= { etherHistoryEntry 11 }

etherHistoryOctets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets of data (including
those in bad packets) received on the
network (excluding framing bits but including
FCS octets)."
::= { etherHistoryEntry 5 }

etherHistoryFragments OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets received during this
sampling interval that were less than 64 octets in
length (excluding framing bits but including FCS
octets) had either a bad Frame Check Sequence (FCS)
with an integral number of octets (FCS Error) or a bad
FCS with a non-integral number of octets (Alignment
Error).

etherHistoryPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets (including bad packets)
received during this sampling interval."
::= { etherHistoryEntry 6 }

Note that it is entirely normal for etherHistoryFragments to


increment. This is because it counts both runts (which are
normal occurrences due to collisions) and noise hits."
::= { etherHistoryEntry 12 }

etherHistoryBroadcastPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of good packets received during this
sampling interval that were directed to the
broadcast address."
::= { etherHistoryEntry 7 }

etherHistoryJabbers OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets received during this
sampling interval that were longer than 1518 octets
(excluding framing bits but including FCS octets),
and had either a bad Frame Check Sequence (FCS)
with an integral number of octets (FCS Error) or
a bad FCS with a non-integral number of octets
(Alignment Error).

etherHistoryMulticastPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION

Note that this definition of jabber is different


than the definition in IEEE-802.3 section 8.2.1.5

67

68

(10BASE5) and section 10.3.1.4 (10BASE2). These


documents define jabber as the condition where any
packet exceeds 20 ms. The allowed range to detect
jabber is between 20 ms and 150 ms."
::= { etherHistoryEntry 13 }

-- crossings that span the sampling boundary. Note that this does
-- not require any special configuration of the threshold value.
-- It is suggested that probes implement this more precise algorithm.
alarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm entries."
::= { alarm 1 }

etherHistoryCollisions OBJECT-TYPE
SYNTAX Counter32
UNITS
"Collisions"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The best estimate of the total number of collisions
on this Ethernet segment during this sampling
interval.

alarmEntry OBJECT-TYPE
SYNTAX AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of parameters that set up a periodic checking
for alarm conditions. For example, an instance of the
alarmValue object might be named alarmValue.8"
INDEX { alarmIndex }
::= { alarmTable 1 }

The value returned will depend on the location of the


RMON probe. Section 8.2.1.3 (10BASE-5) and section
10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
station must detect a collision, in the receive mode, if
three or more stations are transmitting simultaneously. A
repeater port must detect a collision when two or more
stations are transmitting simultaneously. Thus a probe
placed on a repeater port could record more collisions
than a probe connected to a station on the same segment
would.

AlarmEntry ::= SEQUENCE {


alarmIndex
Integer32,
alarmInterval
Integer32,
alarmVariable
OBJECT IDENTIFIER,
alarmSampleType
INTEGER,
alarmValue
Integer32,
alarmStartupAlarm
INTEGER,
alarmRisingThreshold
Integer32,
alarmFallingThreshold
Integer32,
alarmRisingEventIndex
Integer32,
alarmFallingEventIndex
Integer32,
alarmOwner
OwnerString,
alarmStatus
EntryStatus
}

Probe location plays a much smaller role when considering


10BASE-T. 14.2.1.4 (10BASE-T) of IEEE standard 802.3
defines a collision as the simultaneous presence of signals
on the DO and RD circuits (transmitting and receiving
at the same time). A 10BASE-T station can only detect
collisions when it is transmitting. Thus probes placed on
a station and a repeater, should report the same number of
collisions.
Note also that an RMON probe inside a repeater should
ideally report collisions between the repeater and one or
more other hosts (transmit collisions as defined by IEEE
802.3k) plus receiver collisions observed on any coax
segments to which the repeater is connected."
::= { etherHistoryEntry 14 }

alarmIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in the
alarm table. Each such entry defines a
diagnostic sample at a particular interval
for an object on the device."
::= { alarmEntry 1 }

etherHistoryUtilization OBJECT-TYPE
SYNTAX Integer32 (0..10000)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The best estimate of the mean physical layer
network utilization on this interface during this
sampling interval, in hundredths of a percent."
::= { etherHistoryEntry 15 }
-- The Alarm Group
-- Implementation of the Alarm group is optional. The Alarm Group
-- requires the implementation of the Event group.
-- Consult the MODULE-COMPLIANCE macro for the authoritative
-- conformance information for this MIB.
--- The Alarm group periodically takes statistical samples from
-- variables in the probe and compares them to thresholds that have
-- been configured. The alarm table stores configuration
-- entries that each define a variable, polling period, and
-- threshold parameters. If a sample is found to cross the
-- threshold values, an event is generated. Only variables that
-- resolve to an ASN.1 primitive type of INTEGER (INTEGER, Integer32,
-- Counter32, Counter64, Gauge32, or TimeTicks) may be monitored in
-- this way.
--- This function has a hysteresis mechanism to limit the generation
-- of events. This mechanism generates one event as a threshold
-- is crossed in the appropriate direction. No more events are
-- generated for that threshold until the opposite threshold is
-- crossed.
--- In the case of a sampling a deltaValue, a probe may implement
-- this mechanism with more precision if it takes a delta sample
-- twice per period, each time comparing the sum of the latest two
-- samples to the threshold. This allows the detection of threshold

69

alarmInterval OBJECT-TYPE
SYNTAX Integer32
UNITS
"Seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The interval in seconds over which the data is
sampled and compared with the rising and falling
thresholds. When setting this variable, care
should be taken in the case of deltaValue
sampling - the interval should be set short enough
that the sampled variable is very unlikely to
increase or decrease by more than 2^31 - 1 during
a single sampling interval.
This object may not be modified if the associated
alarmStatus object is equal to valid(1)."
::= { alarmEntry 2 }
alarmVariable OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The object identifier of the particular variable to be
sampled. Only variables that resolve to an ASN.1 primitive
type of INTEGER (INTEGER, Integer32, Counter32, Counter64,
Gauge, or TimeTicks) may be sampled.
Because SNMP access control is articulated entirely
in terms of the contents of MIB views, no access

70

control mechanism exists that can restrict the value of


this object to identify only those objects that exist
in a particular MIB view. Because there is thus no
acceptable means of restricting the read access that
could be obtained through the alarm mechanism, the
probe must only grant write access to this object in
those views that have read access to all objects on
the probe.

single falling alarm will be generated.


This object may not be modified if the associated
alarmStatus object is equal to valid(1)."
::= { alarmEntry 6 }
alarmRisingThreshold OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A threshold for the sampled statistic. When the current
sampled value is greater than or equal to this threshold,
and the value at the last sampling interval was less than
this threshold, a single event will be generated.
A single event will also be generated if the first
sample after this entry becomes valid is greater than or
equal to this threshold and the associated
alarmStartupAlarm is equal to risingAlarm(1) or
risingOrFallingAlarm(3).

During a set operation, if the supplied variable name is


not available in the selected MIB view, a badValue error
must be returned. If at any time the variable name of
an established alarmEntry is no longer available in the
selected MIB view, the probe must change the status of
this alarmEntry to invalid(4).
This object may not be modified if the associated
alarmStatus object is equal to valid(1)."
::= { alarmEntry 3 }
alarmSampleType OBJECT-TYPE
SYNTAX INTEGER {
absoluteValue(1),
deltaValue(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The method of sampling the selected variable and
calculating the value to be compared against the
thresholds. If the value of this object is
absoluteValue(1), the value of the selected variable
will be compared directly with the thresholds at the
end of the sampling interval. If the value of this
object is deltaValue(2), the value of the selected
variable at the last sample will be subtracted from
the current value, and the difference compared with
the thresholds.

After a rising event is generated, another such event


will not be generated until the sampled value
falls below this threshold and reaches the
alarmFallingThreshold.
This object may not be modified if the associated
alarmStatus object is equal to valid(1)."
::= { alarmEntry 7 }
alarmFallingThreshold OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A threshold for the sampled statistic. When the current
sampled value is less than or equal to this threshold,
and the value at the last sampling interval was greater than
this threshold, a single event will be generated.
A single event will also be generated if the first
sample after this entry becomes valid is less than or
equal to this threshold and the associated
alarmStartupAlarm is equal to fallingAlarm(2) or
risingOrFallingAlarm(3).

This object may not be modified if the associated


alarmStatus object is equal to valid(1)."
::= { alarmEntry 4 }
alarmValue OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the statistic during the last sampling
period. For example, if the sample type is deltaValue,
this value will be the difference between the samples
at the beginning and end of the period. If the sample
type is absoluteValue, this value will be the sampled
value at the end of the period.
This is the value that is compared with the rising and
falling thresholds.

After a falling event is generated, another such event


will not be generated until the sampled value
rises above this threshold and reaches the
alarmRisingThreshold.
This object may not be modified if the associated
alarmStatus object is equal to valid(1)."
::= { alarmEntry 8 }
alarmRisingEventIndex OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The index of the eventEntry that is
used when a rising threshold is crossed. The
eventEntry identified by a particular value of
this index is the same as identified by the same value
of the eventIndex object. If there is no
corresponding entry in the eventTable, then
no association exists. In particular, if this value
is zero, no associated event will be generated, as
zero is not a valid event index.

The value during the current sampling period is not


made available until the period is completed and will
remain available until the next period completes."
::= { alarmEntry 5 }
alarmStartupAlarm OBJECT-TYPE
SYNTAX INTEGER {
risingAlarm(1),
fallingAlarm(2),
risingOrFallingAlarm(3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The alarm that may be sent when this entry is first
set to valid. If the first sample after this entry
becomes valid is greater than or equal to the
risingThreshold and alarmStartupAlarm is equal to
risingAlarm(1) or risingOrFallingAlarm(3), then a single
rising alarm will be generated. If the first sample
after this entry becomes valid is less than or equal
to the fallingThreshold and alarmStartupAlarm is equal
to fallingAlarm(2) or risingOrFallingAlarm(3), then a

This object may not be modified if the associated


alarmStatus object is equal to valid(1)."
::= { alarmEntry 9 }
alarmFallingEventIndex OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The index of the eventEntry that is
used when a falling threshold is crossed. The

71

72

eventEntry identified by a particular value of


this index is the same as identified by the same value
of the eventIndex object. If there is no
corresponding entry in the eventTable, then
no association exists. In particular, if this value
is zero, no associated event will be generated, as
zero is not a valid event index.

-- Because the association between hostTimeCreationOrder and


-- hostTimeEntry may be broken at any time, the management
-- station must monitor the related hostControlLastDeleteTime
-- object. When the management station thus detects a deletion,
-- it must assume that any such associations have been broken,
-- and invalidate any it has stored locally. This includes
-- restarting any download of the hostTimeTable that may have been
-- in progress, as well as rediscovering the end of the
-- hostTimeTable so that it may detect new entries. If the
-- management station does not detect the broken association,
-- it may continue to refer to a particular host by its
-- creationOrder while unwittingly retrieving the data associated
-- with another host entirely. If this happens while downloading
-- the host table, the management station may fail to download
-- all of the entries in the table.

This object may not be modified if the associated


alarmStatus object is equal to valid(1)."
::= { alarmEntry 10 }
alarmOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The entity that configured this entry and is therefore
using the resources assigned to it."
::= { alarmEntry 11 }

hostControlTable OBJECT-TYPE
SYNTAX SEQUENCE OF HostControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of host table control entries."
::= { hosts 1 }

alarmStatus OBJECT-TYPE
SYNTAX EntryStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this alarm entry."
::= { alarmEntry 12 }
-- The Host Group
-- Implementation of the Host group is optional.
-- Consult the MODULE-COMPLIANCE macro for the authoritative
-- conformance information for this MIB.
--- The host group discovers new hosts on the network by
-- keeping a list of source and destination MAC Addresses seen
-- in good packets. For each of these addresses, the host group
-- keeps a set of statistics. The hostControlTable controls
-- which interfaces this function is performed on, and contains
-- some information about the process. On behalf of each
-- hostControlEntry, data is collected on an interface and placed
-- in both the hostTable and the hostTimeTable. If the
-- monitoring device finds itself short of resources, it may
-- delete entries as needed. It is suggested that the device
-- delete the least recently used entries first.

hostControlEntry OBJECT-TYPE
SYNTAX HostControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of parameters that set up the discovery of hosts
on a particular interface and the collection of statistics
about these hosts. For example, an instance of the
hostControlTableSize object might be named
hostControlTableSize.1"
INDEX { hostControlIndex }
::= { hostControlTable 1 }
HostControlEntry ::= SEQUENCE {
hostControlIndex
Integer32,
hostControlDataSource
OBJECT IDENTIFIER,
hostControlTableSize
Integer32,
hostControlLastDeleteTime TimeTicks,
hostControlOwner
OwnerString,
hostControlStatus
EntryStatus
}

-- The hostTable contains entries for each address discovered on


-- a particular interface. Each entry contains statistical
-- data about that host. This table is indexed by the
-- MAC address of the host, through which a random access
-- may be achieved.

hostControlIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in the
hostControl table. Each such entry defines
a function that discovers hosts on a particular interface
and places statistics about them in the hostTable and
the hostTimeTable on behalf of this hostControlEntry."
::= { hostControlEntry 1 }

-- The hostTimeTable contains data in the same format as the


-- hostTable, and must contain the same set of hosts, but is
-- indexed using hostTimeCreationOrder rather than hostAddress.
-- The hostTimeCreationOrder is an integer which reflects
-- the relative order in which a particular entry was discovered
-- and thus inserted into the table. As this order, and thus
-- the index, is among those entries currently in the table,
-- the index for a particular entry may change if an
-- (earlier) entry is deleted. Thus the association between
-- hostTimeCreationOrder and hostTimeEntry may be broken at
-- any time.

hostControlDataSource OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object identifies the source of the data for
this instance of the host function. This source
can be any interface on this device. In order
to identify a particular interface, this object shall
identify the instance of the ifIndex object, defined
in RFC 2233 [17], for the desired interface.
For example, if an entry were to receive data from
interface #1, this object would be set to ifIndex.1.

-- The hostTimeTable has two important uses. The first is the


-- fast download of this potentially large table. Because the
-- index of this table runs from 1 to the size of the table,
-- inclusive, its values are predictable. This allows very
-- efficient packing of variables into SNMP PDU's and allows
-- a table transfer to have multiple packets outstanding.
-- These benefits increase transfer rates tremendously.
-- The second use of the hostTimeTable is the efficient discovery
-- by the management station of new entries added to the table.
-- After the management station has downloaded the entire table,
-- it knows that new entries will be added immediately after the
-- end of the current table. It can thus detect new entries there
-- and retrieve them easily.

The statistics in this group reflect all packets


on the local network segment attached to the identified
interface.
An agent may or may not be able to tell if fundamental
changes to the media of the interface have occurred and

73

74

necessitate an invalidation of this entry. For example, a


hot-pluggable ethernet card could be pulled out and replaced
by a token-ring card. In such a case, if the agent has such
knowledge of the change, it is recommended that it
invalidate this entry.

hostOutMulticastPkts

Counter32

}
hostAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The physical address of this host."
::= { hostEntry 1 }

This object may not be modified if the associated


hostControlStatus object is equal to valid(1)."
::= { hostControlEntry 2 }
hostControlTableSize OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of hostEntries in the hostTable and the
hostTimeTable associated with this hostControlEntry."
::= { hostControlEntry 3 }

hostCreationOrder OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that defines the relative ordering of
the creation time of hosts captured for a
particular hostControlEntry. This index shall
be between 1 and N, where N is the value of
the associated hostControlTableSize. The ordering
of the indexes is based on the order of each entry's
insertion into the table, in which entries added earlier
have a lower index value than entries added later.
It is important to note that the order for a
particular entry may change as an (earlier) entry
is deleted from the table. Because this order may
change, management stations should make use of the
hostControlLastDeleteTime variable in the
hostControlEntry associated with the relevant
portion of the hostTable. By observing
this variable, the management station may detect
the circumstances where a previous association
between a value of hostCreationOrder
and a hostEntry may no longer hold."
::= { hostEntry 2 }

hostControlLastDeleteTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the last entry
was deleted from the portion of the hostTable
associated with this hostControlEntry. If no
deletions have occurred, this value shall be zero."
::= { hostControlEntry 4 }
hostControlOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The entity that configured this entry and is therefore
using the resources assigned to it."
::= { hostControlEntry 5 }

hostIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The set of collected host statistics of which
this entry is a part. The set of hosts
identified by a particular value of this
index is associated with the hostControlEntry
as identified by the same value of hostControlIndex."
::= { hostEntry 3 }

hostControlStatus OBJECT-TYPE
SYNTAX EntryStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this hostControl entry.
If this object is not equal to valid(1), all associated
entries in the hostTable, hostTimeTable, and the
hostTopNTable shall be deleted by the agent."
::= { hostControlEntry 6 }

hostInPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of good packets transmitted to this
address since it was added to the hostTable."
::= { hostEntry 4 }

hostTable OBJECT-TYPE
SYNTAX SEQUENCE OF HostEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of host entries."
::= { hosts 2 }
hostEntry OBJECT-TYPE
SYNTAX HostEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A collection of statistics for a particular host that has
been discovered on an interface of this device. For example,
an instance of the hostOutBroadcastPkts object might be
named hostOutBroadcastPkts.1.6.8.0.32.27.3.176"
INDEX { hostIndex, hostAddress }
::= { hostTable 1 }
HostEntry ::= SEQUENCE {
hostAddress
OCTET STRING,
hostCreationOrder
Integer32,
hostIndex
Integer32,
hostInPkts
Counter32,
hostOutPkts
Counter32,
hostInOctets
Counter32,
hostOutOctets
Counter32,
hostOutErrors
Counter32,
hostOutBroadcastPkts Counter32,

hostOutPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, including bad packets, transmitted
by this address since it was added to the hostTable."
::= { hostEntry 5 }
hostInOctets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted to this address since
it was added to the hostTable (excluding framing
bits but including FCS octets), except for those
octets in bad packets."
::= { hostEntry 6 }

75

76

hostTimeOutBroadcastPkts Counter32,
hostTimeOutMulticastPkts Counter32

hostOutOctets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted by this address since
it was added to the hostTable (excluding framing
bits but including FCS octets), including those
octets in bad packets."
::= { hostEntry 7 }

}
hostTimeAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The physical address of this host."
::= { hostTimeEntry 1 }
hostTimeCreationOrder OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in
the hostTime table among those entries associated
with the same hostControlEntry. This index shall
be between 1 and N, where N is the value of
the associated hostControlTableSize. The ordering
of the indexes is based on the order of each entry's
insertion into the table, in which entries added earlier
have a lower index value than entries added later.
Thus the management station has the ability to
learn of new entries added to this table without
downloading the entire table.

hostOutErrors OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bad packets transmitted by this address
since this host was added to the hostTable."
::= { hostEntry 8 }
hostOutBroadcastPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of good packets transmitted by this
address that were directed to the broadcast address
since this host was added to the hostTable."
::= { hostEntry 9 }

It is important to note that the index for a


particular entry may change as an (earlier) entry
is deleted from the table. Because this order may
change, management stations should make use of the
hostControlLastDeleteTime variable in the
hostControlEntry associated with the relevant
portion of the hostTimeTable. By observing
this variable, the management station may detect
the circumstances where a download of the table
may have missed entries, and where a previous
association between a value of hostTimeCreationOrder
and a hostTimeEntry may no longer hold."
::= { hostTimeEntry 2 }

hostOutMulticastPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of good packets transmitted by this
address that were directed to a multicast address
since this host was added to the hostTable.
Note that this number does not include packets
directed to the broadcast address."
::= { hostEntry 10 }

hostTimeIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The set of collected host statistics of which
this entry is a part. The set of hosts
identified by a particular value of this
index is associated with the hostControlEntry
as identified by the same value of hostControlIndex."
::= { hostTimeEntry 3 }

-- host Time Table


hostTimeTable OBJECT-TYPE
SYNTAX SEQUENCE OF HostTimeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of time-ordered host table entries."
::= { hosts 3 }

hostTimeInPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of good packets transmitted to this
address since it was added to the hostTimeTable."
::= { hostTimeEntry 4 }

hostTimeEntry OBJECT-TYPE
SYNTAX HostTimeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A collection of statistics for a particular host that has
been discovered on an interface of this device. This
collection includes the relative ordering of the creation
time of this object. For example, an instance of the
hostTimeOutBroadcastPkts object might be named
hostTimeOutBroadcastPkts.1.687"
INDEX { hostTimeIndex, hostTimeCreationOrder }
::= { hostTimeTable 1 }

hostTimeOutPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, including bad packets, transmitted
by this address since it was added to the hostTimeTable."
::= { hostTimeEntry 5 }

HostTimeEntry ::= SEQUENCE {


hostTimeAddress
OCTET STRING,
hostTimeCreationOrder
Integer32,
hostTimeIndex
Integer32,
hostTimeInPkts
Counter32,
hostTimeOutPkts
Counter32,
hostTimeInOctets
Counter32,
hostTimeOutOctets
Counter32,
hostTimeOutErrors
Counter32,

hostTimeInOctets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Octets"
MAX-ACCESS read-only
STATUS current

77

78

DESCRIPTION
"The number of octets transmitted to this address since
it was added to the hostTimeTable (excluding framing
bits but including FCS octets), except for those
octets in bad packets."
::= { hostTimeEntry 6 }

DESCRIPTION
"A list of top N host control entries."
::= { hostTopN 1 }
hostTopNControlEntry OBJECT-TYPE
SYNTAX HostTopNControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of parameters that control the creation of a report
of the top N hosts according to several metrics. For
example, an instance of the hostTopNDuration object might
be named hostTopNDuration.3"
INDEX { hostTopNControlIndex }
::= { hostTopNControlTable 1 }

hostTimeOutOctets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted by this address since
it was added to the hostTimeTable (excluding framing
bits but including FCS octets), including those
octets in bad packets."
::= { hostTimeEntry 7 }
hostTimeOutErrors OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bad packets transmitted by this address
since this host was added to the hostTimeTable."
::= { hostTimeEntry 8 }

HostTopNControlEntry ::= SEQUENCE {


hostTopNControlIndex Integer32,
hostTopNHostIndex
Integer32,
hostTopNRateBase
INTEGER,
hostTopNTimeRemaining Integer32,
hostTopNDuration
Integer32,
hostTopNRequestedSize Integer32,
hostTopNGrantedSize Integer32,
hostTopNStartTime
TimeTicks,
hostTopNOwner
OwnerString,
hostTopNStatus
EntryStatus
}

hostTimeOutBroadcastPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of good packets transmitted by this
address that were directed to the broadcast address
since this host was added to the hostTimeTable."
::= { hostTimeEntry 9 }

hostTopNControlIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry
in the hostTopNControl table. Each such
entry defines one top N report prepared for
one interface."
::= { hostTopNControlEntry 1 }

hostTimeOutMulticastPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of good packets transmitted by this
address that were directed to a multicast address
since this host was added to the hostTimeTable.
Note that this number does not include packets directed
to the broadcast address."
::= { hostTimeEntry 10 }

hostTopNHostIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The host table for which a top N report will be prepared
on behalf of this entry. The host table identified by a
particular value of this index is associated with the same
host table as identified by the same value of
hostIndex.
This object may not be modified if the associated
hostTopNStatus object is equal to valid(1)."
::= { hostTopNControlEntry 2 }

-- The Host Top "N" Group


-- Implementation of the Host Top N group is optional. The Host Top N
-- group requires the implementation of the host group.
-- Consult the MODULE-COMPLIANCE macro for the authoritative
-- conformance information for this MIB.
--- The Host Top N group is used to prepare reports that describe
-- the hosts that top a list ordered by one of their statistics.
-- The available statistics are samples of one of their
-- base statistics, over an interval specified by the management
-- station. Thus, these statistics are rate based. The management
-- station also selects how many such hosts are reported.
-- The hostTopNControlTable is used to initiate the generation of
-- such a report. The management station may select the parameters
-- of such a report, such as which interface, which statistic,
-- how many hosts, and the start and stop times of the sampling.
-- When the report is prepared, entries are created in the
-- hostTopNTable associated with the relevant hostTopNControlEntry.
-- These entries are static for each report after it has been
-- prepared.

hostTopNRateBase OBJECT-TYPE
SYNTAX INTEGER {
hostTopNInPkts(1),
hostTopNOutPkts(2),
hostTopNInOctets(3),
hostTopNOutOctets(4),
hostTopNOutErrors(5),
hostTopNOutBroadcastPkts(6),
hostTopNOutMulticastPkts(7)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The variable for each host that the hostTopNRate
variable is based upon.
This object may not be modified if the associated
hostTopNStatus object is equal to valid(1)."
::= { hostTopNControlEntry 3 }
hostTopNTimeRemaining OBJECT-TYPE
SYNTAX Integer32
UNITS
"Seconds"
MAX-ACCESS read-create
STATUS current

hostTopNControlTable OBJECT-TYPE
SYNTAX SEQUENCE OF HostTopNControlEntry
MAX-ACCESS not-accessible
STATUS current

79

80

DESCRIPTION
"The number of seconds left in the report currently being
collected. When this object is modified by the management
station, a new collection is started, possibly aborting
a currently running report. The new value is used
as the requested duration of this report, which is
loaded into the associated hostTopNDuration object.

hostTopNStartTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when this top N report was
last started. In other words, this is the time that
the associated hostTopNTimeRemaining object was
modified to start the requested report."
::= { hostTopNControlEntry 8 }

When this object is set to a non-zero value, any


associated hostTopNEntries shall be made
inaccessible by the monitor. While the value of this
object is non-zero, it decrements by one per second until
it reaches zero. During this time, all associated
hostTopNEntries shall remain inaccessible. At the time
that this object decrements to zero, the report is made
accessible in the hostTopNTable. Thus, the hostTopN
table needs to be created only at the end of the collection
interval."
DEFVAL { 0 }
::= { hostTopNControlEntry 4 }

hostTopNOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The entity that configured this entry and is therefore
using the resources assigned to it."
::= { hostTopNControlEntry 9 }
hostTopNStatus OBJECT-TYPE
SYNTAX EntryStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this hostTopNControl entry.

hostTopNDuration OBJECT-TYPE
SYNTAX Integer32
UNITS
"Seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of seconds that this report has collected
during the last sampling interval, or if this
report is currently being collected, the number
of seconds that this report is being collected
during this sampling interval.

If this object is not equal to valid(1), all associated


hostTopNEntries shall be deleted by the agent."
::= { hostTopNControlEntry 10 }
hostTopNTable OBJECT-TYPE
SYNTAX SEQUENCE OF HostTopNEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of top N host entries."
::= { hostTopN 2 }

When the associated hostTopNTimeRemaining object is set,


this object shall be set by the probe to the same value
and shall not be modified until the next time
the hostTopNTimeRemaining is set.
This value shall be zero if no reports have been
requested for this hostTopNControlEntry."
DEFVAL { 0 }
::= { hostTopNControlEntry 5 }

hostTopNEntry OBJECT-TYPE
SYNTAX HostTopNEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of statistics for a host that is part of a top N
report. For example, an instance of the hostTopNRate
object might be named hostTopNRate.3.10"
INDEX { hostTopNReport, hostTopNIndex }
::= { hostTopNTable 1 }

hostTopNRequestedSize OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum number of hosts requested for the top N
table.

HostTopNEntry ::= SEQUENCE {


hostTopNReport
Integer32,
hostTopNIndex
Integer32,
hostTopNAddress
OCTET STRING,
hostTopNRate
Integer32
}

When this object is created or modified, the probe


should set hostTopNGrantedSize as closely to this
object as is possible for the particular probe
implementation and available resources."
DEFVAL { 10 }
::= { hostTopNControlEntry 6 }

hostTopNReport OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object identifies the top N report of which
this entry is a part. The set of hosts
identified by a particular value of this
object is part of the same report as identified
by the same value of the hostTopNControlIndex object."
::= { hostTopNEntry 1 }

hostTopNGrantedSize OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum number of hosts in the top N table.
When the associated hostTopNRequestedSize object is
created or modified, the probe should set this
object as closely to the requested value as is possible
for the particular implementation and available
resources. The probe must not lower this value except
as a result of a set to the associated
hostTopNRequestedSize object.

hostTopNIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in
the hostTopN table among those in the same report.
This index is between 1 and N, where N is the
number of entries in this table. Increasing values
of hostTopNIndex shall be assigned to entries with
decreasing values of hostTopNRate until index N

Hosts with the highest value of hostTopNRate shall be


placed in this table in decreasing order of this rate
until there is no more room or until there are no more
hosts."
::= { hostTopNControlEntry 7 }

81

82

is assigned to the entry with the lowest value of


hostTopNRate or there are no more hostTopNEntries."
::= { hostTopNEntry 2 }

matrixSDTable and the matrixDSTable on behalf of this


matrixControlEntry."
::= { matrixControlEntry 1 }

hostTopNAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The physical address of this host."
::= { hostTopNEntry 3 }

matrixControlDataSource OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object identifies the source of
the data from which this entry creates a traffic matrix.
This source can be any interface on this device. In
order to identify a particular interface, this object
shall identify the instance of the ifIndex object,
defined in RFC 2233 [17], for the desired
interface. For example, if an entry were to receive data
from interface #1, this object would be set to ifIndex.1.

hostTopNRate OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of change in the selected variable
during this sampling interval. The selected
variable is this host's instance of the object
selected by hostTopNRateBase."
::= { hostTopNEntry 4 }

The statistics in this group reflect all packets


on the local network segment attached to the identified
interface.

-- The Matrix Group


-- Implementation of the Matrix group is optional.
-- Consult the MODULE-COMPLIANCE macro for the authoritative
-- conformance information for this MIB.
--- The Matrix group consists of the matrixControlTable, matrixSDTable
-- and the matrixDSTable. These tables store statistics for a
-- particular conversation between two addresses. As the device
-- detects a new conversation, including those to a non-unicast
-- address, it creates a new entry in both of the matrix tables.
-- It must only create new entries based on information
-- received in good packets. If the monitoring device finds
-- itself short of resources, it may delete entries as needed.
-- It is suggested that the device delete the least recently used
-- entries first.
matrixControlTable OBJECT-TYPE
SYNTAX SEQUENCE OF MatrixControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of information entries for the
traffic matrix on each interface."
::= { matrix 1 }

An agent may or may not be able to tell if fundamental


changes to the media of the interface have occurred and
necessitate an invalidation of this entry. For example, a
hot-pluggable ethernet card could be pulled out and replaced
by a token-ring card. In such a case, if the agent has such
knowledge of the change, it is recommended that it
invalidate this entry.
This object may not be modified if the associated
matrixControlStatus object is equal to valid(1)."
::= { matrixControlEntry 2 }
matrixControlTableSize OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of matrixSDEntries in the matrixSDTable
for this interface. This must also be the value of
the number of entries in the matrixDSTable for this
interface."
::= { matrixControlEntry 3 }
matrixControlLastDeleteTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the last entry
was deleted from the portion of the matrixSDTable
or matrixDSTable associated with this matrixControlEntry.
If no deletions have occurred, this value shall be
zero."
::= { matrixControlEntry 4 }

matrixControlEntry OBJECT-TYPE
SYNTAX MatrixControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a traffic matrix on a particular
interface. For example, an instance of the
matrixControlLastDeleteTime object might be named
matrixControlLastDeleteTime.1"
INDEX { matrixControlIndex }
::= { matrixControlTable 1 }

matrixControlOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The entity that configured this entry and is therefore
using the resources assigned to it."
::= { matrixControlEntry 5 }

MatrixControlEntry ::= SEQUENCE {


matrixControlIndex
Integer32,
matrixControlDataSource OBJECT IDENTIFIER,
matrixControlTableSize
Integer32,
matrixControlLastDeleteTime TimeTicks,
matrixControlOwner
OwnerString,
matrixControlStatus
EntryStatus
}

matrixControlStatus OBJECT-TYPE
SYNTAX EntryStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this matrixControl entry.
If this object is not equal to valid(1), all associated
entries in the matrixSDTable and the matrixDSTable
shall be deleted by the agent."
::= { matrixControlEntry 6 }

matrixControlIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in the
matrixControl table. Each such entry defines
a function that discovers conversations on a particular
interface and places statistics about them in the

matrixSDTable OBJECT-TYPE
SYNTAX SEQUENCE OF MatrixSDEntry
MAX-ACCESS not-accessible

83

84

STATUS current
DESCRIPTION
"A list of traffic matrix entries indexed by
source and destination MAC address."
::= { matrix 2 }

SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bad packets transmitted from
the source address to the destination address."
::= { matrixSDEntry 6 }
-- Traffic matrix tables from destination to source

matrixSDEntry OBJECT-TYPE
SYNTAX MatrixSDEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A collection of statistics for communications between
two addresses on a particular interface. For example,
an instance of the matrixSDPkts object might be named
matrixSDPkts.1.6.8.0.32.27.3.176.6.8.0.32.10.8.113"
INDEX { matrixSDIndex,
matrixSDSourceAddress, matrixSDDestAddress }
::= { matrixSDTable 1 }

matrixDSTable OBJECT-TYPE
SYNTAX SEQUENCE OF MatrixDSEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of traffic matrix entries indexed by
destination and source MAC address."
::= { matrix 3 }

MatrixSDEntry ::= SEQUENCE {


matrixSDSourceAddress
OCTET STRING,
matrixSDDestAddress
OCTET STRING,
matrixSDIndex
Integer32,
matrixSDPkts
Counter32,
matrixSDOctets
Counter32,
matrixSDErrors
Counter32
}

matrixDSEntry OBJECT-TYPE
SYNTAX MatrixDSEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A collection of statistics for communications between
two addresses on a particular interface. For example,
an instance of the matrixSDPkts object might be named
matrixSDPkts.1.6.8.0.32.10.8.113.6.8.0.32.27.3.176"
INDEX { matrixDSIndex,
matrixDSDestAddress, matrixDSSourceAddress }
::= { matrixDSTable 1 }

matrixSDSourceAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The source physical address."
::= { matrixSDEntry 1 }

MatrixDSEntry ::= SEQUENCE {


matrixDSSourceAddress
OCTET STRING,
matrixDSDestAddress
OCTET STRING,
matrixDSIndex
Integer32,
matrixDSPkts
Counter32,
matrixDSOctets
Counter32,
matrixDSErrors
Counter32
}

matrixSDDestAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The destination physical address."
::= { matrixSDEntry 2 }

matrixDSSourceAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The source physical address."
::= { matrixDSEntry 1 }

matrixSDIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The set of collected matrix statistics of which
this entry is a part. The set of matrix statistics
identified by a particular value of this index
is associated with the same matrixControlEntry
as identified by the same value of matrixControlIndex."
::= { matrixSDEntry 3 }

matrixDSDestAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The destination physical address."
::= { matrixDSEntry 2 }

matrixSDPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets transmitted from the source
address to the destination address (this number includes
bad packets)."
::= { matrixSDEntry 4 }

matrixDSIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The set of collected matrix statistics of which
this entry is a part. The set of matrix statistics
identified by a particular value of this index
is associated with the same matrixControlEntry
as identified by the same value of matrixControlIndex."
::= { matrixDSEntry 3 }

matrixSDOctets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets (excluding framing bits but
including FCS octets) contained in all packets
transmitted from the source address to the
destination address."
::= { matrixSDEntry 5 }

matrixDSPkts OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets transmitted from the source
address to the destination address (this number includes
bad packets)."
::= { matrixDSEntry 4 }

matrixSDErrors OBJECT-TYPE

85

86

matrixDSOctets OBJECT-TYPE
SYNTAX Counter32
UNITS
"Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets (excluding framing bits
but including FCS octets) contained in all packets
transmitted from the source address to the
destination address."
::= { matrixDSEntry 5 }

filterStatus

EntryStatus

}
filterIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry
in the filter table. Each such entry defines
one filter that is to be applied to every packet
received on an interface."
::= { filterEntry 1 }

matrixDSErrors OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bad packets transmitted from
the source address to the destination address."
::= { matrixDSEntry 6 }

filterChannelIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object identifies the channel of which this filter
is a part. The filters identified by a particular value
of this object are associated with the same channel as
identified by the same value of the channelIndex object."
::= { filterEntry 2 }

-- The Filter Group


-- Implementation of the Filter group is optional.
-- Consult the MODULE-COMPLIANCE macro for the authoritative
-- conformance information for this MIB.
--- The Filter group allows packets to be captured with an
-- arbitrary filter expression. A logical data and
-- event stream or "channel" is formed by the packets
-- that match the filter expression.
--- This filter mechanism allows the creation of an arbitrary
-- logical expression with which to filter packets. Each
-- filter associated with a channel is OR'ed with the others.
-- Within a filter, any bits checked in the data and status are
-- AND'ed with respect to other bits in the same filter. The
-- NotMask also allows for checking for inequality. Finally,
-- the channelAcceptType object allows for inversion of the
-- whole equation.
--- If a management station wishes to receive a trap to alert it
-- that new packets have been captured and are available for
-- download, it is recommended that it set up an alarm entry that
-- monitors the value of the relevant channelMatches instance.
--- The channel can be turned on or off, and can also
-- generate events when packets pass through it.
filterTable OBJECT-TYPE
SYNTAX SEQUENCE OF FilterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of packet filter entries."
::= { filter 1 }

filterPktDataOffset OBJECT-TYPE
SYNTAX Integer32
UNITS
"Octets"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The offset from the beginning of each packet where
a match of packet data will be attempted. This offset
is measured from the point in the physical layer
packet after the framing bits, if any. For example,
in an Ethernet frame, this point is at the beginning of
the destination MAC address.
This object may not be modified if the associated
filterStatus object is equal to valid(1)."
DEFVAL { 0 }
::= { filterEntry 3 }
filterPktData OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The data that is to be matched with the input packet.
For each packet received, this filter and the accompanying
filterPktDataMask and filterPktDataNotMask will be
adjusted for the offset. The only bits relevant to this
match algorithm are those that have the corresponding
filterPktDataMask bit equal to one. The following three
rules are then applied to every packet:
(1) If the packet is too short and does not have data
corresponding to part of the filterPktData, the packet
will fail this data match.

filterEntry OBJECT-TYPE
SYNTAX FilterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of parameters for a packet filter applied on a
particular interface. As an example, an instance of the
filterPktData object might be named filterPktData.12"
INDEX { filterIndex }
::= { filterTable 1 }

(2) For each relevant bit from the packet with the
corresponding filterPktDataNotMask bit set to zero, if
the bit from the packet is not equal to the corresponding
bit from the filterPktData, then the packet will fail
this data match.
(3) If for every relevant bit from the packet with the
corresponding filterPktDataNotMask bit set to one, the
bit from the packet is equal to the corresponding bit
from the filterPktData, then the packet will fail this
data match.

FilterEntry ::= SEQUENCE {


filterIndex
Integer32,
filterChannelIndex
Integer32,
filterPktDataOffset
Integer32,
filterPktData
OCTET STRING,
filterPktDataMask
OCTET STRING,
filterPktDataNotMask
OCTET STRING,
filterPktStatus
Integer32,
filterPktStatusMask
Integer32,
filterPktStatusNotMask
Integer32,
filterOwner
OwnerString,

Any packets that have not failed any of the three matches
above have passed this data match. In particular, a zero
length filter will match any packet.
This object may not be modified if the associated
filterStatus object is equal to valid(1)."
::= { filterEntry 4 }

87

88

filterPktDataMask OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The mask that is applied to the match process.
After adjusting this mask for the offset, only those
bits in the received packet that correspond to bits set
in this mask are relevant for further processing by the
match algorithm. The offset is applied to filterPktDataMask
in the same way it is applied to the filter. For the
purposes of the matching algorithm, if the associated
filterPktData object is longer than this mask, this mask is
conceptually extended with '1' bits until it reaches the
length of the filterPktData object.

bit #
0
1
2

Error
Packet is longer than 1518 octets
Packet is shorter than 64 octets
Packet experienced a CRC or Alignment error

For example, an Ethernet fragment would have a


value of 6 (2^1 + 2^2).
As this MIB is expanded to new media types, this object
will have other media-specific errors defined.
For the purposes of this status matching algorithm, if the
packet status is longer than this filterPktStatus object,
this object is conceptually extended with '0' bits until it
reaches the size of the packet status.

This object may not be modified if the associated


filterStatus object is equal to valid(1)."
::= { filterEntry 5 }

This object may not be modified if the associated


filterStatus object is equal to valid(1)."
::= { filterEntry 7 }

filterPktDataNotMask OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The inversion mask that is applied to the match
process. After adjusting this mask for the offset,
those relevant bits in the received packet that correspond
to bits cleared in this mask must all be equal to their
corresponding bits in the filterPktData object for the packet
to be accepted. In addition, at least one of those relevant
bits in the received packet that correspond to bits set in
this mask must be different to its corresponding bit in the
filterPktData object.

filterPktStatusMask OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The mask that is applied to the status match process.
Only those bits in the received packet that correspond to
bits set in this mask are relevant for further processing
by the status match algorithm. For the purposes
of the matching algorithm, if the associated filterPktStatus
object is longer than this mask, this mask is conceptually
extended with '1' bits until it reaches the size of the
filterPktStatus. In addition, if a packet status is longer
than this mask, this mask is conceptually extended with '0'
bits until it reaches the size of the packet status.

For the purposes of the matching algorithm, if the associated


filterPktData object is longer than this mask, this mask is
conceptually extended with '0' bits until it reaches the
length of the filterPktData object.

This object may not be modified if the associated


filterStatus object is equal to valid(1)."
::= { filterEntry 8 }

This object may not be modified if the associated


filterStatus object is equal to valid(1)."
::= { filterEntry 6 }

filterPktStatusNotMask OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The inversion mask that is applied to the status match
process. Those relevant bits in the received packet status
that correspond to bits cleared in this mask must all be
equal to their corresponding bits in the filterPktStatus
object for the packet to be accepted. In addition, at least
one of those relevant bits in the received packet status
that correspond to bits set in this mask must be different
to its corresponding bit in the filterPktStatus object for
the packet to be accepted.

filterPktStatus OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status that is to be matched with the input packet.
The only bits relevant to this match algorithm are those that
have the corresponding filterPktStatusMask bit equal to one.
The following two rules are then applied to every packet:
(1) For each relevant bit from the packet status with the
corresponding filterPktStatusNotMask bit set to zero, if
the bit from the packet status is not equal to the
corresponding bit from the filterPktStatus, then the
packet will fail this status match.

For the purposes of the matching algorithm, if the associated


filterPktStatus object or a packet status is longer than this
mask, this mask is conceptually extended with '0' bits until
it reaches the longer of the lengths of the filterPktStatus
object and the packet status.

(2) If for every relevant bit from the packet status with the
corresponding filterPktStatusNotMask bit set to one, the
bit from the packet status is equal to the corresponding
bit from the filterPktStatus, then the packet will fail
this status match.

This object may not be modified if the associated


filterStatus object is equal to valid(1)."
::= { filterEntry 9 }

Any packets that have not failed either of the two matches
above have passed this status match. In particular, a zero
length status filter will match any packet's status.

filterOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The entity that configured this entry and is therefore
using the resources assigned to it."
::= { filterEntry 10 }

The value of the packet status is a sum. This sum


initially takes the value zero. Then, for each
error, E, that has been discovered in this packet,
2 raised to a value representing E is added to the sum.
The errors and the bits that represent them are dependent
on the media type of the interface that this channel
is receiving packets from.

filterStatus OBJECT-TYPE
SYNTAX EntryStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION

The errors defined for a packet captured off of an


Ethernet interface are as follows:

89

90

"The status of this filter entry."


::= { filterEntry 11 }

channelAcceptType OBJECT-TYPE
SYNTAX INTEGER {
acceptMatched(1),
acceptFailed(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object controls the action of the filters
associated with this channel. If this object is equal
to acceptMatched(1), packets will be accepted to this
channel if they are accepted by both the packet data and
packet status matches of an associated filter. If
this object is equal to acceptFailed(2), packets will
be accepted to this channel only if they fail either
the packet data match or the packet status match of
each of the associated filters.

channelTable OBJECT-TYPE
SYNTAX SEQUENCE OF ChannelEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of packet channel entries."
::= { filter 2 }
channelEntry OBJECT-TYPE
SYNTAX ChannelEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of parameters for a packet channel applied on a
particular interface. As an example, an instance of the
channelMatches object might be named channelMatches.3"
INDEX { channelIndex }
::= { channelTable 1 }

In particular, a channel with no associated filters will


match no packets if set to acceptMatched(1) case and will
match all packets in the acceptFailed(2) case.

ChannelEntry ::= SEQUENCE {


channelIndex
Integer32,
channelIfIndex
Integer32,
channelAcceptType
INTEGER,
channelDataControl
INTEGER,
channelTurnOnEventIndex
Integer32,
channelTurnOffEventIndex Integer32,
channelEventIndex
Integer32,
channelEventStatus
INTEGER,
channelMatches
Counter32,
channelDescription
DisplayString,
channelOwner
OwnerString,
channelStatus
EntryStatus
}

This object may not be modified if the associated


channelStatus object is equal to valid(1)."
::= { channelEntry 3 }
channelDataControl OBJECT-TYPE
SYNTAX INTEGER {
on(1),
off(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object controls the flow of data through this channel.
If this object is on(1), data, status and events flow
through this channel. If this object is off(2), data,
status and events will not flow through this channel."
DEFVAL { off }
::= { channelEntry 4 }

channelIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in the channel
table. Each such entry defines one channel, a logical
data and event stream.

channelTurnOnEventIndex OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The value of this object identifies the event
that is configured to turn the associated
channelDataControl from off to on when the event is
generated. The event identified by a particular value
of this object is the same event as identified by the
same value of the eventIndex object. If there is no
corresponding entry in the eventTable, then no
association exists. In fact, if no event is intended
for this channel, channelTurnOnEventIndex must be
set to zero, a non-existent event index.
This object may not be modified if the associated
channelStatus object is equal to valid(1)."
::= { channelEntry 5 }

It is suggested that before creating a channel, an


application should scan all instances of the
filterChannelIndex object to make sure that there are no
pre-existing filters that would be inadvertently be linked
to the channel."
::= { channelEntry 1 }
channelIfIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The value of this object uniquely identifies the
interface on this remote network monitoring device to which
the associated filters are applied to allow data into this
channel. The interface identified by a particular value
of this object is the same interface as identified by the
same value of the ifIndex object, defined in RFC 2233 [17].

channelTurnOffEventIndex OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The value of this object identifies the event
that is configured to turn the associated
channelDataControl from on to off when the event is
generated. The event identified by a particular value
of this object is the same event as identified by the
same value of the eventIndex object. If there is no
corresponding entry in the eventTable, then no
association exists. In fact, if no event is intended
for this channel, channelTurnOffEventIndex must be
set to zero, a non-existent event index.

The filters in this group are applied to all packets on


the local network segment attached to the identified
interface.
An agent may or may not be able to tell if fundamental
changes to the media of the interface have occurred and
necessitate an invalidation of this entry. For example, a
hot-pluggable ethernet card could be pulled out and replaced
by a token-ring card. In such a case, if the agent has such
knowledge of the change, it is recommended that it
invalidate this entry.
This object may not be modified if the associated
channelStatus object is equal to valid(1)."
::= { channelEntry 2 }

This object may not be modified if the associated


channelStatus object is equal to valid(1)."
::= { channelEntry 6 }

91

92

channelEventIndex OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The value of this object identifies the event
that is configured to be generated when the
associated channelDataControl is on and a packet
is matched. The event identified by a particular value
of this object is the same event as identified by the
same value of the eventIndex object. If there is no
corresponding entry in the eventTable, then no
association exists. In fact, if no event is intended
for this channel, channelEventIndex must be
set to zero, a non-existent event index.

channelStatus OBJECT-TYPE
SYNTAX EntryStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this channel entry."
::= { channelEntry 12 }
-- The Packet Capture Group
-- Implementation of the Packet Capture group is optional. The Packet
-- Capture Group requires implementation of the Filter Group.
-- Consult the MODULE-COMPLIANCE macro for the authoritative
-- conformance information for this MIB.
--- The Packet Capture group allows packets to be captured
-- upon a filter match. The bufferControlTable controls
-- the captured packets output from a channel that is
-- associated with it. The captured packets are placed
-- in entries in the captureBufferTable. These entries are
-- associated with the bufferControlEntry on whose behalf they
-- were stored.

This object may not be modified if the associated


channelStatus object is equal to valid(1)."
::= { channelEntry 7 }
channelEventStatus OBJECT-TYPE
SYNTAX INTEGER {
eventReady(1),
eventFired(2),
eventAlwaysReady(3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The event status of this channel.

bufferControlTable OBJECT-TYPE
SYNTAX SEQUENCE OF BufferControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of buffers control entries."
::= { capture 1 }

If this channel is configured to generate events


when packets are matched, a means of controlling
the flow of those events is often needed. When
this object is equal to eventReady(1), a single
event may be generated, after which this object
will be set by the probe to eventFired(2). While
in the eventFired(2) state, no events will be
generated until the object is modified to
eventReady(1) (or eventAlwaysReady(3)). The
management station can thus easily respond to a
notification of an event by re-enabling this object.

bufferControlEntry OBJECT-TYPE
SYNTAX BufferControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of parameters that control the collection of a stream
of packets that have matched filters. As an example, an
instance of the bufferControlCaptureSliceSize object might
be named bufferControlCaptureSliceSize.3"
INDEX { bufferControlIndex }
::= { bufferControlTable 1 }

If the management station wishes to disable this


flow control and allow events to be generated
at will, this object may be set to
eventAlwaysReady(3). Disabling the flow control
is discouraged as it can result in high network
traffic or other performance problems."
DEFVAL { eventReady }
::= { channelEntry 8 }

BufferControlEntry ::= SEQUENCE {


bufferControlIndex
Integer32,
bufferControlChannelIndex
Integer32,
bufferControlFullStatus
INTEGER,
bufferControlFullAction
INTEGER,
bufferControlCaptureSliceSize Integer32,
bufferControlDownloadSliceSize Integer32,
bufferControlDownloadOffset
Integer32,
bufferControlMaxOctetsRequested Integer32,
bufferControlMaxOctetsGranted Integer32,
bufferControlCapturedPackets Integer32,
bufferControlTurnOnTime
TimeTicks,
bufferControlOwner
OwnerString,
bufferControlStatus
EntryStatus
}

channelMatches OBJECT-TYPE
SYNTAX Counter32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times this channel has matched a packet.
Note that this object is updated even when
channelDataControl is set to off."
::= { channelEntry 9 }
channelDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..127))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A comment describing this channel."
::= { channelEntry 10 }

bufferControlIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry
in the bufferControl table. The value of this
index shall never be zero. Each such
entry defines one set of packets that is
captured and controlled by one or more filters."
::= { bufferControlEntry 1 }

channelOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The entity that configured this entry and is therefore
using the resources assigned to it."
::= { channelEntry 11 }

bufferControlChannelIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An index that identifies the channel that is the
source of packets for this bufferControl table.
The channel identified by a particular value of this

93

94

index is the same as identified by the same value of


the channelIndex object.

in this capture buffer that will be returned in


an SNMP retrieval of that packet. For example,
if 500 octets of a packet have been stored in the
associated capture buffer, the associated
bufferControlDownloadOffset is 0, and this
object is set to 100, then the captureBufferPacket
object that contains the packet will contain only
the first 100 octets of the packet.

This object may not be modified if the associated


bufferControlStatus object is equal to valid(1)."
::= { bufferControlEntry 2 }
bufferControlFullStatus OBJECT-TYPE
SYNTAX INTEGER {
spaceAvailable(1),
full(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object shows whether the buffer has room to
accept new packets or if it is full.

A prudent manager will take into account possible


interoperability or fragmentation problems that may
occur if the download slice size is set too large.
In particular, conformant SNMP implementations are not
required to accept messages whose length exceeds 484
octets, although they are encouraged to support larger
datagrams whenever feasible."
DEFVAL { 100 }
::= { bufferControlEntry 6 }

If the status is spaceAvailable(1), the buffer is


accepting new packets normally. If the status is
full(2) and the associated bufferControlFullAction
object is wrapWhenFull, the buffer is accepting new
packets by deleting enough of the oldest packets
to make room for new ones as they arrive. Otherwise,
if the status is full(2) and the
bufferControlFullAction object is lockWhenFull,
then the buffer has stopped collecting packets.

bufferControlDownloadOffset OBJECT-TYPE
SYNTAX Integer32
UNITS
"Octets"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The offset of the first octet of each packet
in this capture buffer that will be returned in
an SNMP retrieval of that packet. For example,
if 500 octets of a packet have been stored in the
associated capture buffer and this object is set to
100, then the captureBufferPacket object that
contains the packet will contain bytes starting
100 octets into the packet."
DEFVAL { 0 }
::= { bufferControlEntry 7 }

When this object is set to full(2) the probe must


not later set it to spaceAvailable(1) except in the
case of a significant gain in resources such as
an increase of bufferControlOctetsGranted. In
particular, the wrap-mode action of deleting old
packets to make room for newly arrived packets
must not affect the value of this object."
::= { bufferControlEntry 3 }

bufferControlMaxOctetsRequested OBJECT-TYPE
SYNTAX Integer32
UNITS
"Octets"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The requested maximum number of octets to be
saved in this captureBuffer, including any
implementation-specific overhead. If this variable
is set to -1, the capture buffer will save as many
octets as is possible.

bufferControlFullAction OBJECT-TYPE
SYNTAX INTEGER {
lockWhenFull(1),
wrapWhenFull(2) -- FIFO
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Controls the action of the buffer when it
reaches the full status. When in the lockWhenFull(1)
state and a packet is added to the buffer that
fills the buffer, the bufferControlFullStatus will
be set to full(2) and this buffer will stop capturing
packets."
::= { bufferControlEntry 4 }

When this object is created or modified, the probe


should set bufferControlMaxOctetsGranted as closely
to this object as is possible for the particular probe
implementation and available resources. However, if
the object has the special value of -1, the probe
must set bufferControlMaxOctetsGranted to -1."
DEFVAL { -1 }
::= { bufferControlEntry 8 }

bufferControlCaptureSliceSize OBJECT-TYPE
SYNTAX Integer32
UNITS
"Octets"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum number of octets of each packet
that will be saved in this capture buffer.
For example, if a 1500 octet packet is received by
the probe and this object is set to 500, then only
500 octets of the packet will be stored in the
associated capture buffer. If this variable is set
to 0, the capture buffer will save as many octets
as is possible.

bufferControlMaxOctetsGranted OBJECT-TYPE
SYNTAX Integer32
UNITS
"Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum number of octets that can be
saved in this captureBuffer, including overhead.
If this variable is -1, the capture buffer will save
as many octets as possible.

This object may not be modified if the associated


bufferControlStatus object is equal to valid(1)."
DEFVAL { 100 }
::= { bufferControlEntry 5 }

When the bufferControlMaxOctetsRequested object is


created or modified, the probe should set this object
as closely to the requested value as is possible for the
particular probe implementation and available resources.
However, if the request object has the special value
of -1, the probe must set this object to -1.

bufferControlDownloadSliceSize OBJECT-TYPE
SYNTAX Integer32
UNITS
"Octets"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum number of octets of each packet

The probe must not lower this value except as a result of


a modification to the associated
bufferControlMaxOctetsRequested object.
When this maximum number of octets is reached

95

96

and a new packet is to be added to this


capture buffer and the corresponding
bufferControlFullAction is set to wrapWhenFull(2),
enough of the oldest packets associated with this
capture buffer shall be deleted by the agent so
that the new packet can be added. If the corresponding
bufferControlFullAction is set to lockWhenFull(1),
the new packet shall be discarded. In either case,
the probe must set bufferControlFullStatus to
full(2).

captureBufferControlIndex Integer32,
captureBufferIndex
Integer32,
captureBufferPacketID
Integer32,
captureBufferPacketData OCTET STRING,
captureBufferPacketLength Integer32,
captureBufferPacketTime Integer32,
captureBufferPacketStatus Integer32
}
captureBufferControlIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The index of the bufferControlEntry with which
this packet is associated."
::= { captureBufferEntry 1 }

When the value of this object changes to a value less


than the current value, entries are deleted from
the captureBufferTable associated with this
bufferControlEntry. Enough of the
oldest of these captureBufferEntries shall be
deleted by the agent so that the number of octets
used remains less than or equal to the new value of
this object.

captureBufferIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry
in the captureBuffer table associated with a
particular bufferControlEntry. This index will
start at 1 and increase by one for each new packet
added with the same captureBufferControlIndex.

When the value of this object changes to a value greater


than the current value, the number of associated
captureBufferEntries may be allowed to grow."
::= { bufferControlEntry 9 }
bufferControlCapturedPackets OBJECT-TYPE
SYNTAX Integer32
UNITS
"Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets currently in this captureBuffer."
::= { bufferControlEntry 10 }

Should this value reach 2147483647, the next packet


added with the same captureBufferControlIndex shall
cause this value to wrap around to 1."
::= { captureBufferEntry 2 }

bufferControlTurnOnTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when this capture buffer was
first turned on."
::= { bufferControlEntry 11 }

captureBufferPacketID OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that describes the order of packets
that are received on a particular interface.
The packetID of a packet captured on an
interface is defined to be greater than the
packetID's of all packets captured previously on
the same interface. As the captureBufferPacketID
object has a maximum positive value of 2^31 - 1,
any captureBufferPacketID object shall have the
value of the associated packet's packetID mod 2^31."
::= { captureBufferEntry 3 }

bufferControlOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The entity that configured this entry and is therefore
using the resources assigned to it."
::= { bufferControlEntry 12 }

captureBufferPacketData OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The data inside the packet, starting at the beginning
of the packet plus any offset specified in the
associated bufferControlDownloadOffset, including any
link level headers. The length of the data in this object
is the minimum of the length of the captured packet minus
the offset, the length of the associated
bufferControlCaptureSliceSize minus the offset, and the
associated bufferControlDownloadSliceSize. If this minimum
is less than zero, this object shall have a length of zero."
::= { captureBufferEntry 4 }

bufferControlStatus OBJECT-TYPE
SYNTAX EntryStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this buffer Control Entry."
::= { bufferControlEntry 13 }
captureBufferTable OBJECT-TYPE
SYNTAX SEQUENCE OF CaptureBufferEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of packets captured off of a channel."
::= { capture 2 }

captureBufferPacketLength OBJECT-TYPE
SYNTAX Integer32
UNITS
"Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The actual length (off the wire) of the packet stored
in this entry, including FCS octets."
::= { captureBufferEntry 5 }

captureBufferEntry OBJECT-TYPE
SYNTAX CaptureBufferEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A packet captured off of an attached network. As an
example, an instance of the captureBufferPacketData
object might be named captureBufferPacketData.3.1783"
INDEX { captureBufferControlIndex, captureBufferIndex }
::= { captureBufferTable 1 }

captureBufferPacketTime OBJECT-TYPE
SYNTAX Integer32
UNITS
"Milliseconds"
MAX-ACCESS read-only

CaptureBufferEntry ::= SEQUENCE {

97

98

STATUS current
DESCRIPTION
"The number of milliseconds that had passed since
this capture buffer was first turned on when this
packet was captured."
::= { captureBufferEntry 6 }

DESCRIPTION
"A set of parameters that describe an event to be generated
when certain conditions are met. As an example, an instance
of the eventLastTimeSent object might be named
eventLastTimeSent.6"
INDEX { eventIndex }
::= { eventTable 1 }

captureBufferPacketStatus OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A value which indicates the error status of this packet.

EventEntry ::= SEQUENCE {


eventIndex
Integer32,
eventDescription DisplayString,
eventType
INTEGER,
eventCommunity OCTET STRING,
eventLastTimeSent TimeTicks,
eventOwner
OwnerString,
eventStatus
EntryStatus
}

The value of this object is defined in the same way as


filterPktStatus. The value is a sum. This sum
initially takes the value zero. Then, for each
error, E, that has been discovered in this packet,
2 raised to a value representing E is added to the sum.

eventIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in the
event table. Each such entry defines one event that
is to be generated when the appropriate conditions
occur."
::= { eventEntry 1 }

The errors defined for a packet captured off of an


Ethernet interface are as follows:
bit #
0
1
2
3

Error
Packet is longer than 1518 octets
Packet is shorter than 64 octets
Packet experienced a CRC or Alignment error
First packet in this capture buffer after
it was detected that some packets were
not processed correctly.
4 Packet's order in buffer is only approximate
(May only be set for packets sent from
the probe)

eventDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..127))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A comment describing this event entry."
::= { eventEntry 2 }

For example, an Ethernet fragment would have a


value of 6 (2^1 + 2^2).
As this MIB is expanded to new media types, this object
will have other media-specific errors defined."
::= { captureBufferEntry 7 }
-- The Event Group
-- Implementation of the Event group is optional.
-- Consult the MODULE-COMPLIANCE macro for the authoritative
-- conformance information for this MIB.
--- The Event group controls the generation and notification
-- of events from this device. Each entry in the eventTable
-- describes the parameters of the event that can be triggered.
-- Each event entry is fired by an associated condition located
-- elsewhere in the MIB. An event entry may also be associated
-- with a function elsewhere in the MIB that will be executed
-- when the event is generated. For example, a channel may
-- be turned on or off by the firing of an event.
--- Each eventEntry may optionally specify that a log entry
-- be created on its behalf whenever the event occurs.
-- Each entry may also specify that notification should
-- occur by way of SNMP trap messages. In this case, the
-- community for the trap message is given in the associated
-- eventCommunity object. The enterprise and specific trap
-- fields of the trap are determined by the condition that
-- triggered the event. Two traps are defined: risingAlarm and
-- fallingAlarm. If the eventTable is triggered by a condition
-- specified elsewhere, the enterprise and specific trap fields
-- must be specified for traps generated for that condition.
eventTable OBJECT-TYPE
SYNTAX SEQUENCE OF EventEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of events to be generated."
::= { event 1 }

eventType OBJECT-TYPE
SYNTAX INTEGER {
none(1),
log(2),
snmptrap(3), -- send an SNMP trap
logandtrap(4)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The type of notification that the probe will make
about this event. In the case of log, an entry is
made in the log table for each event. In the case of
snmp-trap, an SNMP trap is sent to one or more
management stations."
::= { eventEntry 3 }
eventCommunity OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..127))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If an SNMP trap is to be sent, it will be sent to
the SNMP community specified by this octet string."
::= { eventEntry 4 }
eventLastTimeSent OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time this event
entry last generated an event. If this entry has
not generated any events, this value will be
zero."
::= { eventEntry 5 }
eventOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The entity that configured this entry and is therefore

eventEntry OBJECT-TYPE
SYNTAX EventEntry
MAX-ACCESS not-accessible
STATUS current

99

100

using the resources assigned to it.

STATUS current
DESCRIPTION
"The value of sysUpTime when this log entry was created."
::= { logEntry 3 }

If this object contains a string starting with 'monitor'


and has associated entries in the log table, all connected
management stations should retrieve those log entries,
as they may have significance to all management stations
connected to this device"
::= { eventEntry 6 }

logDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An implementation dependent description of the
event that activated this log entry."
::= { logEntry 4 }

eventStatus OBJECT-TYPE
SYNTAX EntryStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this event entry.

-- Remote Network Monitoring Traps

If this object is not equal to valid(1), all associated


log entries shall be deleted by the agent."
::= { eventEntry 7 }

rmonEventsV2 OBJECT-IDENTITY
STATUS
current
DESCRIPTION "Definition point for RMON notifications."
::= { rmon 0 }

-logTable OBJECT-TYPE
SYNTAX SEQUENCE OF LogEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of events that have been logged."
::= { event 2 }

risingAlarm NOTIFICATION-TYPE
OBJECTS { alarmIndex, alarmVariable, alarmSampleType,
alarmValue, alarmRisingThreshold }
STATUS current
DESCRIPTION
"The SNMP trap that is generated when an alarm
entry crosses its rising threshold and generates
an event that is configured for sending SNMP
traps."
::= { rmonEventsV2 1 }

logEntry OBJECT-TYPE
SYNTAX LogEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of data describing an event that has been
logged. For example, an instance of the logDescription
object might be named logDescription.6.47"
INDEX { logEventIndex, logIndex }
::= { logTable 1 }

fallingAlarm NOTIFICATION-TYPE
OBJECTS { alarmIndex, alarmVariable, alarmSampleType,
alarmValue, alarmFallingThreshold }
STATUS current
DESCRIPTION
"The SNMP trap that is generated when an alarm
entry crosses its falling threshold and generates
an event that is configured for sending SNMP
traps."
::= { rmonEventsV2 2 }

LogEntry ::= SEQUENCE {


logEventIndex
Integer32,
logIndex
Integer32,
logTime
TimeTicks,
logDescription
DisplayString
}

-- Conformance information
rmonCompliances OBJECT IDENTIFIER ::= { rmonConformance 9 }
rmonGroups OBJECT IDENTIFIER ::= { rmonConformance 10 }

logEventIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The event entry that generated this log
entry. The log identified by a particular
value of this index is associated with the same
eventEntry as identified by the same value
of eventIndex."
::= { logEntry 1 }

-- Compliance Statements
rmonCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The requirements for conformance to the RMON MIB. At least
one of the groups in this module must be implemented to
conform to the RMON MIB. Implementations of this MIB
must also implement the system group of MIB-II [16] and the
IF-MIB [17]."
MODULE -- this module

logIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry
in the log table amongst those generated by the
same eventEntries. These indexes are
assigned beginning with 1 and increase by one
with each new log entry. The association
between values of logIndex and logEntries
is fixed for the lifetime of each logEntry.
The agent may choose to delete the oldest
instances of logEntry as required because of
lack of memory. It is an implementation-specific
matter as to when this deletion may occur."
::= { logEntry 2 }

GROUP rmonEtherStatsGroup
DESCRIPTION
"The RMON Ethernet Statistics Group is optional."
GROUP rmonHistoryControlGroup
DESCRIPTION
"The RMON History Control Group is optional."
GROUP rmonEthernetHistoryGroup
DESCRIPTION
"The RMON Ethernet History Group is optional."
GROUP rmonAlarmGroup
DESCRIPTION
"The RMON Alarm Group is optional."
GROUP rmonHostGroup
DESCRIPTION
"The RMON Host Group is mandatory when the
rmonHostTopNGroup is implemented."

logTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only

101

102

GROUP rmonHostTopNGroup
DESCRIPTION
"The RMON Host Top N Group is optional."

DESCRIPTION
"The RMON Alarm Group."
::= { rmonGroups 4 }

GROUP rmonMatrixGroup
DESCRIPTION
"The RMON Matrix Group is optional."

rmonHostGroup OBJECT-GROUP
OBJECTS {
hostControlIndex, hostControlDataSource,
hostControlTableSize, hostControlLastDeleteTime,
hostControlOwner, hostControlStatus,
hostAddress, hostCreationOrder, hostIndex,
hostInPkts, hostOutPkts, hostInOctets,
hostOutOctets, hostOutErrors, hostOutBroadcastPkts,
hostOutMulticastPkts, hostTimeAddress,
hostTimeCreationOrder, hostTimeIndex,
hostTimeInPkts, hostTimeOutPkts, hostTimeInOctets,
hostTimeOutOctets, hostTimeOutErrors,
hostTimeOutBroadcastPkts, hostTimeOutMulticastPkts
}
STATUS current
DESCRIPTION
"The RMON Host Group."
::= { rmonGroups 5 }

GROUP rmonFilterGroup
DESCRIPTION
"The RMON Filter Group is mandatory when the
rmonPacketCaptureGroup is implemented."
GROUP rmonPacketCaptureGroup
DESCRIPTION
"The RMON Packet Capture Group is optional."
GROUP rmonEventGroup
DESCRIPTION
"The RMON Event Group is mandatory when the
rmonAlarmGroup is implemented."
::= { rmonCompliances 1 }
rmonEtherStatsGroup OBJECT-GROUP
OBJECTS {
etherStatsIndex, etherStatsDataSource,
etherStatsDropEvents, etherStatsOctets, etherStatsPkts,
etherStatsBroadcastPkts, etherStatsMulticastPkts,
etherStatsCRCAlignErrors, etherStatsUndersizePkts,
etherStatsOversizePkts, etherStatsFragments,
etherStatsJabbers, etherStatsCollisions,
etherStatsPkts64Octets, etherStatsPkts65to127Octets,
etherStatsPkts128to255Octets,
etherStatsPkts256to511Octets,
etherStatsPkts512to1023Octets,
etherStatsPkts1024to1518Octets,
etherStatsOwner, etherStatsStatus
}
STATUS current
DESCRIPTION
"The RMON Ethernet Statistics Group."
::= { rmonGroups 1 }

rmonHostTopNGroup OBJECT-GROUP
OBJECTS {
hostTopNControlIndex, hostTopNHostIndex,
hostTopNRateBase, hostTopNTimeRemaining,
hostTopNDuration, hostTopNRequestedSize,
hostTopNGrantedSize, hostTopNStartTime,
hostTopNOwner, hostTopNStatus,
hostTopNReport, hostTopNIndex,
hostTopNAddress, hostTopNRate
}
STATUS current
DESCRIPTION
"The RMON Host Top 'N' Group."
::= { rmonGroups 6 }
rmonMatrixGroup OBJECT-GROUP
OBJECTS {
matrixControlIndex, matrixControlDataSource,
matrixControlTableSize, matrixControlLastDeleteTime,
matrixControlOwner, matrixControlStatus,
matrixSDSourceAddress, matrixSDDestAddress,
matrixSDIndex, matrixSDPkts,
matrixSDOctets, matrixSDErrors,
matrixDSSourceAddress, matrixDSDestAddress,
matrixDSIndex, matrixDSPkts,
matrixDSOctets, matrixDSErrors
}
STATUS current
DESCRIPTION
"The RMON Matrix Group."
::= { rmonGroups 7 }

rmonHistoryControlGroup OBJECT-GROUP
OBJECTS {
historyControlIndex, historyControlDataSource,
historyControlBucketsRequested,
historyControlBucketsGranted, historyControlInterval,
historyControlOwner, historyControlStatus
}
STATUS current
DESCRIPTION
"The RMON History Control Group."
::= { rmonGroups 2 }
rmonEthernetHistoryGroup OBJECT-GROUP
OBJECTS {
etherHistoryIndex, etherHistorySampleIndex,
etherHistoryIntervalStart, etherHistoryDropEvents,
etherHistoryOctets, etherHistoryPkts,
etherHistoryBroadcastPkts, etherHistoryMulticastPkts,
etherHistoryCRCAlignErrors, etherHistoryUndersizePkts,
etherHistoryOversizePkts, etherHistoryFragments,
etherHistoryJabbers, etherHistoryCollisions,
etherHistoryUtilization
}
STATUS current
DESCRIPTION
"The RMON Ethernet History Group."
::= { rmonGroups 3 }

rmonFilterGroup OBJECT-GROUP
OBJECTS {
filterIndex, filterChannelIndex, filterPktDataOffset,
filterPktData, filterPktDataMask,
filterPktDataNotMask, filterPktStatus,
filterPktStatusMask, filterPktStatusNotMask,
filterOwner, filterStatus,
channelIndex, channelIfIndex, channelAcceptType,
channelDataControl, channelTurnOnEventIndex,
channelTurnOffEventIndex, channelEventIndex,
channelEventStatus, channelMatches,
channelDescription, channelOwner, channelStatus
}
STATUS current
DESCRIPTION
"The RMON Filter Group."
::= { rmonGroups 8 }

rmonAlarmGroup OBJECT-GROUP
OBJECTS {
alarmIndex, alarmInterval, alarmVariable,
alarmSampleType, alarmValue, alarmStartupAlarm,
alarmRisingThreshold, alarmFallingThreshold,
alarmRisingEventIndex, alarmFallingEventIndex,
alarmOwner, alarmStatus
}
STATUS current

rmonPacketCaptureGroup OBJECT-GROUP
OBJECTS {
bufferControlIndex, bufferControlChannelIndex,
bufferControlFullStatus, bufferControlFullAction,
bufferControlCaptureSliceSize,
bufferControlDownloadSliceSize,
bufferControlDownloadOffset,

103

104

bufferControlMaxOctetsRequested,
bufferControlMaxOctetsGranted,
bufferControlCapturedPackets,
bufferControlTurnOnTime,
bufferControlOwner, bufferControlStatus,
captureBufferControlIndex, captureBufferIndex,
captureBufferPacketID, captureBufferPacketData,
captureBufferPacketLength, captureBufferPacketTime,
captureBufferPacketStatus
}
STATUS current
DESCRIPTION
"The RMON Packet Capture Group."
::= { rmonGroups 9 }
rmonEventGroup OBJECT-GROUP
OBJECTS {
eventIndex, eventDescription, eventType,
eventCommunity, eventLastTimeSent,
eventOwner, eventStatus,
logEventIndex, logIndex, logTime,
logDescription
}
STATUS current
DESCRIPTION
"The RMON Event Group."
::= { rmonGroups 10 }
rmonNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS { risingAlarm, fallingAlarm }
STATUS
current
DESCRIPTION
"The RMON Notification Group."
::= { rmonGroups 11 }
END

105

También podría gustarte