MIB Smithy 2.1 and SDK 2.1 Release

June 2nd, 2003 by Muonics, Inc.

Version 2.1 of MIB Smithy is a minor update with a small number of major improvements. A new Trap Watch tool has been added for monitoring incoming traps and notifications, expanding the set of built-in SNMP management tools added in version 2.0. Some optimizations to core indexing and search algorithms have been made that yield huge performance gains in loading and compiling many modules. The performance gains are minor for typical small projects with only a small hand-full of modules, but reach over 95% when about 200 modules are loaded into a single project/database. Performance is less dependent upon number of records and more dependent on record name length than earlier versions. Several bugs (mostly minor) have also been fixed.

Signficiant Changes (MIB Smithy)

  • The “Files” tree in the project panel now includes .my, .mi2, .txt and (in professional) .xml files in addition to the .mib files that were shown previously.
  • Evaluation version limits have been increased to 5 modules per project.
  • Added new Trap Watch tool for monitoring incoming traps and notifications.
  • SNMP Table View tool now shows additional columns for data extracted from instance subidentifiers corresponding to each of the table indexes.

Miscellaneous Bug Fixes (MIB Smithy)

  • OBJECT-TYPE output for normal SMI format was omitting the AUGMENTS field.
  • MOSY output was not including INDEX or AUGMENTS information.
  • Numerous minor/random Tcl error corrections that could occur in various more obscure features due to some incomplete conversions to new calling conventions (mostly issues introduced in 2.0).
  • Corrected a potential divide by zero error if no variables are returned in SNMP Walk.
  • Corrected some extraneous output in XML output generation around compliance group comments.

Signficiant Changes (MIB Smithy SDK)

  • Errors that occur in SNMP request callbacks and other event processing now trigger a background error in Tcl rather than being ignored or printed to stdout.
  • Added -includes synonym for querying conformance module properties.
  • Added -indexdecl/-augmentsdecl options for OBJECT-TYPE records. These options return the “as-declared” INDEX/AUGMENTS fields for the record, while the existing options (-index/-augments) now check the record above and below so that, for example, -index returns sysORIndex for both sysORTable, sysOREntry and each column, while -indexdecl returns sysORIndex only for sysOREntry.
  • Added -syntaxdecl property for SMI database ‘set’ operations for objects, typedefs and variations that allow all syntax information to be specified as a single property, as returned by the ‘get’ property of the same name. Variations also add a ‘-write-syntaxdecl’ property to serve the same purpose for WRITE-SYNTAX.
  • The default SMI Database log channel is now “stderr” instead of “stdout” for the benefit of conversion scripts designed to send their results to stdout for command line redirects and pipes. Also, logging can now be disabled by configuring the database’s log channel to an empty string (if, for example, all that is desired during validation is a pass/fail result).
  • The SNMP session “bulk” subcommand (for sending get-bulk requests) now sends a get-next request instead if the SNMP version being used to send the message is SNMPv1. Superfluous variable bindings (i.e., those that are repeaters according to non-repeaters when max-repetitions is 0) are discarded from the request.
  • The get-bulk request’s default non-repeaters/max-repetitions values for are now 0/1 instead of 0/0. The former defaults normally result in an empty response.
  • A new indexing scheme and search algorithm for name-based lookups has been implemented that should provide a very large speed improvement for individual databases containing a very large quantity of records.
  • The SMI Database’s “log” command now by default adds a newline to the end of the message. Like Tcl’s “puts” command, it may take an optional “-nonewline” argument to suppress the newline.
  • Added “-container” query property to all record types, which returns the fully qualified name of the record in which the queried record is contained. This property functions the same as the “-fullname” property except that the name of the queried record is excluded from the result. That is, supposing -fullname returns @File5!SNMPv2-MIB!sysDescr, -container returns only @File5!SNMPv2-MIB.
  • Additional internal optimizations which, together with the new name indexing optimizations, yield a greater than 95% performance increase for MIB file loading and validation for large numbers of MIB modules (e.g. hundreds in a single database) where performance could really bottom out previously.
  • Added SNMP Session “inform” and “trap” subcommands for sending inform requests and SNMPv1/v2 trap messages.
  • Added “oidcmp” SMI Database subcommand for doing OID comparisons, with -limit and -subtree options for controlling the number of subidentifiers compared.
  • Added “-indexparts” OBJECT-TYPE query property for parsing column instance subidentifiers into individual elements for each index.
  • Added “-localport” SNMP Session option for configuring a port (default 162) for receiving notifications on if a handler is configured. Added “bind” subcommand for configuring handlers for incoming notifications.
  • Variable bindings encoding values of type OBJECT IDENTIFIER now accept identifiers, relative OIDs and other forms of OIDs for the value in addition to absolute OIDs.
  • Receive errors from the socket now include an error number and, on Unix, an error message to allow for easier problem resolution.

Miscellaneous Bug Fixes (MIB Smithy SDK)

  • Version 1.6 changes for suppressing duplicate error/warning messages were not fully merged into version 2.0, so duplicates messages could again appear. This has been corrected.
  • There was some inconsistent use of ‘.’ versus ‘:’ in module.descriptor forms for type/value references expected during record modifications versus returned by queries. They should constantly use ‘:’ as the separator now.
  • A recent change in supporting multiple synonyms for setting the OID value of objects resulted in a bug that could cause the internal OID tree/index to not be updated.
  • A crash could occur when querying the -asn1type (base type) property for an object with a derived-type syntax when the referenced type has not been defined or loaded.
  • Some record types were allowing invalid (for that record type) STATUS values to be set (though this would be caught during validation).
  • Bug fixes for multiple-interpreter compatibility. A master database and session (smilib and snmplib) are now created in each interpreter that the package is loaded into.
  • Enumeration comments that begin after the enumeration but still on the same line should now be associated with the correct enumeration, rather than being associated with the following enumeration.
  • An error could occur when sending set requests without a type in the variable bindings indicating “-basetype” as an unknown option (which should be “-asn1type”).
  • Corrected a couple of potential memory corruption and leak issues.
  • The MSG_SYNTAX_SMIONLY compiler warning could previously result in either a garbage type name being printed or potentially a crash.
  • Clarified MSG_ROW_TYPENAME compiler warning, which was giving somewhat ambiguous row/type references.
  • Corrected byte ordering issues in IpAddress formatting for callbacks.

Posted in RSS Announcements, RSS MIB Smithy, RSS MIB Smithy SDK

Both comments and pings are currently closed.

No Comments Yet

Sorry, comments for this entry are closed at this time.