mirror of
https://github.com/librenms/librenms.git
synced 2024-09-21 10:28:13 +00:00
Allow stack index other than '1.' for CiscoSB (#13078)
* When in a stack, the index for each port is based on the unit number in the stack. The first unit in the stack uses index '1.', the second uses index '2.', the third '3.' and so on. This change allows for stack indexes greater than '1' * Create ciscosb_cbs350-4x.snmprec * Create ciscosb_cbs350-4x.json Co-authored-by: Tony Murray <murraytony@gmail.com>
This commit is contained in:
parent
332641236c
commit
049b7af3d5
@ -18,7 +18,7 @@ foreach ($pre_cache['ciscosb_rlPhyTestGetResult'] as $index => $ciscosb_data) {
|
||||
foreach ($ciscosb_data as $key => $value) {
|
||||
$oid = '.1.3.6.1.4.1.9.6.1.101.90.1.2.1.3.' . $index . '.7';
|
||||
$sensor_type = 'rlPhyTestTableTxBias';
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], str_replace('1.', '', $index));
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], preg_replace('/^\d+\./', '', $index));
|
||||
$descr = $port_descr['ifDescr'] . ' Bias Current';
|
||||
$current = $value['rlPhyTestTableTxBias'] / $divisor;
|
||||
$entPhysicalIndex = $index;
|
||||
|
@ -19,7 +19,7 @@ foreach ($pre_cache['ciscosb_rlPhyTestGetResult'] as $index => $ciscosb_data) {
|
||||
if (is_numeric($value['rlPhyTestTableTxOutput']) && ($value['rlPhyTestTableRxOpticalPower'] != 0)) {
|
||||
$oid = '.1.3.6.1.4.1.9.6.1.101.90.1.2.1.3.' . $index . '.8';
|
||||
$sensor_type = 'rlPhyTestTableTxOutput';
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], str_replace('1.', '', $index));
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], preg_replace('/^\d+\./', '', $index));
|
||||
$descr = $port_descr['ifDescr'] . ' Transmit Power';
|
||||
$dbm = $value['rlPhyTestTableTxOutput'] / $divisor;
|
||||
$entPhysicalIndex = $index;
|
||||
@ -29,7 +29,7 @@ foreach ($pre_cache['ciscosb_rlPhyTestGetResult'] as $index => $ciscosb_data) {
|
||||
if (is_numeric($value['rlPhyTestTableRxOpticalPower']) && ($value['rlPhyTestTableTxOutput'] != 0)) {
|
||||
$oid = '.1.3.6.1.4.1.9.6.1.101.90.1.2.1.3.' . $index . '.9';
|
||||
$sensor_type = 'rlPhyTestTableRxOpticalPower';
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], str_replace('1.', '', $index));
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], preg_replace('/^\d+\./', '', $index));
|
||||
$descr = $port_descr['ifDescr'] . ' Receive Power';
|
||||
$dbm = $value['rlPhyTestTableRxOpticalPower'] / $divisor;
|
||||
$entPhysicalIndex = $index;
|
||||
|
@ -17,7 +17,7 @@ if (is_array($temp)) {
|
||||
$divisor = '1000';
|
||||
foreach ($temp as $index => $entry) {
|
||||
if (is_numeric($temp[$index]['rlPethPsePortOutputPower']) && $temp[$index]['rlPethPsePortOutputPower'] > 0) {
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], str_replace('1.', '', $index));
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], preg_replace('/^\d+\./', '', $index));
|
||||
$descr = $port_descr['ifDescr'] . ' PoE';
|
||||
$highlimit = $temp[$index]['rlPethPsePortOperPowerLimit'] / $divisor;
|
||||
discover_sensor($valid['sensor'], 'power', $device, $cur_oid . $index, $index, 'ciscosb', $descr, $divisor, '1', null, null, null, $highlimit, $temp[$index]['rlPethPsePortOutputPower'] / $divisor, 'snmp', $index);
|
||||
|
@ -25,7 +25,7 @@ if (is_array($temp)) {
|
||||
create_state_index($state_name, $states);
|
||||
|
||||
foreach ($temp as $index => $entry) {
|
||||
$port_data = get_port_by_index_cache($device['device_id'], str_replace('1.', '', $index));
|
||||
$port_data = get_port_by_index_cache($device['device_id'], preg_replace('/^\d+\./', '', $index));
|
||||
$descr = $port_data['ifDescr'] . ' Suspended Status';
|
||||
if (Str::contains($descr, ['ethernet', 'Ethernet']) && $port_data['ifOperStatus'] !== 'notPresent') {
|
||||
//Discover Sensors
|
||||
|
@ -18,7 +18,7 @@ foreach ($pre_cache['ciscosb_rlPhyTestGetResult'] as $index => $ciscosb_data) {
|
||||
foreach ($ciscosb_data as $key => $value) {
|
||||
$oid = '.1.3.6.1.4.1.9.6.1.101.90.1.2.1.3.' . $index . '.5';
|
||||
$sensor_type = 'rlPhyTestTableTransceiverTemp';
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], str_replace('1.', '', $index));
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], preg_replace('/^\d+\./', '', $index));
|
||||
$descr = $port_descr['ifDescr'] . ' Module';
|
||||
$temperature = $value['rlPhyTestTableTransceiverTemp'];
|
||||
$entPhysicalIndex = $index;
|
||||
|
@ -18,7 +18,7 @@ foreach ($pre_cache['ciscosb_rlPhyTestGetResult'] as $index => $ciscosb_data) {
|
||||
foreach ($ciscosb_data as $key => $value) {
|
||||
$oid = '.1.3.6.1.4.1.9.6.1.101.90.1.2.1.3.' . $index . '.6';
|
||||
$sensor_type = 'rlPhyTestTableTransceiverSupply';
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], str_replace('1.', '', $index));
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], preg_replace('/^\d+\./', '', $index));
|
||||
$descr = $port_descr['ifDescr'] . ' Supply Voltage';
|
||||
$voltage = $value['rlPhyTestTableTransceiverSupply'] / $divisor;
|
||||
$entPhysicalIndex = $index;
|
||||
|
16962
tests/data/ciscosb_cbs350-4x.json
Normal file
16962
tests/data/ciscosb_cbs350-4x.json
Normal file
File diff suppressed because it is too large
Load Diff
11423
tests/snmpsim/ciscosb_cbs350-4x.snmprec
Normal file
11423
tests/snmpsim/ciscosb_cbs350-4x.snmprec
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user