summaryrefslogtreecommitdiff
path: root/README.solaris
diff options
context:
space:
mode:
Diffstat (limited to 'README.solaris')
-rw-r--r--README.solaris1311
1 files changed, 1311 insertions, 0 deletions
diff --git a/README.solaris b/README.solaris
new file mode 100644
index 0000000..625aae2
--- /dev/null
+++ b/README.solaris
@@ -0,0 +1,1311 @@
+README.solaris
+$Id$
+
+This document describes issues relating to compiling,
+installing and using net-snmp on Solaris.
+
+0. Introduction
+1. Things you will need
+2. Disabling Sun's SNMP daemons
+3. Compiling net-snmp
+4. Obtaining and installing binaries
+5. Creating snmpd.conf and testing
+6. Creating your own binaries
+7. Using Sun's SNMP daemon and net-snmp together
+8. Monitoring disks, processes and execs (DISMAN-EVENT-MIB)
+9. Monitoring CPU temp, fan and power supply sensors (LM-SENSORS-MIB)
+10. MIB rewrites for IF-MIB, TCP-MIB and UDP-MIB
+
+Additional compilation issues:
+
+11. Files descriptors and fopen
+12. Perl
+13. sed
+14. OpenSSL and crle
+15. IPv6
+16. Wish list
+
+Other issues:
+
+17. Known Bugs!!
+18. Discussion and further information
+
+------------------------------------------------------------
+
+0. Introduction
+
+This document is a compilation of information relating to
+running net-snmp (www.net-snmp.org) on Sun SPARC and Ultra
+hardware under the Solaris operating system.
+
+This can be done either in conjunction with or as a
+replacement for Sun's SNMP daemons.
+
+This is discussed in detail in the sections below. Since
+this is the work of several authors, credit is given.
+Discussion, however, should take place on the net-snmp-users
+or net-snmp-coders mailing lists so everybody can
+benefit. See http://sourceforge.net/mail/?group_id=12694 .
+Use "net-snmp-users" for general usage questions and "net-snmp-coders" for
+discussion of net-snmp source code.
+
+No warranty is implied by this document.
+This document is copyright but usage allowed under the same
+licensing as net-snmp in general. See http://www.net-snmp.org/COPYING.txt.
+
+------------------------------------------------------------
+
+1. Things you will need
+
+A. Root access
+
+Root access is required to follow pretty much any of
+the steps below. At a bare minimum, you will need
+to be able to start and stop daemons, which requires root
+(at least for the default ports).
+
+B. Determine existing SNMP functionality
+
+SNMP uses ports 161 and 162 by default. Only one application
+can use them at a time. If there is an existing SNMP
+application (eg. Sun's snmpdx daemon) you need to either
+turn this off or work around it. You may also have
+a previous version of net-snmp, the older ucd-snmp, or
+something completely different. The following commands:
+
+ ps -ef | grep snm
+ ps -ef | grep mibi
+
+will give you a fairly good idea what is going on.
+
+If you see something like:
+
+ root 643 1 0 Jan 16 ? 5:49 /usr/local/sbin/snmpd
+
+that's probably a version of net-snmp. The instructions in various
+sections below should give you clues on what to do next.
+
+If you see something like:
+
+ root 16178 1 0 13:16:04 pts/2 0:00 /usr/lib/snmp/snmpdx -y -c /etc/snmp/conf
+
+and/or
+
+ root 21371 1 0 Feb 07 ? 0:52 mibiisa -r -p 41178
+
+then Sun's SNMP daemons are running.
+
+If you need this, for example if you use the Solstice Enterprise
+Agent, you may wish to run net-snmp as a sub-agent (see section 7).
+Otherwise, you will need to disable Sun's daemons (see section 2).
+
+Regardless you may wish to compile net-snmp from source
+and install it (see sections 3, 5 and 6) or install
+binaries (see sections 4 and 5).
+
+If some other SNMP daemon is running, you will need to determine
+where it came from and what it's being used for. You get clues by
+typing "snmpd -v" or "snmpd --help". In some cases it may be
+a subagent or agent from another application, such as ORACLE. If
+you disable its agent, you will need to re-create this functionality
+under net-snmp (eg. by running it as a sub-agent). ORACLE's SNMP
+functionality is turned on by default and may be unnecessary if
+you aren't using ORACLE's Enterprise Manager. Refer to ORACLE's
+documentation on how to disable it.
+
+
+If you have decided to compile your own net-snmp, you will need ...
+
+C. A compilation environment
+
+-a compiler (gcc or Sun's Forte cc) or the gcc libraries
+ (note, the cc in /usr/ucb is NOT a full-blown compiler)
+-OpenSSL (sunfreeware.com or source www.openssl.org)
+-zlib (sunfreeware.com or source www.gzip.org/zlib/)
+-an SNMP community string ("public" is deprecated)
+
+If you are installing on a development machine, it may be best
+to compile OpenSSL and zlib from source, otherwise
+obtain the appropriate zlib for your platform from sunfreeware
+and install (it goes to /usr/local automatically).
+Obtain the appropriate OpenSSL for your platform from sunfreeware
+and install (it goes to /usr/local), you may need the gcc libraries.
+These libraries should not need to be installed if you are using
+binaries, but your mileage may vary. Note the library problem
+with libcrypto noted below (section 14).
+
+There are two choices for compilers. Sun has a Forte development
+suite that includes a standalone C compiler. If you have it, it
+is likely installed in /opt/SUNWspro/bin.
+
+The more common choice is gcc (2.95.3 or better have been tested)
+available from sunfreeware.com. If you install gcc, you do not
+need the gcc libraries. 3.3.2 or later is recommended.
+
+Given that net-snmp is developed to work on a wide variety of
+platforms, but especially for linux, there's a better chance of
+it working using gcc at any given time. We also do regular test
+builds with Sun cc, though.
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca>
+ -- Thomas Anders <tanders@users.sourceforge.net>
+
+------------------------------------------------------------
+
+2. Disabling Sun's SNMP daemons
+
+Note: Sun has started to include net-snmp (version 5.0.9 plus their
+patches) with Solaris 10 and later. These instructions are written
+with Solaris 9 and previous in mind.
+
+Out of the box, Sun runs four SNMP daemons: mibiisa, idmispd,
+snmpXdmid and snmpdx.
+
+These must be disabled before running net-snmp unless you are planning
+on running them together (see Section 7 below). Here is the procedure:
+
+ cd /etc/rc3.d
+ ./S76snmpdx stop
+ ./S77dmi stop
+ mv S76snmpdx s76snmpdx
+ mv S77dmi s77dmi
+
+If you are using Solstice Disksuite, you may also be running
+mdlogd. Leave this alone.
+
+You will need to create a new script to start net-snmp.
+See dist/snmpd-init.d and dist/snmptrapd-init.d for templates.
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca>
+
+------------------------------------------------------------
+
+3. Compiling net-snmp
+
+It is strongly recommended that you compile net-snmp from source.
+That way you are guaranteed a working version for your specific
+configuration of operating system, applications and libraries.
+
+If, for some reason, you cannot compile on a specific machine,
+there are binaries available for download (see section 4).
+In addition, you may create your own binaries (see section 6).
+
+You need to set your $PATH. This is extremely important
+because otherwise there may be conflicts between the various
+components of the development environment.
+
+If you are using FORTE:
+
+PATH=/usr/bin:/usr/sbin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/local/bin:
+
+If you are using gcc (installed in /usr/local/bin):
+
+PATH=/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/bin
+
+Obtain a current version of net-snmp (which, if you're reading this,
+presumably you have - don't you love recursion?) www.net-snmp.org/download/
+
+Uncompress it and untar it in a working directory eg. /usr/local/src/net-snmp
+
+In order to save a lot of typing, you should create a "configure"
+script eg. bcc.sh in the directory below eg. /usr/local/src.
+
+ ./configure --with-mib-modules="ucd-snmp/lmSensors ucd-snmp/diskio \
+ smux mibII/mta_sendmail" --with-cc=gcc
+
+(note, see the long discussion about Perl below)
+(note, substitute "cc" for "gcc" as appropriate)
+(note, for LM-SENSORS-MIB support, see discussion below)
+
+then call this script from the net-snmp directory ie ../bcc.sh
+
+and answer the appropriate questions (usually with the default).
+
+When it completes, you should see something like:
+
+---------------------------------------------------------
+ Net-SNMP configuration summary:
+---------------------------------------------------------
+
+ Net-SNMP Version: 5.4
+ Building for: solaris2
+ Network transport support: Callback Unix TCP UDP
+ SNMPv3 Security Modules: usm
+ Agent MIB code: mibII ucd_snmp snmpv3mibs notification target
+ \agent_mibs agentx agent_mibs utilities host disman/event-mib
+ \ucd-snmp/diskio smux agentx mibII/mta_sendmail
+ SNMP Perl modules: disabled
+ Embedded perl support: disabled
+ Authentication support: MD5 SHA1
+ Encryption support: DES
+
+Type:
+
+ make
+
+and watch for compile errors.
+
+You will receive numerous warnings. This is normal,
+a side effect of supporting a variety of development environments.
+
+Now type:
+
+ make test
+
+and watch for failures. Also watch for the special tests for Solaris.
+
+If you are satisfied with the tests, stop any snmpd daemons
+that may be running (see section 2) and type:
+
+ make install
+
+When complete, go on to section 5 below.
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca>
+
+------------------------------------------------------------
+
+4. Obtaining and installing binaries
+
+It is strongly recommended that you compile net-snmp from source.
+That way you are guaranteed a working version for your specific
+configuration of operating system, applications and libraries.
+
+Binaries for Solaris may be found in two locations.
+
+www.sunfreeware.com - this installs as a package.
+It does not have Perl support.
+
+Therefore, I recommend:
+
+ http://net-snmp.sourceforge.net/download/ (you will be redirected)
+
+This is the official repository for binaries.
+
+To determine which binary you need, you will need several pieces of
+information.
+
+-operating system version,
+-hardware platform
+-net-snmp version desired
+
+The first two may be obtained by typing:
+
+ uname -a
+
+It will return something like:
+
+SunOS foo 5.8 Generic_108528-14 sun4u sparc SUNW,Ultra-4
+
+5.8 means Solaris 8
+5.7 means Solaris 7 etc.
+
+"sun4u" is the Ultra hardware platform
+"sun4m" is SuperSPARC eg. Sparc 5 or Sparc 10
+"sun4d" is older SPARC boxes.
+
+You can then decode the binary version by its name eg.:
+
+net-snmp_5.0.9-SunOS_5.8_sun4u.tar.gz
+
+means "net-snmp version 5.0.9 for Solaris 8 running on Ultra
+hardware".
+
+Once you have found the appropriate version, download it to a
+distribution directory (making one if necessary) eg. /usr/local/dist
+
+Type the following: (using the sample above)
+
+ cd /
+ tar -xvf /usr/local/dist/net-snmp-5.0.9-SunOS_5.8_sun4u.tar
+
+The binaries, libraries, etc. will be installed in /usr/local.
+
+Remove the tar file to save space. Create an snmpd.conf (see below)
+or use an existing one from another machine.
+It installs in /usr/local/share/snmp.
+
+Install a startup script (see section 1).
+
+For further information, see README.solaris.binaries.x that ships
+with the binaries.
+
+--Bruce Shaw <Bruce.Shaw at shaw.ca>
+
+------------------------------------------------------------
+
+5. Creating snmpd.conf and testing
+
+When everything is installed, run:
+
+ snmpconf -g basic_setup
+
+and answer the questions appropriately. If you are using
+the defaults, place the resulting snmpd.conf file in:
+
+/usr/local/share/snmp/snmpd.conf
+
+A security note - use of the "public" community is deprecated.
+This example uses "whatever" as a community.
+
+When you have the daemon running either with the script above or running:
+
+ /usr/local/sbin/snmpd
+
+test the daemon's functionality by typing:
+
+ snmpget -v 1 -c whatever localhost sysUpTime.0
+ snmpwalk -v 2c -c whatever -m ALL localhost .1.3 | more
+
+and paging through the results.
+
+If you have problems, you can examine diagnostic messages
+by running:
+
+ /usr/local/sbin/snmpd -f -Le
+
+or use gdb (available from www.sunsolve.com) as follows:
+
+ cd /usr/local/sbin
+ gdb snmpd
+ run -f -Le
+
+and when it blows up:
+
+ bt
+
+to get the backtrace.
+
+You can use:
+
+ run -f -Le -D <modulename>
+
+to display debug messages.
+
+To display all debug messages type:
+
+ run -f -Le -D ALL
+
+but this will be extremely verbose.
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca> with suggestions by Thushara Wickram
+
+------------------------------------------------------------
+
+6. Creating your own binaries
+
+Pick an appropriate name for a tarfile
+eg. net-snmp-5.4.custom-SunOS_5.8_sun4u.tar (see above)
+(this particular one means "a customized version of
+net-snmp 5.4 that works under Solaris 8 running on Ultra hardware")
+
+Create an empty directory such as /usr/local/dist, then do the following
+from the source directory (using the example above):
+
+ make install prefix=/usr/local/dist/usr/local \
+ exec_prefix=/usr/local/dist/usr/local
+ cd /usr/local/dist
+ tar -cvf net-snmp-5.4.custom-SunOS_5.8_sun4u.tar usr
+
+Transfer this file to the machine where you want to install from binary.
+Place it in a distribution directory eg. /usr/local/dist
+Type the following (using the example above):
+
+ cd /
+ tar -xvf /usr/local/dist/net-snmp-5.4.custom-SunOS_5.8_sun4u.tar
+
+Remove the tar file to save space. Create an snmpd.conf (see above)
+or use an existing one from another machine. If you are using
+the defaults, it installs in /usr/local/share/snmp. Install
+a startup script (see section 2).
+
+Note that if you create a binary with Perl support (see below) an
+identically configured Perl needs to be installed as well.
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca>
+
+------------------------------------------------------------
+
+7. Using Sun's SNMP daemon and net-snmp together
+
+Net-SNMP may be used as a subagent in conjunction with Sun's snmpdx daemon.
+
+To do this, you will need to modify several files,
+all located in /etc/snmp/conf.
+
+First, do the following:
+
+ /etc/rc3.d/S76snmpdx stop (assuming you haven't done so already, and...)
+ /etc/rc3.d/S77dmi stop (...assuming you haven't renamed them)
+
+ cd /etc/snmp/conf
+ cp snmpd.conf snmpd.conf.orig
+ cp snmpdx.acl snmpdx.acl.orig
+ cp snmpdx.reg snmpdx.reg.orig
+ cp snmpdx.rsrc snmpdx.rsrc.orig
+ cp mibiisa.reg mibiisa.reg.orig
+ cp mibiisa.rsrc mibiisa.rsrc.orig
+
+modify snmpd.conf with the correct:
+
+ sysdescr
+ syscontact
+ sysLocation
+ system-group-read-community
+ read-community (in my example below I will use community "whatever")
+ trap
+ trap-community
+ managers (leave blank for all)
+
+modify snmpdx.acl with the correct:
+
+ trap-community
+ trap-recipients
+ communities
+ access
+
+Make sure that in snmpdx.reg the port is 161.
+
+You will now need to add two files - net-snmp.reg and net-snmp.rsrc
+
+In this example, "subtrees" is set for HOST-RESOURCES-MIB, and UCD-SNMP-MIB.
+Do not use net-snmp's MIB-2 information as this is already provided by
+Sun's mib and may cause a conflict.
+
+::::: net-snmp.reg ::::::
+
+# net-snmp.reg
+# mib-2 is already provided by the mibiisa process
+# that is a default sub agent of snmpdx
+# we are specifying only hostmib and ucd
+##########
+# agents #
+##########
+
+# The following 3 macros are predefined:
+#
+# mib-2 = 1.3.6.1.2.1
+# enterprise = 1.3.6.1.4.1
+# sun = 1.3.6.1.4.1.42
+#
+# You can define your own macros, so that you can
+# manipulate strings instead of OIDs in defining the agent.
+# See the "agent" section below.
+
+macros =
+{
+ host = mib-2.25
+ ucd = enterprise.2021
+}
+
+agents =
+{
+ {
+ name = "net-snmp"
+ subtrees = { host,ucd }
+ timeout = 2000000
+ watch-dog-time = 86400
+ }
+}
+
+::::::::::::::::::
+
+::::: net-snmp.rsrc ::::::
+
+# /etc/snmp/conf/net-snmp.rsrc
+
+resource =
+{
+ {
+ registration_file = "/etc/snmp/conf/net-snmp.reg"
+ policy = "spawn"
+ type = "legacy"
+ command = "/usr/local/sbin/snmpd $PORT"
+ }
+
+}
+
+::::::::::::::::::
+
+Stop any net-snmp processes that may be running.
+
+Start Sun's daemons by typing:
+
+ /etc/rc3.d/S76snmpdx start (assuming you haven't renamed it)
+ /etc/rc3.d/S77dmi start (assuming you haven't renamed it)
+
+Wait a moment for everything to stabilize, then try these two queries:
+
+ snmpget -v 1 -c whatever localhost sysDescr.0
+ snmpget -v 1 -c whatever localhost hrSystemUptime.0
+
+You should see something like:
+
+ SNMPv2-MIB::sysDescr.0 = STRING: SunOS foo 5.6 Generic_105181-30 sun4u
+
+which is Sun's daemon talking, and:
+
+ HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (78540910) 9 days, 2:10:09.10
+
+which is net-snmp talking. It is acting as a sub-agent through Sun's daemon.
+
+If Sun's daemons fail, you will need to shut down the snmpd daemons by typing:
+
+ pkill snmpd
+
+Then do the following:
+
+ /etc/rc3.d/S76snmpdx stop (assuming you haven't renamed it)
+ /etc/rc3.d/S77dmi stop (assuming you haven't renamed it)
+ /etc/rc3.d/S76snmpdx start (assuming you haven't renamed it)
+ /etc/rc3.d/S77dmi start (assuming you haven't renamed it)
+
+rather than trying to individually clobber all the various Sun daemons.
+
+This configuration appears to deal properly with snmpgets
+and handle mistakes gracefully.
+
+Beyond this, your mileage may vary.
+
+You may wish to modify the subtrees in net-snmp.reg as you find things
+that do and don't work. Remember to keep backup copies of working
+configurations.
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca> from notes by Stefan Radman and C Wells
+
+------------------------------------------------------------
+
+8. Monitoring disks, processes and execs (DISMAN-EVENT-MIB)
+
+Important note: this section only applies to the old DISMAN-EVENT-MIB
+implementation called "disman/event-mib", *not* the current "disman/event"
+mib module which is active by default since net-snmp 5.3 and later.
+
+For a full explanation of using DISMAN-EVENT-MIB, see:
+
+http://www.net-snmp.org/man/snmpd.conf.html
+
+To use this component, net-snmp must be compiled with the option..
+
+--with-mib-modules="disman/event-mib"
+
+This discussion concerns the use of DISMAN-EVENT-MIB with Solaris.
+
+There is a bug preventing the use of some of its functionality. This
+discussion will document what is known to work and how to use it.
+
+The problem revolves around the use of monitors. The...
+
+defaultMonitors yes
+
+token will NOT work for reasons discussed below. I suspect that the
+notificationEvent tokens will not work for the same reason but this
+has not been tested. Your mileage may vary. Same with includeAllDisks.
+
+The documentation suggests using...
+
+monitor -o prNames -o prErrMessage "process table" prErrorFlag != 0
+
+to monitor all processes. This will fail with ambiguous results.
+
+To monitor processes, put a separate monitor line for each process.
+
+For example:
+######
+proc smail
+proc mdlogd
+
+monitor -r 30 -i -o prNames.1 -o prErrMessage.1 "Process smail" prErrorFlag.1 !=0
+monitor -r 30 -i -o prNames.2 -o prErrMessage.2 "Process Solstice Disksuite SNMP trap" prErrorFlag.2 !=0
+
+To monitor disks, do the same. An example:
+
+########
+# This example sends a trap if root has less than 10% available and /usr6 less t
+han 90%
+#
+disk / 10%
+disk /usr6 90%
+
+monitor -i -r 30 -o dskPath.1 -o dskErrorMsg.1 "root file system" dskErrorFlag.1 !=0
+monitor -i -r 30 -o dskPath.2 -o dskErrorMsg.2 "ORACLE file system" dskErrorFlag.2 != 0
+#########
+
+To implement an external program then monitor its results you need to set up your script.
+
+Here is a sample script.
+
+#!//usr/bin/ksh
+xstatus=0
+
+if [ $xstatus -eq 0 ];then
+echo success: $0
+else
+echo FAILURE: $0
+fi
+
+exit $xstatus
+###end of script tester##
+
+Place this script in /usr/local/src and make it executable. Make copies called
+tester1, tester2 etc.
+and make them executable.
+
+Here is a sample snmpd.conf snippet that makes use of the exec feature:
+##############
+
+exec tester1 /usr/local/src/tester1
+exec tester2 /usr/local/src/tester2
+exec tester3 /usr/local/src/tester3
+exec tester4 /usr/local/src/tester4
+exec tester5 /usr/local/src/tester5
+
+monitor -i -r 60 -o extNames.1 -o extOutput.1 "status table 1" extResult.1 != 0
+monitor -i -r 60 -o extNames.2 -o extOutput.2 "status table 2" extResult.2 != 0
+monitor -i -r 60 -o extNames.3 -o extOutput.3 "status table 3" extResult.3 != 0
+monitor -i -r 60 -o extNames.4 -o extOutput.4 "status table 4" extResult.4 != 0
+monitor -i -r 60 -o extNames.5 -o extOutput.5 "status table 5" extResult.5 != 0
+##############
+
+While snmpd is running, go to /usr/local/src and modify one of the tester programs eg. tester1
+
+xstatus=1
+
+and save the file. Sometime in the next 60 seconds, a trap will be generated.
+Change the value back to 0, then modify another file.
+
+If you are unsure of the correct row number within a specific table, do an snmpwalk eg.
+
+snmpwalk -v 2c -c public -m ALL localhost prNames
+
+The same methodology can presumably be used for fileName and laNames. Your mileage may vary.
+
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca> with Allan McIntosh and Wes Hardaker
+
+------------------------------------------------------------
+
+9. Monitoring CPU temp, fan and power supply sensors (LM-SENSORS-MIB)
+
+Note: This module (ucd-snmp/lmSensors) works in "read only" mode to examine
+sensors. It cannot change switch or fan settings.
+
+It has been tested at least on the following platforms:
+
+Enterprise 450
+V880
+280R
+
+If you have information about other platforms this is desperately needed. For
+example, the only "state" that I'm aware of for an i2c is "OK". The more
+information we have, the richer the components.
+
+Please report any performance statistics, bugs or omissions to the users list.
+Please report any code suggestions to the coders list. See links below.
+
+
+This component delivers information that you would normally see by typing:
+
+/usr/platform/`uname -m`/sbin/prtdiag -v
+
+At present this is only supported on the Ultra (sun4u) platform.
+
+To display this information, net-snmp must be compiled with the option:
+
+--with-mib-modules="ucd-snmp/lmSensors"
+
+Early Ultra servers such as the Ultra 1 or Ultra 2 did not report
+any sensor information at all. Later servers, such as the Enterprise 450
+reported this information using kstat. Sun's latest servers make use
+of the picld daemon to control system resources and report fan information.
+This module reads in the information from picld. It cannot modify settings.
+
+You can see this information by typing:
+
+prtpicl -v | more
+
+The following is typical output from net-snmp:
+
+E450# snmpwalk -v 2c -c public -m ALL localhost lmSensors
+LM-SENSORS-MIB::lmTempSensorsIndex.1 = INTEGER: 0
+LM-SENSORS-MIB::lmTempSensorsIndex.2 = INTEGER: 1
+LM-SENSORS-MIB::lmTempSensorsIndex.3 = INTEGER: 2
+LM-SENSORS-MIB::lmTempSensorsIndex.4 = INTEGER: 3
+LM-SENSORS-MIB::lmTempSensorsDevice.1 = STRING: Ambient
+LM-SENSORS-MIB::lmTempSensorsDevice.2 = STRING: CPU1
+LM-SENSORS-MIB::lmTempSensorsDevice.3 = STRING: CPU2
+LM-SENSORS-MIB::lmTempSensorsDevice.4 = STRING: CPU3
+LM-SENSORS-MIB::lmTempSensorsValue.1 = Gauge32: 22
+LM-SENSORS-MIB::lmTempSensorsValue.2 = Gauge32: 45
+LM-SENSORS-MIB::lmTempSensorsValue.3 = Gauge32: 46
+LM-SENSORS-MIB::lmTempSensorsValue.4 = Gauge32: 49
+LM-SENSORS-MIB::lmFanSensorsIndex.1 = INTEGER: 0
+LM-SENSORS-MIB::lmFanSensorsIndex.2 = INTEGER: 1
+LM-SENSORS-MIB::lmFanSensorsIndex.3 = INTEGER: 2
+LM-SENSORS-MIB::lmFanSensorsDevice.1 = STRING: fan type CPU number 0
+LM-SENSORS-MIB::lmFanSensorsDevice.2 = STRING: fan type PWR number 0
+LM-SENSORS-MIB::lmFanSensorsDevice.3 = STRING: fan type AFB number 0
+LM-SENSORS-MIB::lmFanSensorsValue.1 = Gauge32: 33
+LM-SENSORS-MIB::lmFanSensorsValue.2 = Gauge32: 31
+LM-SENSORS-MIB::lmFanSensorsValue.3 = Gauge32: 63
+LM-SENSORS-MIB::lmVoltSensorsIndex.1 = INTEGER: 0
+LM-SENSORS-MIB::lmVoltSensorsIndex.2 = INTEGER: 1
+LM-SENSORS-MIB::lmVoltSensorsIndex.3 = INTEGER: 2
+LM-SENSORS-MIB::lmVoltSensorsDevice.1 = STRING: power supply 0
+LM-SENSORS-MIB::lmVoltSensorsDevice.2 = STRING: power supply 1
+LM-SENSORS-MIB::lmVoltSensorsDevice.3 = STRING: power supply 2
+LM-SENSORS-MIB::lmVoltSensorsValue.1 = Gauge32: 38
+LM-SENSORS-MIB::lmVoltSensorsValue.2 = Gauge32: 39
+LM-SENSORS-MIB::lmVoltSensorsValue.3 = Gauge32: 39
+LM-SENSORS-MIB::lmMiscSensorsIndex.1 = INTEGER: 0
+LM-SENSORS-MIB::lmMiscSensorsIndex.2 = INTEGER: 1
+LM-SENSORS-MIB::lmMiscSensorsIndex.3 = INTEGER: 2
+LM-SENSORS-MIB::lmMiscSensorsDevice.1 = STRING: FSP
+LM-SENSORS-MIB::lmMiscSensorsDevice.2 = STRING: Backplane4
+LM-SENSORS-MIB::lmMiscSensorsDevice.3 = STRING: Backplane8
+LM-SENSORS-MIB::lmMiscSensorsValue.1 = Gauge32: 192
+LM-SENSORS-MIB::lmMiscSensorsValue.2 = Gauge32: 0
+LM-SENSORS-MIB::lmMiscSensorsValue.3 = Gauge32: 0
+
+V880# snmpwalk -v 2c -c public -m ALL localhost lmSensors
+LM-SENSORS-MIB::lmTempSensorsIndex.1 = INTEGER: 0
+LM-SENSORS-MIB::lmTempSensorsIndex.2 = INTEGER: 1
+LM-SENSORS-MIB::lmTempSensorsIndex.3 = INTEGER: 2
+LM-SENSORS-MIB::lmTempSensorsIndex.4 = INTEGER: 3
+LM-SENSORS-MIB::lmTempSensorsIndex.5 = INTEGER: 4
+LM-SENSORS-MIB::lmTempSensorsIndex.6 = INTEGER: 5
+LM-SENSORS-MIB::lmTempSensorsIndex.7 = INTEGER: 6
+LM-SENSORS-MIB::lmTempSensorsIndex.8 = INTEGER: 7
+LM-SENSORS-MIB::lmTempSensorsIndex.9 = INTEGER: 8
+LM-SENSORS-MIB::lmTempSensorsIndex.10 = INTEGER: 9
+LM-SENSORS-MIB::lmTempSensorsDevice.1 = STRING: CPU0_DIE_TEMPERATURE_SENSOR
+LM-SENSORS-MIB::lmTempSensorsDevice.2 = STRING: CPU2_DIE_TEMPERATURE_SENSOR
+LM-SENSORS-MIB::lmTempSensorsDevice.3 = STRING: CPU1_DIE_TEMPERATURE_SENSOR
+LM-SENSORS-MIB::lmTempSensorsDevice.4 = STRING: CPU3_DIE_TEMPERATURE_SENSOR
+LM-SENSORS-MIB::lmTempSensorsDevice.5 = STRING: CPU4_DIE_TEMPERATURE_SENSOR
+LM-SENSORS-MIB::lmTempSensorsDevice.6 = STRING: CPU6_DIE_TEMPERATURE_SENSOR
+LM-SENSORS-MIB::lmTempSensorsDevice.7 = STRING: MB_AMB_TEMPERATURE_SENSOR
+LM-SENSORS-MIB::lmTempSensorsDevice.8 = STRING: IOB_AMB_TEMPERATURE_SENSOR
+LM-SENSORS-MIB::lmTempSensorsDevice.9 = STRING: DBP0_AMB_TEMPERATURE_SENSOR
+LM-SENSORS-MIB::lmTempSensorsDevice.10 = STRING: DBP1_AMB_TEMPERATURE_SENSOR
+LM-SENSORS-MIB::lmTempSensorsValue.1 = Gauge32: 71
+LM-SENSORS-MIB::lmTempSensorsValue.2 = Gauge32: 60
+LM-SENSORS-MIB::lmTempSensorsValue.3 = Gauge32: 66
+LM-SENSORS-MIB::lmTempSensorsValue.4 = Gauge32: 59
+LM-SENSORS-MIB::lmTempSensorsValue.5 = Gauge32: 65
+LM-SENSORS-MIB::lmTempSensorsValue.6 = Gauge32: 69
+LM-SENSORS-MIB::lmTempSensorsValue.7 = Gauge32: 28
+LM-SENSORS-MIB::lmTempSensorsValue.8 = Gauge32: 25
+LM-SENSORS-MIB::lmTempSensorsValue.9 = Gauge32: 25
+LM-SENSORS-MIB::lmTempSensorsValue.10 = Gauge32: 24
+LM-SENSORS-MIB::lmFanSensorsIndex.1 = INTEGER: 0
+LM-SENSORS-MIB::lmFanSensorsIndex.2 = INTEGER: 1
+LM-SENSORS-MIB::lmFanSensorsIndex.3 = INTEGER: 2
+LM-SENSORS-MIB::lmFanSensorsIndex.4 = INTEGER: 3
+LM-SENSORS-MIB::lmFanSensorsIndex.5 = INTEGER: 4
+LM-SENSORS-MIB::lmFanSensorsIndex.6 = INTEGER: 5
+LM-SENSORS-MIB::lmFanSensorsIndex.7 = INTEGER: 6
+LM-SENSORS-MIB::lmFanSensorsIndex.8 = INTEGER: 7
+LM-SENSORS-MIB::lmFanSensorsIndex.9 = INTEGER: 8
+LM-SENSORS-MIB::lmFanSensorsIndex.10 = INTEGER: 9
+LM-SENSORS-MIB::lmFanSensorsDevice.1 = STRING: CPU0_PFAN_TACH
+LM-SENSORS-MIB::lmFanSensorsDevice.2 = STRING: CPU1_PFAN_TACH
+LM-SENSORS-MIB::lmFanSensorsDevice.3 = STRING: CPU0_SFAN_TACH
+LM-SENSORS-MIB::lmFanSensorsDevice.4 = STRING: CPU1_SFAN_TACH
+LM-SENSORS-MIB::lmFanSensorsDevice.5 = STRING: IO_BRIDGE_PFAN_TACH
+LM-SENSORS-MIB::lmFanSensorsDevice.6 = STRING: IO_BRIDGE_SFAN_TACH
+LM-SENSORS-MIB::lmFanSensorsDevice.7 = STRING: IO0_PFAN_TACH
+LM-SENSORS-MIB::lmFanSensorsDevice.8 = STRING: IO1_PFAN_TACH
+LM-SENSORS-MIB::lmFanSensorsDevice.9 = STRING: IO0_SFAN_TACH
+LM-SENSORS-MIB::lmFanSensorsDevice.10 = STRING: IO1_SFAN_TACH
+LM-SENSORS-MIB::lmFanSensorsValue.1 = Gauge32: 2439
+LM-SENSORS-MIB::lmFanSensorsValue.2 = Gauge32: 2586
+LM-SENSORS-MIB::lmFanSensorsValue.3 = Gauge32: 2459
+LM-SENSORS-MIB::lmFanSensorsValue.4 = Gauge32: 2564
+LM-SENSORS-MIB::lmFanSensorsValue.5 = Gauge32: 3409
+LM-SENSORS-MIB::lmFanSensorsValue.6 = Gauge32: 0
+LM-SENSORS-MIB::lmFanSensorsValue.7 = Gauge32: 3947
+LM-SENSORS-MIB::lmFanSensorsValue.8 = Gauge32: 3896
+LM-SENSORS-MIB::lmFanSensorsValue.9 = Gauge32: 4000
+LM-SENSORS-MIB::lmFanSensorsValue.10 = Gauge32: 3896
+LM-SENSORS-MIB::lmVoltSensorsIndex.1 = INTEGER: 0
+LM-SENSORS-MIB::lmVoltSensorsIndex.2 = INTEGER: 1
+LM-SENSORS-MIB::lmVoltSensorsIndex.3 = INTEGER: 2
+LM-SENSORS-MIB::lmVoltSensorsIndex.4 = INTEGER: 3
+LM-SENSORS-MIB::lmVoltSensorsIndex.5 = INTEGER: 4
+LM-SENSORS-MIB::lmVoltSensorsIndex.6 = INTEGER: 5
+LM-SENSORS-MIB::lmVoltSensorsIndex.7 = INTEGER: 6
+LM-SENSORS-MIB::lmVoltSensorsIndex.8 = INTEGER: 7
+LM-SENSORS-MIB::lmVoltSensorsIndex.9 = INTEGER: 8
+LM-SENSORS-MIB::lmVoltSensorsIndex.10 = INTEGER: 9
+LM-SENSORS-MIB::lmVoltSensorsIndex.11 = INTEGER: 10
+LM-SENSORS-MIB::lmVoltSensorsIndex.12 = INTEGER: 11
+LM-SENSORS-MIB::lmVoltSensorsDevice.1 = STRING: PS0_3_3V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsDevice.2 = STRING: PS0_5V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsDevice.3 = STRING: PS0_12V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsDevice.4 = STRING: PS0_48V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsDevice.5 = STRING: PS1_3_3V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsDevice.6 = STRING: PS1_5V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsDevice.7 = STRING: PS1_12V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsDevice.8 = STRING: PS1_48V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsDevice.9 = STRING: PS2_3_3V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsDevice.10 = STRING: PS2_5V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsDevice.11 = STRING: PS2_12V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsDevice.12 = STRING: PS2_48V_I_SENSOR
+LM-SENSORS-MIB::lmVoltSensorsValue.1 = Gauge32: 6
+LM-SENSORS-MIB::lmVoltSensorsValue.2 = Gauge32: 4
+LM-SENSORS-MIB::lmVoltSensorsValue.3 = Gauge32: 3
+LM-SENSORS-MIB::lmVoltSensorsValue.4 = Gauge32: 4
+LM-SENSORS-MIB::lmVoltSensorsValue.5 = Gauge32: 6
+LM-SENSORS-MIB::lmVoltSensorsValue.6 = Gauge32: 4
+LM-SENSORS-MIB::lmVoltSensorsValue.7 = Gauge32: 3
+LM-SENSORS-MIB::lmVoltSensorsValue.8 = Gauge32: 4
+LM-SENSORS-MIB::lmVoltSensorsValue.9 = Gauge32: 6
+LM-SENSORS-MIB::lmVoltSensorsValue.10 = Gauge32: 4
+LM-SENSORS-MIB::lmVoltSensorsValue.11 = Gauge32: 3
+LM-SENSORS-MIB::lmVoltSensorsValue.12 = Gauge32: 4
+
+This component also reports information for switches, LEDs
+and i2c's (devices accessing the i2c bus).
+Because the MIB only allows us to display numeric
+information a certain amount of translation has been done.
+
+Switches:
+
+0 = OFF
+1 = ON
+2 = NORMAL
+3 = LOCKED
+4 = UNKNOWN
+5 = DIAG
+6 = SECURE
+99 = other
+
+LEDs:
+
+0 = OFF
+1 = ON
+2 = BLINK (this may not exist)
+99 = other
+
+i2c's:
+0 = OK
+99 = other
+
+In order to prevent inordinant consumption of machine resources,
+some sensor information is cached. Currently, information
+retrieved from picld is cached for six seconds.
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca>
+
+------------------------------------------------------------
+
+10. MIB rewrites for IF-MIB, TCP-MIB and UDP-MIB
+
+net-snmp 5.4 has started to include rewrites for the IF-MIB, TCP-MIB and
+UDP-MIB implementations. They need to be explicitely enabled, though:
+
+ ./configure --enable-mfd-rewrites ...
+
+See the Net-SNMP Wiki (http://www.net-snmp.org/wiki/index.php/IF-MIB_rewrite)
+for further details.
+
+Thanks to Sun for the excellent patches.
+
+
+ -- Thomas Anders <tanders@users.sourceforge.net>
+
+------------------------------------------------------------
+
+11. Files descriptors and fopen
+
+Solaris has a limitation on the number of file descriptors (255)
+available in stdio, so that fopen() fails if more than
+255 file descriptors (sockets) are open. This prevents mibs from
+being loaded after 250 sockets are open, since parse.c uses stdio.
+
+SEan <burke_sp@pacbell.net> investigated this problem, and had this
+report on using the SFIO package to solve this problem.
+
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+The SFIO package ( http://www.research.att.com/sw/tools/sfio/ )
+is a buffered streams IO package that is much more more sophisticated
+than stdio, but it does support stdio API's for backward compatibility,
+and that's the aspect that is important here.
+
+To compile with SFIO, we simply add -I/usr/local/sfio/include to the
+$CPPFLAGS before compiling net-snmp. This causes SFIO's stdio.h to
+preempt Solaris stdio, mapping calls like fopen() and fprintf() to
+the SFIO implementations. This produces a libnetsnmp that does not
+have the fopen() limitation. Any application that links to this
+libnetsnmp must also be linked to libsfio.
+
+Here are the two caveats:
+
+A. libsfio exports the functions 'getc' and 'putc', for reasons that
+are not clear. These are the only symbols it exports that conflict
+with stdio. While getc and putc are traditionally macros, Solaris
+makes them functions in multithreaded code (compiled with -mt,
+-pthread, or -D_REENTRANT). If your native stdio code links to the
+libsfio versions, a crash will result.
+
+There are two solutions to this problem. You may remove getc and putc
+from libsfio, since SFIO defines getc and putc as macros, by doing:
+
+ ar d libsfio.a getc.o
+ ar d libsfio.a putc.o
+
+or link to SFIO's stdio compatibility library, libstdio, ahead of
+libsfio. This library wraps all of the native stdio calls with
+versions that are safe for native or sfio streams, in case you
+need to share streams between SFIO and native stdio codes.
+
+B. libsfio provides 64-bit offsets in fseek(), ftell(). This is
+a good thing, since SFIO is intended to avoid needless limitations,
+but it means that SFIO's stdio.h defines off_t to be a 64-bit offset.
+Net-SNMP uses readdir(), which returns a struct dirent containing
+a 32-bit off_t, so the code compiled for SFIO doesn't access
+struct dirent's correctly.
+
+There are two solutions to this problem, as well. The first is to
+include <dirent.h> at the start of SFIO's stdio.h. Since SFIO
+defines a macro substitution for off_t, this leaves struct dirent's
+definition unchanged.
+
+An alternative, which I haven't verified, is to define _FILE_OFFSET_BITS
+to be 64 when compiling libnetsnmp. According to what I see in Solaris's
+/usr/include/sys/feature_tests.h, you can select a 64-bit off_t at
+compile time with this setting, which should make readdir()'s off_t
+compatible with SFIO's ftell(), fseek().
+ [[ We have received reports that this approach does not in fact work
+(see Perl discussion below)]]
+
+Finally, thanks to Phong Vo and AT&T Labs for a fast, robust and
+portable package that solves this headache very neatly.
+
+-SEan <burke_sp@pacbell.net>
+
+------------------------------------------------------------
+
+12. Perl
+
+Net-SNMP may be compiled with Perl support by configuring like:
+
+ ./configure -enable-embedded-perl ...
+
+This should only be done if you are sure you really need Perl,
+for the following reasons:
+
+Solaris 8 and later ship with a version of Perl compiled using Sun's cc.
+
+This causes a problem when attempting to compile net-snmp
+with Perl functionality ie.:
+
+ ./configure --with-mib-modules="ucd-snmp/lmSensors ucd-snmp/diskio \
+ smux mibII/mta_sendmail" --enable-embedded-perl
+
+because during the Perl section of the compile, it attempts to do so
+using the methodology used to compile the original Perl, not
+what you're currently using. This can be discovered by typing:
+
+ perl -V
+
+and it says (among other things)
+
+ Compiler:
+ cc='cc'
+
+and you don't have the full version of Sun's C compiler on your
+system, it's going to break.
+
+In addition if it was compiled with:
+
+ LFS_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
+
+net-snmp will not compile correctly.
+
+Given that the Perl provided with Solaris 8 (5.005_03) and Solaris 9
+(5.005_03 and 5.6.1) is somewhat stale, upgrading may be to your advantage.
+
+Perl did not ship with Solaris before version 8. If you installed a
+version from www.sunfreeware.com, it is compiled with some extra flags
+that cause the net-snmp compile to break.
+
+In either case, you will need to compile and install Perl.
+
+There are, however, some issues.
+
+A. Some applications (eg. /usr/bin/kstat) require this exact version
+of Perl because of libraries. These instructions below install Perl
+in /usr/local/bin (and optionally /usr/bin/). The original is left
+intact in /usr/perl5/bin/perl where, in fact, the kstat script looks
+for it. If you have version specific scripts, you will need to do
+the same either by invoking /usr/perl5/bin/perl or putting:
+
+#!/usr/perl/bin/perl -w
+
+as the first line of your script and making it executable
+(see the /usr/bin/kstat source as an example).
+
+B. The instructions below disable large file support.
+
+This means that Perl would be unable to deal
+successfully with files larger than 2 Gb.
+Again, using /usr/perl5/bin/perl or a version compiled
+with this functionality would solve this.
+
+Hence the ideal solution is a net-snmp specific Perl in its own directory.
+
+The following instructions will install a working Perl in /usr/local/net-snmp.
+
+Install gcc version 3.3.2 (or later) from www.sunfreeware.com.
+
+Download the current stable release of Perl
+
+ http://www.cpan.org/src/stable.tar.gz
+
+and gunzip and untar. (This document assumes Perl 5.8.3 or later)
+
+cd to the source directory and type the following:
+
+ sh Configure -Dcc=gcc -Dprefix=/usr/local/net-snmp -Uinstallusrbinperl \
+ -Duseshrplib -Dcf_email=your_email@your_domain \
+ -Dperladmin=your_email@your_domain -Uuselargefiles -de
+
+Replace your_email@your_domain by your real email address. If you intend
+to compile Net-SNMP with Sun cc later on, replace gcc with cc above.
+
+When it is finished, do:
+
+ grep cppsymbols config.sh
+
+and make sure "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" does NOT appear.
+
+Then do:
+
+ make
+ make test (optional)
+ make install
+ /usr/local/net-snmp/bin/perl -V
+
+if everything looks all right, compile net-snmp (see above) with the
+following differences:
+
+env PERLPROG=/usr/local/net-snmp/bin/perl ./configure --enable-embedded-perl \
+ --with-mib-modules=ucd-snmp/lmSensors,ucd-snmp/diskio,smux,mibII/mta_sendmail \
+ --with-cc=gcc && make && make test && make install
+
+Make sure you specify the correct path to your self-compiled Perl binary
+and use the same compiler like the one you used when building Perl above.
+Feel free to add other configure options, of course.
+
+"make test" includes some tests for the Net-SNMP Perl functionalities.
+
+Once you have compiled and installed net-snmp you can test the Perl
+capabilities of the final installation by doing the following:
+
+Copy the perl_module.pl script found at
+
+http://www.net-snmp.org/tutorial-5/toolkit/perl/index.html
+
+to /usr/local/net-snmp
+
+and modify your /usr/local/share/snmp/snmpd.conf file to contain the entry:
+
+perl do "/usr/local/net-snmp/perl_module.pl";
+
+then do:
+
+/usr/local/bin/snmpwalk -v 2c -c whatever localhost .1.3.6.1.4.1.8072.999
+
+It should return the following:
+
+NET-SNMP-MIB::netSnmp.999.1.2.1 = STRING: "hello world"
+
+WARNING!! If you are planning on creating binary versions of net-snmp with
+Perl capability, you will also need to ship the Perl which you created in
+/usr/local/net-snmp.
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca>
+ -- Thomas Anders <tanders@users.sourceforge.net>
+
+------------------------------------------------------------
+
+13. sed
+
+Various sed versions in older Solaris releases (Solaris 8 and earlier
+at least) have serious limitations that may affect ./configure
+when building net-snmp. All these issues *should* have been addressed
+in net-snmp 5.4 and later. If you still have problems, please let us know
+and consider:
+
+- installing GNU sed and putting it in front of your PATH
+- installing the available Sun patches for the various sed versions
+ (/usr/bin/sed, /usr/xpg4/bin/sed, /usr/ucb/sed)
+- try the suggestions below
+
+The version of sed in /usr/ucb on Solaris 2.5.1 and 2.6 can't
+cope with the size of the substitution strings used in config.status.
+
+Putting /usr/bin ahead of /usr/ucb in the search path fixes this.
+
+/usr/xpg4/bin/sed is seen to segfault under Solaris 8 when running configure.
+Putting /usr/bin ahead of /usr/xpg4/bin fixes this.
+
+
+ -- Thomas Anders <tanders@users.sourceforge.net>
+ -- zach dot metzinger at microtune dot com
+
+------------------------------------------------------------
+
+14. OpenSSL and crle
+
+If compiling with OpenSSL (e.g. from sunsolve), it's possible that
+the agent won't successfully load the crypto library (typically
+in /usr/local/ssl/lib) when it is in use and will return a
+cannot find library error message of some sort.
+
+To rectify this, you will need to use the /usr/bin/crle command, which
+did NOT ship with some versions of Solaris, but came as part of later
+patches. You should make sure the following patches are up to date:
+
+107733 (Solaris 2.6)
+106950 (Solaris 2.7)
+109147 (Solaris 8)
+115833 (Trusted Solaris 8)
+112693 (Solaris 9)
+
+Then type the following:
+
+/usr/bin/crle
+
+It will return something like:
+
+Default configuration file (/var/ld/ld.config) not found
+ Default Library Path (ELF): /usr/lib (system default)
+ Trusted Directories (ELF): /usr/lib/secure (system default)
+
+Find the location of the libcrypto libraries by typing:
+
+find /usr -name "libcrypto*" -print
+
+which will probably display:
+
+/usr/local/ssl/lib/libcrypto.a
+/usr/local/ssl/lib/libcrypto.so
+/usr/local/ssl/lib/libcrypto.so.0
+/usr/local/ssl/lib/libcrypto.so.0.9.7
+
+which is the default installation for OpenSSL.
+
+To include this in the loader search path, type:
+
+/usr/bin/crle -u -l /usr/local/ssl/lib
+
+/usr/bin/crle will now display:
+
+Configuration file [3]: /var/ld/ld.config
+ Default Library Path (ELF): /usr/lib:/usr/local/ssl/lib
+ Trusted Directories (ELF): /usr/lib/secure (system default)
+
+Command line:
+ crle -c /var/ld/ld.config -l /usr/lib:/usr/local/ssl/lib
+
+If this fails, usually by displaying:
+
+crle: /var/ld/ld.config: open failed: No such file or directory
+
+you will need to create this directory by hand by doing the following:
+
+mkdir /var/ld
+cd /var/ld
+ln -s . 32
+mkdir sparcv9
+chgrp bin sparcv9
+ln -s sparcv9 64
+touch ld.config
+
+then do:
+
+crle -c /var/ld/ld.config -l /usr/lib:/usr/local/ssl/lib
+
+Thanks to Dave Shield and Johannes Schmidt-Fischer
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca>
+
+------------------------------------------------------------
+
+15. IPv6
+
+Starting with net-snmp 5.4 you can enable the UDPIPv6 and TCPIPv6
+transports on Solaris:
+
+ ./configure --enable-ipv6
+
+There's no support for the mibII/ipv6 mib module, though.
+
+
+ -- Thomas Anders <tanders@users.sourceforge.net>
+
+------------------------------------------------------------
+
+16. Wish list
+
+A. Code cleanup
+
+There may be opportunities for shared code between UCD-SNMP
+and HOST-RESOURCES-MIB.
+
+There may be opportunities to optimize caching perhaps
+using the new auto-caching code.
+
+B. LM-SENSORS-MIB
+
+We need a complete list of sensors from various platforms so
+they can be displayed properly.
+
+C. ORACLE
+
+How to get ORACLE's SNMP functionality to work as a sub-agent.
+
+D. Largefile support
+
+Rework the host mib module to work even if net-snmp is built with
+largefile support. This would eliminate the most important problems
+with Perl (see section 12).
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca>
+ -- Thomas Anders <tanders@users.sourceforge.net>
+
+------------------------------------------------------------
+
+17. Known Bugs!!
+
+A. hrDeviceTable (HOST-RESOURCES-MIB)
+
+This section of code is only aware of disk controllers 0 through 7.
+Hence, anything on controller c8 and above will be invisible.
+
+B. hrPartitionTable (HOST-RESOURCES-MIB)
+
+At present, hrPartitionSize data only works for regular ufs
+partitions eg. /dev/dsk/c0t0d0s0 that are mounted. They
+are displayed in partition order rather than the order
+they are mounted. Partitions mounted as mirrors, metastate
+database replicas, swap or members of a RAID display size 0.
+
+As a workaround, put entries for disks you are
+interested in in snmpd.conf and examine
+using UCD-SNMP-MIB.
+
+
+ -- Bruce Shaw <Bruce.Shaw at shaw.ca>
+
+------------------------------------------------------------
+
+18. Discussion and further information
+
+For discussion or further information contact the coders and users
+lists at http://sourceforge.net/mail/?group_id=12694 .
+