  This is a reasonably full implementation of the AgentX agent
extensibility protocol (RFC 2741) in as much as it supports all
the protocol operations described in this document.  The core
functionality has received a reasonable amount of exposure, and
is believed to be more or less stable in normal use.   It will
also handle the non-graceful termination of subagents - returning
a 'genErr' error for three successive requests before unregistering
the unresponsive subagent.

  Note that the reverse is not true, and a subagent will not
re-establish contact with a dead and resurrected master in the default
configuration.  Putting the following line in your
APPLICATION.conf file:
  agentxPingInterval 60
will make the subagent try to ping the master every 60 seconds, and if
the connection is deemed broken it'll try and reconnect to the master
agent after that point (once every 60 seconds).

  Similarly, a subagent will not be able to re-register in place of a
defunct colleague until the master agent has received three requests
for the dead connection (and hence unregistered it).

  Some of the less frequently used features (index allocation,
range registration, etc), have received less thorough testing,
and may well not be fully functional.   Many of the omissions
of the earlier release (Contexts, use of GetBulk, the AgentX MIB)
are still missing from this version.


  AgentX support is now included in the agent by default, but needs
to be explicitly enabled before use.  Activate it using by putting a line

		master	agentx

in the snmpd.conf file.  This support is also enabled automatically
when the '-x' flag is given (to specify a different master AgentX socket),
or when the agent is invoked as an AgentX subagent (i.e. via the name
'agentxd' or with the '-X' flag).

  See the main project web page for an examples of a simple stand-alone
subagent.  (http://www.net-snmp.org/tutorial-5/toolkit/)


  Please report any problems experienced to the net-snmp-coders list.

Dave
