Errors reported by smilint

Hi,
I'm using smilint for the first time. And getting the following error when I compile one of the MIBs (SMIv1).
[1] {other} parse error, unexpected INTEGER, expecting UPPERCASE_IDENTIFIER or LOWERCASE_IDENTIFIER or NUMBER
The other tools like SMIC, Parse, Mosy etc. never complained about this. Why smilint is not accepting 'INTEGER' as index part (I'm referring to IndexPart in RFC-1212)
The object was defined as follows... memStatTable OBJECT-TYPE SYNTAX SEQUENCE OF MemStatEntry ACCESS not-accessible STATUS mandatory DESCRIPTION " Information about data buffer pools. Instance is pool number. 1 - 7 is D RAM 8 is M RAM 9 - is C RAM 10 - is H RAM" ::= { sysInfo 5 } memStatEntry OBJECT-TYPE SYNTAX MemStatEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A single entry in the Memory stats table" INDEX { INTEGER } ***** Error in this line ***** ::= { memStatTable 1 } MemStatEntry ::= SEQUENCE { accMemBlkEntSize INTEGER, accMemBlkEntTotal INTEGER, accMemBlkEntMax Gauge, accMemBlkEntInUse Gauge, accMemBlkEntFails Counter, accMemBlkEntType INTEGER, accMemBlkEntAllocs Counter, accMemBlkEntInitial INTEGER }
And also getting the following error. I observed that it is only complaining for the objects which are part of the index of a table. [2] {index-element-no-range} index element `oDiffServMeterInterface' of row `oDiffServMeterStatsEntry' must have a range restriction [1] {index-element-no-size} index element `oDiffServMeterIfMeterName' of row `oDiffServMeterStatsEntry' must have a size restriction
My question here is why smilint should complain about range/size restriction when the standard MIBs (ifIndex in RFC1213-MIB) don't specify range of any object (Type INTEGER) which is part of index.
/Amar

HI,
While the syntax "INDEX { INTEGER }" is allowed in SMIv1, it is not in SMIv2. Also, many MIB compilers do not handle it. So, I would suggest that you do not use it.
Regards, /david t. perkins

Thanks, Then in that case how can I make 'smilint' to check as per SMIv1 syntax?
/Amar
-----Original Message----- From: libsmi-admin@ibr.cs.tu-bs.de [mailto:libsmi-admin@ibr.cs.tu-bs.de]On Behalf Of David T. Perkins Sent: Friday, April 26, 2002 3:43 PM To: Amarender.Ganji@ericsson.com; libsmi@ibr.cs.tu-bs.de Subject: Re: [libsmi] Errors reported by smilint
HI,
While the syntax "INDEX { INTEGER }" is allowed in SMIv1, it is not in SMIv2. Also, many MIB compilers do not handle it. So, I would suggest that you do not use it.
Regards, /david t. perkins
-- !! This message is brought to you via the `libsmi' mailing list. !! Please do not reply to this message to unsubscribe. To unsubscribe or adjust !! your settings, send a mail message to libsmi-request@ibr.cs.tu-bs.de !! or look at https://www.ibr.cs.tu-bs.de/mailman/listinfo/libsmi.

Hi!
Dave> While the syntax "INDEX { INTEGER }" is allowed in SMIv1, it is not Dave> in SMIv2. Also, many MIB compilers do not handle it. So, I would Dave> suggest that you do not use it.
Amarender> Then in that case how can I make 'smilint' to check as per Amarender> SMIv1 syntax?
You cannot. I did not recognize until today that this was valid in SMIv1 (although RFC 1212, page 9 clearly says this). :-) Anyway, since SMIv1 is (almost) historic and this `fix' would require a severe lowlevel modification in libsmi and break some tools, I don't intend to change this. Sorry. (Of course, stable patches are welcome. :-))
-frank
participants (4)
-
Amarender K. Ganji
-
Amarender Kr. Ganji
-
David T. Perkins
-
Frank Strauss