This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
devel:ipdevpoll:plugins [2009/07/17 12:32] eide created |
devel:ipdevpoll:plugins [2009/07/17 12:53] eide |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== ipdevpoll plugins ====== | ====== ipdevpoll plugins ====== | ||
+ | FIXME This page really needs a standard way to write about plugins. | ||
+ | |||
+ | The following plugins exists for ipdevpoll: | ||
===== ARP ===== | ===== ARP ===== | ||
Line 9: | Line 12: | ||
* Stores all shadow objects that does not exist in the database already. Ie: If there's a row with the same netboxid, ip, mac and end_time = 'infinity' the new record will not be stored. | * Stores all shadow objects that does not exist in the database already. Ie: If there's a row with the same netboxid, ip, mac and end_time = 'infinity' the new record will not be stored. | ||
* All existing records with end_time = 'infinity' that are not found on this run will be timed out, ie: end_time will be set to the current time. | * All existing records with end_time = 'infinity' that are not found on this run will be timed out, ie: end_time will be set to the current time. | ||
+ | |||
+ | ===== CAM ===== | ||
+ | * Collects dynamic CAM records for level 2 and level 3 devices. | ||
+ | * Uses community string indexing if it's needed for the netbox. Will also try community string indexing if we're not certain and there exists vlans on the box. | ||
+ | * Stores all new records in the database. | ||
+ | * If a record is not found, we set an end_time to the existing record and start counting misses (miss count). | ||
+ | * If the miss count exceeds the maximum (default 3) we consider the record closed. | ||
+ | * Closed records have end time != infinity and miss count == null. | ||
+ | * If however the record is found before the maximum miss count is exceeded, we reset miss count to 0 and end time to infinity. | ||
===== DNS name ===== | ===== DNS name ===== | ||
+ | * Performs reverse DNS lookups on netbox IP addresses | ||
+ | * Generates events if there's a missmatch between the reverse DNS lookup and the stored sysname. | ||
===== Interfaces ===== | ===== Interfaces ===== | ||
+ | * Polls all interfaces from a given netbox. | ||
+ | * Compares collected list of interfaces to what's stored in the database. | ||
+ | * New interfaces are stored. | ||
+ | * If a interface in the database was not found on the netbox during this run, it is marked as missing (timestamped to the current time). | ||
===== Prefix ===== | ===== Prefix ===== | ||
Line 18: | Line 36: | ||
* Fallback to ipAddrTable if no reply on ipAddressTable | * Fallback to ipAddrTable if no reply on ipAddressTable | ||
* Tries CISCO-IETF-MIB (cIpAddressTable) if no reply on 'ipAddressTable' | * Tries CISCO-IETF-MIB (cIpAddressTable) if no reply on 'ipAddressTable' | ||
- | |||
- | ===== Static Routes ===== | ||
===== TypeOID ===== | ===== TypeOID ===== | ||
+ | * Retrieves sysObjectID from the netbox and compares it to what's stored in the database. | ||
+ | * The database table "type" is used to map sysObjectId to vendor and the netbox type. | ||
+ | * FIXME Not implemeted: Posts an event if there's a missmatch between stored type and the retrieved type and updates the database. | ||
===== Vlan ===== | ===== Vlan ===== | ||
+ | * Retrieves vlan from switches and stuff. |