
Hi!
When a MIB is incomplete (because for example, there is a missing MIB which should have been imported), it is not possible to retrieve nodes that are not resolvable to an OID (which is good). However, it is still possible to retrieve nodes by their name.
For example : $ cat test.mib TEST-MIB DEFINITIONS ::= BEGIN IMPORTS inexistentObject FROM INEXISTENT-MIB; myNode OBJECT IDENTIFIER ::= { inexistentObject 1 } END $ smiquery -p test.mib node TEST-MIB::myNode MibNode: TEST-MIB::myNode OID: 1414743380.1112100141 Declaration: <value-assignment> NodeKind: node
The OID is bogus. Sometimes, libsmi will just segfault.
If I use smidump, it is able to detect that the MIB is bogus. If I force dump (with -k), it gives me an empty MIB because the bogus node is not added to the list of nodes. smidump detects the problem by looking at "conformance" attribute in smi_module structure. I don't find any documentation about this. Is it the same conformance level as described in smilint(1)? Therefore, if I load a MIB how should I test conformance level? - (module->conformance) && (module->conformance >= 1) - (module->conformance) && (module->conformance > 1)
Thanks!