MIB Smithy

  1. Up to Table of Contents

Getting Started

Two initial commands are provided by the SmithySDK package at load time. These are smilib, provided by the smilib sub-package, and snmplib, provided by the snmplib sub-package. These correspond to the master SMI Database and SNMP Session, which will are described briefly below and in more detail in later chapters. All APIs provided through the SDK are initially through these two commands.

Loading MIB Smithy SDK

The MIB Smithy SDK extension can be loaded either using Tcl's package require command or directly through the load command. Using package require is the suggested method, as it allows some amount of version control if your application requires features of a particuler version of the SDK that aren't present in earlier versions.

To use the package mechanism, make sure the lib/smithysdk directory is listed within Tcl's auto_path global variable and use the package require SmithySDK command. One quick and easy way to accomplish this is to install the smithysdk directory in the same location as the directories for the Tcl/Tk library files (e.g. /usr/local/lib/smithysdk, C:\Program Files\Tcl\lib\smithysdk).

To use the load mechanism, you do not need to list the smithysdk directory in auto_path. Use load path, where path is the path/directory to the .dll (Windows) or .so (Unix) file for the extension.

License Key

A license key file is required to run this software after installation. This file contains information about your license that is required by the extension.

For evaluation versions of the software, this license key allows you to try most features of the product for a period of 15 days from the time of download. The evaluation license key can be downloaded from the same page where you downloaded the software.

For non-evaluation versions of the software, this includes a Host ID that ties the installation to the computer you are licensed for. Typically, this is the ethernet address of one of the NIC cards in your computer. When you first load the extension, without a license key file present, you will be informed of the Host IDs available for use. After obtaining available Host IDs, log in to the Muonics web site with the account used to purchase the software, and select the "Licenses" option in the User Menu or go to:


There you may select a licensed product serial number, enter your Host ID, and download a license key file. Licensed users may return to the Licenses Page to re-download their license key at any time should reinstallation be necessary. If you need to change Host IDs, for reasons such as equipment failure/replacement or license transfer, please contact support@muonics.com. Per your license agreement, you may change computers/Host IDs at most once every six months (twice total during the period of an annual support contract). If you change Host IDs more often than this period, you will need to purchase a support contract renewal for a nominal fee.

MIB Smithy SDK allows some flexibility in where the license key is located and how it is named, as well as providing a GUI interface to install the license key. By default it will search the following locations, in order of precedence, where prefix is the same as the prefix of the product distribution file you downloaded (such as smithysdk or smithysdkdemo):

  1. The full path and file name specified by the SMITHY_LICENSE_FILE environment variable.
  2. The user's home directory (as specified by the HOME environment variable) with the name .prefix.key, .prefix.lic, prefix.key or prefix.lic.
  3. A file named license.key within the installation directory or any parent directory thereof.
  4. file named .prefix.key, .prefix.lic, prefix.key or prefix.lic in /usr/local/etc.
  5. A file named .prefix.key, .prefix.lic, prefix.key or prefix.lic in /etc.

To install the license key, you can either copy it to one of the above locations (e.g. $(HOME)/.smithysdkdemo.lic) or let the SDK install it for you. For the SDK to install it for you, start Wish (the Tcl/Tk GUI shell) and issue the package require SmithySDK command, just as you would do to make use of the SDK in your scripts. If no valid license key is found automatically, a dialog will be provided where you can paste or import the license from a specified file. The key will be installed in your home directory using the prefix.lic naming convention to avoid conflicts with other MIB Smithy editions you may have installed. To install the key system-wide for all users you will need to manually copy it into one of the above locations.

SMI Databases

MIB Smithy SDK supports any number of databases that can be created, used, and destroyed as necessary. Each database may be used to load a number of related MIB files and modules that are to be cross-indexed internally to provide runtime resolution of types and values such as relational object identifiers. Each database is entirely separate from every other database, and an individual database is generally used to load all of the modules required for a particular project, such as those implemented specific agent, where databases can be used (for example) for each agent that implements a separate set of MIB modules.

For more information, see The SMI Database Command

SNMP Sessions

Like SMI Databases, MIB Smithy SDK supports any number of active SNMP sessions that can be created, used, and destroyed as necessary. Each session may be used to communicate with an individual SNMP agent, and each session can be configured to use one of any of the active SMI databases.

For more information, see The SNMP Session Command

Multiple-Interpreter Support

The SDK can be used with multiple interpreters (e.g., created with Tcl's interp command). If you issue a load or package require command in the slave interpreter, it will be given its own database and session commands, separate from those of the master interpreter. If you want to share the same databases/sessions between interpreters, Tcl's interp alias command may be of use to you.

  1. Up to Table of Contents