Hi Rick,
The authoritative list of the order of clauses in an OBJECT-TYPE macro
is in section 2.3 on page 8 of IETF SMIv2 (RFC 2578), where the macro
is actually defined, excerpted below:
OBJECT-TYPE MACRO ::=
BEGIN
TYPE NOTATION ::=
"SYNTAX" Syntax
UnitsPart
"MAX-ACCESS" Access
"STATUS" Status
"DESCRIPTION" Text
ReferPart
IndexPart
DefValPart
VALUE NOTATION ::=
value(VALUE ObjectName)
<...bunch of type details...>
END
Neither ASN.1 macros nor decent SNMP compilers will tolerate
out-of-order clauses.
Cheers,
- Ira
On Nov 13, 2007 4:22 PM, <Richard_Landau at dell.com> wrote:
> Thanks for the review. This is just what we needed.
>> Believe it or not, I looked for the order of the DEFVAL and UNITS
> clauses in several standard MIBs. I don't recall which ones, but the
> first several I looked at were all the same and, apparently, all wrong.
> So much for trusting in quick research. I will fix the order of
> generation in the XSL; that's the easy part.
>> The DefaultValues, on the other hand, have been unfixed for a long time.
> I will try to get people to make most of these edits. Or delve into
> them myself in my copious free time.
>> rick
>>>> -----Original Message-----
> From: Ira McDonald [mailto:blueroofmusic at gmail.com]
> Sent: Monday, November 12, 2007 21:29
> To: pdm at pwg.org; Landau, Richard; Ira McDonald
> Subject: Posted Bug List on PDM MIB (12 Nov 2007)
>> Hi folks, Monday (12 November 2007)
>> I've just posted one ZIP file to the PWG FTP server at:
>>ftp://ftp.pwg.org/pub/pwg/pdm/objects/skeleton-final-bugs.zip>> which contains the following three files:
>> pdm-bugs.txt - appended in plaintext below
> - detailed bug report
>> skeleton-final-tc.mib
> - first half of PDM MIB
>> skeleton-final-mib.mib
> - second half of PDM MIB
>> Rick - Some of these are just capitalization in the textual conventions.
> But the synonyms for TruthValue (SNMP boolean) are illegal and won't do
> (they'll fail IETF MIB Doctors review, so we shouldn't use them). I
> quickly gave up on the main MIB module, because the DEFVAL clauses use
> the wrong (single) quote marks and appear in the wrong order. SNMP
> OBJECT-TYPE macro does NOT allow out-of-order clauses. To fix the enum
> names, use a 'diff' against skeleton-final-tc.mib and then fix source
> classes.
>> Cheers,
> - Ira
>> --
> Ira McDonald (Musician / Software Architect) Chair - Linux Foundation
> Open Printing WG Blue Roof Music / High North Inc PO Box 221 Grand
> Marais, MI 49839
> work: +1-906-494-2434
> home: +1-906-494-2697
> email: blueroofmusic at gmail.com>> ------------------------------------------------------------------------
> [pdm-bugs.txt]
>> *** skeleton-final-tc.mib ***
>> * Global
> - change "SYNTAX integer" --> "SYNTAX INTEGER"
> (ASN.1 base type - ALL types MUST start with an uppercase letter)
>> * PdmPwrStCommAvailableTC
> - named number "True" must begin lowercase
> - illegal TC - synonym for TruthValue (SNMP boolean)
>> * PdmDisplaySettingVideoMuteTC
> - illegal TC - synonym for TruthValue (SNMP boolean)
>> * PdmDisplaySettingDisplayModeTC
> - named number "Zoom" must begin lowercase
>> * PdmDisplaySettingColorTempTC
> - expected a string, got 6300
>> * PdmLightSourceBrightSettingTC
> - named number "High" must begin lowercase
> - invalid number for other(4)
>> * PdmLightSourceLampStatusTC
> - named number "Alive" must begin lowercase
> - illegal TC - synonym for TruthValue (SNMP boolean)
>> *** skeleton-final-mib.mib ***
>> * PdmFirmwareUpgradeModeTC
> - change "PdmFirmwareUpgradeModeTC" -> "PdmCtlrFirmwareUpgradeableTC"
> - line 14: not defined in PWG-PROJECTOR-DISPLAY-TC
>> * PdmPostStatusTC
> - change "PdmPostStatusTC" -> "PdmCtlrPostStatusTC"
> - line 14: not defined in PWG-PROJECTOR-DISPLAY-TC
>> * pdmDeviceTypes
> - line 70: Conflicting registrations "pdmDeviceProjector" and
> "pdmGeneralProductName"
> - reuse of "{ pdmMIBObjects 1 }"
>> * pdmGeneral
> - line 94: expected ::=, got {
>> * pdmGeneralProductName
> - line 101: expected STATUS, got DEFVAL
> - line 106: invalid character in binary or hexadecimal string
> - change single quotes (binary) to double quotes (string) in DEFVAL
> - line 107: Conflicting registrations "pdmDeviceProjector" and
> "pdmGeneralProductName"
> - reuse of "{ pdmMIBObjects 1 }"
>> * and much more of the same
> - SNMP MIB clauses MUST NOT be in wrong order
> - OIDs MUST NOT be reused
> - names longer than 31 characters are dangerous
> - type (SYNTAX) names MUST NOT start with lowercase (e.g.,
> "pdmCtlrFirmwareUpgradeableTC")
>> ------------------------------------------------------------------------
>
--
Ira McDonald (Musician / Software Architect)
Chair - Linux Foundation Open Printing WG
Blue Roof Music / High North Inc
PO Box 221 Grand Marais, MI 49839
work: +1-906-494-2434
home: +1-906-494-2697
email: blueroofmusic at gmail.com