disableNameChecking() ->addDataset('AtucCurrSnrMgn', 'GAUGE', 0, 635) ->addDataset('AtucCurrAtn', 'GAUGE', 0, 635) ->addDataset('AtucCurrOutputPwr', 'GAUGE', 0, 635) ->addDataset('AtucCurrAttainableR', 'GAUGE', 0) ->addDataset('AtucChanCurrTxRate', 'GAUGE', 0) ->addDataset('AturCurrSnrMgn', 'GAUGE', 0, 635) ->addDataset('AturCurrAtn', 'GAUGE', 0, 635) ->addDataset('AturCurrOutputPwr', 'GAUGE', 0, 635) ->addDataset('AturCurrAttainableR', 'GAUGE', 0) ->addDataset('AturChanCurrTxRate', 'GAUGE', 0) ->addDataset('AtucPerfLofs', 'COUNTER', null, 100000000000) ->addDataset('AtucPerfLoss', 'COUNTER', null, 100000000000) ->addDataset('AtucPerfLprs', 'COUNTER', null, 100000000000) ->addDataset('AtucPerfESs', 'COUNTER', null, 100000000000) ->addDataset('AtucPerfInits', 'COUNTER', null, 100000000000) ->addDataset('AturPerfLofs', 'COUNTER', null, 100000000000) ->addDataset('AturPerfLoss', 'COUNTER', null, 100000000000) ->addDataset('AturPerfLprs', 'COUNTER', null, 100000000000) ->addDataset('AturPerfESs', 'COUNTER', null, 100000000000) ->addDataset('AtucChanCorrectedBl', 'COUNTER', null, 100000000000) ->addDataset('AtucChanUncorrectBl', 'COUNTER', null, 100000000000) ->addDataset('AturChanCorrectedBl', 'COUNTER', null, 100000000000) ->addDataset('AturChanUncorrectBl', 'COUNTER', null, 100000000000); $adsl_oids = array( 'AtucCurrSnrMgn', 'AtucCurrAtn', 'AtucCurrOutputPwr', 'AtucCurrAttainableRate', 'AtucChanCurrTxRate', 'AturCurrSnrMgn', 'AturCurrAtn', 'AturCurrOutputPwr', 'AturCurrAttainableRate', 'AturChanCurrTxRate', 'AtucPerfLofs', 'AtucPerfLoss', 'AtucPerfLprs', 'AtucPerfESs', 'AtucPerfInits', 'AturPerfLofs', 'AturPerfLoss', 'AturPerfLprs', 'AturPerfESs', 'AtucChanCorrectedBlks', 'AtucChanUncorrectBlks', 'AturChanCorrectedBlks', 'AturChanUncorrectBlks', ); $adsl_db_oids = array( 'adslLineCoding', 'adslLineType', 'adslAtucInvVendorID', 'adslAtucInvVersionNumber', 'adslAtucCurrSnrMgn', 'adslAtucCurrAtn', 'adslAtucCurrOutputPwr', 'adslAtucCurrAttainableRate', 'adslAturInvSerialNumber', 'adslAturInvVendorID', 'adslAturInvVersionNumber', 'adslAtucChanCurrTxRate', 'adslAturChanCurrTxRate', 'adslAturCurrSnrMgn', 'adslAturCurrAtn', 'adslAturCurrOutputPwr', 'adslAturCurrAttainableRate', ); $adsl_tenth_oids = array( 'adslAtucCurrSnrMgn', 'adslAtucCurrAtn', 'adslAtucCurrOutputPwr', 'adslAturCurrSnrMgn', 'adslAturCurrAtn', 'adslAturCurrOutputPwr', ); foreach ($adsl_tenth_oids as $oid) { $this_port[$oid] = ($this_port[$oid] / 10); } if (dbFetchCell('SELECT COUNT(*) FROM `ports_adsl` WHERE `port_id` = ?', array($port_id)) == '0') { dbInsert(array('port_id' => $port_id), 'ports_adsl'); } $port['adsl_update'] = array('port_adsl_updated' => array('NOW()')); foreach ($adsl_db_oids as $oid) { $data = str_replace('"', '', $this_port[$oid]); // FIXME - do we need this? $port['adsl_update'][$oid] = $data; } dbUpdate($port['adsl_update'], 'ports_adsl', '`port_id` = ?', array($port_id)); if ($this_port['adslAtucCurrSnrMgn'] > '1280') { $this_port['adslAtucCurrSnrMgn'] = 'U'; } if ($this_port['adslAturCurrSnrMgn'] > '1280') { $this_port['adslAturCurrSnrMgn'] = 'U'; } $fields = array(); foreach ($adsl_oids as $oid) { $oid = 'adsl'.$oid; $data = str_replace('"', '', $this_port[$oid]); // Set data to be "unknown" if it's garbled, unexistant or zero if (!is_numeric($data)) { $data = 'U'; } $fields[$oid] = $data; } $tags = compact('ifName', 'rrd_name', 'rrd_def'); data_update($device, 'adsl', $tags, $fields); echo 'ADSL ('.$this_port['adslLineCoding'].'/'.formatRates($this_port['adslAtucChanCurrTxRate']).'/'.formatRates($this_port['adslAturChanCurrTxRate']).')'; }//end if