Hello,
I just stumbled over the following problem in libsmi 0.4.8 and development trunk-tip rev34557 (as of today).
The problem resides in the SYNTAX/WRITE-SYNTAX clauses in COMPLIANCE statements.
Instead of a "type" the invalid term "(null)" is present.
AFFECTED-MIBS (at least):
- BRIDGE-MIB
- SNMP-VIEW-BASED-ACM-MIB
- ...
=> grep "(null)" *-MIB
EXAMPLE:
smidump --format=smiv2 BRIDGE-MIB
...
OBJECT dot1dStpPriority
SYNTAX (null) (0 | 4096 | 8192 | 12288 | 16384 | 20480 | 24576 |
28672 | 32768 | 36864 | 40960 | 45056 | 49152 |
53248 | 57344 | 61440)
...
OBJECT dot1dStpPortPriority
SYNTAX (null) (0 | 16 | 32 | 48 | 64 | 80 | 96 | 112 | 128 |
144 | 160 | 176 | 192 | 208 | 224 | 240)
BUT: Original BRIDGE-MIB that is distributed w/ libsmi contains:
OBJECT dot1dStpPriority
SYNTAX Integer32 (0 | 4096 | 8192 | 12288 | 16384 | 20480 | 24576 |
28672 | 32768 | 36864 | 40960 | 45056 | 49152 |
53248 | 57344 | 61440)
...
OBJECT dot1dStpPortPriority
SYNTAX Integer32 (0 | 16 | 32 | 48 | 64 | 80 | 96 | 112 | 128 |
144 | 160 | 176 | 192 | 208 | 224 | 240)
smidump --format=smiv2 SNMP-VIEW-BASED-ACM-MIB
...
OBJECT vacmViewTreeFamilyMask
WRITE-SYNTAX (null) (SIZE(0))
...
SHOULD-BE (as in original MIB distributed with libsmi):
...
OBJECT vacmViewTreeFamilyMask
WRITE-SYNTAX OCTET STRING (SIZE(0))
I assume that smidump does not have the info (only a NULL pointer) and just dumps it as textual info.
NOTE: "smidiff <ORIGINAL-MIB> <SMIDUMPED-MIB>" does not seem to show a difference (except warnings, ...).
Ciao,
Jens