Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SNMP MIB SMIv2 Conformance Group Issue

Tags:

asn.1

snmp

mib

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
like image 373
Eric des Courtis Avatar asked May 29 '13 20:05

Eric des Courtis


People also ask

What is MIB structure in SNMP?

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.

What are the variables in the SNMP MIB called?

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.


1 Answers

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.

like image 123
Lex Li Avatar answered Sep 18 '22 22:09

Lex Li