blob: 759c170928110a0677f6140a55f07f9b142b3f48 [file] [log] [blame]
SNMPv2-SMI DEFINITIONS ::= BEGIN
security OBJECT IDENTIFIER ::= { internet 5 }
snmpV2 OBJECT IDENTIFIER ::= { internet 6 }
-- transport domains
snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 }
-- transport proxies
snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 }
-- module identities
snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 }
END
SNMPv2-TC DEFINITIONS ::= BEGIN
IMPORTS
ObjectSyntax, Integer32, TimeTicks
FROM SNMPv2-SMI;
DisplayString ::= TEXTUAL-CONVENTION
DISPLAY-HINT "255a"
STATUS current
DESCRIPTION
"Represents textual information taken from the NVT
ASCII character set, as defined in pages 4, 10-11
of RFC 854. Any object defined using this syntax
may not exceed 255 characters in length."
SYNTAX OCTET STRING (SIZE (0..255))
PhysAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "1x:"
STATUS current
DESCRIPTION
"Represents media- or physical-level addresses."
SYNTAX OCTET STRING
MacAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "1x:"
STATUS current
DESCRIPTION
"Represents an 802 MAC address represented in the
'canonical' order defined by IEEE 802.1a, i.e., as
if it were transmitted least significant bit
first, even though 802.5 (in contrast to other
802.x protocols) requires MAC addresses to be
transmitted most significant bit first."
SYNTAX OCTET STRING (SIZE (6))
TruthValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Represents a boolean value."
SYNTAX INTEGER { true(1), false(2) }
TestAndIncr ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Represents integer-valued information used for
atomic operations. When the management protocol
is used to specify that an object instance having
this syntax is to be modified, the new value
supplied via the management protocol must
precisely match the value presently held by the
instance. If not, the management protocol set
operation fails with an error of
'inconsistentValue'. Otherwise, if the current
value is the maximum value of 2^31-1 (2147483647
decimal), then the value held by the instance is
wrapped to zero; otherwise, the value held by the
instance is incremented by one. (Note that
regardless of whether the management protocol set
operation succeeds, the variable-binding in the
request and response PDUs are identical.)
The value of the ACCESS clause for objects having
this syntax is either 'read-write' or 'read-
create'. When an instance of a columnar object
having this syntax is created, any value may be
supplied via the management protocol."
SYNTAX INTEGER (0..2147483647)
AutonomousType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Represents an independently extensible type
identification value. It may, for example,
indicate a particular sub-tree with further MIB
definitions, or define a particular type of
protocol or hardware."
SYNTAX OBJECT IDENTIFIER
InstancePointer ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A pointer to a specific instance of a conceptual
row of a MIB table in the managed device. By
convention, it is the name of the particular
instance of the first columnar object in the
conceptual row."
SYNTAX OBJECT IDENTIFIER
RowStatus ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The RowStatus textual convention is used to
manage the creation and deletion of conceptual
rows, and is used as the value of the SYNTAX
clause for the status column of a conceptual row
(as described in Section 7.7.1 of [2].)
The status column has six defined values:
- 'active', which indicates that the
conceptual row is available for use by the
managed device;
- 'notInService', which indicates that the
conceptual row exists in the agent, but is
unavailable for use by the managed device
(see NOTE below);
- 'notReady', which indicates that the
conceptual row exists in the agent, but is
missing information necessary in order to be
available for use by the managed device;
- 'createAndGo', which is supplied by a
management station wishing to create a new
instance of a conceptual row and to have it
available for use by the managed device;
- 'createAndWait', which is supplied by a
management station wishing to create a new
instance of a conceptual row but not to have
it available for use by the managed device;
and,
- 'destroy', which is supplied by a
management station wishing to delete all of
the instances associated with an existing
conceptual row.
Whereas five of the six values (all except
'notReady') may be specified in a management
protocol set operation, only three values will be
returned in response to a management protocol
retrieval operation: 'notReady', 'notInService' or
'active'. That is, when queried, an existing
conceptual row has only three states: it is either
available for use by the managed device (the
status column has value 'active'); it is not
available for use by the managed device, though
the agent has sufficient information to make it so
(the status column has value 'notInService'); or,
it is not available for use by the managed device,
because the agent lacks sufficient information
(the status column has value 'notReady').
NOTE WELL
This textual convention may be used for a MIB
table, irrespective of whether the values of
that table's conceptual rows are able to be
modified while it is active, or whether its
conceptual rows must be taken out of service
in order to be modified. That is, it is the
responsibility of the DESCRIPTION clause of
the status column to specify whether the
status column must be 'notInService' in order
for the value of some other column of the
same conceptual row to be modified.
To summarize the effect of having a conceptual row
with a status column having a SYNTAX clause value
of RowStatus, consider the following state
diagram:
STATE
+--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D| ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|wrongValue
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError
column to | | | |
destroy | ->A| ->A| ->A| ->A
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |noError
column to some| | | |
value | ->A| see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information
available to the agent.
(2) if other variable bindings included in the
same PDU, provide values for all columns which are
missing but required, then return noError and goto
D.
(3) if other variable bindings included in the
same PDU, provide values for all columns which are
missing but required, then return noError and goto
C.
(4) at the discretion of the agent, either noError
or inconsistentValue may be returned.
NOTE: Other processing of the set request may
result in a response other than noError being
returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when
creating a conceptual row: selecting an instance-
identifier which is not in use; creating the
conceptual row; initializing any objects for which
the agent does not supply a default; and, making
the conceptual row available for use by the
managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-
identifier varies for each conceptual row. In
some cases, the instance-identifier is
semantically significant, e.g., the destination
address of a route, and a management station
selects the instance-identifier according to the
semantics.
In other cases, the instance-identifier is used
solely to distinguish conceptual rows, and a
management station without specific knowledge of
the conceptual row might examine the instances
present in order to determine an unused instance-
identifier. (This approach may be used, but it is
often highly sub-optimal; however, it is also a
questionable practice for a naive management
station to attempt conceptual row creation.)
Alternately, the MIB module which defines the
conceptual row might provide one or more objects
which provide assistance in determining an unused
instance-identifier. For example, if the
conceptual row is indexed by an integer-value,
then an object having an integer-valued SYNTAX
clause might be defined for such a purpose,
allowing a management station to issue a
management protocol retrieval operation. In order
to avoid unnecessary collisions between competing
management stations, 'adjacent' retrievals of this
object should be different.
Finally, the management station could select a
pseudo-random number to use as the index. In the
event that this index was already in use and an
inconsistentValue was returned in response to the
management protocol set operation, the management
station should simply select a new pseudo-random
number and retry the operation.
A MIB designer should choose between the two
latter algorithms based on the size of the table
(and therefore the efficiency of each algorithm).
For tables in which a large number of entries are
expected, it is recommended that a MIB object be
defined that returns an acceptable index for
creation. For tables with small numbers of
entries, it is recommended that the latter
pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been
selected, the management station determines if it
wishes to create and activate the conceptual row
in one transaction or in a negotiated set of
interactions.
Interaction 2a: Creating and Activating the
Conceptual Row
The management station must first determine the
column requirements, i.e., it must determine those
columns for which it must or must not provide
values. Depending on the complexity of the table
and the management station's knowledge of the
agent's capabilities, this determination can be
made locally by the management station.
Alternately, the management station issues a
management protocol get operation to examine all
columns in the conceptual row that it wishes to
create. In response, for each column, there are
three possible outcomes:
- a value is returned, indicating that some
other management station has already created
this conceptual row. We return to
interaction 1.
- the exception 'noSuchInstance' is returned,
indicating that the agent implements the
object-type associated with this column, and
that this column in at least one conceptual
row would be accessible in the MIB view used
by the retrieval were it to exist. For those
columns to which the agent provides read-
create access, the 'noSuchInstance' exception
tells the management station that it should
supply a value for this column when the
conceptual row is to be created.
- the exception 'noSuchObject' is returned,
indicating that the agent does not implement
the object-type associated with this column
or that there is no conceptual row for which
this column would be accessible in the MIB
view used by the retrieval. As such, the
management station can not issue any
management protocol set operations to create
an instance of this column.
Once the column requirements have been determined,
a management protocol set operation is accordingly
issued. This operation also sets the new instance
of the status column to 'createAndGo'.
When the agent processes the set operation, it
verifies that it has sufficient information to
make the conceptual row available for use by the
managed device. The information available to the
agent is provided by two sources: the management
protocol set operation which creates the
conceptual row, and, implementation-specific
defaults supplied by the agent (note that an agent
must provide implementation-specific defaults for
at least those objects which it implements as
read-only). If there is sufficient information
available, then the conceptual row is created, a
'noError' response is returned, the status column
is set to 'active', and no further interactions
are necessary (i.e., interactions 3 and 4 are
skipped). If there is insufficient information,
then the conceptual row is not created, and the
set operation fails with an error of
'inconsistentValue'. On this error, the
management station can issue a management protocol
retrieval operation to determine if this was
because it failed to specify a value for a
required column, or, because the selected instance
of the status column already existed. In the
latter case, we return to interaction 1. In the
former case, the management station can re-issue
the set operation with the additional information,
or begin interaction 2 again using 'createAndWait'
in order to negotiate creation of the conceptual
row.
NOTE WELL
Regardless of the method used to determine
the column requirements, it is possible that
the management station might deem a column
necessary when, in fact, the agent will not
allow that particular columnar instance to be
created or written. In this case, the
management protocol set operation will fail
with an error such as 'noCreation' or
'notWritable'. In this case, the management
station decides whether it needs to be able
to set a value for that particular columnar
instance. If not, the management station
re-issues the management protocol set
operation, but without setting a value for
that particular columnar instance; otherwise,
the management station aborts the row
creation algorithm.
Interaction 2b: Negotiating the Creation of the
Conceptual Row
The management station issues a management
protocol set operation which sets the desired
instance of the status column to 'createAndWait'.
If the agent is unwilling to process a request of
this sort, the set operation fails with an error
of 'wrongValue'. (As a consequence, such an agent
must be prepared to accept a single management
protocol set operation, i.e., interaction 2a
above, containing all of the columns indicated by
its column requirements.) Otherwise, the
conceptual row is created, a 'noError' response is
returned, and the status column is immediately set
to either 'notInService' or 'notReady', depending
on whether it has sufficient information to make
the conceptual row available for use by the
managed device. If there is sufficient
information available, then the status column is
set to 'notInService'; otherwise, if there is
insufficient information, then the status column
is set to 'notReady'. Regardless, we proceed to
interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the
column requirements. It issues a management
protocol get operation to examine all columns in
the created conceptual row. In the response, for
each column, there are three possible outcomes:
- a value is returned, indicating that the
agent implements the object-type associated
with this column and had sufficient
information to provide a value. For those
columns to which the agent provides read-
create access, a value return tells the
management station that it may issue
additional management protocol set
operations, if it desires, in order to change
the value associated with this column.
- the exception 'noSuchInstance' is returned,
indicating that the agent implements the
object-type associated with this column, and
that this column in at least one conceptual
row would be accessible in the MIB view used
by the retrieval were it to exist. However,
the agent does not have sufficient
information to provide a value, and until a
value is provided, the conceptual row may not
be made available for use by the managed
device. For those columns to which the agent
provides read-create access, the
'noSuchInstance' exception tells the
management station that it must issue
additional management protocol set
operations, in order to provide a value
associated with this column.
- the exception 'noSuchObject' is returned,
indicating that the agent does not implement
the object-type associated with this column
or that there is no conceptual row for which
this column would be accessible in the MIB
view used by the retrieval. As such, the
management station can not issue any
management protocol set operations to create
an instance of this column.
If the value associated with the status column is
'notReady', then the management station must first
deal with all 'noSuchInstance' columns, if any.
Having done so, the value of the status column
becomes 'notInService', and we proceed to
interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the
values associated with the columns of the
conceptual row, it issues a management protocol
set operation to set the status column to
'active'. If the agent has sufficient information
to make the conceptual row available for use by
the managed device, the management protocol set
operation succeeds (a 'noError' response is
returned). Otherwise, the management protocol set
operation fails with an error of
'inconsistentValue'.
NOTE WELL
A conceptual row having a status column with
value 'notInService' or 'notReady' is
unavailable to the managed device. As such,
it is possible for the managed device to
create its own instances during the time
between the management protocol set operation
which sets the status column to
'createAndWait' and the management protocol
set operation which sets the status column to
'active'. In this case, when the management
protocol set operation is issued to set the
status column to 'active', the values held in
the agent supersede those used by the managed
device.
If the management station is prevented from
setting the status column to 'active' (e.g., due
to management station or network failure) the
conceptual row will be left in the 'notInService'
or 'notReady' state, consuming resources
indefinitely. The agent must detect conceptual
rows that have been in either state for an
abnormally long period of time and remove them.
This period of time should be long enough to allow
for human response time (including 'think time')
between the creation of the conceptual row and the
setting of the status to 'active'. It is
suggested that this period be approximately 5
minutes in length.
Conceptual Row Suspension
When a conceptual row is 'active', the management
station may issue a management protocol set
operation which sets the instance of the status
column to 'notInService'. If the agent is
unwilling to do so, the set operation fails with
an error of 'wrongValue'. Otherwise, the
conceptual row is taken out of service, and a
'noError' response is returned. It is the
responsibility of the the DESCRIPTION clause of
the status column to indicate under what
circumstances the status column should be taken
out of service (e.g., in order for the value of
some other column of the same conceptual row to be
modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management
protocol set operation is issued which sets the
instance of the status column to 'destroy'. This
request may be made regardless of the current
value of the status column (e.g., it is possible
to delete conceptual rows which are either
'notReady', 'notInService' or 'active'.) If the
operation succeeds, then all instances associated
with the conceptual row are immediately removed."
SYNTAX INTEGER {
-- the following two values are states:
-- these values may be read or written
active(1),
notInService(2),
-- the following value is a state:
-- this value may be read, but not written
notReady(3),
-- the following three values are
-- actions: these values may be written,
-- but are never read
createAndGo(4),
createAndWait(5),
destroy(6)
}
TimeStamp ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The value of MIB-II's sysUpTime object at which a
specific occurrence happened. The specific
occurrence must be defined in the description of
any object defined using this type."
SYNTAX TimeTicks
TimeInterval ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A period of time, measured in units of 0.01
seconds."
SYNTAX INTEGER (0..2147483647)
DateAndTime ::= TEXTUAL-CONVENTION
DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
STATUS current
DESCRIPTION
"A date-time specification.
field octets contents range
----- ------ -------- -----
1 1-2 year 0..65536
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 '+' / '-'
9 10 hours from UTC 0..11
10 11 minutes from UTC 0..59
For example, Tuesday May 26, 1992 at 1:30:15 PM
EDT would be displayed as:
1992-5-26,13:30:15.0,-4:0
Note that if only local time is known, then
timezone information (fields 8-10) is not
present."
SYNTAX OCTET STRING (SIZE (8 | 11))
END
SNMPv2-PARTY-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, snmpModules,
UInteger32
FROM SNMPv2-SMI
TEXTUAL-CONVENTION, RowStatus, TruthValue
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF;
partyMIB MODULE-IDENTITY
LAST-UPDATED "9304010000Z"
ORGANIZATION "IETF SNMP Security Working Group"
CONTACT-INFO
" Keith McCloghrie
Postal: Hughes LAN Systems
1225 Charleston Road
Mountain View, CA 94043
US
Tel: +1 415 966 7934
Fax: +1 415 960 3738
E-mail: kzm@hls.com"
DESCRIPTION
"The MIB module describing SNMPv2 parties."
::= { snmpModules 3 }
-- textual conventions
Party ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Denotes a SNMPv2 party identifier.
Note that agents may impose implementation
limitations on the length of OIDs used to identify
Parties. As such, management stations creating
new parties should be aware that using an
excessively long OID may result in the agent
refusing to perform the set operation and instead
returning the appropriate error response, e.g.,
noCreation."
SYNTAX OBJECT IDENTIFIER
TAddress ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Denotes a transport service address.
For snmpUDPDomain, a TAddress is 6 octets long,
the initial 4 octets containing the IP-address in
network-byte order and the last 2 containing the
UDP port in network-byte order. Consult [5] for
further information on snmpUDPDomain."
SYNTAX OCTET STRING
Clock ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A party's authentication clock - a non-negative
integer which is incremented as specified/allowed
by the party's Authentication Protocol.
For noAuth, a party's authentication clock is
unused and its value is undefined.
For v2md5AuthProtocol, a party's authentication
clock is a relative clock with 1-second
granularity."
SYNTAX UInteger32
Context ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Denotes a SNMPv2 context identifier.
Note that agents may impose implementation
limitations on the length of OIDs used to identify
Contexts. As such, management stations creating new
contexts should be aware that using an excessively
long OID may result in the agent refusing to
perform the set operation and instead returning
the appropriate error response, e.g., noCreation."
SYNTAX OBJECT IDENTIFIER
StorageType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Describes the memory realization of a conceptual
row. A row which is volatile(2) is lost upon
reboot. A row which is nonVolatile(3) is backed
up by stable storage. A row which is permanent(4)
cannot be changed nor deleted."
SYNTAX INTEGER {
other(1), -- eh?
volatile(2), -- e.g., in RAM
nonVolatile(3), -- e.g., in NVRAM
permanent(4) -- e.g., in ROM
}
-- administrative assignments
partyAdmin OBJECT IDENTIFIER ::= { partyMIB 1 }
-- definitions of security protocols
partyProtocols OBJECT IDENTIFIER ::= { partyAdmin 1 }
-- the protocol without authentication
noAuth OBJECT IDENTIFIER ::= { partyProtocols 1 }
-- the protocol without privacy
noPriv OBJECT IDENTIFIER ::= { partyProtocols 2 }
-- the DES Privacy Protocol [4]
desPrivProtocol
OBJECT IDENTIFIER ::= { partyProtocols 3 }
-- the MD5 Authentication Protocol [4]
v2md5AuthProtocol
OBJECT IDENTIFIER ::= { partyProtocols 4 }
-- definitions of temporal domains
temporalDomains
OBJECT IDENTIFIER ::= { partyAdmin 2 }
-- this temporal domain refers to management information
-- at the current time
currentTime OBJECT IDENTIFIER ::= { temporalDomains 1 }
-- this temporal domain refers to management information
-- upon the next re-initialization of the managed device
restartTime OBJECT IDENTIFIER ::= { temporalDomains 2 }
-- the temporal domain { cacheTime N } refers to management
-- information that is cached and guaranteed to be at most
-- N seconds old
cacheTime OBJECT IDENTIFIER ::= { temporalDomains 3 }
-- Definition of Initial Party and Context Identifiers
-- When devices are installed, they need to be configured
-- with an initial set of SNMPv2 parties and contexts. The
-- configuration of SNMPv2 parties and contexts requires (among
-- other things) the assignment of several OBJECT IDENTIFIERs.
-- Any local network administration can obtain the delegated
-- authority necessary to assign its own OBJECT IDENTIFIERs.
-- However, to provide for those administrations who have not
-- obtained the necessary authority, this document allocates a
-- branch of the naming tree for use with the following
-- conventions.
initialPartyId OBJECT IDENTIFIER ::= { partyAdmin 3 }
initialContextId
OBJECT IDENTIFIER ::= { partyAdmin 4 }
-- Note these are identified as "initial" party and context
-- identifiers since these allow secure SNMPv2 communication
-- to proceed, thereby allowing further SNMPv2 parties to be
-- configured through use of the SNMPv2 itself.
-- The following definitions identify a party identifier, and
-- specify the initial values of various object instances
-- indexed by that identifier. In addition, the SNMPv2
-- context, access control policy, and MIB view information
-- assigned, by convention, are identified.
-- Party Identifiers for use as initial SNMPv2 parties
-- at IP address a.b.c.d
-- Note that for all OBJECT IDENTIFIERs assigned under
-- initialPartyId, the four sub-identifiers immediately
-- following initialPartyId represent the four octets of
-- an IP address. Initial party identifiers for other address
-- families are assigned under a different OBJECT IDENTIFIER,
-- as defined elsewhere.
-- Devices which support SNMPv2 as entities acting in an
-- agent role, and accessed via the snmpUDPDomain transport
-- domain, are required to be configured with the appropriate
-- set of the following as implicit assignments as and when
-- they are configured with an IP address. The appropriate
-- set is all those applicable to the authentication and
-- privacy protocols supported by the device.
-- a noAuth/noPriv party which executes at the agent
-- partyIdentity = { initialPartyId a b c d 1 }
-- partyIndex = 1
-- partyTDomain = snmpUDPDomain
-- partyTAddress = a.b.c.d, 161
-- partyLocal = true (in agent's database)
-- partyAuthProtocol = noAuth
-- partyAuthClock = 0
-- partyAuthPrivate = ''H (the empty string)
-- partyAuthPublic = ''H (the empty string)
-- partyAuthLifetime = 0
-- partyPrivProtocol = noPriv
-- partyPrivPrivate = ''H (the empty string)
-- partyPrivPublic = ''H (the empty string)
-- a noAuth/noPriv party which executes at a manager
-- partyIdentity = { initialPartyId a b c d 2 }
-- partyIndex = 2
-- partyTDomain = snmpUDPDomain
-- partyTAddress = assigned by local administration
-- partyLocal = false (in agent's database)
-- partyAuthProtocol = noAuth
-- partyAuthClock = 0
-- partyAuthPrivate = ''H (the empty string)
-- partyAuthPublic = ''H (the empty string)
-- partyAuthLifetime = 0
-- partyPrivProtocol = noPriv
-- partyPrivPrivate = ''H (the empty string)
-- partyPrivPublic = ''H (the empty string)
-- a md5Auth/noPriv party which executes at the agent
-- partyIdentity = { initialPartyId a b c d 3 }
-- partyIndex = 3
-- partyTDomain = snmpUDPDomain
-- partyTAddress = a.b.c.d, 161
-- partyLocal = true (in agent's database)
-- partyAuthProtocol = v2md5AuthProtocol
-- partyAuthClock = 0
-- partyAuthPrivate = assigned by local administration
-- partyAuthPublic = ''H (the empty string)
-- partyAuthLifetime = 300
-- partyPrivProtocol = noPriv
-- partyPrivPrivate = ''H (the empty string)
-- partyPrivPublic = ''H (the empty string)
-- a md5Auth/noPriv party which executes at a manager
-- partyIdentity = { initialPartyId a b c d 4 }
-- partyIndex = 4
-- partyTDomain = snmpUDPDomain
-- partyTAddress = assigned by local administration
-- partyLocal = false (in agent's database)
-- partyAuthProtocol = v2md5AuthProtocol
-- partyAuthClock = 0
-- partyAuthPrivate = assigned by local administration
-- partyAuthPublic = ''H (the empty string)
-- partyAuthLifetime = 300
-- partyPrivProtocol = noPriv
-- partyPrivPrivate = ''H (the empty string)
-- partyPrivPublic = ''H (the empty string)
-- a md5Auth/desPriv party which executes at the agent
-- partyIdentity = { initialPartyId a b c d 5 }
-- partyIndex = 5
-- partyTDomain = snmpUDPDomain
-- partyTAddress = a.b.c.d, 161
-- partyLocal = true (in agent's database)
-- partyAuthProtocol = v2md5AuthProtocol
-- partyAuthClock = 0
-- partyAuthPrivate = assigned by local administration
-- partyAuthPublic = ''H (the empty string)
-- partyAuthLifetime = 300
-- partyPrivProtocol = desPrivProtocol
-- partyPrivPrivate = assigned by local administration
-- partyPrivPublic = ''H (the empty string)
-- a md5Auth/desPriv party which executes at a manager
-- partyIdentity = { initialPartyId a b c d 6 }
-- partyIndex = 6
-- partyTDomain = snmpUDPDomain
-- partyTAddress = assigned by local administration
-- partyLocal = false (in agent's database)
-- partyAuthProtocol = v2md5AuthProtocol
-- partyAuthClock = 0
-- partyAuthPrivate = assigned by local administration
-- partyAuthPublic = ''H (the empty string)
-- partyAuthLifetime = 300
-- partyPrivProtocol = desPrivProtocol
-- partyPrivPrivate = assigned by local administration
-- partyPrivPublic = ''H (the empty string)
-- the initial SNMPv2 contexts assigned, by convention, are:
-- contextIdentity = { initialContextId a b c d 1 }
-- contextIndex = 1
-- contextLocal = true (in agent's database)
-- contextViewIndex = 1
-- contextLocalEntity = ''H (the empty string)
-- contextLocalTime = currentTime
-- contextProxyDstParty = { 0 0 }
-- contextProxySrcParty = { 0 0 }
-- contextProxyContext = { 0 0 }
-- contextIdentity = { initialContextId a b c d 2 }
-- contextIndex = 2
-- contextLocal = true (in agent's database)
-- contextViewIndex = 2
-- contextLocalEntity = ''H (the empty string)
-- contextLocalTime = currentTime
-- contextProxyDstParty = { 0 0 }
-- contextProxySrcParty = { 0 0 }
-- contextProxyContext = { 0 0 }
-- The initial access control policy assigned, by
-- convention, is:
-- aclTarget = 1
-- aclSubject = 2
-- aclResources = 1
-- aclPrivileges = 35 (Get, Get-Next & Get-Bulk)
-- aclTarget = 2
-- aclSubject = 1
-- aclResources = 1
-- aclPrivileges = 132 (Response & SNMPv2-Trap)
-- aclTarget = 3
-- aclSubject = 4
-- aclResources = 2
-- aclPrivileges = 43 (Get, Get-Next, Set & Get-Bulk)
-- aclTarget = 4
-- aclSubject = 3
-- aclResources = 2
-- aclPrivileges = 4 (Response)
-- aclTarget = 5
-- aclSubject = 6
-- aclResources = 2
-- aclPrivileges = 43 (Get, Get-Next, Set & Get-Bulk)
-- aclTarget = 6
-- aclSubject = 5
-- aclResources = 2
-- aclPrivileges = 4 (Response)
-- Note that the initial context and access control
-- information assigned above, by default, to the
-- md5Auth/desPriv parties are identical to those assigned to
-- the md5Auth/noPriv parties. However, each administration
-- may choose to have different authorization policies,
-- depending on whether privacy is used.
-- The initial MIB views assigned, by convention, are:
-- viewIndex = 1
-- viewSubtree = system
-- viewMask = ''H
-- viewType = included
-- viewIndex = 1
-- viewSubtree = snmpStats
-- viewMask = ''H
-- viewType = included
-- viewIndex = 1
-- viewSubtree = snmpParties
-- viewMask = ''H
-- viewType = included
-- viewIndex = 2
-- viewSubtree = internet
-- viewMask = ''H
-- viewType = included
-- Note that full access to the partyTable, contextTable,
-- aclTable, and viewTable gives a manager the ability to
-- configure any parties with any/all capabilities (the
-- equivalent of "root" access). A lesser manager can be
-- given access only to the partyTable so that it can
-- maintain its own parties, but not increase/decrease
-- their capabilities. Such a lesser manager can also
-- create new parties but they are of no use to it.
-- object assignments
partyMIBObjects
OBJECT IDENTIFIER ::= { partyMIB 2 }
-- the SNMPv2 party database group
snmpParties OBJECT IDENTIFIER ::= { partyMIBObjects 1 }
partyTable OBJECT-TYPE
SYNTAX SEQUENCE OF PartyEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The SNMPv2 Party database."
::= { snmpParties 1 }
partyEntry OBJECT-TYPE
SYNTAX PartyEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Locally held information about a particular
SNMPv2 party."
INDEX { IMPLIED partyIdentity }
::= { partyTable 1 }
PartyEntry ::=
SEQUENCE {
partyIdentity Party,
partyIndex INTEGER,
partyTDomain OBJECT IDENTIFIER,
partyTAddress TAddress,
partyMaxMessageSize INTEGER,
partyLocal TruthValue,
partyAuthProtocol OBJECT IDENTIFIER,
partyAuthClock Clock,
partyAuthPrivate OCTET STRING,
partyAuthPublic OCTET STRING,
partyAuthLifetime INTEGER,
partyPrivProtocol OBJECT IDENTIFIER,
partyPrivPrivate OCTET STRING,
partyPrivPublic OCTET STRING,
partyCloneFrom Party,
partyStorageType StorageType,
partyStatus RowStatus
}
partyIdentity OBJECT-TYPE
SYNTAX Party
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A party identifier uniquely identifying a
particular SNMPv2 party."
::= { partyEntry 1 }
partyIndex OBJECT-TYPE
SYNTAX INTEGER (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A unique value for each SNMPv2 party. The value
for each SNMPv2 party must remain constant at
least from one re-initialization of the entity's
network management system to the next re-
initialization."
::= { partyEntry 2 }
partyTDomain OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Indicates the kind of transport service by which
the party receives network management traffic."
DEFVAL { snmpUDPDomain }
::= { partyEntry 3 }
partyTAddress OBJECT-TYPE
SYNTAX TAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The transport service address by which the party
receives network management traffic, formatted
according to the corresponding value of
partyTDomain. For snmpUDPDomain, partyTAddress is
formatted as a 4-octet IP Address concatenated
with a 2-octet UDP port number."
DEFVAL { '000000000000'H }
::= { partyEntry 4 }
partyMaxMessageSize OBJECT-TYPE
SYNTAX INTEGER (484..65507)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum length in octets of a SNMPv2 message
which this party will accept. For parties which
execute at an agent, the agent initializes this
object to the maximum length supported by the
agent, and does not let the object be set to any
larger value. For parties which do not execute at
the agent, the agent must allow the manager to set
this object to any legal value, even if it is
larger than the agent can generate."
DEFVAL { 484 }
::= { partyEntry 5 }
partyLocal OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An indication of whether this party executes at
this SNMPv2 entity. If this object has a value of
true(1), then the SNMPv2 entity will listen for
SNMPv2 messages on the partyTAddress associated
with this party. If this object has the value
false(2), then the SNMPv2 entity will not listen
for SNMPv2 messages on the partyTAddress
associated with this party."
DEFVAL { false }
::= { partyEntry 6 }
partyAuthProtocol OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The authentication protocol by which all messages
generated by the party are authenticated as to
origin and integrity. The value noAuth signifies
that messages generated by the party are not
authenticated.
Once an instance of this object is created, its
value can not be changed."
DEFVAL { v2md5AuthProtocol }
::= { partyEntry 7 }
partyAuthClock OBJECT-TYPE
SYNTAX Clock
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The authentication clock which represents the
local notion of the current time specific to the
party. This value must not be decremented unless
the party's private authentication key is changed
simultaneously."
DEFVAL { 0 }
::= { partyEntry 8 }
partyAuthPrivate OBJECT-TYPE
SYNTAX OCTET STRING
-- for v2md5AuthProtocol: (SIZE (16))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An encoding of the party's private authentication
key which may be needed to support the
authentication protocol. Although the value of
this variable may be altered by a management
operation (e.g., a SNMPv2 Set-Request), its value
can never be retrieved by a management operation:
when read, the value of this variable is the zero
length OCTET STRING.
The private authentication key is NOT directly
represented by the value of this variable, but
rather it is represented according to an encoding.
This encoding is the bitwise exclusive-OR of the
old key with the new key, i.e., of the old private
authentication key (prior to the alteration) with
the new private authentication key (after the
alteration). Thus, when processing a received
protocol Set operation, the new private
authentication key is obtained from the value of
this variable as the result of a bitwise
exclusive-OR of the variable's value and the old
private authentication key. In calculating the
exclusive-OR, if the old key is shorter than the
new key, zero-valued padding is appended to the
old key. If no value for the old key exists, a
zero-length OCTET STRING is used in the
calculation."
DEFVAL { ''H } -- the empty string
::= { partyEntry 9 }
partyAuthPublic OBJECT-TYPE
SYNTAX OCTET STRING
-- for v2md5AuthProtocol: (SIZE (0..16))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A publically-readable value for the party.
Depending on the party's authentication protocol,
this value may be needed to support the party's
authentication protocol. Alternatively, it may be
used by a manager during the procedure for
altering secret information about a party. (For
example, by altering the value of an instance of
this object in the same SNMPv2 Set-Request used to
update an instance of partyAuthPrivate, a
subsequent Get-Request can determine if the Set-
Request was successful in the event that no
response to the Set-Request is received, see [4].)
The length of the value is dependent on the
party's authentication protocol. If not used by
the authentication protocol, it is recommended
that agents support values of any length up to and
including the length of the corresponding
partyAuthPrivate object."
DEFVAL { ''H } -- the empty string
::= { partyEntry 10 }
partyAuthLifetime OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The lifetime (in units of seconds) which
represents an administrative upper bound on
acceptable delivery delay for protocol messages
generated by the party.
Once an instance of this object is created, its
value can not be changed."
DEFVAL { 300 }
::= { partyEntry 11 }
partyPrivProtocol OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The privacy protocol by which all protocol
messages received by the party are protected from
disclosure. The value noPriv signifies that
messages received by the party are not protected.
Once an instance of this object is created, its
value can not be changed."
DEFVAL { noPriv }
::= { partyEntry 12 }
partyPrivPrivate OBJECT-TYPE
SYNTAX OCTET STRING
-- for desPrivProtocol: (SIZE (16))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An encoding of the party's private encryption key
which may be needed to support the privacy
protocol. Although the value of this variable may
be altered by a management operation (e.g., a
SNMPv2 Set-Request), its value can never be
retrieved by a management operation: when read,
the value of this variable is the zero length
OCTET STRING.
The private encryption key is NOT directly
represented by the value of this variable, but
rather it is represented according to an encoding.
This encoding is the bitwise exclusive-OR of the
old key with the new key, i.e., of the old private
encryption key (prior to the alteration) with the
new private encryption key (after the alteration).
Thus, when processing a received protocol Set
operation, the new private encryption key is
obtained from the value of this variable as the
result of a bitwise exclusive-OR of the variable's
value and the old private encryption key. In
calculating the exclusive-OR, if the old key is
shorter than the new key, zero-valued padding is
appended to the old key. If no value for the old
key exists, a zero-length OCTET STRING is used in
the calculation."
DEFVAL { ''H } -- the empty string
::= { partyEntry 13 }
partyPrivPublic OBJECT-TYPE
SYNTAX OCTET STRING
-- for desPrivProtocol: (SIZE (0..16))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A publically-readable value for the party.
Depending on the party's privacy protocol, this
value may be needed to support the party's privacy
protocol. Alternatively, it may be used by a
manager as a part of its procedure for altering
secret information about a party. (For example,
by altering the value of an instance of this
object in the same SNMPv2 Set-Request used to
update an instance of partyPrivPrivate, a
subsequent Get-Request can determine if the Set-
Request was successful in the event that no
response to the Set-Request is received, see [4].)
The length of the value is dependent on the
party's privacy protocol. If not used by the
privacy protocol, it is recommended that agents
support values of any length up to and including
the length of the corresponding partyPrivPrivate
object."
DEFVAL { ''H } -- the empty string
::= { partyEntry 14 }
partyCloneFrom OBJECT-TYPE
SYNTAX Party
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The identity of a party to clone authentication
and privacy parameters from. When read, the value
{ 0 0 } is returned.
This value must be written exactly once, when the
associated instance of partyStatus either does not
exist or has the value `notReady'. When written,
the value identifies a party, the cloning party,
whose status column has the value `active'. The
cloning party is used in two ways.
One, if instances of the following objects do not
exist for the party being created, then they are
created with values identical to those of the
corresponding objects for the cloning party:
partyAuthProtocol
partyAuthPublic
partyAuthLifetime
partyPrivProtocol
partyPrivPublic
Two, instances of the following objects are
updated using the corresponding values of the
cloning party:
partyAuthPrivate
partyPrivPrivate
(e.g., the value of the cloning party's instance
of the partyAuthPrivate object is XOR'd with the
value of the partyAuthPrivate instances of the
party being created.)"
::= { partyEntry 15 }
partyStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row in the
partyTable."
DEFVAL { nonVolatile }
::= { partyEntry 16 }
partyStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row in the
partyTable.
A party is not qualified for activation until
instances of all columns of its partyEntry row
have an appropriate value. In particular:
A value must be written to the Party's
partyCloneFrom object.
If the Party's partyAuthProtocol object has the
value md5AuthProtocol, then the corresponding
instance of partyAuthPrivate must contain a
secret of the appropriate length. Further, at
least one management protocol set operation
updating the value of the party's
partyAuthPrivate object must be successfully
processed, before the partyAuthPrivate column is
considered appropriately configured.
If the Party's partyPrivProtocol object has the
value desPrivProtocol, then the corresponding
instance of partyPrivPrivate must contain a
secret of the appropriate length. Further, at
least one management protocol set operation
updating the value of the party's
partyPrivPrivate object must be successfully
processed, before the partyPrivPrivate column is
considered appropriately configured.
Until instances of all corresponding columns are
appropriately configured, the value of the
corresponding instance of the partyStatus column is
`notReady'."
::= { partyEntry 17 }
-- the SNMPv2 contexts database group
snmpContexts OBJECT IDENTIFIER ::= { partyMIBObjects 2 }
contextTable OBJECT-TYPE
SYNTAX SEQUENCE OF ContextEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The SNMPv2 Context database."
::= { snmpContexts 1 }
contextEntry OBJECT-TYPE
SYNTAX ContextEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Locally held information about a particular
SNMPv2 context."
INDEX { IMPLIED contextIdentity }
::= { contextTable 1 }
ContextEntry ::=
SEQUENCE {
contextIdentity Context,
contextIndex INTEGER,
contextLocal TruthValue,
contextViewIndex INTEGER,
contextLocalEntity OCTET STRING,
contextLocalTime OBJECT IDENTIFIER,
contextProxyDstParty Party,
contextProxySrcParty Party,
contextProxyContext OBJECT IDENTIFIER,
contextStorageType StorageType,
contextStatus RowStatus
}
contextIdentity OBJECT-TYPE
SYNTAX Context
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A context identifier uniquely identifying a
particular SNMPv2 context."
::= { contextEntry 1 }
contextIndex OBJECT-TYPE
SYNTAX INTEGER (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A unique value for each SNMPv2 context. The
value for each SNMPv2 context must remain constant
at least from one re-initialization of the
entity's network management system to the next
re-initialization."
::= { contextEntry 2 }
contextLocal OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An indication of whether this context is realized
by this SNMPv2 entity."
DEFVAL { true }
::= { contextEntry 3 }
contextViewIndex OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the value of an instance of this object is
zero, then this corresponding conceptual row in
the contextTable refers to a SNMPv2 context which
identifies a proxy relationship; the values of the
corresponding instances of the
contextProxyDstParty, contextProxySrcParty, and
contextProxyContext objects provide further
information on the proxy relationship.
Otherwise, if the value of an instance of this
object is greater than zero, then this
corresponding conceptual row in the contextTable
refers to a SNMPv2 context which identifies a MIB
view of a locally accessible entity; the value of
the instance identifies the particular MIB view
which has the same value of viewIndex; and the
value of the corresponding instances of the
contextLocalEntity and contextLocalTime objects
provide further information on the local entity
and its temporal domain."
::= { contextEntry 4 }
contextLocalEntity OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the value of the corresponding instance of the
contextViewIndex is greater than zero, then the
value of an instance of this object identifies the
local entity whose management information is in
the SNMPv2 context's MIB view. The empty string
indicates that the MIB view contains the SNMPv2
entity's own local management information;
otherwise, a non-empty string indicates that the
MIB view contains management information of some
other local entity, e.g., 'Repeater1'."
DEFVAL { ''H } -- the empty string
::= { contextEntry 5 }
contextLocalTime OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the value of the corresponding instance of the
contextViewIndex is greater than zero, then the
value of an instance of this object identifies the
temporal context of the management information in
the MIB view."
DEFVAL { currentTime }
::= { contextEntry 6 }
contextProxyDstParty OBJECT-TYPE
SYNTAX Party
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the value of the corresponding instance of the
contextViewIndex is equal to zero, then the value
of an instance of this object identifies a SNMPv2
party which is the proxy destination of a proxy
relationship.
If the value of the corresponding instance of the
contextViewIndex is greater than zero, then the
value of an instance of this object is { 0 0 }."
::= { contextEntry 7 }
contextProxySrcParty OBJECT-TYPE
SYNTAX Party
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the value of the corresponding instance of the
contextViewIndex is equal to zero, then the value
of an instance of this object identifies a SNMPv2
party which is the proxy source of a proxy
relationship.
Interpretation of an instance of this object
depends upon the value of the transport domain
associated with the SNMPv2 party used as the proxy
destination in this proxy relationship.
If the value of the corresponding instance of the
contextViewIndex is greater than zero, then the
value of an instance of this object is { 0 0 }."
::= { contextEntry 8 }
contextProxyContext OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the value of the corresponding instance of the
contextViewIndex is equal to zero, then the value
of an instance of this object identifies the
context of a proxy relationship.
Interpretation of an instance of this object
depends upon the value of the transport domain
associated with the SNMPv2 party used as the proxy
destination in this proxy relationship.
If the value of the corresponding instance of the
contextViewIndex is greater than zero, then the
value of an instance of this object is { 0 0 }."
::= { contextEntry 9 }
contextStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row in the
contextTable."
DEFVAL { nonVolatile }
::= { contextEntry 10 }
contextStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row in the
contextTable.
A context is not qualified for activation until
instances of all corresponding columns have the
appropriate value. In particular, if the
context's contextViewIndex is greater than zero,
then the viewStatus column of the associated
conceptual row(s) in the viewTable must have the
value `active'. Until instances of all
corresponding columns are appropriately
configured, the value of the corresponding
instance of the contextStatus column is
`notReady'."
::= { contextEntry 11 }
-- the SNMPv2 access privileges database group
snmpAccess OBJECT IDENTIFIER ::= { partyMIBObjects 3 }
aclTable OBJECT-TYPE
SYNTAX SEQUENCE OF AclEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The access privileges database."
::= { snmpAccess 1 }
aclEntry OBJECT-TYPE
SYNTAX AclEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The access privileges for a particular subject
SNMPv2 party when asking a particular target
SNMPv2 party to access a particular SNMPv2
context."
INDEX { aclTarget, aclSubject, aclResources }
::= { aclTable 1 }
AclEntry ::=
SEQUENCE {
aclTarget INTEGER,
aclSubject INTEGER,
aclResources INTEGER,
aclPrivileges INTEGER,
aclStorageType StorageType,
aclStatus RowStatus
}
aclTarget OBJECT-TYPE
SYNTAX INTEGER (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The value of an instance of this object
identifies a SNMPv2 party which is the target of
an access control policy, and has the same value
as the instance of the partyIndex object for that
party."
::= { aclEntry 1 }
aclSubject OBJECT-TYPE
SYNTAX INTEGER (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The value of an instance of this object
identifies a SNMPv2 party which is the subject of
an access control policy, and has the same value
as the instance of the partyIndex object for that
SNMPv2 party."
::= { aclEntry 2 }
aclResources OBJECT-TYPE
SYNTAX INTEGER (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The value of an instance of this object
identifies a SNMPv2 context in an access control
policy, and has the same value as the instance of
the contextIndex object for that SNMPv2 context."
::= { aclEntry 3 }
aclPrivileges OBJECT-TYPE
SYNTAX INTEGER (0..255)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The access privileges which govern what
management operations a particular target party
may perform with respect to a particular SNMPv2
context when requested by a particular subject
party. These privileges are specified as a sum of
values, where each value specifies a SNMPv2 PDU
type by which the subject party may request a
permitted operation. The value for a particular
PDU type is computed as 2 raised to the value of
the ASN.1 context-specific tag for the appropriate
SNMPv2 PDU type. The values (for the tags defined
in [5]) are defined in [3] as:
Get : 1
GetNext : 2
Response : 4
Set : 8
unused : 16
GetBulk : 32
Inform : 64
SNMPv2-Trap : 128
The null set is represented by the value zero."
DEFVAL { 35 } -- Get, Get-Next & Get-Bulk
::= { aclEntry 4 }
aclStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row in the
aclTable."
DEFVAL { nonVolatile }
::= { aclEntry 5 }
aclStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row in the
aclTable."
::= { aclEntry 6 }
-- the MIB view database group
snmpViews OBJECT IDENTIFIER ::= { partyMIBObjects 4 }
viewTable OBJECT-TYPE
SYNTAX SEQUENCE OF ViewEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Locally held information about the MIB views
known to this SNMPv2 entity.
Each SNMPv2 context which is locally accessible
has a single MIB view which is defined by two
collections of view subtrees: the included view
subtrees, and the excluded view subtrees. Every
such subtree, both included and excluded, is
defined in this table.
To determine if a particular object instance is in
a particular MIB view, compare the object
instance's OBJECT IDENTIFIER with each of the MIB
view's entries in this table. If none match, then
the object instance is not in the MIB view. If
one or more match, then the object instance is
included in, or excluded from, the MIB view
according to the value of viewType in the entry
whose value of viewSubtree has the most sub-
identifiers. If multiple entries match and have
the same number of sub-identifiers, then the
lexicographically greatest instance of viewType
determines the inclusion or exclusion.
An object instance's OBJECT IDENTIFIER X matches
an entry in this table when the number of sub-
identifiers in X is at least as many as in the
value of viewSubtree for the entry, and each sub-
identifier in the value of viewSubtree matches its
corresponding sub-identifier in X. Two sub-
identifiers match either if the corresponding bit
of viewMask is zero (the 'wild card' value), or if
they are equal.
Due to this 'wild card' capability, we introduce
the term, a 'family' of view subtrees, to refer to
the set of subtrees defined by a particular
combination of values of viewSubtree and viewMask.
In the case where no 'wild card' is defined in
viewMask, the family of view subtrees reduces to a
single view subtree."
::= { snmpViews 1 }
viewEntry OBJECT-TYPE
SYNTAX ViewEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information on a particular family of view
subtrees included in or excluded from a particular
SNMPv2 context's MIB view.
Implementations must not restrict the number of
families of view subtrees for a given MIB view,
except as dictated by resource constraints on the
overall number of entries in the viewTable."
INDEX { viewIndex, IMPLIED viewSubtree }
::= { viewTable 1 }
ViewEntry ::=
SEQUENCE {
viewIndex INTEGER,
viewSubtree OBJECT IDENTIFIER,
viewMask OCTET STRING,
viewType INTEGER,
viewStorageType StorageType,
viewStatus RowStatus
}
viewIndex OBJECT-TYPE
SYNTAX INTEGER (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique value for each MIB view. The value for
each MIB view must remain constant at least from
one re-initialization of the entity's network
management system to the next re-initialization."
::= { viewEntry 1 }
viewSubtree OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A MIB subtree."
::= { viewEntry 2 }
viewMask OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..16))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The bit mask which, in combination with the
corresponding instance of viewSubtree, defines a
family of view subtrees.
Each bit of this bit mask corresponds to a sub-
identifier of viewSubtree, with the most
significant bit of the i-th octet of this octet
string value (extended if necessary, see below)
corresponding to the (8*i - 7)-th sub-identifier,
and the least significant bit of the i-th octet of
this octet string corresponding to the (8*i)-th
sub-identifier, where i is in the range 1 through
16.
Each bit of this bit mask specifies whether or not
the corresponding sub-identifiers must match when
determining if an OBJECT IDENTIFIER is in this
family of view subtrees; a '1' indicates that an
exact match must occur; a '0' indicates 'wild
card', i.e., any sub-identifier value matches.
Thus, the OBJECT IDENTIFIER X of an object
instance is contained in a family of view subtrees
if the following criteria are met:
for each sub-identifier of the value of
viewSubtree, either:
the i-th bit of viewMask is 0, or
the i-th sub-identifier of X is equal to
the i-th sub-identifier of the value of
viewSubtree.
If the value of this bit mask is M bits long and
there are more than M sub-identifiers in the
corresponding instance of viewSubtree, then the
bit mask is extended with 1's to be the required
length.
Note that when the value of this object is the
zero-length string, this extension rule results in
a mask of all-1's being used (i.e., no 'wild
card'), and the family of view subtrees is the one
view subtree uniquely identified by the
corresponding instance of viewSubtree."
DEFVAL { ''H }
::= { viewEntry 3 }
viewType OBJECT-TYPE
SYNTAX INTEGER {
included(1),
excluded(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of a particular family of view
subtrees within the particular SNMPv2 context's
MIB view. The value 'included(1)' indicates that
the corresponding instances of viewSubtree and
viewMask define a family of view subtrees included
in the MIB view. The value 'excluded(2)'
indicates that the corresponding instances of
viewSubtree and viewMask define a family of view
subtrees excluded from the MIB view."
DEFVAL { included }
::= { viewEntry 4 }
viewStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row in the
viewTable."
DEFVAL { nonVolatile }
::= { viewEntry 5 }
viewStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row in the
viewTable."
::= { viewEntry 6 }
-- conformance information
partyMIBConformance
OBJECT IDENTIFIER ::= { partyMIB 3 }
partyMIBCompliances
OBJECT IDENTIFIER ::= { partyMIBConformance 1 }
partyMIBGroups
OBJECT IDENTIFIER ::= { partyMIBConformance 2 }
-- compliance statements
unSecurableCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities
which implement the Party MIB, but do not support
any authentication or privacy protocols (i.e.,
only the noAuth and noPriv protocols are
supported)."
MODULE -- this module
MANDATORY-GROUPS { partyMIBGroup }
::= { partyMIBCompliances 1 }
partyNoPrivacyCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities
which implement the Party MIB, and support an
authentication protocol, but do not support any
privacy protocols (i.e., only the noAuth,
v2md5AuthProtocol, and noPriv protocols are
supported)."
MODULE -- this module
MANDATORY-GROUPS { partyMIBGroup }
::= { partyMIBCompliances 2 }
partyPrivacyCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities
which implement the Party MIB, support an
authentication protocol, and support a privacy
protocol ONLY for the purpose of accessing
security parameters.
For all aclTable entries authorizing a subject
and/or target SNMPv2 party whose privacy protocol
is desPrivProtocol, to be used in accessing a
SNMPv2 context, the MIB view for that SNMPv2
context shall include only those objects
subordinate to partyMIBObjects, or a subset
thereof, e.g.,
viewSubtree = { partyMIBObjects }
viewMask = ''H
viewType = { included }
Any attempt to configure an entry in the
partyTable, the contextTable, the aclTable or the
viewTable such that a party using the
desPrivProtocol would be authorized for use in
accessing objects outside of the partyMIBObjects
subtree shall result in the appropriate error
response (e.g., wrongValue or inconsistentValue)."
MODULE -- this module
MANDATORY-GROUPS { partyMIBGroup }
::= { partyMIBCompliances 3 }
fullPrivacyCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities
which implement the Party MIB, support an
authentication protocol, and support a privacy
protocol without restrictions on its use."
MODULE -- this module
MANDATORY-GROUPS { partyMIBGroup }
::= { partyMIBCompliances 4 }
-- units of conformance
partyMIBGroup OBJECT-GROUP
OBJECTS { partyIndex, partyTDomain, partyTAddress,
partyMaxMessageSize, partyLocal,
partyAuthProtocol, partyAuthClock,
partyAuthPrivate, partyAuthPublic,
partyAuthLifetime, partyPrivProtocol,
partyPrivPrivate, partyPrivPublic,
partyStorageType, partyStatus,
partyCloneFrom,
contextIndex, contextLocal,
contextViewIndex, contextLocalEntity,
contextLocalTime, contextStorageType,
contextStatus, aclTarget, aclSubject,
aclPrivileges, aclStorageType, aclStatus,
viewMask, viewType, viewStorageType, viewStatus }
STATUS current
DESCRIPTION
"The collection of objects allowing the
description and configuration of SNMPv2 parties.
Note that objects which support proxy
relationships are not included in this conformance
group."
::= { partyMIBGroups 1 }
END
SNMPv2-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
ObjectName, Integer32, Counter32, snmpModules
FROM SNMPv2-SMI
TruthValue, DisplayString, TestAndIncr, TimeStamp
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
system, ifIndex, egpNeighAddr
FROM RFC1213-MIB
partyEntry
FROM SNMPv2-PARTY-MIB;
snmpMIB MODULE-IDENTITY
LAST-UPDATED "9304010000Z"
ORGANIZATION "IETF SNMPv2 Working Group"
CONTACT-INFO
" Marshall T. Rose
Postal: Dover Beach Consulting, Inc.
420 Whisman Court
Mountain View, CA 94043-2186
US
Tel: +1 415 968 1052
Fax: +1 415 968 2510
E-mail: mrose@dbc.mtview.ca.us"
DESCRIPTION
"The MIB module for SNMPv2 entities."
::= { snmpModules 1 }
snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 }
-- the SNMPv2 statistics group
--
-- a collection of objects providing basic instrumentation of
-- the SNMPv2 entity.
-- A Case diagram[4] relating these objects is:
--
-- \v/ transport service
-- |
-- ==+== snmpStatsPackets
-- |
-- +==> snmpStats30Something
-- |
-- +==> snmpStatsEncodingErrors
-- |
-- +==> snmpStatsUnknownDstParties
-- |
-- +==> snmpStatsDstPartyMismatches
-- |
-- +==> snmpStatsUnknownSrcParties
-- |
-- +==> snmpStatsBadAuths
-- |
-- +==> snmpStatsNotInLifetimes
-- |
-- +==> snmpStatsWrongDigestValues
-- |
-- +==> snmpStatsUnknownContexts
-- |
-- +==> snmpStatsBadOperations
-- |
-- +==> snmpStatsSilentDrops
-- |
-- ===== sink
snmpStats OBJECT IDENTIFIER ::= { snmpMIBObjects 1 }
snmpStatsPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets received by the
SNMPv2 entity from the transport service."
REFERENCE
"Derived from RFC1213-MIB.snmpInPkts."
::= { snmpStats 1 }
snmpStats30Something OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets which had an initial
octet with a value of 30 hexadecimal received by a
SNMPv2 entity which does not support SNMPv1.
(Such packets are possibly misdirected SNMPv1
Messages.)"
REFERENCE
"Derived from RFC1213-MIB.snmpInASNParseErrs."
::= { snmpStats 2 }
snmpStatsEncodingErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets received by the
SNMPv2 entity which were improperly encoded or had
invalid syntax."
REFERENCE
"Derived from RFC1213-MIB.snmpInASNParseErrs."
::= { snmpStats 3 }
snmpStatsUnknownDstParties OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of SnmpPrivMsgs delivered to the
SNMPv2 entity for which the privDst field was not
a known local party."
::= { snmpStats 4 }
snmpStatsDstPartyMismatches OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of SnmpPrivMsgs delivered to the
SNMPv2 entity which contained a SnmpAuthMsg for
which the authData.dstParty field did not match
the privDst field in the SnmpPrivMsg."
::= { snmpStats 5 }
snmpStatsUnknownSrcParties OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of SnmpAuthMsgs delivered to the
SNMPv2 entity for which the authData.srcParty
field was not a known remote party."
::= { snmpStats 6 }
snmpStatsBadAuths OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of SnmpAuthMsgs delivered to the
SNMPv2 entity which contained an authInfo field
which was inconsistent with the authentication
protocol associated with the source party."
::= { snmpStats 7 }
snmpStatsNotInLifetimes OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of SnmpAuthMsgs delivered to the
SNMPv2 entity which were deemed unauthentic due to
their authInfo.authSrcTimestamp field being less
than the source party's clock plus lifetime."
::= { snmpStats 8 }
snmpStatsWrongDigestValues OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of SnmpAuthMsgs delivered to the
SNMPv2 entity which were deemed unauthentic due to
their authInfo.authDigest field being unequal to
the expected digest value."
::= { snmpStats 9 }
snmpStatsUnknownContexts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of SnmpMgmtComs delivered to the
SNMPv2 entity for which the context field was not
a known SNMPv2 context."
::= { snmpStats 10 }
snmpStatsBadOperations OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of messages delivered to the
SNMPv2 entity which were silently dropped because
the PDU type referred to an operation not allowed
in the aclTable[5]."
::= { snmpStats 11 }
snmpStatsSilentDrops OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of GetRequest-PDUs,
GetNextRequest-PDUs, GetBulkRequest-PDUs,
SetRequest-PDUs, and InformRequest-PDUs delivered
to the SNMPv2 entity which were silently dropped
because the size of an reply containing an
alternate Response-PDU with an empty variable-
bindings field was greater than either a local
constraint or the maximum message size of the
request's source party."
::= { snmpStats 12 }
-- the SNMPv1 statistics group
--
-- a collection of objects providing basic instrumentation of
-- a SNMPv2 entity which also implements SNMPv1.
-- A Case diagram[4] relating these objects
-- (and those applicable objects in the snmpStats group)
-- is:
--
-- \v/ transport service
-- |
-- ==+== snmpStatsPackets
-- |
-- +==> snmpStatsEncodingErrors
-- |
-- +==> snmpV1BadCommunityNames
-- |
-- +==> snmpV1BadCommunityUses
-- |
-- ===== sink
snmpV1 OBJECT IDENTIFIER ::= { snmpMIBObjects 2 }
snmpV1BadCommunityNames OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of SNMPv1 Messages delivered to
the SNMPv2 entity which used a community name not
known to the SNMPv2 entity."
REFERENCE
"Derived from RFC1213-
MIB.snmpInBadCommunityNames."
::= { snmpV1 1 }
snmpV1BadCommunityUses OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of SNMPv1 Messages delivered to
SNMPv2 entity containing an operation which was
not allowed for the community named in the
Message."
REFERENCE
"Derived from RFC1213-MIB.snmpInBadCommunityUses."
::= { snmpV1 2 }
-- the object resource group
--
-- a collection of objects allowing a SNMPv2 entity acting in
-- an agent role to describe its dynamically-configurable
-- object resources.
snmpOR OBJECT IDENTIFIER ::= { snmpMIBObjects 3 }
snmpORLastChange OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time of the most
recent change in state or value of any instance of
snmpORID."
::= { snmpOR 1 }
snmpORTable OBJECT-TYPE
SYNTAX SEQUENCE OF SnmpOREntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The (conceptual) table listing the dynamically-
configurable object resources in a SNMPv2 entity
acting in an agent role. SNMPv2 entities which do
not support dynamically-configurable object
resources will never have any instances of the
columnar objects in this table."
::= { snmpOR 2 }
snmpOREntry OBJECT-TYPE
SYNTAX SnmpOREntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry (conceptual row) in the snmpORTable."
INDEX { snmpORIndex }
::= { snmpORTable 1 }
SnmpOREntry ::= SEQUENCE {
snmpORIndex Integer32,
snmpORID OBJECT IDENTIFIER,
snmpORDescr DisplayString
}
snmpORIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The auxiliary variable used for identifying
instances of the columnar objects in the
snmpORTable."
::= { snmpOREntry 1 }
snmpORID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An authoritative identification of one of the
dynamically-configurable object resources in a
SNMPv2 entity acting in an agent role. This is
analogous to the sysObjectID object in MIB-II."
::= { snmpOREntry 2 }
snmpORDescr OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A textual description of one of the dynamically-
configurable object resources in a SNMPv2 entity
acting in an agent role. This is analogous to the
sysDescr object in MIB-II."
::= { snmpOREntry 3 }
-- the traps group
--
-- a collection of objects which allow the SNMPv2 entity, when
-- acting in an agent role, to be configured to generate
-- SNMPv2-Trap-PDUs.
snmpTrap OBJECT IDENTIFIER ::= { snmpMIBObjects 4 }
snmpTrapOID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The authoritative identification of the trap
currently being sent. This variable occurs as the
second varbind of a SNMPv2-Trap-PDU."
::= { snmpTrap 1 }
snmpTrapTable OBJECT-TYPE
SYNTAX SEQUENCE OF SnmpTrapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table which keeps track of how many traps have
been sent to each SNMPv2 entity."
::= { snmpTrap 2 }
snmpTrapEntry OBJECT-TYPE
SYNTAX SnmpTrapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry which keeps track of how many traps have
been sent to a particular SNMPv2 entity."
AUGMENTS { partyEntry }
::= { snmpTrapTable 1 }
SnmpTrapEntry ::= SEQUENCE {
snmpTrapNumbers Counter32
}
snmpTrapNumbers OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of traps which have been sent to a
particular SNMPv2 party, since the last
initialization of the SNMPv2 entity, or the
creation of the SNMPv2 party, whichever occurred
most recently."
::= { snmpTrapEntry 1 }
snmpTrapEnterprise OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The authoritative identification of the
enterprise associated with the trap currently
being sent. When a SNMPv2 proxy agent is mapping
an RFC1157 Trap-PDU into a SNMPv2-Trap-PDU, this
variable occurs as the last varbind."
::= { snmpTrap 3 }
snmpV2EnableAuthenTraps OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Indicates whether the SNMPv2 entity, when acting
in an agent role, is permitted to generate
authenticationFailure traps. The value of this
object overrides any configuration information; as
such, it provides a means whereby all
authenticationFailure traps may be disabled.
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."
REFERENCE
"Derived from RFC1213-MIB.snmpEnableAuthenTraps."
::= { snmpTrap 4 }
-- well-known traps
snmpTraps OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }
coldStart NOTIFICATION-TYPE
STATUS current
DESCRIPTION
"A coldStart trap signifies that the SNMPv2
entity, acting in an agent role, is reinitializing
itself such that its configuration may be
altered."
::= { snmpTraps 1 }
warmStart NOTIFICATION-TYPE
STATUS current
DESCRIPTION
"A warmStart trap signifies that the SNMPv2
entity, acting in an agent role, is reinitializing
itself such that its configuration is unaltered."
::= { snmpTraps 2 }
linkDown NOTIFICATION-TYPE
OBJECTS { ifIndex }
STATUS current
DESCRIPTION
"A linkDown trap signifies that the SNMPv2 entity,
acting in an agent role, recognizes a failure in
one of the communication links represented in its
configuration."
::= { snmpTraps 3 }
linkUp NOTIFICATION-TYPE
OBJECTS { ifIndex }
STATUS current
DESCRIPTION
"A linkUp trap signifies that the SNMPv2 entity,
acting in an agent role, recognizes that one of
the communication links represented in its
configuration has come up."
::= { snmpTraps 4 }
authenticationFailure NOTIFICATION-TYPE
STATUS current
DESCRIPTION
"An authenticationFailure trap signifies that the
SNMPv2 entity, acting in an agent role, has
received a protocol message that is not properly
authenticated. While all implementations of the
SNMPv2 must be capable of generating this trap,
the snmpV2EnableAuthenTraps object indicates
whether this trap will be generated."
::= { snmpTraps 5 }
egpNeighborLoss NOTIFICATION-TYPE
OBJECTS { egpNeighAddr }
STATUS current
DESCRIPTION
"An egpNeighborLoss trap signifies that an EGP
neighbor has been marked down and the EGP peer
relationship no longer obtains."
::= { snmpTraps 6 }
-- the set group
--
-- a collection of objects which allow several cooperating
-- SNMPv2 entities, all acting in a manager role, to
-- coordinate their use of the SNMPv2 set operation.
snmpSet OBJECT IDENTIFIER ::= { snmpMIBObjects 6 }
snmpSetSerialNo OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"An advisory lock used to allow several
cooperating SNMPv2 entities, all acting in a
manager role, to coordinate their use of the
SNMPv2 set operation.
This object is used for coarse-grain coordination.
To achieve fine-grain coordination, one or more
similar objects might be defined within each MIB
group, as appropriate."
::= { snmpSet 1 }
-- conformance information
snmpMIBConformance
OBJECT IDENTIFIER ::= { snmpMIB 2 }
snmpMIBCompliances
OBJECT IDENTIFIER ::= { snmpMIBConformance 1 }
snmpMIBGroups OBJECT IDENTIFIER ::= { snmpMIBConformance 2 }
-- compliance statements
snmpMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities
which implement the SNMPv2 MIB."
MODULE RFC1213-MIB
MANDATORY-GROUPS { system }
MODULE -- this module
MANDATORY-GROUPS { snmpStatsGroup, snmpORGroup,
snmpTrapGroup, snmpSetGroup }
GROUP snmpV1Group
DESCRIPTION
"The snmpV1 group is mandatory only for those
SNMPv2 entities which also implement SNMPv1."
::= { snmpMIBCompliances 1 }
-- units of conformance
snmpStatsGroup OBJECT-GROUP
OBJECTS { snmpStatsPackets, snmpStats30Something,
snmpStatsEncodingErrors,
snmpStatsUnknownDstParties,
snmpStatsDstPartyMismatches,
snmpStatsUnknownSrcParties, snmpStatsBadAuths,
snmpStatsNotInLifetimes,
snmpStatsWrongDigestValues,
snmpStatsUnknownContexts,
snmpStatsBadOperations,
snmpStatsSilentDrops }
STATUS current
DESCRIPTION
"A collection of objects providing basic
instrumentation of the SNMPv2 entity."
::= { snmpMIBGroups 1 }
snmpV1Group OBJECT-GROUP
OBJECTS { snmpV1BadCommunityNames, snmpV1BadCommunityUses }
STATUS current
DESCRIPTION
"A collection of objects providing basic
instrumentation of a SNMPv2 entity which also
implements SNMPv1."
::= { snmpMIBGroups 2 }
snmpORGroup OBJECT-GROUP
OBJECTS { snmpORLastChange, snmpORID, snmpORDescr }
STATUS current
DESCRIPTION
"A collection of objects allowing a SNMPv2 entity
acting in an agent role to describe its
dynamically-configurable object resources."
::= { snmpMIBGroups 3 }
snmpTrapGroup OBJECT-GROUP
OBJECTS { snmpTrapNumbers, snmpV2EnableAuthenTraps }
STATUS current
DESCRIPTION
"A collection of objects which allow the SNMPv2
entity, when acting in an agent role, to be
configured to generate SNMPv2-Trap-PDUs."
::= { snmpMIBGroups 4 }
snmpSetGroup OBJECT-GROUP
OBJECTS { snmpSetSerialNo }
STATUS current
DESCRIPTION
"A collection of objects which allow several
cooperating SNMPv2 entities, all acting in a
manager role, to coordinate their use of the
SNMPv2 set operation."
::= { snmpMIBGroups 5 }
END
SNMPv2-M2M-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
Integer32, Counter32, snmpModules
FROM SNMPv2-SMI
DisplayString, InstancePointer, RowStatus, TimeStamp
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
contextIdentity
FROM SNMPv2-PARTY-MIB;
snmpM2M MODULE-IDENTITY
LAST-UPDATED "9304010000Z"
ORGANIZATION "IETF SNMPv2 Working Group"
CONTACT-INFO
" Steven Waldbusser
Postal: Carnegie Mellon University
4910 Forbes Ave
Pittsburgh, PA 15213
Tel: +1 412 268 6628
Fax: +1 412 268 4987
E-mail: waldbusser@cmu.edu"
DESCRIPTION
"The Manager-to-Manager MIB module."
::= { snmpModules 2 }
snmpM2MObjects OBJECT IDENTIFIER ::= { snmpM2M 1 }
-- the alarm group
--
-- a collection of objects allowing the description and
-- configuration of threshold alarms from a SNMPv2 entity
-- acting in a dual role.
snmpAlarm OBJECT IDENTIFIER ::= { snmpM2MObjects 1 }
-- This Alarm mechanism periodically takes statistical samples
-- from variables available via SNMPv2 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 (Integer32, Counter32, Gauge32, TimeTicks,
-- Counter64, or UInteger32) 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 sampling a deltaValue, an entity 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 crossings that span the sampling
-- boundary. Note that this does not require any special
-- configuration of the threshold value. It is suggested that
-- entities implement this more precise algorithm.
--
snmpAlarmNextIndex OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The index number of the next appropriate
unassigned entry in the snmpAlarmTable. The value
0 indicates that no unassigned entries are
available.
A management station should create new entries in
the snmpAlarmTable using this algorithm: first,
issue a management protocol retrieval operation to
determine the value of snmpAlarmNextIndex; and,
second, issue a management protocol set operation
to create an instance of the snmpAlarmStatus
object setting its value to `createAndGo' or
`createAndWait' (as specified in the description
of the RowStatus textual convention)."
::= { snmpAlarm 1 }
snmpAlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF SnmpAlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of snmpAlarm entries."
::= { snmpAlarm 2 }
snmpAlarmEntry OBJECT-TYPE
SYNTAX SnmpAlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of parameters that set up a periodic
sampling query to check for alarm conditions. The
contextIdentity included in the INDEX clause is
the context to which the sampling queries are
directed."
INDEX { contextIdentity, snmpAlarmIndex }
::= { snmpAlarmTable 1 }
SnmpAlarmEntry ::= SEQUENCE {
snmpAlarmIndex INTEGER,
snmpAlarmVariable InstancePointer,
snmpAlarmInterval Integer32,
snmpAlarmSampleType INTEGER,
snmpAlarmValue Integer32,
snmpAlarmStartupAlarm INTEGER,
snmpAlarmRisingThreshold Integer32,
snmpAlarmFallingThreshold Integer32,
snmpAlarmRisingEventIndex INTEGER,
snmpAlarmFallingEventIndex INTEGER,
snmpAlarmUnavailableEventIndex INTEGER,
snmpAlarmStatus RowStatus
}
snmpAlarmIndex OBJECT-TYPE
SYNTAX INTEGER (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in the
snmpAlarm table for a particular sampling context.
Each such entry defines a diagnostic sample at a
particular interval for a variable in the
particular context's object resources."
::= { snmpAlarmEntry 1 }
snmpAlarmVariable OBJECT-TYPE
SYNTAX InstancePointer
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 (Integer32,
Counter32, Gauge32, TimeTicks, Counter64, or
UInteger32) may be sampled.
If it is detected by an error response of
authorizationError, noSuchObject, or
noSuchInstance that the variable name of an
established snmpAlarmEntry is no longer available
in the sampling context, a single
snmpObjectUnavailableAlarm event is generated and
the status of this snmpAlarmEntry is set to
`destroy'. Likewise, if the syntax of the
variable retrieved by the query is not Integer32,
Counter32, Gauge32, TimeTicks, Counter64, or
UInteger32, the same actions will be taken.
If the SNMPv2 entity acting in a dual role detects
that the sampled value can not be obtained due to
lack of response to management queries, it should
either:
1) Set the status of this snmpAlarmEntry to
`destroy', if it is determined that further
communication is not possible;
or,
2) Delete the associated snmpAlarmValue
instance (but not the entire conceptual row),
and continue to attempt to sample the
variable and recreate the associated
snmpAlarmValue instance should communication
be reestablished.
An attempt to modify this object will fail with an
`inconsistentValue' error if the associated
snmpAlarmStatus object would be equal to `active'
both before and after the modification attempt."
::= { snmpAlarmEntry 2 }
snmpAlarmInterval 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 object and the
sampling type is `deltaValue', care should be
taken to ensure that the change during this
interval of the variable being sampled will not
exceed the (-2^31...2^31-1) range of the
snmpAlarmValue.
An attempt to modify this object will fail with an
`inconsistentValue' error if the associated
snmpAlarmStatus object would be equal to `active'
both before and after the modification attempt."
::= { snmpAlarmEntry 3 }
snmpAlarmSampleType 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', the value of the selected
variable at the end of the sampling interval will
be compared directly with both the
snmpAlarmRisingThreshold and the
snmpAlarmFallingThreshold values. If the value of
this object is `deltaValue', the value of the
selected variable at the end of the sampling
interval will be subtracted from its value at the
end of the previous sampling interval, and the
difference compared with both the
snmpAlarmRisingThreshold and the
snmpAlarmFallingThreshold values.
An attempt to modify this object will fail with an
`inconsistentValue' error if the associated
snmpAlarmStatus object would be equal to `active'
both before and after the modification attempt."
DEFVAL { deltaValue }
::= { snmpAlarmEntry 4 }
snmpAlarmValue OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the statistic during the last
sampling period. The value during the current
sampling period is not made available until the
period is completed. If the value of the
statistic does not fit in the signed 32 bit
representation of this object, it should be
truncated in an implementation specific manner.
Note that if the associated snmpAlarmSampleType is
set to `deltaValue', the value of this object is
the difference in the sampled variable since the
last sample.
This object will be created by the SNMPv2 entity
acting in a dual role when this entry is set to
`active', and the first sampling period has
completed. It may be created and deleted at other
times by the SNMPv2 entity acting in a dual role
when the sampled value can not be obtained, as
specified in the snmpAlarmVariable object."
::= { snmpAlarmEntry 5 }
snmpAlarmStartupAlarm 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 `active'. If the first sample after
this entry becomes active is greater than or equal
to the risingThreshold and snmpAlarmStartupAlarm
is equal to `risingAlarm' or
`risingOrFallingAlarm', then a single rising alarm
will be generated. If the first sample after this
entry becomes active is less than or equal to the
fallingThreshold and snmpAlarmStartupAlarm is
equal to `fallingAlarm' or `risingOrFallingAlarm',
then a single falling alarm will be generated.
Note that a snmpObjectUnavailableAlarm is sent
upon startup whenever it is applicable,
independent of the setting of
snmpAlarmStartupAlarm.
An attempt to modify this object will fail with an
`inconsistentValue' error if the associated
snmpAlarmStatus object would be equal to `active'
both before and after the modification attempt."
DEFVAL { risingOrFallingAlarm }
::= { snmpAlarmEntry 6 }
snmpAlarmRisingThreshold 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 active is greater than or equal to this
threshold and the associated snmpAlarmStartupAlarm
is equal to `risingAlarm' or
`risingOrFallingAlarm'.
After a rising event is generated, another such
event will not be generated until the sampled
value falls below this threshold and reaches the
snmpAlarmFallingThreshold.
An attempt to modify this object will fail with an
`inconsistentValue' error if the associated
snmpAlarmStatus object would be equal to `active'
both before and after the modification attempt."
::= { snmpAlarmEntry 7 }
snmpAlarmFallingThreshold 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 active is less than or equal to this
threshold and the associated snmpAlarmStartupAlarm
is equal to `fallingAlarm' or
`risingOrFallingAlarm'.
After a falling event is generated, another such
event will not be generated until the sampled
value rises above this threshold and reaches the
snmpAlarmRisingThreshold.
An attempt to modify this object will fail with an
`inconsistentValue' error if the associated
snmpAlarmStatus object would be equal to `active'
both before and after the modification attempt."
::= { snmpAlarmEntry 8 }
snmpAlarmRisingEventIndex OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The index of the snmpEventEntry that is used when
a rising threshold is crossed. The snmpEventEntry
identified by a particular value of this index is
the same as identified by the same value of the
snmpEventIndex object. If there is no
corresponding entry in the snmpEventTable, then no
association exists. In particular, if this value
is zero, no associated event will be generated, as
zero is not a valid snmpEventIndex.
An attempt to modify this object will fail with an
`inconsistentValue' error if the associated
snmpAlarmStatus object would be equal to `active'
both before and after the modification attempt."
::= { snmpAlarmEntry 9 }
snmpAlarmFallingEventIndex OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The index of the snmpEventEntry that is used when
a falling threshold is crossed. The
snmpEventEntry identified by a particular value of
this index is the same as identified by the same
value of the snmpEventIndex object. If there is
no corresponding entry in the snmpEventTable, then
no association exists. In particular, if this
value is zero, no associated event will be
generated, as zero is not a valid snmpEventIndex.
An attempt to modify this object will fail with an
`inconsistentValue' error if the associated
snmpAlarmStatus object would be equal to `active'
both before and after the modification attempt."
::= { snmpAlarmEntry 10 }
snmpAlarmUnavailableEventIndex OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The index of the snmpEventEntry that is used when
a variable becomes unavailable. The
snmpEventEntry identified by a particular value of
this index is the same as identified by the same
value of the snmpEventIndex object. If there is
no corresponding entry in the snmpEventTable, then
no association exists. In particular, if this
value is zero, no associated event will be
generated, as zero is not a valid snmpEventIndex.
An attempt to modify this object will fail with an
`inconsistentValue' error if the associated
snmpAlarmStatus object would be equal to `active'
both before and after the modification attempt."
::= { snmpAlarmEntry 11 }
snmpAlarmStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this snmpAlarm entry. This object
may not be set to `active' unless the following
columnar objects exist in this row:
snmpAlarmVariable, snmpAlarmInterval,
snmpAlarmSampleType, snmpAlarmStartupAlarm,
snmpAlarmRisingThreshold,
snmpAlarmFallingThreshold,
snmpAlarmRisingEventIndex,
snmpAlarmFallingEventIndex, and
snmpAlarmUnavailableEventIndex."
::= { snmpAlarmEntry 12 }
-- alarm-related notifications
snmpAlarmNotifications
OBJECT IDENTIFIER ::= { snmpAlarm 3 }
snmpRisingAlarm NOTIFICATION-TYPE
OBJECTS { snmpAlarmVariable, snmpAlarmSampleType,
snmpAlarmValue, snmpAlarmRisingThreshold }
STATUS current
DESCRIPTION
"An event that is generated when an alarm entry
crosses its rising threshold. The instances of
those objects contained within the varbind list
are those of the alarm entry which generated this
event."
::= { snmpAlarmNotifications 1 }
snmpFallingAlarm NOTIFICATION-TYPE
OBJECTS { snmpAlarmVariable, snmpAlarmSampleType,
snmpAlarmValue, snmpAlarmFallingThreshold }
STATUS current
DESCRIPTION
"An event that is generated when an alarm entry
crosses its falling threshold. The instances of
those objects contained within the varbind list
are those of the alarm entry which generated this
event."
::= { snmpAlarmNotifications 2 }
snmpObjectUnavailableAlarm NOTIFICATION-TYPE
OBJECTS { snmpAlarmVariable }
STATUS current
DESCRIPTION
"An event that is generated when a variable
monitored by an alarm entry becomes unavailable.
The instance of snmpAlarmVariable contained within
the varbind list is the one associated with the
alarm entry which generated this event."
::= { snmpAlarmNotifications 3 }
-- the event group
--
-- a collection of objects allowing the description and
-- configuration of events from a SNMPv2 entity acting
-- in a dual role.
snmpEvent OBJECT IDENTIFIER ::= { snmpM2MObjects 2 }
-- The snmpEvent table defines the set of events generated on
-- a SNMPv2 entity acting in a dual role. Each entry in the
-- snmpEventTable associates an event type with the
-- notification method and associated parameters. Some
-- snmpEvent entries are fired by an associated condition in
-- the snmpAlarmTable. Others are fired on behalf of
-- conditions defined in the NOTIFICATION-TYPE macro. The
-- snmpNotificationTable defines notifications that should
-- occur when an associated event is fired.
snmpEventNextIndex OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The index number of the next appropriate
unassigned entry in the snmpEventTable. The value
0 indicates that no unassigned entries are
available.
A management station should create new entries in
the snmpEventTable using this algorithm: first,
issue a management protocol retrieval operation to
determine the value of snmpEventNextIndex; and,
second, issue a management protocol set operation
to create an instance of the snmpEventStatus
object setting its value to `createAndWait' or
'createAndGo'."
::= { snmpEvent 1 }
snmpEventTable OBJECT-TYPE
SYNTAX SEQUENCE OF SnmpEventEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of events."
::= { snmpEvent 2 }
snmpEventEntry OBJECT-TYPE
SYNTAX SnmpEventEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of parameters that describe an event that
is generated when certain conditions are met."
INDEX { snmpEventIndex }
::= { snmpEventTable 1 }
SnmpEventEntry ::= SEQUENCE {
snmpEventIndex INTEGER,
snmpEventID OBJECT IDENTIFIER,
snmpEventDescription DisplayString,
snmpEventEvents Counter32,
snmpEventLastTimeSent TimeStamp,
snmpEventStatus RowStatus
}
snmpEventIndex OBJECT-TYPE
SYNTAX INTEGER (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in the
snmpEvent table. Each such entry defines an event
generated when the appropriate conditions occur."
::= { snmpEventEntry 1 }
snmpEventID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The authoritative identification of the event
type generated by this entry. This variable
occurs as the second varbind of an InformRequest-
PDU. If this OBJECT IDENTIFIER maps to a
NOTIFICATION-TYPE the sender will place the
objects listed in the NOTIFICATION-TYPE in the
varbind list."
::= { snmpEventEntry 2 }
snmpEventDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..127))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A comment describing this snmpEvent entry."
::= { snmpEventEntry 3 }
snmpEventEvents OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of events caused by event generators
associated with this snmpEvent entry."
::= { snmpEventEntry 4 }
snmpEventLastTimeSent OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time this snmpEvent
entry last generated an event. If this entry has
not generated any events, this value will be
zero."
DEFVAL { 0 }
::= { snmpEventEntry 5 }
snmpEventStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this snmpEvent entry. This object
may not be set to `active' unless the following
columnar objects exist in this row: snmpEventID,
snmpEventDescription, snmpEventEvents, and
snmpEventLastTimeSent.
Setting an instance of this object to the value
'destroy' has the effect of invalidating any/all
entries in the snmpEventTable, and the
snmpEventNotifyTable which reference the
corresponding snmpEventEntry."
::= { snmpEventEntry 6 }
snmpEventNotifyMinInterval OBJECT-TYPE
SYNTAX Integer32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The minimum interval that the SNMPv2 entity
acting in a dual role will wait before
retransmitting an InformRequest-PDU. This object
specifies the minimal value supported by the
SNMPv2 entity acting in a dual role, based on
resource or implementation constraints.
For a particular entry in the
snmpEventNotifyTable, if the associated
snmpEventNotifyIntervalRequested variable is
greater than this object, the
snmpEventNotifyIntervalRequested value shall be
used as the minimum interval for retransmissions
of InformRequest-PDUs sent on behalf of that
entry."
::= { snmpEvent 3 }
snmpEventNotifyMaxRetransmissions OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum number of time that the SNMPv2 entity
acting in a dual role will retransmit an
InformRequest-PDU. This object specifies the
maximal value supported by the SNMPv2 entity
acting in a dual role, based on resource or
implementation constraints.
For a particular entry in the
snmpEventNotifyTable, if the associated
snmpEventNotifyRetransmissionsRequested variable
is less than this object, the
snmpEventNotifyRetransmissionsRequested value
shall be used as the retransmission count for
InformRequest-PDUs sent on behalf of that entry."
::= { snmpEvent 4 }
-- The snmpEventNotifyTable is used to configure the
-- destination and type of notifications sent by a SNMPv2
-- entity acting in a manager role when a particular event
-- is triggered.
snmpEventNotifyTable OBJECT-TYPE
SYNTAX SEQUENCE OF SnmpEventNotifyEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of protocol configuration entries for
event notifications from this entity."
::= { snmpEvent 5 }
snmpEventNotifyEntry OBJECT-TYPE
SYNTAX SnmpEventNotifyEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of parameters that describe the type and
destination of InformRequest-PDUs sent for a
particular event. The snmpEventIndex in this
entry's INDEX clause identifies the snmpEventEntry
which, when triggered, will generate a
notification as configured in this entry. The
contextIdentity in this entry's INDEX clause
identifies the context to which a notification
will be sent."
INDEX { snmpEventIndex, contextIdentity }
::= { snmpEventNotifyTable 1 }
SnmpEventNotifyEntry ::= SEQUENCE {
snmpEventNotifyIntervalRequested Integer32,
snmpEventNotifyRetransmissionsRequested Integer32,
snmpEventNotifyLifetime Integer32,
snmpEventNotifyStatus RowStatus
}
snmpEventNotifyIntervalRequested OBJECT-TYPE
SYNTAX Integer32
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The requested interval for retransmission of
Inform PDUs generated on the behalf of this entry.
This variable will be the actual interval used
unless the snmpEventNotifyMinInterval is greater
than this object, in which case the interval shall
be equal to snmpEventNotifyMinInterval."
DEFVAL { 30 }
::= { snmpEventNotifyEntry 1 }
snmpEventNotifyRetransmissionsRequested OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The requested number of retransmissions of an
InformRequest-PDU generated on behalf of this
entry.
This variable will be the actual number of
retransmissions used unless the
snmpEventNotifyMaxRetransmissions is less than
this object, in which case the retransmission
count shall be equal to
snmpEventNotifyMaxRetransmissions."
DEFVAL { 5 }
::= { snmpEventNotifyEntry 2 }
snmpEventNotifyLifetime OBJECT-TYPE
SYNTAX Integer32
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of seconds this entry shall live until
the corresponding instance of
snmpEventNotifyStatus is set to 'destroy'. This
value shall count down to zero, at which time the
corresponding instance of snmpEventNotifyStatus
will be set to 'destroy'. Any management station
that is using this entry must periodically refresh
this value to ensure the continued delivery of
events."
DEFVAL { 86400 }
::= { snmpEventNotifyEntry 3 }
snmpEventNotifyStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The state of this snmpEventNotifyEntry. This
object may not be set to `active' unless the
following columnar objects exist in this row:
snmpEventNotifyIntervalRequested,
snmpEventNotifyRetransmissionsRequested, and
snmpEventNotifyLifetime."
::= { snmpEventNotifyEntry 4 }
-- conformance information
snmpM2MConformance
OBJECT IDENTIFIER ::= { snmpM2M 2 }
snmpM2MCompliances
OBJECT IDENTIFIER ::= { snmpM2MConformance 1 }
snmpM2MGroups OBJECT IDENTIFIER ::= { snmpM2MConformance 2 }
-- compliance statements
snmpM2MCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities
which implement the Manager-to-Manager MIB."
MODULE -- this module
MANDATORY-GROUPS { snmpAlarmGroup, snmpEventGroup }
::= { snmpM2MCompliances 1 }
-- units of conformance
snmpAlarmGroup OBJECT-GROUP
OBJECTS { snmpAlarmNextIndex,
snmpAlarmVariable, snmpAlarmInterval,
snmpAlarmSampleType, snmpAlarmValue,
snmpAlarmStartupAlarm, snmpAlarmRisingThreshold,
snmpAlarmFallingThreshold,
snmpAlarmRisingEventIndex,
snmpAlarmFallingEventIndex,
snmpAlarmUnavailableEventIndex,
snmpAlarmStatus }
STATUS current
DESCRIPTION
"A collection of objects allowing the description
and configuration of threshold alarms from a
SNMPv2 entity acting in a dual role."
::= { snmpM2MGroups 1 }
snmpEventGroup OBJECT-GROUP
OBJECTS { snmpEventNextIndex,
snmpEventID, snmpEventDescription,
snmpEventEvents, snmpEventLastTimeSent,
snmpEventStatus, snmpEventNotifyMinInterval,
snmpEventNotifyMaxRetransmissions,
snmpEventNotifyIntervalRequested,
snmpEventNotifyRetransmissionsRequested,
snmpEventNotifyLifetime, snmpEventNotifyStatus }
STATUS current
DESCRIPTION
"A collection of objects allowing the description
and configuration of events from a SNMPv2 entity
acting in a dual role."
::= { snmpM2MGroups 2 }
END
SNMPv2-TM DEFINITIONS ::= BEGIN
IMPORTS
snmpDomains, snmpProxys
FROM SNMPv2-SMI
TEXTUAL-CONVENTION
FROM SNMPv2-TC;
-- SNMPv2 over UDP
snmpUDPDomain OBJECT IDENTIFIER ::= { snmpDomains 1 }
-- for a SnmpUDPAddress of length 6:
--
-- octets contents encoding
-- 1-4 IP-address network-byte order
-- 5-6 UDP-port network-byte order
--
SnmpUDPAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "1d.1d.1d.1d/2d"
STATUS current
DESCRIPTION
"Represents a UDP address."
SYNTAX OCTET STRING (SIZE (6))
-- SNMPv2 over OSI
snmpCLNSDomain OBJECT IDENTIFIER ::= { snmpDomains 2 }
snmpCONSDomain OBJECT IDENTIFIER ::= { snmpDomains 3 }
-- for a SnmpOSIAddress of length m:
--
-- octets contents encoding
-- 1 length of NSAP "n" as an unsigned-integer
-- (either 0 or from 3 to 20)
-- 2..(n+1) NSAP concrete binary representation
-- (n+2)..m TSEL string of (up to 64) octets
--
SnmpOSIAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "*1x:/1x:"
STATUS current
DESCRIPTION
"Represents an OSI transport-address."
SYNTAX OCTET STRING (SIZE (1 | 4..85))
-- SNMPv2 over DDP
snmpDDPDomain OBJECT IDENTIFIER ::= { snmpDomains 4 }
-- for a SnmpNBPAddress of length m:
--
-- octets contents encoding
-- 1 length of object "n" as an unsigned integer
-- 2..(n+1) object string of (up to 32) octets
-- n+2 length of type "p" as an unsigned integer
-- (n+3)..(n+2+p) type string of (up to 32) octets
-- n+3+p length of zone "q" as an unsigned integer
-- (n+4+p)..m zone string of (up to 32) octets
--
-- for comparison purposes, strings are case-insensitive
--
-- all strings may contain any octet other than 255 (hex ff)
--
SnmpNBPAddress ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Represents an NBP name."
SYNTAX OCTET STRING (SIZE (3..99))
-- SNMPv2 over IPX
snmpIPXDomain OBJECT IDENTIFIER ::= { snmpDomains 5 }
-- for a SnmpIPXAddress of length 12:
--
-- octets contents encoding
-- 1-4 network-number network-byte order
-- 5-10 physical-address network-byte order
-- 11-12 socket-number network-byte order
--
SnmpIPXAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "4x.1x:1x:1x:1x:1x:1x.2d"
STATUS current
DESCRIPTION
"Represents an IPX address."
SYNTAX OCTET STRING (SIZE (12))
-- for proxy to community-based SNMPv1 (RFC 1157)
rfc1157Proxy OBJECT IDENTIFIER ::= { snmpProxys 1 }
-- uses SnmpUDPAddress
rfc1157Domain OBJECT IDENTIFIER ::= { rfc1157Proxy 1 }
-- the community-based noAuth
rfc1157noAuth OBJECT IDENTIFIER ::= { rfc1157Proxy 2 }
END