2.1.2.1 notes:
--------------
The SNMP library and applications have been ported to SunOS 5.x (using SVR4
#ifdefs), and have been tested on SunOS 4.1.3 and 5.3.  The agent has not been
ported to SunOS 5.x yet.

An "snmpset" application has been added (basically a modified "snmpget" with
parts of "snmptest" thrown in).

An "snmpgetnext" application has been added (basically a modified "snmpget").

A "-q" flag has been added to the library and applications, to support a
"quick print" output mode, which is less verbose and more parsable than the
standard output mode.

Various things have been fixed:
   snmplib/parse.c: parsing and storing of quoted fields (like DESCRIPTION)
   snmplib/parse.h: up the maximum characters in a quoted string
   snmpnetstat/main.c: fix parsing of command line for hostname & community
   snmpnetstat/main.c: fix parsing of command line for interval

Manual pages have been copied from 1.1b and updated for v2, or cobbled up, for
all of the applications; they and the usage()s have been worked over in
general to have somewhat consistent terminology and aesthetics.

- dpz@noc.rutgers.edu 15 July 1994

2.1.2 notes:
--------------
This code has been tested on a sparcstation (SUNOS4.1.1).  It may not
run on other Unix systems (but then again it may).  When porting to a
new processor architecture,  read the first page of snmplib/md5.c and
define LOWBYTEFIRST according to the instruction.

Run "make all install".

edit etc/acl.conf, etc/party.conf, etc/view.conf and /etc/context.conf
to create parties for your site.  Then copy these files to /etc on the
each system that will be running either applications or agents.

setenv MIBFILE $root/mib.txt
Where $root is the root directory of the SMP distribution.

The applications are in $root/bin and the documentation is in $root/man.

"setenv SUFFIX" changes the output format of many of the apps in a helpful
manner.  Try it.


SNMP TCL

  If you want to use and/or compile SNMP TCL, read the README file in
the snmptcl directory.
