TODO list of possible projects/developments/etc
===============================================

APIs:
  Perl		(basically OK - may need a review/update)
  PHP		(PHP-shipped API is out of date, needs reworking)
  Java		(see netsnmpj)
  Tk/Tcl
  WinSNMP
  Python	(yapsnmp? / snmpy?)
  #Net

Agent MIBs:
  Notification Filtering
  Community MIB
  Proxy MIB	(extended to support proxying of subtrees)
  RMON/RMON2
  MIB-2 updates	(in hand)
  IPv6  
  Firewall	(inc. connection tracking)
  DisMan:
    monitor	(done?)
    RemOps	(preliminary implementation)
  Tunnel
  WWW-MIB
  Hardware Abstraction Layer:
    HostRes	(convert to use HAL and clean up)
    UCDavis	(convert to use HAL and update structures)

Extensibility:
  AgentX	(reasonably stable now)
  SMUX		(?obsolete?)
  embedded Perl	(done? in hand?)
     "   Python
  DisMan script MIB
  Extend scripts  (new, so will need to bed down)
  Pass scripts	(support SNMPv2 exceptions/errors)
  DLMod		(OK, but MIB i/f not robust)

Library:
  Threading
  Debugging	(heirarchical)
  Config	(split syntax & processing, persist/read-only/etc)
  SecModels:
    Kerberos	(?done)
    SBSM	(?in hand)
  Pre-compiled MIBs

Traps:
  Separate thread in agen
  Pluggable modules    (?done)
  Dynamic loading
  Persistent connection
  Threaded handler
 
Documentation:
  Tutorials
  Extending the agent
  Agent internals

