I have a MIB that I started working on but smilint
complains about a missing conformance group. How do I add this conformance group to my file?
BLEH-PRODUCT-MIB DEFINITIONS ::= BEGIN
-- Objects in this MIB are implemented in the local SNMP agent.
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Integer32, enterprises
FROM SNMPv2-SMI;
blehProductMIB MODULE-IDENTITY
LAST-UPDATED "201305290000Z"
ORGANIZATION "Bleh Corporation"
CONTACT-INFO " Joe Shmoe
Postal: Bleh Corporation
23 Telnet Road
Ottawa, ON, K1K 1K1
Canada
Tel: +1 555 555 5555 x5555
Fax: +1 555 555 5556
E-mail: [email protected]"
DESCRIPTION "MIB module describing Product objects."
REVISION "201305290000Z"
DESCRIPTION "Initial"
::= { bleh 911 }
bleh OBJECT IDENTIFIER ::= { enterprises 54321 }
productStatus OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..65535))
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The status of the Product system
Details are shown as text"
::= { blehProductMIB 1 }
binaryProductStatus OBJECT-TYPE
SYNTAX Integer32 (0..1)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The status of the Product system
Zero is unhealthy and One is healthy"
::= { blehProductMIB 2 }
END
Output of smilint
:
$ smilint ./BLEH-PRODUCT-MIB
./BLEH-PRODUCT-MIB:28: warning: node `productStatus' must be contained in at least one conformance group
./BLEH-PRODUCT-MIB:37: warning: node `binaryProductStatus' must be contained in at least one conformance group
The MIB at the management station contains network management information extracted from the MIBs of all the managed entities in the network. The structure of management information (SMI), an SNMP standard described in the NWG RFC 1155, defines the structure of the MIB information and the allowable data types.
The MIB variables are referred to as MIB Object Identifiers (OIDs). OID names are hierarchy structured and unique. SNMP uses the OID to identify objects on each network element (device running SNMP agent) that can be managed using SNMP.
It simply means you should define OBJECT-GROUP entities before defining OBJECT-TYPE entities in your MIB document.
Take RFC 1907 as example,
https://www.rfc-editor.org/rfc/rfc1907
snmpGroup OBJECT-GROUP
OBJECTS { snmpInPkts,
snmpInBadVersions,
snmpInASNParseErrs,
snmpSilentDrops,
snmpProxyDrops,
snmpEnableAuthenTraps }
STATUS current
DESCRIPTION
"A collection of objects providing basic instrumentation and
control of an SNMPv2 entity."
::= { snmpMIBGroups 8 }
is defined first, and then
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 }
About why groups are important, you can read RFC 2580.
https://www.rfc-editor.org/rfc/rfc2580
Since you are going to define groups, then adding associated MODULE-COMPLIANCE is recommended.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With