SNMP What is the correct way to interpret the RMON2-MIB file?

I am using the sharpsnmplib open source library to compile MIB files and use them in my normal snmp browser. The problem is sharpsnmplib is unable to compile the RMON2-MIB file. And subsequent libraries that use it cannot be compiled. As it turns out, the (first) issue is related to the text (RMON2-MIB.txt):

LastCreateTime ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "This TC describes an object that stores the last time its
        entry was created.

        This can be used for polling applications to determine that an
        entry has been deleted and re-created between polls, causing
        an otherwise undetectable discontinuity in the data."
    SYNTAX TimeStamp

      

The Sharpsnmplibs textual contextual convention interpreter contains this text:

/* 
         * RFC2579 definition:
         *       Syntax ::=   -- Must be one of the following:
         *                    -- a base type (or its refinement), or
         *                    -- a BITS pseudo-type
         *               type
         *             | "BITS" "{" NamedBits "}"
         *
         * From section 3.5:
         *      The data structure must be one of the alternatives defined
         *      in the ObjectSyntax CHOICE or the BITS construct.  Note
         *      that this means that the SYNTAX clause of a Textual
         *      Convention can not refer to a previously defined Textual
         *      Convention.
         …

      

Sharpsnmplib Interpreters Source

RMON2-MIB

RFC 2579

Interestingly, TimeStamp is a textual convention defined in SNMPv2-TC. And RMON2-MIB defines its own textual convention that uses TimeStamp. There are several other text conventions in RMON2-MIB that refer to text conventions from other MIB files.

Thus, if Ive got this right, the RMON2-MIB violates RFC2579. But it doesn't make sense if the RMON2-MIB is actively using the MIB file.

What am I missing? How should the RMON2-MIB be interpreted correctly?

+3


source to share


1 answer


First, the #SNMP open source MIB parser SharpSnmpLib.Mib is broken and outdated because #SNMP Pro has a new SharpSnmpPro.Mib .

The code you found was even older (my handmade version), so I never expected it to be able to parse complex MIB documents.



Second, RMON2-MIB is very complex as it relies on both MIB and SMIv2 as well as multiple SMIv1s. This requires all dependencies to be found correctly (using correct copies instead of downloading corrupt ones from the Internet).

Third, there is no conflict between RFC 2579 and RFC 4502 (RMON2-MIB). RMON2-MIB defines its own textual convention that TimStamp uses and nothing special or wrong.

+2


source







All Articles