Perl5 CMU-SNMPv2 Extension Module
                 G.S.Marzot([email protected])
                               3/25/96

Introduction:

This is a Perl5 extension module which provides an interface to the
CMU-SNMPv2 library. It was developed on a linux box and tested on a
sun4_4.1 system using CMU-SMNMPv2.1.2. There have been reports of
success on hpux, irix and solaris systems so far. (Let me know of
problems and/or successes on other boxes please)

the most recent version of the module can be retrieved from
ftp:/ftp.wellfleet.com/netman/snmp/perl5/SNMP.tar.gz
(as well as the usual perl archives, CPAN)

cmu source may be found in a variety of locations, try
ftp://ftp.ece.ucdavis.edu/pub/snmp (sun, hp port etc.)
ftp://sunsite.unc.edu:/pub/Linux/system/Network/admin (linux)


Description:

The basic operations offered by SNMP are provided through an object
oriented interface for modularity and ease of use. The primary object is
SNMP::Session which is implemented as a blessed hash reference. The
object supports 'get', 'set', and 'getNext' method calls. All calls are
blocking/synchronous (i.e., they must receive a response or timeout
before control is returned to the caller). The methods take a variety of
input argument formats(see test.pl and examp/* for examples). A
description of the objects data fields follow.

SNMP::Session
DestHost - default 'localhost', hostname or ip addr of SNMP agent
Community - default 'public', SNMP community string
Version - default '1', v1 support only for now
Timeout - default '1000000', micro-seconds before retry
Retries - default '5', retries before failure
RetryNoSuch - default '1', for get request NOSUCH errors, the pdu will
              be repaired, removing the varbind in error, and resent -
              undef will be returned for all NOSUCH varbinds, setting
              to '0' disables this feature and the entire get request
              will fail on any NOSUCH error
ErrorStr - read-only, returns a test description of any error occuring
           in the last request
ErrorNum - read-only, returns the snmp_err or staus of last request
private
DestAddr - internal field used to hold the translated DestHost field
SessPtr - internal field used to cache a created session structure

In addition a number of package variables and methods are provided

$SNMP::VERSION - the current version specifier (e.g., 1.6)

$SNMP::auto_init_mib - default '1', enables the immediate loading of the
                      ASN mib when the package is loaded - if set to '0'
                      mib loading must be done explicitly (see SNMP::setMib)

SNMP::setMib - allows dynamic re-initialization of the mib to be used

SNMP::translateObj - will convert a text object tag to a numeric OID and
                    vice-versa. iid suffix is always retained numerically


Installation:

build/install version 2.1.2 of CMU-SNMPv2 libsnmp.a (e.g., /usr/local/lib)

make sure header files are available someplace (e.g., /usr/local/include)

after that it is basically

perl Makefile.PL
make
make test
make install

the CMU tool-kit requires that an ASN.1 mib be available. 'mib.txt' is the
default name looked for first in the local directory and then in
/etc. See CMU-SNMP docs for details on overriding the default or set mib
explicitly with SNMP::setMib.

------

Many thanks to those in the Perl community and perl5-porters list who
helped immensely.

bugs, comments, questions to [email protected]