SNMP-TARGET-MIB(7)
π SNMP-TARGET-MIB(7) π
okay bestie, welcome to the SNMP-TARGET-MIB(7) page β this is from the MIB manual, and it is literally the Erlang/OTP MIB module for mechanisms to remotely configure the parameters for the generation of SNMP messages. no cap, that is the whole NAME section, but we are gonna make it cute.
πΈ NAME πΈ
SNMP-TARGET-MIB β The Erlang/OTP MIB module for mechanisms to remotely configure the parameters for the generation of SNMP messages.
π DESCRIPTION π
okay so here is the thing: this page is basically a giant ASN.1 glow-up. The module defines MIB objects that provide mechanisms to remotely configure the parameters used by an SNMP entity for the generation of SNMP messages. That is the official vibe. Below is the actual definition, copied exactly because we do not mess with code β periodt.
SNMP-TARGET-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY,
OBJECT-TYPE,
snmpModules,
Counter32,
Integer32
FROM SNMPv2-SMI
TEXTUAL-CONVENTION,
TDomain,
TAddress,
TimeInterval,
RowStatus,
StorageType,
TestAndIncr
FROM SNMPv2-TC
SnmpSecurityModel,
SnmpMessageProcessingModel,
SnmpSecurityLevel,
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB
MODULE-COMPLIANCE,
OBJECT-GROUP
FROM SNMPv2-CONF;
snmpTargetMIB MODULE-IDENTITY
LAST-UPDATED "9808040000Z"
ORGANIZATION "IETF SNMPv3 Working Group"
CONTACT-INFO
"WG-email: snmpv3@tis.com
Subscribe: majordomo@tis.com
In message body: subscribe snmpv3
Chair: Russ Mundy
Trusted Information Systems
Postal: 3060 Washington Rd
Glenwood MD 21738
USA
EMail: mundy@tis.com
Phone: +1-301-854-6889
Co-editor: David B. Levi
SNMP Research, Inc.
Postal: 3001 Kimberlin Heights Road
Knoxville, TN 37920-9716
EMail: levi@snmp.com
Phone: +1 423 573 1434
Co-editor: Paul Meyer
Secure Computing Corporation
Postal: 2675 Long Lake Road
Roseville, MN 55113
EMail: paul_meyer@securecomputing.com
Phone: +1 651 628 1592
Co-editor: Bob Stewart
Cisco Systems, Inc.
Postal: 170 West Tasman Drive
San Jose, CA 95134-1706
EMail: bstewart@cisco.com
Phone: +1 603 654 2686"
DESCRIPTION
"This MIB module defines MIB objects which provide
mechanisms to remotely configure the parameters used
by an SNMP entity for the generation of SNMP messages."
REVISION "9808040000Z"
DESCRIPTION "Clarifications, published as
draft-ietf-snmpv3-appl-v2-01.txt."
REVISION "9707140000Z"
DESCRIPTION "The initial revision, published as RFC2273."
::= { snmpModules 12 }
snmpTargetObjects OBJECT IDENTIFIER ::= { snmpTargetMIB 1 }
snmpTargetConformance OBJECT IDENTIFIER ::= { snmpTargetMIB 3 }
SnmpTagValue ::= TEXTUAL-CONVENTION
DISPLAY-HINT "255a"
STATUS current
DESCRIPTION
"An octet string containing a tag value.
Tag values are preferably in human-readable form.
To facilitate internationalization, this information
is represented using the ISO/IEC IS 10646-1 character
set, encoded as an octet string using the UTF-8
character encoding scheme described in RFC 2279.
Since additional code points are added by amendments
to the 10646 standard from time to time,
implementations must be prepared to encounter any code
point from 0x00000000 to 0x7fffffff.
The use of control codes should be avoided, and certain
control codes are not allowed as described below.
For code points not directly supported by user
interface hardware or software, an alternative means
of entry and display, such as hexadecimal, may be
provided.
For information encoded in 7-bit US-ASCII, the UTF-8
representation is identical to the US-ASCII encoding.
Note that when this TC is used for an object that
is used or envisioned to be used as an index, then a
SIZE restriction must be specified so that the number
of sub-identifiers for any object instance does not
exceed the limit of 128, as defined by [RFC1905].
An object of this type contains a single tag value
which is used to select a set of entries in a table.
A tag value is an arbitrary string of octets, but
may not contain a delimiter character. Delimiter
characters are defined to be one of the following:
- An ASCII space character (0x20).
- An ASCII TAB character (0x09).
- An ASCII carriage return (CR) character (0x0D).
- An ASCII line feed (LF) character (0x0B).
Delimiter characters are used to separate tag values
in a tag list. An object of this type may only
contain a single tag value, and so delimiter
characters are not allowed in a value of this type.
Some examples of valid tag values are:
- 'acme'
- 'router'
- 'host'
The use of a tag value to select table entries is
application and MIB specific."
SYNTAX OCTET STRING (SIZE (0..255))
SnmpTagList ::= TEXTUAL-CONVENTION
DISPLAY-HINT "255a"
STATUS current
DESCRIPTION
"An octet string containing a list of tag values.
Tag values are preferably in human-readable form.
To facilitate internationalization, this information
is represented using the ISO/IEC IS 10646-1 character
set, encoded as an octet string using the UTF-8
character encoding scheme described in RFC 2279.
Since additional code points are added by amendments
to the 10646 standard from time to time,
implementations must be prepared to encounter any code
point from 0x00000000 to 0x7fffffff.
The use of control codes should be avoided, except as
described below.
For code points not directly supported by user
interface hardware or software, an alternative means
of entry and display, such as hexadecimal, may be
provided.
For information encoded in 7-bit US-ASCII, the UTF-8
representation is identical to the US-ASCII encoding.
An object of this type contains a list of tag values
which are used to select a set of entries in a table.
A tag value is an arbitrary string of octets, but
may not contain a delimiter character. Delimiter
characters are defined to be one of the following:
- An ASCII space character (0x20).
- An ASCII TAB character (0x09).
- An ASCII carriage return (CR) character (0x0D).
- An ASCII line feed (LF) character (0x0B).
Delimiter characters are used to separate tag values
in a tag list. Only a single delimiter character may
occur between two tag values. A tag value may not
have a zero length. These constraints imply certain
restrictions on the contents of this object:
- There cannot be a leading or trailing delimiter
character.
- There cannot be multiple adjacent delimiter
characters.
Some examples of valid tag lists are:
- An empty string
- 'acme router'
- 'host managerStation'
Note that although a tag value may not have a length of
zero, an empty string is still valid. This indicates
an empty list (i.e. there are no tag values in the list).
The use of the tag list to select table entries is
application and MIB specific. Typically, an application
will provide one or more tag values, and any entry
which contains some combination of these tag values
will be selected."
SYNTAX OCTET STRING (SIZE (0..255))
--
--
-- The snmpTargetObjects group
--
--
snmpTargetSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object is used to facilitate modification of table
entries in the SNMP-TARGET-MIB module by multiple
managers. In particular, it is useful when modifying
the value of the snmpTargetAddrTagList object.
The procedure for modifying the snmpTargetAddrTagList
object is as follows:
1. Retrieve the value of snmpTargetSpinLock and
of snmpTargetAddrTagList.
2. Generate a new value for snmpTargetAddrTagList.
3. Set the value of snmpTargetSpinLock to the
retrieved value, and the value of
snmpTargetAddrTagList to the new value. If
the set fails for the snmpTargetSpinLock
object, go back to step 1."
::= { snmpTargetObjects 1 }
snmpTargetAddrTable OBJECT-TYPE
SYNTAX SEQUENCE OF SnmpTargetAddrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of transport addresses to be used in the generation
of SNMP messages."
::= { snmpTargetObjects 2 }
snmpTargetAddrEntry OBJECT-TYPE
SYNTAX SnmpTargetAddrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A transport address to be used in the generation
of SNMP operations.
Entries in the snmpTargetAddrTable are created and
deleted using the snmpTargetAddrRowStatus object."
INDEX { IMPLIED snmpTargetAddrName }
::= { snmpTargetAddrTable 1 }
okay so here's literally the shape of one row in the target address table β every field, in order, nothing skipped, no cap:
SnmpTargetAddrEntry ::= SEQUENCE {
snmpTargetAddrName SnmpAdminString,
snmpTargetAddrTDomain TDomain,
snmpTargetAddrTAddress TAddress,
snmpTargetAddrTimeout TimeInterval,
snmpTargetAddrRetryCount Integer32,
snmpTargetAddrTagList SnmpTagList,
snmpTargetAddrParams SnmpAdminString,
snmpTargetAddrStorageType StorageType,
snmpTargetAddrRowStatus RowStatus
}
π
the snmpTargetAddrTable columns, one by one π
π¦ snmpTargetAddrName
- SYNTAX β
SnmpAdminString (SIZE(1..32)) - MAX-ACCESS β
not-accessible - STATUS β
current - OID β
::= { snmpTargetAddrEntry 1 }
the locally arbitrary but unique identifier for this snmpTargetAddrEntry, bestie. it's the row's name β arbitrary because you pick it, unique because you can't have two of the same, obviously π
.
π¦ snmpTargetAddrTDomain
- SYNTAX β
TDomain - MAX-ACCESS β
read-create - STATUS β
current - OID β
::= { snmpTargetAddrEntry 2 }
tells you the transport type of whatever address is sitting in snmpTargetAddrTAddress. like, what flavour of address are we dealing with here. π
π¦ snmpTargetAddrTAddress
- SYNTAX β
TAddress - MAX-ACCESS β
read-create - STATUS β
current - OID β
::= { snmpTargetAddrEntry 3 }
the actual transport address lives here. and the format? depends entirely on snmpTargetAddrTDomain β so check the domain first, bestie, don't just assume. π
π¦ snmpTargetAddrTimeout
- SYNTAX β
TimeInterval - MAX-ACCESS β
read-create - STATUS β
current - DEFVAL β
{ 1500 } - OID β
::= { snmpTargetAddrEntry 4 }
this one should reflect the expected maximum round trip time for talking to the transport address in this row. so when a message gets sent out and a response (if one's even expected) doesn't show up within that time period, the implementation may just assume the response isn't gonna be delivered. bye π.
okay and here's the fine print, bc it matters: the time interval your app actually waits for a response may itself be derived from this object's value β and how that derivation works is implementation dependent. one method is deriving the expected round trip time from a particular retransmission algorithm plus how many timeouts have already happened. the type of message can also factor into the expected round trip times for retransmissions. for example β if a message is sent with a securityLevel that says both authentication and privacy, the derived value may get bumped up to compensate for the extra processing time spent on authentication and encryption. so yeah, more security, more waiting, highkey π.
π¦ snmpTargetAddrRetryCount
- SYNTAX β
Integer32 (0..255) - MAX-ACCESS β
read-create - STATUS β
current - DEFVAL β
{ 3 } - OID β
::= { snmpTargetAddrEntry 5 }
the default number of retries to attempt when no response comes back for a generated message. but plot twist β an application can bring its own retry count, and if it does, this object's value gets ignored. not me being replaceable π.
π¦ snmpTargetAddrTagList
- SYNTAX β
SnmpTagList - MAX-ACCESS β
read-create - STATUS β
current - DEFVAL β
{ "" } - OID β
::= { snmpTargetAddrEntry 6 }
a list of tag values, and those tags are what select target addresses for a particular operation. it's giving little name-tags so the right addresses get picked for the right job π.
π¦ snmpTargetAddrParams
- SYNTAX β
SnmpAdminString (SIZE(1..32)) - MAX-ACCESS β
read-create - STATUS β
current - OID β
::= { snmpTargetAddrEntry 7 }
this value points at an entry in snmpTargetParamsTable. and that entry is where the SNMP parameters live β the ones used when generating messages to send to this transport address. so it's basically the "how do I talk to this address" settings pointer π₯.
π¦ snmpTargetAddrStorageType
- SYNTAX β
StorageType - MAX-ACCESS β
read-create - STATUS β
current - DEFVAL β
{ nonVolatile } - OID β
::= { snmpTargetAddrEntry 8 }
the storage type for this conceptual row. that's it, that's the whole thing. short and iconic β¨.
π¦ snmpTargetAddrRowStatus
- SYNTAX β
RowStatus - MAX-ACCESS β
read-create - STATUS β
current - OID β
::= { snmpTargetAddrEntry 9 }
the status of this conceptual row. to create one, a manager has to set this object to either createAndGo(5) or createAndWait(5) β those are the two entries into the club π«Ά.
until all the corresponding columns are appropriately configured, the matching instance of snmpTargetAddrRowStatus just sits there as 'notReady'. and specifically β a newly created row cannot be made active until these three have all been set:
snmpTargetAddrTDomainsnmpTargetAddrTAddresssnmpTargetAddrParams
also, while this object isactive(1), these two are unmodifiable bad boys: -snmpTargetAddrTDomain-snmpTargetAddrTAddresstry to set them whilesnmpTargetAddrRowStatusisactive(1)and you get aninconsistentValueerror. no cap, don't do it π.
π¦ snmpTargetParamsTable β target params, the sequel π¦
- SYNTAX β
SEQUENCE OF SnmpTargetParamsEntry - MAX-ACCESS β
not-accessible - STATUS β
current - OID β
::= { snmpTargetObjects 3 }
a table of SNMP target information to be used when generating SNMP messages. yes bestie, this is the one the address rows point into π.
π snmpTargetParamsEntry
- SYNTAX β
SnmpTargetParamsEntry - MAX-ACCESS β
not-accessible - STATUS β
current - INDEX β
{ IMPLIED snmpTargetParamsName } - OID β
::= { snmpTargetParamsTable 1 }
a set of SNMP target information. entries in snmpTargetParamsTable get created and deleted using the snmpTargetParamsRowStatus object β that's the on/off switch for the whole row, iykyk.
and here's the SEQUENCE, literally:
SnmpTargetParamsEntry ::= SEQUENCE {
snmpTargetParamsName SnmpAdminString,
snmpTargetParamsMPModel SnmpMessageProcessingModel,
snmpTargetParamsSecurityModel SnmpSecurityModel,
snmpTargetParamsSecurityName SnmpAdminString,
snmpTargetParamsSecurityLevel SnmpSecurityLevel,
snmpTargetParamsStorageType StorageType,
snmpTargetParamsRowStatus RowStatus
}
π¦ snmpTargetParamsName
- SYNTAX β
SnmpAdminString (SIZE(1..32)) - MAX-ACCESS β
not-accessible - STATUS β
current - OID β
::= { snmpTargetParamsEntry 1 }
the locally arbitrary but unique identifier hooked to this snmpTargetParamsEntry. same deal as before β you name it, it just has to be unique πΈ.
π¦ snmpTargetParamsMPModel
- SYNTAX β
SnmpMessageProcessingModel - MAX-ACCESS β
read-create - STATUS β
current - OID β
::= { snmpTargetParamsEntry 2 }
the Message Processing Model used when generating SNMP messages with this entry. pick your model, bestie π .
π¦ snmpTargetParamsSecurityModel
- SYNTAX β
SnmpSecurityModel (1..2147483647) - MAX-ACCESS β
read-create - STATUS β
current - OID β
::= { snmpTargetParamsEntry 3 }
the Security Model used when generating SNMP messages with this entry. and heads up β an implementation may choose to return an inconsistentValue error if you try to set this to a value for a security model it doesn't actually support. so like, read the room (and the supported list) π.
π¦ snmpTargetParamsSecurityName
- SYNTAX β
SnmpAdminString - MAX-ACCESS β
read-create - STATUS β
current - OID β
::= { snmpTargetParamsEntry 4 }
the securityName that identifies the Principal on whose behalf SNMP messages get generated using this entry. main character energy, but make it a security principal π.
π¦ snmpTargetParamsSecurityLevel
- SYNTAX β
SnmpSecurityLevel - MAX-ACCESS β
read-create - STATUS β
current - OID β
::= { snmpTargetParamsEntry 5 }
the Level of Security used when generating SNMP messages with this entry. that's the whole description, she's brief and she's flawless β¨.
π¦ snmpTargetParamsStorageType
- SYNTAX β
StorageType - MAX-ACCESS β
read-create - STATUS β
current - DEFVAL β
{ nonVolatile } - OID β
::= { snmpTargetParamsEntry 6 }
the storage type for this conceptual row. same energy as the address one, just vibing in a different table π.
π¦ snmpTargetParamsRowStatus
- SYNTAX β
RowStatus - MAX-ACCESS β
read-create - STATUS β
current - OID β
::= { snmpTargetParamsEntry 7 }
the status of this conceptual row. to create a row in this table, a manager must set this object to either createAndGo(5) or createAndWait(5) β same two magic words as before π«Ά.
until all corresponding columns are properly configured, the matching instance of snmpTargetParamsRowStatus stays 'notReady'. and specifically, a freshly created row can't go active until all four of these are set:
snmpTargetParamsMPModelsnmpTargetParamsSecurityModelsnmpTargetParamsSecurityNamesnmpTargetParamsSecurityLevel
and while this object isactive(1), these four are locked down: -snmpTargetParamsMPModel-snmpTargetParamsSecurityModel-snmpTargetParamsSecurityName-snmpTargetParamsSecurityLeveltry to set any of them whilesnmpTargetParamsRowStatusisactive(1)and boom βinconsistentValueerror. bestie, the row said not now π.
snmpUnavailableContexts OBJECT-TYPE π
- SYNTAX β
Counter32 - MAX-ACCESS β
read-only - STATUS β
current - DESCRIPTION β bestie, this is the total number of packets received by the SNMP engine that got dropped because the context contained in the message was unavailable. Not unknown β unavailable. Very important distinction, iykyk π
- OID assignment β
::= { snmpTargetObjects 4 }
snmpUnknownContexts OBJECT-TYPE π¦
- SYNTAX β
Counter32 - MAX-ACCESS β
read-only - STATUS β
current - DESCRIPTION β and this one is the total number of packets received by the SNMP engine that got dropped because the context contained in the message was unknown. Again: unknown, not unavailable. The MIB is being very precise about its little context drama β¨
- OID assignment β
::= { snmpTargetObjects 5 }
π Conformance information π
The original page drops these little comment banners here, so we're keeping the vibe:
--
--
-- Conformance information
--
--
And then the object identifiers show up like:
snmpTargetCompliances OBJECT IDENTIFIER ::= { snmpTargetConformance 1 }snmpTargetGroups OBJECT IDENTIFIER ::= { snmpTargetConformance 2 }
π Compliance statements π
Original comment banner, preserved with love:
--
--
-- Compliance statements
--
--
snmpTargetCommandResponderCompliance MODULE-COMPLIANCE π
- STATUS β
current - DESCRIPTION β the compliance statement for SNMP entities that include a command responder application. Basically: if your thing is a command responder, this is the compliance statement for you, bestie π
- MODULE β
-- This Module- MANDATORY-GROUPS β
{ snmpTargetCommandResponderGroup }
- MANDATORY-GROUPS β
- OID assignment β
::= { snmpTargetCompliances 1 }
snmpTargetBasicGroup OBJECT-GROUP πΈ
- OBJECTS β okay, this group is a whole little collection, and every single object is here:
snmpTargetSpinLocksnmpTargetAddrTDomainsnmpTargetAddrTAddresssnmpTargetAddrTagListsnmpTargetAddrParamssnmpTargetAddrStorageTypesnmpTargetAddrRowStatussnmpTargetParamsMPModelsnmpTargetParamsSecurityModelsnmpTargetParamsSecurityNamesnmpTargetParamsSecurityLevelsnmpTargetParamsStorageTypesnmpTargetParamsRowStatus
- STATUS β
current - DESCRIPTION β a collection of objects providing basic remote configuration of management targets. It's giving "starter pack for remote config" energy π
- OID assignment β
::= { snmpTargetGroups 1 }
snmpTargetResponseGroup OBJECT-GROUP π₯
- OBJECTS β just these two icons:
snmpTargetAddrTimeoutsnmpTargetAddrRetryCount
- STATUS β
current - DESCRIPTION β a collection of objects providing remote configuration of management targets for applications which generate SNMP messages for which a response message would be expected. Translation: apps that send SNMP messages and expect a response get their remote config from here, periodt π
- OID assignment β
::= { snmpTargetGroups 2 }
snmpTargetCommandResponderGroup OBJECT-GROUP π«Ά
- OBJECTS β the error-counting duo:
snmpUnavailableContextssnmpUnknownContexts
- STATUS β
current - DESCRIPTION β a collection of objects required for command responder applications, used for counting error conditions. Lowkey essential for command responder apps keeping track of error conditions π
- OID assignment β
::= { snmpTargetGroups 3 }
And then, iconic behaviour, the page just says:
END
Okay that's the whole page, bestie π«Ά Footer sign-off: Erlang/OTP / SNMP / SNMP-TARGET-MIB(7), plus the date line that your manpage footer carries. That's the whole vibe, periodt ππ
π¦ where this page comes from
- debian bookworm: erlang-manpages 1:25.2.3+dfsg-1+deb12u1 Β· Apache-2.0
- debian bookworm: erlang-manpages 1:25.2.3+dfsg-1+deb12u4 Β· Apache-2.0
- ubuntu jammy: erlang-manpages 1:24.2.1+dfsg-1 Β· Apache-2.0
- ubuntu jammy: erlang-manpages 1:24.2.1+dfsg-1ubuntu0.8 Β· Apache-2.0
- ubuntu noble: erlang-manpages 1:25.3.2.8+dfsg-1ubuntu4 Β· Apache-2.0
- ubuntu noble: erlang-manpages 1:25.3.2.8+dfsg-1ubuntu4.8 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms