MIB Smithy 1.4 Release
Version 1.4 of MIB Smithy is a significant update, adding many additional tests for SMI compliance and many changes for general application robustness. In particular, this version of MIB Smithy contains a newly redesigned internal OID indexing scheme that addresses inadequacies in its ability to do conflict checking that existed in the old scheme. The new scheme will also make several future enhancements that are under development possible, as well as other tools/products based on the core library, including built-in SNMP request/MIB Browser type tools and complete support for the more obscure forms of inter-module relationships (e.g. ‘modulereference DOT valuereference’ form). You can expect some of these features to begin appearing very soon.
Significant Changes
- Significantly improved internal OID index, allowing for very thorough OID conflict detection where some types of conflicts could previously go only partly detected (generating only warnings at the point of divergence rather than errors the point of conflict). The new index will also allow for several new features/tools that are under development for a later release.
- Many additional tests for SMI compliance have been added.
- Many additional checks for OID conflicts have been added or enhanced such as duplicate group/variation references in conformance statements and reliable detection of recursive OID value assignments.
- Added check to verify that the AssignedIdentifier, if present in an IMPORTS FROM statement, references a MODULE-IDENTITY if the importing module is SMIv2. For SMIv1, a warning is issued if the AssignedIdentifier does not reference a module, and a compatibility warning is issued regardless.
- Record types other than OBJECT-TYPE (e.g. OBJECT-IDENTITY, etc.) are now allowed to be assigned OID values that are subordinate to an OBJECT-TYPE. Rather than an error, such cases will now generate a compatibility warning, as many compilers do not allow it.
- Improved DEFVAL formatting and configuration via the GUI. Added a significant number of additional DEFVAL validation tests so that DEFVALs are now thoroughly checked.
- Modified parser rules to allow modules to be loaded despite containing MODULE-COMPLIANCEs without any MODULEs therein, which are required for SMI compliance, where previously this would generate a parse error.
- Improved Project Browser pop-up menus for several record types with more type-specific options and alternatives to the Toolbar and Insert menu. The Project Browser tree also now follows a more appropriate structure when handling implicit node definitions. Rather than placing them alongside the topmost (relative-root) OIDs in a module, they are now located at their actual position in the tree as with normal records with OID properties. Implicit nodes have a black-and-white version of the same icon used for OID value assignments and OBJECT-IDENTITYs and have no properties unless (and until) a record is created and assigned to the node.
- Updated the included SNMPv3-related sample MIBs to their latest RFC 341X versions. MIB Smithy now includes MIBs from RFCs 2576, 2578, 2579, 2011, 2012, 2013, 2863, 3411, 3412, 3413 and 3415.
- Miscellaneous cosmetic changes. Increased default/startup size of the main GUI relative to screen size, and other changes for more consistent layout and font usage.
- More efficient/reliable automatic OID assignment for new records. Also, new records are now assigned the next free subidentifier after the highest existing sibling, rather than the first available. This is to minimize the risk of redefining an OID formerly registered to another assignment that has been made obsolete and deleted.
- Newly created OBJECT-TYPE records now default to SYNTAX Integer32, rather than having no defined SYNTAX.
- Clarified warning issued when named-number lists are found following a non-base type to instead say a type other than INTEGER or BITS. Disabled warning issued when a variation’s [WRITE-]SYNTAX field uses ‘INTEGER’ to refine a named-number list where the referenced OBJECT-TYPE specifies a type other than INTEGER or BITS. The SMI rules are somewhat ambiguous with regards to enumerated DefinedType refinements, and many compilers do not allow them.
- All properties in a record’s workspace that are validated prior to changes being applied are now all validated together, prior to any property changes being committed, rather than prior to each individual property being committed. This should prevent partial commits where one property might be committed before another’s commit fails.
- Module and Type Assignment/TEXTUAL-CONVENTION workspaces will no longer allow such records to be given descriptors, nor [WRITE-]SYNTAX for types, objects or variations, that are reserved keywords.
Miscellaneous Bug Fixes
- Fixed parser rules to allow single-identifier references to a MODULE-IDENTITYs in IMPORTS via AssignedIdentifier (versus multi-component OIDs).
- Due to a typo, an error would be generated regarding the importing of BITS regardless of whether or not it was imported (it must not be) when it was used.
- Corrected missing SYNTAX/WRITE-SYNTAX fields in MODULE-COMPLIANCE OBJECT output generation.
- Present-but-empty OBJECT-TYPE DESCRIPTION fields for were generating the wrong error at load time, versus the warning that is generated at validation time.
Sorry, comments for this entry are closed at this time.