MIB Smithy

  1. Up to Table of Contents

Scotty/TNM Compatibility Package

MIB Smithy SDK version 3.0 and later include an optional package that provides interfaces emulating those of the widely used (but no longer actively maintained) Scotty/TNM package. The intent of this package is to aid migration from Scotty/TNM by allowing the SDK to be a drop-in replacement for most applications while allowing the use of the SDK's own APIs in parallel.

To enable the Scotty/TNM interfaces, you will need to edit the pkgIndex.tcl file in the lib/smithysdk directory and uncomment the appropriate line to make the package visible to Tcl. If you are currently using the 3.0 alpha version of Scotty, you will want to uncomment the line for Tnm version 3.0:

package ifneeded Tnm 3.0 [list source [file join $dir tnm3.0.tcl]]

Otherwise, you will want to uncomment the line providing version 2.0:

package ifneeded Tnm 2.0 [list source [file join $dir tnm2.0.tcl]]

The main difference between these two packages is that the 3.0 version places the "mib" and "snmp" commands in the Tnm namespace, whereas Scotty provided them in the global namespace in earlier versions. The interfaces provided by MIB Smithy SDK should otherwise support the interfaces of both versions, despite some incompatible changes made between Scotty versions.

The following features are not currently supported or have known caveats at this time:

  • Scripted agent development - only management interfaces are provided yet.
  • The "snmp# scalars" command.
  • MIB Smithy SDK will not automatically load MIB files, primarily due to the imposed module limits in the demo. You will need to call the "mib load" or "smilib import" commands to load desired MIB modules.
  • If a query is made through the "mib" command that matches multiple ambiguous records, an error will result. MIB Smithy SDK will not simply return the data from the first matching record. Be specific in your queries (such as including a module name) and avoid loading multiple copies of the same module.
  • OCTET STRINGs are passed to/returned from APIs as raw binary (Tcl byte arrays), rather than encoded in hex.

Mapping Scotty Commands to MIB Smithy SDK

The following sections may be helpful in migrating your scripts from Scotty to use MIB Smithy SDK's native APIs, which are generally faster and more flexible.

  1. Up to Table of Contents