As of 4/27/2000, these are the things to fix/change/consider: >> Use Cricket's "Common::Log" system for displaying warnings and errors instead of "print STDERR" >> Add support for the Match tag for doing really cool things like this: Device SomeDevice Match = "!(OID0 & OID1) | (OID2 & (OID3 | !OID4))" OID0 = "snmp://%snmp%/SomeOID0=Something" OID1 = "snmp://%snmp%/SomeOID1=Something" OID2 = "snmp://%snmp%/SomeOID2=Something" OID3 = "snmp://%snmp%/SomeOID3=Something" OID4 = "snmp://%snmp%/SomeOID4=Something" Currently, all that is supported is AND "&". No PARENS "(", ")" or OR "|" or NOT "!". >> Identify.pm should detect whether or not a device exists and provide a "No device" page. The driver for "No device" exists as "lib::None::None.pm" Just need to figure out a way for Identify.pm to determine no device and call this driver in a somewhat sane way that fits with the rest of the config. The user should be able to change what driver is called for "No device". Maybe something like this in the Id.cfg file: # set aside a special device name for none: --none-- Device --none-- module = "lib::None::None" package = "CHIRP::None::None" options = "" vendor = "None" model = "None" or: # set aside a special match tag for none: Device None module = "lib::None::None" package = "CHIRP::None::None" options = "" vendor = "None" model = "None" match = "none://" The distinction between "No device" and "Unknown device" is a little tricky. If a device doesn't respond to SNMP, does that make it a "No device", or an "Unknown device". I don't know. What if it's an RMON device (I know nothing about RMON) or someother thing that will use a non "snmp://" match tag? >> Add support for additional match tags: snmpget:// (Really just the default for snmp://) snmpgetnext:// (Nice for certain devices which may not always have ids in the exact same place) snmpwalk:// (Not sure if this would be useful. Would the match tag have to match every OID under the walk?) >> Possibly add support for SNMP version tags for "match": snmpv2:// (Specify SNMP version 2) snmpv3:// (Specify SNMP version 3) snmpgetv2:// snmpgetv3:// snmpgetnextv2:// snmpgetnextv3:// snmpwalkv2:// snmpwalkv3:// (You get the picture? This gets ugly!) >> Right now, the API to the driver pretty much insists on SNMP (it passes in hostname, community name, port name, etc...) but, there may be reason for people to want to write drivers that are not for SNMP devices. Match statements that use "exec://" or "file://" for example. How should these be supported in the API? >> Consider allowing wildcard matching in the site configuration file to be more extensive than just * for everything. It would be fairly trivial to allow this to use Perl regular expressions for chunk matching. >> Write man pages for chirp.pl and chirptree.pl