2011-04-27 01:39:02 +00:00
< ? php
echo ( " OSPF: " );
echo ( " Processes: " );
2011-04-27 17:41:35 +00:00
$ospf_instance_count = 0 ;
$ospf_port_count = 0 ;
$ospf_area_count = 0 ;
$ospf_neighbour_count = 0 ;
2011-04-27 13:51:30 +00:00
2011-04-27 01:39:02 +00:00
$ospf_oids_db = array ( 'ospfRouterId' , 'ospfAdminStat' , 'ospfVersionNumber' , 'ospfAreaBdrRtrStatus' , 'ospfASBdrRtrStatus' ,
'ospfExternLsaCount' , 'ospfExternLsaCksumSum' , 'ospfTOSSupport' , 'ospfOriginateNewLsas' , 'ospfRxNewLsas' ,
'ospfExtLsdbLimit' , 'ospfMulticastExtensions' , 'ospfExitOverflowInterval' , 'ospfDemandExtensions' );
### Build array of existing entries
2011-05-16 21:56:01 +00:00
foreach ( dbFetchRows ( " SELECT * FROM `ospf_instances` WHERE `device_id` = ? " , array ( $device [ 'device_id' ])) as $entry )
2011-04-27 01:39:02 +00:00
{
2011-04-27 14:59:50 +00:00
$ospf_instances_db [ $entry [ 'ospf_instance_id' ]] = $entry ;
2011-04-27 01:39:02 +00:00
}
### Pull data from device
2011-04-27 14:59:50 +00:00
$ospf_instances_poll = snmpwalk_cache_oid ( $device , " OSPF-MIB::ospfGeneralGroup " , array (), " OSPF-MIB " );
2011-05-02 15:16:33 +00:00
foreach ( $ospf_instances_poll as $ospf_instance_id => $ospf_entry )
2011-04-27 01:39:02 +00:00
{
### If the entry doesn't already exist in the prebuilt array, insert into the database and put into the array
2011-05-02 15:16:33 +00:00
if ( ! isset ( $ospf_instances_db [ $ospf_instance_id ]))
2011-04-27 01:39:02 +00:00
{
2011-05-16 21:56:01 +00:00
dbInsert ( array ( 'device_id' => $device [ 'device_id' ], 'ospf_instance_id' => $ospf_instance_id ), 'ospf_instances' );
2011-04-27 01:39:02 +00:00
echo ( " + " );
2011-05-16 21:56:01 +00:00
$ospf_instances_db [ $entry [ 'ospf_instance_id' ]] = dbFetchRow ( " SELECT * FROM `ospf_instances` WHERE `device_id` = ? AND `ospf_instance_id` = ? " , array ( $device [ 'device_id' ], $ospf_instance_id ));
2011-04-27 14:59:50 +00:00
$ospf_instances_db [ $entry [ 'ospf_instance_id' ]] = $entry ;
2011-04-27 01:39:02 +00:00
}
}
2011-05-02 15:18:46 +00:00
if ( $debug )
{
2011-04-27 14:59:50 +00:00
echo ( " \n Polled: " );
print_r ( $ospf_instances_poll );
echo ( " Database: " );
print_r ( $ospf_instances_db );
echo ( " \n " );
}
2011-05-02 15:18:46 +00:00
### Loop array of entries and update
2011-04-27 14:59:50 +00:00
if ( is_array ( $ospf_instances_db ))
2011-05-02 15:18:46 +00:00
{
2011-05-02 15:16:33 +00:00
foreach ( $ospf_instances_db as $ospf_instance_db )
2011-04-27 01:39:02 +00:00
{
2011-05-02 15:16:33 +00:00
$ospf_instance_poll = $ospf_instances_poll [ $ospf_instance_db [ 'ospf_instance_id' ]];
2011-04-27 13:51:30 +00:00
foreach ( $ospf_oids_db as $oid )
{ // Loop the OIDs
2011-04-27 14:59:50 +00:00
if ( $ospf_instance_db [ $oid ] != $ospf_instance_poll [ $oid ])
2011-04-27 13:51:30 +00:00
{ // If data has changed, build a query
2011-05-16 21:56:01 +00:00
$ospf_instance_update [ $oid ] = $ospf_instance_poll [ $oid ];
2011-04-27 14:59:50 +00:00
#log_event("$oid -> ".$this_port[$oid], $device, 'ospf', $port['interface_id']); ## FIXME
2011-04-27 13:51:30 +00:00
}
}
2011-05-02 15:18:46 +00:00
if ( $ospf_instance_update )
2011-04-27 13:51:30 +00:00
{
2011-05-16 21:56:01 +00:00
dbUpdate ( $ospf_instance_update , 'ospf_instances' , '`device_id` = ? AND `ospf_instance_id` = ?' , array ( $device [ 'device_id' ], $ospf_instance_id ));
2011-04-27 13:51:30 +00:00
echo ( " U " );
2011-04-27 14:59:50 +00:00
unset ( $ospf_instance_update );
2011-04-27 13:51:30 +00:00
} else {
echo ( " . " );
}
2011-05-02 15:18:46 +00:00
2011-04-27 14:59:50 +00:00
unset ( $ospf_instance_poll );
unset ( $ospf_instance_db );
$ospf_instance_count ++ ;
2011-04-27 01:39:02 +00:00
}
2011-04-27 13:51:30 +00:00
}
2011-04-27 01:39:02 +00:00
2011-04-27 14:59:50 +00:00
unset ( $ospf_instances_poll );
unset ( $ospf_instances_db );
2011-04-27 01:39:02 +00:00
echo ( " Areas: " );
$ospf_area_oids = array ( 'ospfAuthType' , 'ospfImportAsExtern' , 'ospfSpfRuns' , 'ospfAreaBdrRtrCount' , 'ospfAsBdrRtrCount' , 'ospfAreaLsaCount' , 'ospfAreaLsaCksumSum' , 'ospfAreaSummary' , 'ospfAreaStatus' );
### Build array of existing entries
2011-05-16 21:56:01 +00:00
foreach ( dbFetchRows ( " SELECT * FROM `ospf_areas` WHERE `device_id` = ? " , array ( $device [ 'device_id' ])) as $entry )
2011-04-27 01:39:02 +00:00
{
$ospf_areas_db [ $entry [ 'ospfAreaId' ]] = $entry ;
}
### Pull data from device
$ospf_areas_poll = snmpwalk_cache_oid ( $device , " OSPF-MIB::ospfAreaEntry " , array (), " OSPF-MIB " );
2011-05-02 15:16:33 +00:00
foreach ( $ospf_areas_poll as $ospf_area_id => $ospf_area )
2011-04-27 01:39:02 +00:00
{
### If the entry doesn't already exist in the prebuilt array, insert into the database and put into the array
2011-05-02 15:16:33 +00:00
if ( ! isset ( $ospf_areas_db [ $ospf_area_id ]))
2011-04-27 01:39:02 +00:00
{
2011-05-16 21:56:01 +00:00
dbInsert ( array ( 'device_id' => $device [ 'device_id' ], 'ospfAreaId' => $ospf_area_id ), 'ospf_areas' );
2011-04-27 01:39:02 +00:00
echo ( " + " );
2011-05-16 21:56:01 +00:00
$entry = dbFetchRows ( " SELECT * FROM `ospf_areas` WHERE `device_id` = ? AND `ospfAreaId` = ? " , array ( $device [ 'device_id' ], $ospf_area_id ));
2011-04-27 01:39:02 +00:00
$ospf_areas_db [ $entry [ 'ospf_area_id' ]] = $entry ;
}
}
2011-05-02 15:18:46 +00:00
if ( $debug )
{
2011-04-27 14:59:50 +00:00
echo ( " \n Polled: " );
print_r ( $ospf_areas_poll );
echo ( " Database: " );
print_r ( $ospf_areas_db );
echo ( " \n " );
}
2011-04-27 01:39:02 +00:00
### Loop array of entries and update
2011-04-27 14:59:50 +00:00
if ( is_array ( $ospf_areas_db ))
2011-05-02 15:18:46 +00:00
{
2011-05-02 15:16:33 +00:00
foreach ( $ospf_areas_db as $ospf_area_db )
2011-04-27 01:39:02 +00:00
{
2011-05-16 21:56:01 +00:00
if ( is_array ( $ospf_ports_poll [ $ospf_port_db [ 'ospf_port_id' ]]))
2011-04-27 14:59:50 +00:00
{
2011-05-16 21:56:01 +00:00
$ospf_area_poll = $ospf_areas_poll [ $ospf_area_db [ 'ospfAreaId' ]];
foreach ( $ospf_area_oids as $oid )
{ ## Loop the OIDs
if ( $ospf_area_db [ $oid ] != $ospf_area_poll [ $oid ])
{ ## If data has changed, build a query
$ospf_area_update [ $oid ] = $ospf_area_poll [ $oid ];
#log_event("$oid -> ".$this_port[$oid], $device, 'interface', $port['interface_id']); ## FIXME
}
}
if ( $ospf_area_update )
{
dbUpdate ( $ospf_area_update , 'ospf_areas' , '`device_id` = ? AND `ospfAreaId` = ?' , array ( $device [ 'device_id' ], $ospf_area_id ));
echo ( " U " );
unset ( $ospf_area_update );
} else {
echo ( " . " );
}
unset ( $ospf_area_poll );
unset ( $ospf_area_db );
$ospf_area_count ++ ;
2011-04-27 14:59:50 +00:00
} else {
2011-09-16 10:31:48 +00:00
dbDelete ( 'ospf_ports' , '`device_id` = ? AND `ospfAreaId` = ?' , array ( $device [ 'device_id' ], $ospf_area_db [ 'ospfAreaId' ]));
2011-04-27 14:59:50 +00:00
}
2011-04-27 01:39:02 +00:00
}
2011-04-27 14:59:50 +00:00
}
2011-04-27 01:39:02 +00:00
unset ( $ospf_areas_db );
unset ( $ospf_areas_poll );
#$ospf_ports = snmpwalk_cache_oid($device, "OSPF-MIB::ospfIfEntry", array(), "OSPF-MIB");
#print_r($ospf_ports);
echo ( " Ports: " );
$ospf_port_oids = array ( 'ospfIfIpAddress' , 'interface_id' , 'ospfAddressLessIf' , 'ospfIfAreaId' , 'ospfIfType' , 'ospfIfAdminStat' , 'ospfIfRtrPriority' , 'ospfIfTransitDelay' , 'ospfIfRetransInterval' , 'ospfIfHelloInterval' , 'ospfIfRtrDeadInterval' , 'ospfIfPollInterval' , 'ospfIfState' , 'ospfIfDesignatedRouter' , 'ospfIfBackupDesignatedRouter' , 'ospfIfEvents' , 'ospfIfAuthKey' , 'ospfIfStatus' , 'ospfIfMulticastForwarding' , 'ospfIfDemand' , 'ospfIfAuthType' );
### Build array of existing entries
2011-05-16 21:56:01 +00:00
foreach ( dbFetchRows ( " SELECT * FROM `ospf_ports` WHERE `device_id` = ? " , array ( $device [ 'device_id' ])) as $entry )
2011-04-27 01:39:02 +00:00
{
$ospf_ports_db [ $entry [ 'ospf_port_id' ]] = $entry ;
}
### Pull data from device
$ospf_ports_poll = snmpwalk_cache_oid ( $device , " OSPF-MIB::ospfIfEntry " , array (), " OSPF-MIB " );
2011-05-02 15:16:33 +00:00
foreach ( $ospf_ports_poll as $ospf_port_id => $ospf_port )
2011-04-27 01:39:02 +00:00
{
### If the entry doesn't already exist in the prebuilt array, insert into the database and put into the array
2011-05-02 15:16:33 +00:00
if ( ! isset ( $ospf_ports_db [ $ospf_port_id ]))
2011-04-27 01:39:02 +00:00
{
2011-05-16 21:56:01 +00:00
dbInsert ( array ( 'device_id' => $device [ 'device_id' ], 'ospf_port_id' => $ospf_port_id ), 'ospf_ports' );
2011-04-27 01:39:02 +00:00
echo ( " + " );
2011-05-16 21:56:01 +00:00
$ospf_ports_db [ $entry [ 'ospf_port_id' ]] = dbFetchRow ( " SELECT * FROM `ospf_ports` WHERE `device_id` = ? AND `ospf_port_id` = ? " , array ( $device [ 'device_id' ], $ospf_port_id ));
2011-04-27 01:39:02 +00:00
}
}
2011-05-02 15:16:33 +00:00
if ( $debug )
{
2011-04-27 13:51:30 +00:00
echo ( " \n Polled: " );
print_r ( $ospf_ports_poll );
echo ( " Database: " );
print_r ( $ospf_ports_db );
echo ( " \n " );
}
2011-04-27 14:59:50 +00:00
2011-04-27 01:39:02 +00:00
### Loop array of entries and update
2011-05-02 15:16:33 +00:00
if ( is_array ( $ospf_ports_db ))
{
foreach ( $ospf_ports_db as $ospf_port_id => $ospf_port_db )
2011-04-27 01:39:02 +00:00
{
2011-05-02 15:16:33 +00:00
if ( is_array ( $ospf_ports_poll [ $ospf_port_db [ 'ospf_port_id' ]]))
{
2011-04-27 01:39:02 +00:00
$ospf_port_poll = $ospf_ports_poll [ $ospf_port_db [ 'ospf_port_id' ]];
2011-05-02 15:18:46 +00:00
if ( $ospf_port_poll [ 'ospfAddressLessIf' ])
{
2011-05-16 21:56:01 +00:00
$ospf_port_poll [ 'interface_id' ] = @ dbFetchCell ( " SELECT `interface_id` FROM `ports` WHERE `device_id` = ? AND `ifIndex` = ? " , array ( $device [ 'device_id' ], $ospf_port_poll [ 'ospfAddressLessIf' ]));
2011-04-27 01:39:02 +00:00
} else {
2011-05-16 21:56:01 +00:00
$ospf_port_poll [ 'interface_id' ] = @ dbFetchCell ( " SELECT A.`interface_id` FROM ipv4_addresses AS A, ports AS I WHERE A.ipv4_address = ? AND I.interface_id = A.interface_id AND I.device_id = ? " , array ( $ospf_port_poll [ 'ospfIfIpAddress' ], $device [ 'device_id' ]));
2011-04-27 01:39:02 +00:00
}
foreach ( $ospf_port_oids as $oid )
{ // Loop the OIDs
if ( $ospf_port_db [ $oid ] != $ospf_port_poll [ $oid ])
{ // If data has changed, build a query
2011-05-16 21:56:01 +00:00
$ospf_port_update [ $oid ] = $ospf_port_poll [ $oid ];
2011-04-27 14:59:50 +00:00
#log_event("$oid -> ".$this_port[$oid], $device, 'ospf', $port['interface_id']); ## FIXME
2011-04-27 01:39:02 +00:00
}
}
2011-05-02 15:16:33 +00:00
if ( $ospf_port_update )
2011-04-27 01:39:02 +00:00
{
2011-05-16 21:56:01 +00:00
dbUpdate ( $ospf_port_update , 'ospf_ports' , '`device_id` = ? AND `ospf_port_id` = ?' , array ( $device [ 'device_id' ], $ospf_port_id ));
2011-04-27 01:39:02 +00:00
echo ( " U " );
2011-04-27 14:59:50 +00:00
unset ( $ospf_port_update );
2011-04-27 01:39:02 +00:00
} else {
echo ( " . " );
}
unset ( $ospf_port_poll );
unset ( $ospf_port_db );
2011-04-27 17:41:35 +00:00
$ospf_port_count ++ ;
2011-04-27 01:39:02 +00:00
} else {
2011-05-16 21:56:01 +00:00
dbDelete ( 'ospf_ports' , '`device_id` = ? AND `ospf_port_id` = ?' , array ( $device [ 'device_id' ], $ospf_port_db [ 'ospf_port_id' ]));
# "DELETE FROM `ospf_ports` WHERE `device_id` = '".$device['device_id']."' AND `ospf_port_id` = '".$ospf_port_db['ospf_port_id']."'");
2011-04-27 01:39:02 +00:00
echo ( " - " );
}
}
2011-04-30 22:20:11 +00:00
}
#OSPF-MIB::ospfNbrIpAddr.172.22.203.98.0 172.22.203.98
#OSPF-MIB::ospfNbrAddressLessIndex.172.22.203.98.0 0
#OSPF-MIB::ospfNbrRtrId.172.22.203.98.0 172.22.203.128
#OSPF-MIB::ospfNbrOptions.172.22.203.98.0 2
#OSPF-MIB::ospfNbrPriority.172.22.203.98.0 0
#OSPF-MIB::ospfNbrState.172.22.203.98.0 full
#OSPF-MIB::ospfNbrEvents.172.22.203.98.0 6
#OSPF-MIB::ospfNbrLsRetransQLen.172.22.203.98.0 1
#OSPF-MIB::ospfNbmaNbrStatus.172.22.203.98.0 active
#OSPF-MIB::ospfNbmaNbrPermanence.172.22.203.98.0 dynamic
#OSPF-MIB::ospfNbrHelloSuppressed.172.22.203.98.0 false
echo ( ' Neighbours: ' );
$ospf_nbr_oids_db = array ( 'ospfNbrIpAddr' , 'ospfNbrAddressLessIndex' , 'ospfNbrRtrId' , 'ospfNbrOptions' , 'ospfNbrPriority' , 'ospfNbrState' , 'ospfNbrEvents' , 'ospfNbrLsRetransQLen' , 'ospfNbmaNbrStatus' , 'ospfNbmaNbrPermanence' , 'ospfNbrHelloSuppressed' );
$ospf_nbr_oids_rrd = array ();
$ospf_nbr_oids = array_merge ( $ospf_nbr_oids_db , $ospf_nbr_oids_rrd );
### Build array of existing entries
2011-05-16 21:56:01 +00:00
foreach ( dbFetchRows ( " SELECT * FROM `ospf_nbrs` WHERE `device_id` = ? " , array ( $device [ 'device_id' ])) as $nbr_entry )
2011-04-30 22:20:11 +00:00
{
$ospf_nbrs_db [ $nbr_entry [ 'ospf_nbr_id' ]] = $nbr_entry ;
}
### Pull data from device
$ospf_nbrs_poll = snmpwalk_cache_oid ( $device , " OSPF-MIB::ospfNbrEntry " , array (), " OSPF-MIB " );
2011-05-02 15:16:33 +00:00
foreach ( $ospf_nbrs_poll as $ospf_nbr_id => $ospf_nbr )
2011-04-30 22:20:11 +00:00
{
### If the entry doesn't already exist in the prebuilt array, insert into the database and put into the array
2011-05-02 15:16:33 +00:00
if ( ! isset ( $ospf_nbrs_db [ $ospf_nbr_id ]))
2011-04-30 22:20:11 +00:00
{
2011-05-16 21:56:01 +00:00
dbInsert ( array ( 'device_id' => $device [ 'device_id' ], 'ospf_nbr_id' => $ospf_nbr_id ), 'ospf_nbrs' );
2011-04-30 22:20:11 +00:00
echo ( " + " );
2011-05-16 21:56:01 +00:00
$entry = dbFetchRow ( " SELECT * FROM `ospf_nbrs` WHERE `device_id` = ? AND `ospf_nbr_id` = ? " , array ( $device [ 'device_id' ], $ospf_nbr_id ));
2011-04-30 22:20:11 +00:00
$ospf_nbrs_db [ $entry [ 'ospf_nbr_id' ]] = $entry ;
}
}
2011-05-02 15:16:33 +00:00
if ( $debug )
{
2011-04-30 22:20:11 +00:00
echo ( " \n Polled: " );
print_r ( $ospf_nbrs_poll );
echo ( " Database: " );
print_r ( $ospf_nbrs_db );
echo ( " \n " );
}
### Loop array of entries and update
2011-05-02 15:16:33 +00:00
if ( is_array ( $ospf_nbrs_db ))
{
foreach ( $ospf_nbrs_db as $ospf_nbr_id => $ospf_nbr_db )
2011-04-30 22:20:11 +00:00
{
2011-05-02 15:16:33 +00:00
if ( is_array ( $ospf_nbrs_poll [ $ospf_nbr_db [ 'ospf_nbr_id' ]]))
{
2011-04-30 22:20:11 +00:00
$ospf_nbr_poll = $ospf_nbrs_poll [ $ospf_nbr_db [ 'ospf_nbr_id' ]];
2011-05-16 21:56:01 +00:00
$ospf_nbr_poll [ 'interface_id' ] = @ dbFetchCell ( " SELECT A.`interface_id` FROM ipv4_addresses AS A, nbrs AS I WHERE A.ipv4_address = ? AND I.interface_id = A.interface_id AND I.device_id = ? " , array ( $ospf_nbr_poll [ 'ospfNbrIpAddr' ], $device [ 'device_id' ]));
2011-04-30 22:20:11 +00:00
if ( $ospf_nbr_db [ 'interface_id' ] != $ospf_nbr_poll [ 'interface_id' ])
{
2011-09-20 14:22:34 +00:00
if ( $ospf_nbr_poll [ 'interface_id' ]) {
2011-05-20 14:27:53 +00:00
$ospf_nbr_update = array ( 'interface_id' => $ospf_nbr_poll [ 'interface_id' ]);
} else {
$ospf_nbr_update = array ( 'interface_id' => array ( 'NULL' ));
}
2011-04-30 22:20:11 +00:00
}
foreach ( $ospf_nbr_oids as $oid )
{ // Loop the OIDs
2011-05-02 15:18:46 +00:00
if ( $debug ) { echo ( $ospf_nbr_db [ $oid ] . " | " . $ospf_nbr_poll [ $oid ] . " \n " ); }
2011-04-30 22:20:11 +00:00
if ( $ospf_nbr_db [ $oid ] != $ospf_nbr_poll [ $oid ])
{ // If data has changed, build a query
2011-05-16 21:56:01 +00:00
$ospf_nbr_update [ $oid ] = $ospf_nbr_poll [ $oid ];
2011-04-30 22:20:11 +00:00
#log_event("$oid -> ".$this_nbr[$oid], $device, 'ospf', $nbr['interface_id']); ## FIXME
}
}
2011-05-02 15:16:33 +00:00
if ( $ospf_nbr_update )
2011-04-30 22:20:11 +00:00
{
2011-05-16 21:56:01 +00:00
dbUpdate ( $ospf_nbr_update , 'ospf_nbrs' , '`device_id` = ? AND `ospf_nbr_id` = ?' , array ( $device [ 'device_id' ], $ospf_nbr_id ));
2011-04-30 22:20:11 +00:00
echo ( " U " );
unset ( $ospf_nbr_update );
} else {
echo ( " . " );
}
2011-05-02 15:16:33 +00:00
2011-04-30 22:20:11 +00:00
unset ( $ospf_nbr_poll );
unset ( $ospf_nbr_db );
$ospf_nbr_count ++ ;
} else {
2011-05-16 21:56:01 +00:00
dbDelete ( 'ospf_nbrs' , '`device_id` = ? AND `ospf_nbr_id` = ?' , array ( $device [ 'device_id' ], $ospf_nbr_db [ 'ospf_nbr_id' ]));
2011-04-30 22:20:11 +00:00
echo ( " - " );
}
}
2011-04-27 01:39:02 +00:00
}
2011-04-27 17:41:35 +00:00
## Create device-wide statistics RRD
$filename = $config [ 'rrd_dir' ] . " / " . $device [ 'hostname' ] . " / " . safename ( " ospf-statistics.rrd " );
if ( ! is_file ( $filename ))
{
2011-05-02 15:16:33 +00:00
rrdtool_create ( $filename , " --step 300 \
2011-04-27 17:41:35 +00:00
DS : instances : GAUGE : 600 : 0 : 1000000 \
DS : areas : GAUGE : 600 : 0 : 1000000 \
DS : ports : GAUGE : 600 : 0 : 1000000 \
DS : neighbours : GAUGE : 600 : 0 : 1000000 \
RRA : AVERAGE : 0.5 : 1 : 600 RRA : AVERAGE : 0.5 : 6 : 700 RRA : AVERAGE : 0.5 : 24 : 775 RRA : AVERAGE : 0.5 : 288 : 797 \
RRA : MIN : 0.5 : 1 : 600 RRA : MIN : 0.5 : 6 : 700 RRA : MIN : 0.5 : 24 : 775 RRA : MIN : 0.5 : 288 : 797 \
RRA : MAX : 0.5 : 1 : 600 RRA : MAX : 0.5 : 6 : 700 RRA : MAX : 0.5 : 24 : 775 RRA : MAX : 0.5 : 288 : 797 \
RRA : LAST : 0.5 : 1 : 600 RRA : LAST : 0.5 : 6 : 700 RRA : LAST : 0.5 : 24 : 775 RRA : LAST : 0.5 : 288 : 797 " );
}
$rrd_update = " N: " . $ospf_instance_count . " : " . $ospf_area_count . " : " . $ospf_port_count . " : " . $ospf_neighbour_count ;
$ret = rrdtool_update ( " $filename " , $rrd_update );
2011-04-27 01:39:02 +00:00
unset ( $ospf_ports_db );
unset ( $ospf_ports_poll );
2011-04-27 15:19:08 +00:00
echo ( " \n " );
2011-04-27 01:39:02 +00:00
?>