TODO list for the ucd-snmp-coders: possibly add WinSNMP wrappers around the ucd-snmp functions Continue to add and improve manual pages/documentation. More snmpset'able variables. Should be able to set the fix script line in the .conf files per type. Implement IP routing table manipulation using sysctl() on systems that support the route socket (BSD 4.4 and IRIX >= 6.2) Implement new IP forwarding table MIB (RFC 2096), at least on systems that have classless routing tables internally Implement IP/UDP/TCP statistics on IRIX 6.2 and later using sysmp(MP_SAGET,MPSA_TCPIPSTAT,...) and Follow the evolution of the Interfaces Group MIB (draft-ietf-ifmib-mib-05.txt) and implement what can be implemented. Make read_objid and sprint_objid agree on which shorthands they accept. snmpset should check against MIB size if possible? Remove unsuppored mib nodes from output instead of returning '0's. Support for Counter64 in snmpdelta API for traps that pass scripts can use. Make memory/swap variables UInts instead of Ints. =================== Issues: CODE-RELATED ISSUES ------------------- Architecture-specific implementations: How to handle differences between architectures - overall common template - "standard" implementation (with minor differences) - architecture unique implementations pre-processor #ifdefs or separate files Function argument handling: Function declaration prototypes Function definition prototypes How to handle both ANSI and K&R compilers Threading Single thread / multi-thread / event driven / asynchronous Lookup design Kernel digging vs "clean" interfaces (sysctl/ioctl) Error Handling Ensure all return values are checked for validity Documented APIs WinSNMP interface Package name UCD-snmp vs Net-snmp FUNCTIONALITY-RELATED ISSUES ---------------------------- Per-interface information (speed/type/counters/non-ethernet address) Multi-CPU support Real Time O/S support 64-bit counters Non-ethernet interface support Address handling code tends to assume 6 octet physical addresses and 4 octet transport addresses Non-fully-qualified name output (Probably covered now?) Formatted dump unpick the ASN encoding, rather than simply dumping the bare data Module interdependence EXTENSIBILITY-RELATED ISSUES ---------------------------- AgentX SMUX Dynamic loading of modules "Intelligent" Agent agent-initiated traps threshold monitoring PHP scripting Extensible trapd PERFORMANCE-RELATED ISSUES -------------------------- Memory Leaks Information caching (e.g. Host Resources information) Intelligent table handling (i.e. not resetting internal state for each request) Pre-compiled MIBs to speed up MIB parsing Duplicate requests Currently these are processed afresh each time. They should probably be either dropped or use cached replies Security Go through the library and apps and check all arrays and buffers for overruns. There are a lot of unchecked ones. =================== Other Ideas: Make the mib parser figure out which of the above files it needs to load rather than loading them all -- Tom Georges & Joe Marzot =================== Want something done? Have ideas? Have code to submit? Need something earlier than it is listed above? Please! Write us! net-snmp-coders@lists.sourceforge.net (even if just to announce that you are going to be working on it so we can avoid multiple people working on the same thing)