SNMPv2-MIB(7)
π¦ SNMPv2-MIB(7) π¦
okay bestie, this is part 1 of 3 of the SNMPv2-MIB(7) page β the Erlang/OTP MIB module for SNMP entities. we're literally in the group chat with the IETF now, no cap. π
π NAME π
SNMPv2-MIB β The Erlang/OTP MIB module for SNMP entities
β¨ DESCRIPTION β¨
The module opens with SNMPv2-MIB DEFINITIONS ::= BEGIN, and the imports are doing the absolute most. Here's the exact opening, character for character:
SNMPv2-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
TimeTicks, Counter32, snmpModules, mib-2
FROM SNMPv2-SMI
DisplayString, TestAndIncr, TimeStamp
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF;
Then we get snmpMIB MODULE-IDENTITY, and it's giving official IETF SNMPv3 Working Group realness. It carries LAST-UPDATED "200210160000Z", the organization, the whole contact block, the description with the copyright line, and all three revisions. Here it is exactly:
snmpMIB MODULE-IDENTITY
LAST-UPDATED "200210160000Z"
ORGANIZATION "IETF SNMPv3 Working Group"
CONTACT-INFO
"WG-EMail: snmpv3@lists.tislabs.com
Subscribe: snmpv3-request@lists.tislabs.com
Co-Chair: Russ Mundy
Network Associates Laboratories
postal: 15204 Omega Drive, Suite 300
Rockville, MD 20850-4601
USA
EMail: mundy@tislabs.com
phone: +1 301 947-7107
Co-Chair: David Harrington
Enterasys Networks
postal: 35 Industrial Way
P. O. Box 5005
Rochester, NH 03866-5005
USA
EMail: dbh@enterasys.com
phone: +1 603 337-2614
Editor: Randy Presuhn
BMC Software, Inc.
postal: 2141 North First Street
San Jose, CA 95131
USA
EMail: randy_presuhn@bmc.com
phone: +1 408 546-1006"
DESCRIPTION
"The MIB module for SNMP entities.
Copyright (C) The Internet Society (2002). This
version of this MIB module is part of RFC 3418;
see the RFC itself for full legal notices.
"
REVISION "200210160000Z"
DESCRIPTION
"This revision of this MIB module was published as
RFC 3418."
REVISION "199511090000Z"
DESCRIPTION
"This revision of this MIB module was published as
RFC 1907."
REVISION "199304010000Z"
DESCRIPTION
"The initial revision of this MIB module was published
as RFC 1450."
::= { snmpModules 1 }
After ::= { snmpModules 1 }, we get snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 }, plus three commented-out obsolete OIDs. Not me pointing at obsolete things β they're literally labeled obsolete in the source:
snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 }
-- ::= { snmpMIBObjects 1 } this OID is obsolete
-- ::= { snmpMIBObjects 2 } this OID is obsolete
-- ::= { snmpMIBObjects 3 } this OID is obsolete
these OIDs are obsolete, bestie β respect the comments. π
Next up is the System group β described as βa collection of objects common to all managed systems.β It starts at system OBJECT IDENTIFIER ::= { mib-2 1 }. Here's the exact block for all seven core system objects:
-- the System group
--
-- a collection of objects common to all managed systems.
system OBJECT IDENTIFIER ::= { mib-2 1 }
sysDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A textual description of the entity. This value should
include the full name and version identification of
the system's hardware type, software operating-system,
and networking software."
::= { system 1 }
sysObjectID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The vendor's authoritative identification of the
network management subsystem contained in the entity.
This value is allocated within the SMI enterprises
subtree (1.3.6.1.4.1) and provides an easy and
unambiguous means for determining `what kind of box' is
being managed. For example, if vendor `Flintstones,
Inc.' was assigned the subtree 1.3.6.1.4.1.424242,
it could assign the identifier 1.3.6.1.4.1.424242.1.1
to its `Fred Router'."
::= { system 2 }
sysUpTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized."
::= { system 3 }
sysContact OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The textual identification of the contact person for
this managed node, together with information on how
to contact this person. If no contact information is
known, the value is the zero-length string."
::= { system 4 }
sysName OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"An administratively-assigned name for this managed
node. By convention, this is the node's fully-qualified
domain name. If the name is unknown, the value is
the zero-length string."
::= { system 5 }
sysLocation OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The physical location of this node (e.g., 'telephone
closet, 3rd floor'). If the location is unknown, the
value is the zero-length string."
::= { system 6 }
sysServices OBJECT-TYPE
SYNTAX INTEGER (0..127)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A value which indicates the set of services that this
entity may potentially offer. The value is a sum.
This sum initially takes the value zero. Then, for
each layer, L, in the range 1 through 7, that this node
performs transactions for, 2 raised to (L - 1) is added
to the sum. For example, a node which performs only
routing functions would have a value of 4 (2^(3-1)).
In contrast, a node which is a host offering application
services would have a value of 72 (2^(4-1) + 2^(7-1)).
Note that in the context of the Internet suite of
protocols, values should be calculated accordingly:
layer functionality
1 physical (e.g., repeaters)
2 datalink/subnetwork (e.g., bridges)
3 internet (e.g., supports the IP)
4 end-to-end (e.g., supports the TCP)
7 applications (e.g., supports the SMTP)
For systems including OSI protocols, layers 5 and 6
may also be counted."
::= { system 7 }
quick vibe check on those, bestie:
sysDescrβ read-onlyDisplayString (SIZE (0..255)), statuscurrent. It's the textual description of the entity, and it should include the full name and version identification of the system's hardware type, software operating-system, and networking software. πsysObjectIDβ read-onlyOBJECT IDENTIFIER, statuscurrent. It's the vendor's authoritative identification of the network management subsystem contained in the entity. It's allocated within the SMI enterprises subtree1.3.6.1.4.1, so it's an easy and unambiguous way to determinewhat kind of boxis being managed. Example: vendorFlintstones, Inc.assigned subtree1.3.6.1.4.1.424242could assign1.3.6.1.4.1.424242.1.1to itsFred Router.sysUpTimeβ read-onlyTimeTicks, statuscurrent. It's the time in hundredths of a second since the network management portion of the system was last re-initialized.sysContactβ read-writeDisplayString (SIZE (0..255)), statuscurrent. Textual identification of the contact person for this managed node, plus info on how to contact them. If no contact information is known, the value is the zero-length string.sysNameβ read-writeDisplayString (SIZE (0..255)), statuscurrent. Administratively-assigned name for this managed node. By convention, it's the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string.sysLocationβ read-writeDisplayString (SIZE (0..255)), statuscurrent. Physical location of this node (e.g.,telephone closet, 3rd floor). If the location is unknown, the value is the zero-length string.sysServicesβ read-onlyINTEGER (0..127), statuscurrent. It indicates the set of services this entity may potentially offer, and the value is a sum. It starts at zero; for each layerL, in the range 1 through 7, that this node performs transactions for,2 raised to (L - 1)is added to the sum. Example: a node that performs only routing functions would have4(2^(3-1)). A host offering application services would have72(2^(4-1) + 2^(7-1)). In the Internet suite of protocols, calculate accordingly: layer 1 physical (e.g., repeaters), layer 2 datalink/subnetwork (e.g., bridges), layer 3 internet (e.g., supports the IP), layer 4 end-to-end (e.g., supports the TCP), layer 7 applications (e.g., supports the SMTP). For systems including OSI protocols, layers 5 and 6 may also be counted.
Then comes the object resource information section β a collection of objects that describe the SNMP entity's (statically and dynamically configurable) support of various MIB modules. The first one is sysORLastChange, and then the whole sysORTable situation unfolds. Exact block:
-- object resource information
--
-- a collection of objects which describe the SNMP entity's
-- (statically and dynamically configurable) support of
-- various MIB modules.
sysORLastChange 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 sysORID."
::= { system 8 }
sysORTable OBJECT-TYPE
SYNTAX SEQUENCE OF SysOREntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The (conceptual) table listing the capabilities of
the local SNMP application acting as a command
responder with respect to various MIB modules.
SNMP entities having dynamically-configurable support
of MIB modules will have a dynamically-varying number
of conceptual rows."
::= { system 9 }
sysOREntry OBJECT-TYPE
SYNTAX SysOREntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry (conceptual row) in the sysORTable."
INDEX { sysORIndex }
::= { sysORTable 1 }
SysOREntry ::= SEQUENCE {
sysORIndex INTEGER,
sysORID OBJECT IDENTIFIER,
sysORDescr DisplayString,
sysORUpTime TimeStamp
}
sysORIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The auxiliary variable used for identifying instances
of the columnar objects in the sysORTable."
::= { sysOREntry 1 }
sysORID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An authoritative identification of a capabilities
statement with respect to various MIB modules supported
by the local SNMP application acting as a command
responder."
::= { sysOREntry 2 }
sysORDescr OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A textual description of the capabilities identified
by the corresponding instance of sysORID."
::= { sysOREntry 3 }
sysORUpTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time this conceptual
row was last instantiated."
::= { sysOREntry 4 }
breakdown, because we love a table moment:
sysORLastChangeβ read-onlyTimeStamp, statuscurrent. It's the value ofsysUpTimeat the time of the most recent change in state or value of any instance ofsysORID.sysORTableβSEQUENCE OF SysOREntry,MAX-ACCESS not-accessible, statuscurrent. It's the (conceptual) table listing the capabilities of the local SNMP application acting as a command responder with respect to various MIB modules. SNMP entities having dynamically-configurable support of MIB modules will have a dynamically-varying number of conceptual rows.sysOREntryβSYNTAX SysOREntry,MAX-ACCESS not-accessible, statuscurrent. It's an entry (conceptual row) in thesysORTable.INDEX { sysORIndex }.SysOREntry ::= SEQUENCE { ... }β exact sequence:sysORIndex INTEGER,sysORID OBJECT IDENTIFIER,sysORDescr DisplayString,sysORUpTime TimeStamp.sysORIndexβINTEGER (1..2147483647),MAX-ACCESS not-accessible, statuscurrent. The auxiliary variable used for identifying instances of the columnar objects in thesysORTable.sysORIDβ read-onlyOBJECT IDENTIFIER, statuscurrent. An authoritative identification of a capabilities statement with respect to various MIB modules supported by the local SNMP application acting as a command responder.sysORDescrβ read-onlyDisplayString, statuscurrent. A textual description of the capabilities identified by the corresponding instance ofsysORID.sysORUpTimeβ read-onlyTimeStamp, statuscurrent. The value ofsysUpTimeat the time this conceptual row was last instantiated.
Finally, part 1 hits the SNMP group β a collection of objects providing basic instrumentation and control of an SNMP entity. It starts at snmp OBJECT IDENTIFIER ::= { mib-2 11 }. Here's the exact block, and yes, snmpInBadVersions is at { snmp 3 }, not 2 β pay attention, bestie:
-- the SNMP group
--
-- a collection of objects providing basic instrumentation and
-- control of an SNMP entity.
snmp OBJECT IDENTIFIER ::= { mib-2 11 }
snmpInPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of messages delivered to the SNMP
entity from the transport service."
::= { snmp 1 }
snmpInBadVersions OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of SNMP messages which were delivered
to the SNMP entity and were for an unsupported SNMP
version."
::= { snmp 3 }
snmpInPktsβ read-onlyCounter32, statuscurrent. It's the total number of messages delivered to the SNMP entity from the transport service.snmpInBadVersionsβ read-onlyCounter32, statuscurrent. It's the total number of SNMP messages which were delivered to the SNMP entity and were for an unsupported SNMP version.
okay so now we get to the actual meat of this MIB β the scalars, the notification crew, the set-group lock, and honestly a whole lot of conformance paperwork π every single object, every single OID, no skipping, we're eating this whole thing.
π snmpInBadCommunityNames
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
This one counts the total number of community-based SNMP messages (think SNMPv1, bestie) that got delivered to the SNMP entity while using an SNMP community name that the entity straight-up did not know. Not recognized? Counter goes up. π«Ά
Also β and this is the fun part β implementations that authenticate community-based SNMP messages using check(s) on top of just matching the community name (like, by also checking whether the message came from a transport address that's allowed to use a specified community name) MAY include in this value the number of messages that failed the additional check(s).
it is strongly RECOMMENDED that the documentation for any security model used to authenticate community-based SNMP messages spell out the precise conditions that contribute to this value. like, be specific, iykyk.
::= { snmp 4 }
π¦ snmpInBadCommunityUses
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
The total number of community-based SNMP messages (SNMPv1, again) delivered to the SNMP entity that represented an SNMP operation which was not allowed for the SNMP community named in the message. so like, you had the community name, it just wasn't allowed to do that. rude. π
The precise conditions under which this counter gets incremented (if at all) depend on how the SNMP entity implements its access control mechanism and how its applications interact with that access control mechanism. it's vibes-dependent, fr fr.
it is strongly RECOMMENDED that the documentation for any access control mechanism used to control access to and visibility of MIB instrumentation specify the precise conditions that contribute to this value.
::= { snmp 5 }
β¨ snmpInASNParseErrs
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
The total number of ASN.1 or BER errors the SNMP entity ran into while decoding received SNMP messages. the parsing L, honestly. π
::= { snmp 6 }
π snmpEnableAuthenTraps
SYNTAX INTEGER { enabled(1), disabled(2) }
MAX-ACCESS read-write
STATUS current
Tells you whether the SNMP entity is permitted to generate authenticationFailure traps. the value of this object overrides any configuration information β so it's a whole main-character override β which means it gives you a way to disable all the authenticationFailure traps at once. slay.
note that it is strongly recommended that this object be stored in non-volatile memory so it stays constant across re-initializations of the network management system. don't let it forget itself.
::= { snmp 30 }
πΈ snmpSilentDrops
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
The total number of Confirmed Class PDUs β like GetRequest-PDUs, GetNextRequest-PDUs, GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs β delivered to the SNMP entity that got silently dropped because the size of a reply containing an alternate Response Class PDU (like a Response-PDU) with an empty variable-bindings field was bigger than either a local constraint or the maximum message size associated with the originator of the request. too big, no reply, no explanation. the audacity. π
::= { snmp 31 }
π§ snmpProxyDrops
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
The total number of Confirmed Class PDUs (such as GetRequest-PDUs, GetNextRequest-PDUs, GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs) delivered to the SNMP entity that got silently dropped because the transmission of the (possibly translated) message to a proxy target failed in a manner β other than a time-out β such that no Response Class PDU (such as a Response-PDU) could be returned. proxy said nope and ghosted. π
::= { snmp 32 }
π information for notifications
-- a collection of objects which allow the SNMP entity, when
-- supporting a notification originator application,
-- to be configured to generate SNMPv2-Trap-PDUs.
snmpTrap OBJECT IDENTIFIER ::= { snmpMIBObjects 4 }
π snmpTrapOID
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS accessible-for-notify
STATUS current
The authoritative identification of the notification currently being sent. this variable shows up as the second varbind in every SNMPv2-Trap-PDU and InformRequest-PDU. second varbind, always, iconic behavior. π
::= { snmpTrap 1 }
-- ::= { snmpTrap 2 } this OID is obsolete
π snmpTrapEnterprise
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS accessible-for-notify
STATUS current
The authoritative identification of the enterprise associated with the trap currently being sent. when an SNMP proxy agent is mapping an RFC1157 Trap-PDU into a SNMPv2-Trap-PDU, this variable shows up as the last varbind. last but never least. π«Ά
::= { snmpTrap 3 }
-- ::= { snmpTrap 4 } this OID is obsolete
π₯ well-known traps
snmpTraps OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }
β coldStart
STATUS current
A coldStart trap means the SNMP entity β the one supporting a notification originator application β is reinitializing itself, and its configuration may have been altered. fresh start, possibly new settings, no cap. π
::= { snmpTraps 1 }
πΈ warmStart
STATUS current
A warmStart trap means the SNMP entity supporting a notification originator application is reinitializing itself such that its configuration is unaltered. same vibe, same config, just a little reboot moment. β¨
::= { snmpTraps 2 }
heads up: thelinkDownNOTIFICATION-TYPE::= { snmpTraps 3 }and thelinkUpNOTIFICATION-TYPE::= { snmpTraps 4 }are defined in RFC 2863 [RFC2863]. not our house, not our problem.
π¦ authenticationFailure
STATUS current
An authenticationFailure trap means the SNMP entity received a protocol message that is not properly authenticated. and yeah β while all implementations of SNMP entities MAY be capable of generating this trap, the snmpEnableAuthenTraps object is the one that says whether this trap will actually be generated. so it's a maybe on capability, and a definite yes/no on permission. π
::= { snmpTraps 5 }
also note: theegpNeighborLossnotification is defined as{ snmpTraps 6 }in RFC 1213. respectfully, not ours.
π the set group
-- a collection of objects which allow several cooperating
-- command generator applications to coordinate their use of the
-- set operation.
snmpSet OBJECT IDENTIFIER ::= { snmpMIBObjects 6 }
π snmpSetSerialNo
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
An advisory lock that lets several cooperating command generator applications coordinate their use of the SNMP set operation. it's the "one at a time, besties" object. π«Ά
This object is for coarse-grain coordination. to get fine-grain coordination, one or more similar objects might be defined within each MIB group, as appropriate. so, like, zoom in if you need to.
::= { snmpSet 1 }
π conformance information
snmpMIBConformance
OBJECT IDENTIFIER ::= { snmpMIB 2 }
snmpMIBCompliances
OBJECT IDENTIFIER ::= { snmpMIBConformance 1 }
snmpMIBGroups OBJECT IDENTIFIER ::= { snmpMIBConformance 2 }
π₯ compliance statements
-- ::= { snmpMIBCompliances 1 } this OID is obsolete
π snmpBasicCompliance
STATUS deprecated
The compliance statement for SNMPv2 entities that implement the SNMPv2 MIB. but β this compliance statement is replaced by snmpBasicComplianceRev2. so it's the deprecated older sibling. still valid to know about, not the one you should be using. π
MODULE -- this module
MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
snmpBasicNotificationsGroup }
GROUP snmpCommunityGroup
GROUP snmpCommunityGroupβ DESCRIPTION: "This group is mandatory for SNMPv2 entities which support community-based authentication."
::= { snmpMIBCompliances 2 }
π snmpBasicComplianceRev2
STATUS current
The compliance statement for SNMP entities that implement this MIB module. this is the current one, the upgrade, the glow-up. β¨
MODULE -- this module
MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
snmpBasicNotificationsGroup }
GROUP snmpCommunityGroup
GROUP snmpCommunityGroupβ DESCRIPTION: "This group is mandatory for SNMP entities which support community-based authentication."
GROUP snmpWarmStartNotificationGroup
GROUP snmpWarmStartNotificationGroupβ DESCRIPTION: "This group is mandatory for an SNMP entity which supports command responder applications, and is able to reinitialize itself such that its configuration is unaltered."
::= { snmpMIBCompliances 3 }
β units of conformance
-- ::= { snmpMIBGroups 1 } this OID is obsolete
-- ::= { snmpMIBGroups 2 } this OID is obsolete
-- ::= { snmpMIBGroups 3 } this OID is obsolete
-- ::= { snmpMIBGroups 4 } this OID is obsolete
π snmpGroup
STATUS current
A collection of objects providing basic instrumentation and control of an SNMP entity. the core squad, fr fr. π«Ά
OBJECTS { snmpInPkts,
snmpInBadVersions,
snmpInASNParseErrs,
snmpSilentDrops,
snmpProxyDrops,
snmpEnableAuthenTraps }
::= { snmpMIBGroups 8 }
π«Ά the OBJECT-GROUPs (aka the actual friend groups)
ok so these are literal groups of objects β think curated group chats where every member is an OID. Each one has its roster, a status, and a spot in the tree. Let's meet them π
snmpCommunityGroup
OBJECTSβsnmpInBadCommunityNames,snmpInBadCommunityUsesSTATUSβcurrent::=β{ snmpMIBGroups 9 }
it's giving basic instrumentation for an SNMP entity that does community-based authentication. two little counters, one very specific job π
snmpSetGroup
OBJECTSβsnmpSetSerialNoSTATUSβcurrent::=β{ snmpMIBGroups 5 }
this one is literally just for coordination β it lets a bunch of command generator applications cooperate on who gets to use the set operation. teamwork makes the dream work fr fr π«Ά
systemGroup
OBJECTSβsysDescr,sysObjectID,sysUpTime,sysContact,sysName,sysLocation,sysServices,sysORLastChange,sysORID,sysORUpTime,sysORDescrSTATUSβcurrent::=β{ snmpMIBGroups 6 }
the main character group honestly β¨ these are the objects that are common to all managed systems, no exceptions, everyone has them.
snmpBasicNotificationsGroup
NOTIFICATIONSβcoldStart,authenticationFailureSTATUSβcurrent::=β{ snmpMIBGroups 7 }
the basic notifications that an SNMP entity supporting command responder applications implements. just the two, but they carry π
snmpWarmStartNotificationGroup
NOTIFICATIONSβwarmStartSTATUSβcurrent::=β{ snmpMIBGroups 11 }
an additional notification, and it's conditional bestie β it's for an SNMP entity supporting command responder applications if it's able to reinitialize itself in a way that leaves its configuration unaltered. if it can't, this isn't your group π
snmpNotificationGroup
OBJECTSβsnmpTrapOID,snmpTrapEnterpriseSTATUSβcurrent::=β{ snmpMIBGroups 12 }
these two objects are required for entities that support notification originator applications. required. non-negotiable. periodt π₯
π the obsolete era (RFC 1213 leftovers)
straight from the source, queen: -- definitions in RFC 1213 made obsolete by the inclusion of a subset of the snmp group in this MIB
so this whole next chunk is the vintage collection β every one of these is Counter32, read-only, and obsolete. they're still documented, they're just not the moment anymore. let's give them their flowers anyway πΈ
snmpOutPktsβ::= { snmp 2 }β the total number of SNMP messages that got passed from the SNMP protocol entity over to the transport service. off they go π{ snmp 7 }β not used. that's it, that's the whole note.-- { snmp 7 } is not usedπsnmpInTooBigsβ::= { snmp 8 }β total SNMP PDUs delivered to the SNMP protocol entity where the error-status field wastooBig.snmpInNoSuchNamesβ::= { snmp 9 }β same deal, but the error-status field wasnoSuchName.snmpInBadValuesβ::= { snmp 10 }β and again, error-status field wasbadValue.snmpInReadOnlysβ::= { snmp 11 }β total number of valid SNMP PDUs delivered to the SNMP protocol entity where the error-status field wasreadOnly. and listen β it's a protocol error to generate an SNMP PDU that putsreadOnlyin the error-status field, so this object exists purely as a lil detector for incorrect SNMP implementations πsnmpInGenErrsβ::= { snmp 12 }β error-status field wasgenErr, you know the drill.snmpInTotalReqVarsβ::= { snmp 13 }β total MIB objects successfully retrieved by the SNMP protocol entity thanks to receiving valid SNMP Get-Request and Get-Next PDUs. productive icon πsnmpInTotalSetVarsβ::= { snmp 14 }β total MIB objects successfully altered by the SNMP protocol entity as a result of receiving valid SNMP Set-Request PDUs.snmpInGetRequestsβ::= { snmp 15 }β total SNMP Get-Request PDUs accepted and processed by the SNMP protocol entity.snmpInGetNextsβ::= { snmp 16 }β total SNMP Get-Next PDUs accepted and processed by the SNMP protocol entity.snmpInSetRequestsβ::= { snmp 17 }β total SNMP Set-Request PDUs accepted and processed by the SNMP protocol entity.snmpInGetResponsesβ::= { snmp 18 }β total SNMP Get-Response PDUs accepted and processed by the SNMP protocol entity.snmpInTrapsβ::= { snmp 19 }β total SNMP Trap PDUs accepted and processed by the SNMP protocol entity.snmpOutTooBigsβ::= { snmp 20 }β total SNMP PDUs generated by the SNMP protocol entity where the error-status field wastooBig. (note we flipped from in to out β this is the outgoing side π¦)snmpOutNoSuchNamesβ::= { snmp 21 }β generated by the entity, error-status wasnoSuchName.snmpOutBadValuesβ::= { snmp 22 }β generated by the entity, error-status field wasbadValue.{ snmp 23 }β not used either!!-- { snmp 23 } is not usedπsnmpOutGenErrsβ::= { snmp 24 }β generated by the entity, error-status field wasgenErr.snmpOutGetRequestsβ::= { snmp 25 }β total SNMP Get-Request PDUs generated by the SNMP protocol entity.snmpOutGetNextsβ::= { snmp 26 }β total SNMP Get-Next PDUs generated by the SNMP protocol entity.snmpOutSetRequestsβ::= { snmp 27 }β total SNMP Set-Request PDUs generated by the SNMP protocol entity.snmpOutGetResponsesβ::= { snmp 28 }β total SNMP Get-Response PDUs generated by the SNMP protocol entity.snmpOutTrapsβ::= { snmp 29 }β total SNMP Trap PDUs generated by the SNMP protocol entity.
snmpObsoleteGroup
OBJECTSβsnmpOutPkts,snmpInTooBigs,snmpInNoSuchNames,snmpInBadValues,snmpInReadOnlys,snmpInGenErrs,snmpInTotalReqVars,snmpInTotalSetVars,snmpInGetRequests,snmpInGetNexts,snmpInSetRequests,snmpInGetResponses,snmpInTraps,snmpOutTooBigs,snmpOutNoSuchNames,snmpOutBadValues,snmpOutGenErrs,snmpOutGetRequests,snmpOutGetNexts,snmpOutSetRequests,snmpOutGetResponses,snmpOutTrapsSTATUSβobsolete::=β{ snmpMIBGroups 10 }
the reunion tour group π a collection of objects from RFC 1213 that this MIB module made obsolete. twenty-two members, zero current status, all vibes.
END
and that's the module, bestie β it literally ends with END π that's not me being cute, that's the syntax.
and that's a wrap on SNMPv2-MIB(7)! this whole thing ships with Erlang/OTP's SNMP, filed under the section 7 man pages. go forth and poll responsibly π§ββοΈπ
π¦ 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