mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
added new sensors to mes23xx (#13671)
* added new sensors to mes23xx * ci * copy/paste error * ci * cleanup + testdata * yaml * yamlnew * added [no_bulk] for PoE discovery * fully qualified OID name
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
mib: RADLAN-Physicaldescription-MIB:RADLAN-HWENVIROMENT:RADLAN-PHY-MIB:RADLAN-rndMng:ELTEX-MES-HWENVIROMENT-MIB
|
||||
mib: RADLAN-Physicaldescription-MIB:RADLAN-HWENVIROMENT:RADLAN-PHY-MIB:RADLAN-rndMng:ELTEX-MES-HWENVIROMENT-MIB:MARVELL-POE-MIB
|
||||
modules:
|
||||
os:
|
||||
features: RADLAN-Physicaldescription-MIB::rlPhdUnitGenParamSoftwareVersion.1
|
||||
@@ -18,6 +18,11 @@ modules:
|
||||
descr: 'System Memory'
|
||||
|
||||
sensors:
|
||||
pre-cache:
|
||||
data:
|
||||
-
|
||||
oid:
|
||||
- rlPhdUnitEnvParamEntry
|
||||
state:
|
||||
data:
|
||||
-
|
||||
@@ -25,7 +30,7 @@ modules:
|
||||
value: rlEnvMonFanState
|
||||
num_oid: '.1.3.6.1.4.1.89.83.1.1.1.3.{{ $index }}'
|
||||
descr: '{{ rlEnvMonFanStatusDescr }} status'
|
||||
group: 'Switch fan'
|
||||
group: 'Chassis FAN'
|
||||
index: 'mesFanStatus.{{ $index }}'
|
||||
states:
|
||||
- { value: 1, descr: OK, graph: 1, generic: 0 }
|
||||
@@ -35,8 +40,8 @@ modules:
|
||||
value: eltEnvMonBatteryState
|
||||
num_oid: '.1.3.6.1.4.1.35265.1.23.11.1.1.2.{{ $index }}'
|
||||
descr: 'Backup battery status'
|
||||
group: 'Chassis PSU'
|
||||
index: 'mesBattStatus.{{ $index }}'
|
||||
skip_values: 255
|
||||
states:
|
||||
- { value: 1, descr: Charged, graph: 1, generic: 0 }
|
||||
- { value: 2, descr: Discharged, graph: 1, generic: 2 }
|
||||
@@ -44,12 +49,72 @@ modules:
|
||||
- { value: 5, descr: Missing, graph: 1, generic: 3 }
|
||||
- { value: 6, descr: BattFuseError, graph: 1, generic: 2 }
|
||||
- { value: 7, descr: Charging, graph: 1, generic: 1 }
|
||||
|
||||
-
|
||||
oid: rlPhdUnitEnvParamEntry
|
||||
value: rlPhdUnitEnvParamMonitorTemperatureStatus
|
||||
num_oid: '.1.3.6.1.4.1.89.53.15.1.16.{{ $index }}'
|
||||
group: 'Chassis TEMP'
|
||||
descr: 'Chassis#{{ $index }} TEMP status'
|
||||
index: 'mesChassisTempStatus.{{ $index }}'
|
||||
states:
|
||||
- { value: 1, descr: Normal, graph: 1, generic: 0 }
|
||||
- { value: 2, descr: Warning, graph: 1, generic: 1 }
|
||||
- { value: 3, descr: Critical, graph: 1, generic: 2 }
|
||||
-
|
||||
oid: rlPhdUnitEnvParamEntry
|
||||
value: rlPhdUnitEnvParamMainPSStatus
|
||||
num_oid: '.1.3.6.1.4.1.89.53.15.1.2.{{ $index }}'
|
||||
descr: 'Chassis#{{ $index }} PSU#1 status'
|
||||
group: 'Chassis PSU'
|
||||
index: 'mesMainPsuStatus.{{ $index }}'
|
||||
states:
|
||||
- { value: 1, descr: Normal, graph: 1, generic: 0 }
|
||||
- { value: 2, descr: Warning, graph: 1, generic: 1 }
|
||||
- { value: 3, descr: Critical, graph: 1, generic: 2 }
|
||||
- { value: 4, descr: Shutdown, graph: 1, generic: 2 }
|
||||
- { value: 5, descr: notPresent, graph: 1, generic: 3 }
|
||||
- { value: 6, descr: notFunctioning, graph: 1, generic: 3 }
|
||||
- { value: 7, descr: restore, graph: 1, generic: 2 }
|
||||
- { value: 8, descr: notAvailable, graph: 1, generic: 3 }
|
||||
- { value: 9, descr: backingUp, graph: 1, generic: 1 }
|
||||
-
|
||||
oid: rlPhdUnitEnvParamEntry
|
||||
value: rlPhdUnitEnvParamRedundantPSStatus
|
||||
num_oid: '.1.3.6.1.4.1.89.53.15.1.3.{{ $index }}'
|
||||
group: 'Chassis PSU'
|
||||
descr: 'Chassis#{{ $index }} PSU#2 status'
|
||||
index: 'mesBackupPsuStatus.{{ $index }}'
|
||||
states:
|
||||
- { value: 1, descr: Normal, graph: 1, generic: 0 }
|
||||
- { value: 2, descr: Warning, graph: 1, generic: 1 }
|
||||
- { value: 3, descr: Critical, graph: 1, generic: 2 }
|
||||
- { value: 4, descr: Shutdown, graph: 1, generic: 2 }
|
||||
- { value: 5, descr: notPresent, graph: 1, generic: 3 }
|
||||
- { value: 6, descr: notFunctioning, graph: 1, generic: 3 }
|
||||
- { value: 7, descr: restore, graph: 1, generic: 2 }
|
||||
- { value: 8, descr: notAvailable, graph: 1, generic: 3 }
|
||||
- { value: 9, descr: backingUp, graph: 1, generic: 1 }
|
||||
temperature:
|
||||
data:
|
||||
-
|
||||
oid: rlPhdUnitEnvParamEntry
|
||||
value: rlPhdUnitEnvParamTempSensorValue
|
||||
num_oid: '.1.3.6.1.4.1.89.53.15.1.10.{{ $index }}'
|
||||
descr: 'Chassis #{{ $index }} Temp'
|
||||
group: 'Chassis'
|
||||
descr: 'Chassis#{{ $index }} Temp'
|
||||
index: 'mesChassisTemp.{{ $index }}'
|
||||
-
|
||||
oid: rlPethPowerPseEntry
|
||||
value: rlPethPowerPseTemperatureSensor
|
||||
num_oid: '.1.3.6.1.4.1.89.108.3.1.6.{{ $index }}'
|
||||
group: 'PoE'
|
||||
descr: 'Chassis#{{ $index }} PoE Temp'
|
||||
index: 'mesChassisPoeTemp.{{ $index }}'
|
||||
skip_value_lt: 1
|
||||
count:
|
||||
data:
|
||||
-
|
||||
oid: rlPhdNumberOfUnits
|
||||
num_oid: '.1.3.6.1.4.1.89.53.8.{{ $index }}'
|
||||
descr: 'Stacked Chassis'
|
||||
group: 'Chassis Count'
|
||||
|
||||
@@ -11,7 +11,8 @@ over:
|
||||
discovery:
|
||||
-
|
||||
sysObjectID:
|
||||
- .1.3.6.1.4.1.35265.1.43
|
||||
- .1.3.6.1.4.1.35265.1.24 #mes3124
|
||||
- .1.3.6.1.4.1.35265.1.43 #mes2124
|
||||
|
||||
mib_dir: eltexmes21xx
|
||||
group: radlan
|
||||
|
||||
@@ -11,9 +11,14 @@ over:
|
||||
discovery:
|
||||
-
|
||||
sysObjectID:
|
||||
- .1.3.6.1.4.1.35265.1.112
|
||||
- .1.3.6.1.4.1.35265.1.83
|
||||
- .1.3.6.1.4.1.35265.1.78
|
||||
- .1.3.6.1.4.1.35265.1.112 #MES 2308R
|
||||
- .1.3.6.1.4.1.35265.1.107 #MES 2348P
|
||||
- .1.3.6.1.4.1.35265.1.96 #MES 3348
|
||||
- .1.3.6.1.4.1.35265.1.83 #MES 2324B
|
||||
- .1.3.6.1.4.1.35265.1.81 #MES 3324F
|
||||
- .1.3.6.1.4.1.35265.1.80 #MES 3324
|
||||
- .1.3.6.1.4.1.35265.1.78 #MES 2324FB AC
|
||||
- .1.3.6.1.4.1.35265.1.74 #MES 5324
|
||||
|
||||
mib_dir: eltexmes23xx
|
||||
group: radlan
|
||||
@@ -22,3 +27,8 @@ bad_iftype:
|
||||
- tunnel
|
||||
- softwareLoopback
|
||||
- propPointToPointSerial
|
||||
|
||||
oids:
|
||||
no_bulk:
|
||||
- MARVELL-POE-MIB::rlPethPsePortOutputPower
|
||||
- MARVELL-POE-MIB::rlPethPsePortPowerLimit
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
/*
|
||||
* LibreNMS discovery module for Eltex-MES23xx SFP inventory items
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @package LibreNMS
|
||||
* @link https://www.librenms.org
|
||||
*
|
||||
* @copyright 2022 Peca Nesovanovic
|
||||
* @author Peca Nesovanovic <peca.nesovanovic@sattrakt.com>
|
||||
*/
|
||||
echo "\nCaching OIDs:";
|
||||
|
||||
$entity_array = [];
|
||||
echo ' ELTEX-MES23xx';
|
||||
$trans = snmpwalk_cache_multi_oid($device, 'eltPhdTransceiverInfoEntry', [], 'ELTEX-MES-PHYSICAL-DESCRIPTION-MIB');
|
||||
echo ' entAliasMappingIdentifier';
|
||||
$mapping = snmpwalk_cache_multi_oid($device, 'entAliasMappingIdentifier', [], 'ENTITY-MIB:IF-MIB');
|
||||
|
||||
function normData($par = null)
|
||||
{
|
||||
$tmp = str_replace([':', ' '], '', trim(strtoupper($par)));
|
||||
$ret = preg_match('/^[0-9A-F]+$/', $tmp) ? hex2str($tmp) : $par; //if string is pure hex, convert to ascii
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
foreach ($trans as $index => $data) {
|
||||
unset($connectedto);
|
||||
foreach ($mapping as $ekey => $edata) {
|
||||
if ($edata['entAliasMappingIdentifier'] == 'ifIndex.' . $index) {
|
||||
$connectedto = explode('.', $ekey)[0];
|
||||
}
|
||||
}
|
||||
if ($connectedto) {
|
||||
$entity_array[] = [
|
||||
'entPhysicalIndex' => $index,
|
||||
'entPhysicalDescr' => $data['eltPhdTransceiverInfoType'],
|
||||
'entPhysicalClass' => 'sfp-cage',
|
||||
'entPhysicalName' => strtoupper($data['eltPhdTransceiverInfoConnectorType']),
|
||||
'entPhysicalModelName' => normData($data['eltPhdTransceiverInfoPartNumber']),
|
||||
'entPhysicalSerialNum' => $data['eltPhdTransceiverInfoSerialNumber'],
|
||||
'entPhysicalContainedIn' => $connectedto,
|
||||
'entPhysicalMfgName' => $data['eltPhdTransceiverInfoVendorName'],
|
||||
'entPhysicalHardwareRev' => normData($data['eltPhdTransceiverInfoVendorRev']),
|
||||
'entPhysicalIsFRU' => 'true',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($entity_array as $entPhysicalIndex => $entry) {
|
||||
$entPhysicalIndex = $entry['entPhysicalIndex'] ?? '';
|
||||
$entPhysicalDescr = $entry['entPhysicalDescr'] ?? '';
|
||||
$entPhysicalClass = $entry['entPhysicalClass'] ?? '';
|
||||
$entPhysicalName = $entry['entPhysicalName'] ?? '';
|
||||
$entPhysicalModelName = $entry['entPhysicalModelName'] ?? '';
|
||||
$entPhysicalSerialNum = $entry['entPhysicalSerialNum'] ?? '';
|
||||
$entPhysicalContainedIn = $entry['entPhysicalContainedIn'] ?? '';
|
||||
$entPhysicalMfgName = $entry['entPhysicalMfgName'] ?? '';
|
||||
$entPhysicalParentRelPos = $entry['entPhysicalParentRelPos'] ?? '';
|
||||
$entPhysicalVendorType = $entry['entPhysicalVendorType'] ?? '';
|
||||
$entPhysicalHardwareRev = $entry['entPhysicalHardwareRev'] ?? '';
|
||||
$entPhysicalFirmwareRev = $entry['entPhysicalFirmwareRev'] ?? '';
|
||||
$entPhysicalSoftwareRev = $entry['entPhysicalSoftwareRev'] ?? '';
|
||||
$entPhysicalIsFRU = $entry['entPhysicalIsFRU'] ?? '';
|
||||
$entPhysicalAlias = $entry['entPhysicalAlias'] ?? '';
|
||||
$entPhysicalAssetID = $entry['entPhysicalAssetID'] ?? '';
|
||||
$ifIndex = $entry['ifIndex'] ?? '';
|
||||
|
||||
discover_entity_physical(
|
||||
$valid,
|
||||
$device,
|
||||
$entPhysicalIndex,
|
||||
$entPhysicalDescr,
|
||||
$entPhysicalClass,
|
||||
$entPhysicalName,
|
||||
$entPhysicalModelName,
|
||||
$entPhysicalSerialNum,
|
||||
$entPhysicalContainedIn,
|
||||
$entPhysicalMfgName,
|
||||
$entPhysicalParentRelPos,
|
||||
$entPhysicalVendorType,
|
||||
$entPhysicalHardwareRev,
|
||||
$entPhysicalFirmwareRev,
|
||||
$entPhysicalSoftwareRev,
|
||||
$entPhysicalIsFRU,
|
||||
$entPhysicalAlias,
|
||||
$entPhysicalAssetID,
|
||||
$ifIndex
|
||||
);
|
||||
}//end foreach
|
||||
|
||||
echo "\n";
|
||||
unset(
|
||||
$modules_array,
|
||||
$entry,
|
||||
$entity_array,
|
||||
$trans,
|
||||
$mapping
|
||||
);
|
||||
@@ -18,9 +18,10 @@
|
||||
* @package LibreNMS
|
||||
* @link https://www.librenms.org
|
||||
*
|
||||
* @copyright 2021 Peca Nesovanovic
|
||||
*
|
||||
* @author Peca Nesovanovic <peca.nesovanovic@sattrakt.com>
|
||||
*/
|
||||
|
||||
$oids = snmp_walk($device, 'eltEnvMonBatteryStatusCharge', '-Osqn', 'ELTEX-MES-HWENVIROMENT-MIB');
|
||||
$oids = trim($oids);
|
||||
|
||||
@@ -31,15 +32,16 @@ if ($oids) {
|
||||
$oid = trim(explode(' ', $data)[0]);
|
||||
$value = trim(explode(' ', $data)[1]);
|
||||
$index = trim(explode('.', $oid)[14]);
|
||||
if ($value <= 100) { // value > 100 if there is no battery connected
|
||||
$type = 'eltex-mes23xx';
|
||||
$limit = 101;
|
||||
$limitwarn = 100;
|
||||
$lowlimit = 0;
|
||||
$lowwarnlimit = 10;
|
||||
$descr = 'Battery Charge';
|
||||
|
||||
$type = 'eltex-mes23xx';
|
||||
$limit = 101;
|
||||
$limitwarn = 100;
|
||||
$lowlimit = 0;
|
||||
$lowwarnlimit = 10;
|
||||
$descr = 'Battery Charge';
|
||||
|
||||
discover_sensor($valid['sensor'], 'charge', $device, $oid, $index, $type, $descr, 1, 1, $lowlimit, $lowwarnlimit, $limitwarn, $limit, $value);
|
||||
discover_sensor($valid['sensor'], 'charge', $device, $oid, $index, $type, $descr, 1, 1, $lowlimit, $lowwarnlimit, $limitwarn, $limit, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,30 +18,44 @@
|
||||
* @package LibreNMS
|
||||
* @link https://www.librenms.org
|
||||
*
|
||||
* @copyright 2022 Peca Nesovanovic
|
||||
*
|
||||
* @author Peca Nesovanovic <peca.nesovanovic@sattrakt.com>
|
||||
*/
|
||||
|
||||
$low_limit = $low_warn_limit = 15;
|
||||
$high_warn_limit = $high_limit = 0;
|
||||
$divisor = 1000000;
|
||||
|
||||
$oids = $pre_cache['eltex-mes23xx_rlPhyTestGetResult'];
|
||||
if ($oids) {
|
||||
d_echo('Eltex-MES SFP txBias');
|
||||
foreach (explode("\n", $oids) as $data) {
|
||||
if ($data) {
|
||||
$split = trim(explode(' ', $data)[0]);
|
||||
$value = trim(explode(' ', $data)[1]);
|
||||
$ifIndex = explode('.', $split)[13];
|
||||
$type = explode('.', $split)[14];
|
||||
|
||||
//type 7 = bias
|
||||
if ($type == 7) {
|
||||
$value = $value / $divisor;
|
||||
$multiplier = 1;
|
||||
if ($pre_cache['eltex-mes23xx-sfp']) {
|
||||
foreach ($pre_cache['eltex-mes23xx-sfp'] as $ifIndex => $data) {
|
||||
if (isset($data['rlPhyTestTableTxBias']['rlPhyTestGetResult'])) {
|
||||
$value = $data['rlPhyTestTableTxBias']['rlPhyTestGetResult'] / $divisor;
|
||||
if ($value) {
|
||||
$high_limit = $data['txBias']['eltPhdTransceiverThresholdHighAlarm'] / $divisor;
|
||||
$high_warn_limit = $data['txBias']['eltPhdTransceiverThresholdHighWarning'] / $divisor;
|
||||
$low_warn_limit = $data['txBias']['eltPhdTransceiverThresholdLowWarning'] / $divisor;
|
||||
$low_limit = $data['txBias']['eltPhdTransceiverThresholdLowAlarm'] / $divisor;
|
||||
$tmp = get_port_by_index_cache($device['device_id'], $ifIndex);
|
||||
$descr = $tmp['ifName'];
|
||||
$oid = '.1.3.6.1.4.1.89.90.1.2.1.3.' . $ifIndex . '.7';
|
||||
discover_sensor(
|
||||
$valid['sensor'], 'current', $device, $split, 'txbias' . $ifIndex, 'rlPhyTestTableTxBias', 'SfpTxBias-' . $descr, $divisor, '1', $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $value
|
||||
$valid['sensor'],
|
||||
'current',
|
||||
$device,
|
||||
$oid,
|
||||
'SfpTxBias' . $ifIndex,
|
||||
'rlPhyTestTableTxBias',
|
||||
'SfpTxBias-' . $descr,
|
||||
$divisor,
|
||||
$multiplier,
|
||||
$low_limit,
|
||||
$low_warn_limit,
|
||||
$high_warn_limit,
|
||||
$high_limit,
|
||||
$value,
|
||||
'snmp',
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
'Transceiver'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,40 +18,79 @@
|
||||
* @package LibreNMS
|
||||
* @link https://www.librenms.org
|
||||
*
|
||||
* @copyright 2022 Peca Nesovanovic
|
||||
*
|
||||
* @author Peca Nesovanovic <peca.nesovanovic@sattrakt.com>
|
||||
*/
|
||||
|
||||
$low_limit = $low_warn_limit = -15;
|
||||
$high_warn_limit = $high_limit = 0;
|
||||
$divisor = 1000;
|
||||
$multiplier = 1;
|
||||
|
||||
$oids = $pre_cache['eltex-mes23xx_rlPhyTestGetResult'];
|
||||
if ($oids) {
|
||||
d_echo('Eltex-MES SFP dBm');
|
||||
foreach (explode("\n", $oids) as $data) {
|
||||
if ($data) {
|
||||
$split = trim(explode(' ', $data)[0]);
|
||||
$value = trim(explode(' ', $data)[1]);
|
||||
$ifIndex = explode('.', $split)[13];
|
||||
$type = explode('.', $split)[14];
|
||||
|
||||
//type8 = tx dBm
|
||||
if ($type == 8) {
|
||||
$value = $value / $divisor;
|
||||
if ($pre_cache['eltex-mes23xx-sfp']) {
|
||||
foreach ($pre_cache['eltex-mes23xx-sfp'] as $ifIndex => $data) {
|
||||
if (isset($data['rlPhyTestTableTxOutput']['rlPhyTestGetResult'])) {
|
||||
$value = $data['rlPhyTestTableTxOutput']['rlPhyTestGetResult'] / $divisor;
|
||||
if ($value) {
|
||||
$high_limit = $data['txOutput']['eltPhdTransceiverThresholdHighAlarm'] / $divisor;
|
||||
$high_warn_limit = $data['txOutput']['eltPhdTransceiverThresholdHighWarning'] / $divisor;
|
||||
$low_warn_limit = $data['txOutput']['eltPhdTransceiverThresholdLowWarning'] / $divisor;
|
||||
$low_limit = $data['txOutput']['eltPhdTransceiverThresholdLowAlarm'] / $divisor;
|
||||
$tmp = get_port_by_index_cache($device['device_id'], $ifIndex);
|
||||
$descr = $tmp['ifName'];
|
||||
$oid = '.1.3.6.1.4.1.89.90.1.2.1.3.' . $ifIndex . '.8';
|
||||
discover_sensor(
|
||||
$valid['sensor'], 'dbm', $device, $split, 'txdbm' . $ifIndex, 'rlPhyTestTableTxOutput', 'SfpTxdBm-' . $descr, $divisor, '1', $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $value
|
||||
$valid['sensor'],
|
||||
'dbm',
|
||||
$device,
|
||||
$oid,
|
||||
'SfpTxDbm' . $ifIndex,
|
||||
'rlPhyTestTableTxOutput',
|
||||
'SfpTxDbm-' . $descr,
|
||||
$divisor,
|
||||
$multiplier,
|
||||
$low_limit,
|
||||
$low_warn_limit,
|
||||
$high_warn_limit,
|
||||
$high_limit,
|
||||
$value,
|
||||
'snmp',
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
'Transceiver TX'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
//type9 = rx dBm
|
||||
if ($type == 9) {
|
||||
$value = $value / $divisor;
|
||||
if (isset($data['rlPhyTestTableRxOpticalPower']['rlPhyTestGetResult'])) {
|
||||
$value = $data['rlPhyTestTableRxOpticalPower']['rlPhyTestGetResult'] / $divisor;
|
||||
if ($value) {
|
||||
$high_limit = $data['rxOpticalPower']['eltPhdTransceiverThresholdHighAlarm'] / $divisor;
|
||||
$high_warn_limit = $data['rxOpticalPower']['eltPhdTransceiverThresholdHighWarning'] / $divisor;
|
||||
$low_warn_limit = $data['rxOpticalPower']['eltPhdTransceiverThresholdLowWarning'] / $divisor;
|
||||
$low_limit = $data['rxOpticalPower']['eltPhdTransceiverThresholdLowAlarm'] / $divisor;
|
||||
$tmp = get_port_by_index_cache($device['device_id'], $ifIndex);
|
||||
$descr = $tmp['ifName'];
|
||||
$oid = '.1.3.6.1.4.1.89.90.1.2.1.3.' . $ifIndex . '.9';
|
||||
discover_sensor(
|
||||
$valid['sensor'], 'dbm', $device, $split, 'rxdbm' . $ifIndex, 'rlPhyTestTableRxOpticalPower', 'SfpRxdBm-' . $descr, $divisor, '1', $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $value
|
||||
$valid['sensor'],
|
||||
'dbm',
|
||||
$device,
|
||||
$oid,
|
||||
'SfpRxDbm' . $ifIndex,
|
||||
'rlPhyTestTableRxOpticalPower',
|
||||
'SfpRxDbm-' . $descr,
|
||||
$divisor,
|
||||
$multiplier,
|
||||
$low_limit,
|
||||
$low_warn_limit,
|
||||
$high_warn_limit,
|
||||
$high_limit,
|
||||
$value,
|
||||
'snmp',
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
'Transceiver RX'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
/*
|
||||
* LibreNMS discovery module for Eltex-MES23xx PoE power
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @package LibreNMS
|
||||
* @link https://www.librenms.org
|
||||
*
|
||||
* @copyright 2022 Peca Nesovanovic
|
||||
*
|
||||
* @author Peca Nesovanovic <peca.nesovanovic@sattrakt.com>
|
||||
*/
|
||||
$divisor = 1000;
|
||||
$multiplier = 1;
|
||||
if ($pre_cache['eltex-mes23xx-poe']) {
|
||||
foreach ($pre_cache['eltex-mes23xx-poe'] as $index => $data) {
|
||||
if (isset($data['rlPethPsePortOutputPower'])) {
|
||||
$value = $data['rlPethPsePortOutputPower'] / $divisor;
|
||||
if ($value) {
|
||||
$high_limit = $data['rlPethPsePortPowerLimit'] / $divisor;
|
||||
$high_warn_limit = ($data['rlPethPsePortPowerLimit'] / $divisor) * 0.8;
|
||||
$low_warn_limit = 0;
|
||||
$low_limit = 0;
|
||||
[$unit, $ifIndex] = explode('.', $index);
|
||||
$tmp = get_port_by_index_cache($device['device_id'], $ifIndex);
|
||||
$descr = $tmp['ifName'];
|
||||
$oid = '.1.3.6.1.4.1.89.108.1.1.5.' . $unit . '.' . $ifIndex;
|
||||
discover_sensor(
|
||||
$valid['sensor'],
|
||||
'power',
|
||||
$device,
|
||||
$oid,
|
||||
'Poe' . $index, //unit.index
|
||||
'rlPethPsePortOutputPower',
|
||||
'PoE-' . $descr,
|
||||
$divisor,
|
||||
$multiplier,
|
||||
$low_limit,
|
||||
$low_warn_limit,
|
||||
$high_warn_limit,
|
||||
$high_limit,
|
||||
$value,
|
||||
'snmp',
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
'PoE'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,8 +18,30 @@
|
||||
* @package LibreNMS
|
||||
* @link https://www.librenms.org
|
||||
*
|
||||
* @copyright 2021 Peca Nesovanovic
|
||||
*
|
||||
* @author Peca Nesovanovic <peca.nesovanovic@sattrakt.com>
|
||||
*/
|
||||
|
||||
echo 'eltPhdTransceiverThresholdTable ';
|
||||
$oide = snmp_walk($device, 'eltPhdTransceiverThresholdTable', '-OsQ', 'ELTEX-MES-PHYSICAL-DESCRIPTION-MIB');
|
||||
echo 'rlPhyTestGetResult ';
|
||||
$pre_cache['eltex-mes23xx_rlPhyTestGetResult'] = snmp_walk($device, 'rlPhyTestGetResult', '-Osqn', 'RADLAN-PHY-MIB');
|
||||
$oidr = snmp_walk($device, 'rlPhyTestGetResult', '-OsQ', 'RADLAN-PHY-MIB');
|
||||
$oids = trim($oide . "\n" . $oidr);
|
||||
|
||||
if ($oids) {
|
||||
foreach (explode("\n", $oids) as $data) {
|
||||
if ($data) {
|
||||
$split = explode('=', $data);
|
||||
$value = trim($split[1]);
|
||||
$name = trim(explode('.', $split[0])[0]);
|
||||
$index = trim(explode('.', $split[0])[1]);
|
||||
$type = trim(explode('.', $split[0])[2]);
|
||||
$pre_cache['eltex-mes23xx-sfp'][$index][$type][$name] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo 'rlPethPsePortPowerLimit ';
|
||||
$oidpl = snmpwalk_cache_multi_oid($device, 'MARVELL-POE-MIB::rlPethPsePortPowerLimit', [], 'MARVELL-POE-MIB');
|
||||
echo 'rlPethPsePortOutputPower ';
|
||||
$pre_cache['eltex-mes23xx-poe'] = snmpwalk_cache_multi_oid($device, 'MARVELL-POE-MIB::rlPethPsePortOutputPower', $oidpl, 'MARVELL-POE-MIB');
|
||||
|
||||
@@ -18,30 +18,44 @@
|
||||
* @package LibreNMS
|
||||
* @link https://www.librenms.org
|
||||
*
|
||||
* @copyright 2022 Peca Nesovanovic
|
||||
*
|
||||
* @author Peca Nesovanovic <peca.nesovanovic@sattrakt.com>
|
||||
*/
|
||||
|
||||
$low_limit = $low_warn_limit = 5;
|
||||
$high_warn_limit = $high_limit = 70;
|
||||
$divisor = 1;
|
||||
|
||||
$oids = $pre_cache['eltex-mes23xx_rlPhyTestGetResult'];
|
||||
if ($oids) {
|
||||
d_echo('Eltex-MES SFP temperature');
|
||||
foreach (explode("\n", $oids) as $data) {
|
||||
if ($data) {
|
||||
$split = trim(explode(' ', $data)[0]);
|
||||
$value = trim(explode(' ', $data)[1]);
|
||||
$ifIndex = explode('.', $split)[13];
|
||||
$type = explode('.', $split)[14];
|
||||
|
||||
//type5 = temperature
|
||||
if ($type == 5) {
|
||||
$value = $value / $divisor;
|
||||
$multiplier = 1;
|
||||
if ($pre_cache['eltex-mes23xx-sfp']) {
|
||||
foreach ($pre_cache['eltex-mes23xx-sfp'] as $ifIndex => $data) {
|
||||
if (isset($data['rlPhyTestTableTransceiverTemp']['rlPhyTestGetResult'])) {
|
||||
$value = $data['rlPhyTestTableTransceiverTemp']['rlPhyTestGetResult'] / $divisor;
|
||||
if ($value) {
|
||||
$high_limit = $data['temperature']['eltPhdTransceiverThresholdHighAlarm'] / $divisor;
|
||||
$high_warn_limit = $data['temperature']['eltPhdTransceiverThresholdHighWarning'] / $divisor;
|
||||
$low_warn_limit = $data['temperature']['eltPhdTransceiverThresholdLowWarning'] / $divisor;
|
||||
$low_limit = $data['temperature']['eltPhdTransceiverThresholdLowAlarm'] / $divisor;
|
||||
$tmp = get_port_by_index_cache($device['device_id'], $ifIndex);
|
||||
$descr = $tmp['ifName'];
|
||||
$oid = '.1.3.6.1.4.1.89.90.1.2.1.3.' . $ifIndex . '.5';
|
||||
discover_sensor(
|
||||
$valid['sensor'], 'temperature', $device, $split, 'SfpTemp' . $ifIndex, 'rlPhyTestTableTransceiverTemp', 'SfpTemp-' . $descr, $divisor, '1', $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $value
|
||||
$valid['sensor'],
|
||||
'temperature',
|
||||
$device,
|
||||
$oid,
|
||||
'SfpTemp' . $ifIndex,
|
||||
'rlPhyTestTableTransceiverTemp',
|
||||
'SfpTemp-' . $descr,
|
||||
$divisor,
|
||||
$multiplier,
|
||||
$low_limit,
|
||||
$low_warn_limit,
|
||||
$high_warn_limit,
|
||||
$high_limit,
|
||||
$value,
|
||||
'snmp',
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
'Transceiver'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,30 +18,44 @@
|
||||
* @package LibreNMS
|
||||
* @link https://www.librenms.org
|
||||
*
|
||||
* @copyright 2022 Peca Nesovanovic
|
||||
*
|
||||
* @author Peca Nesovanovic <peca.nesovanovic@sattrakt.com>
|
||||
*/
|
||||
|
||||
$low_limit = $low_warn_limit = 3;
|
||||
$high_warn_limit = $high_limit = 4;
|
||||
$divisor = 1000000;
|
||||
|
||||
$oids = $pre_cache['eltex-mes23xx_rlPhyTestGetResult'];
|
||||
if ($oids) {
|
||||
d_echo('Eltex-MES SFP voltage');
|
||||
foreach (explode("\n", $oids) as $data) {
|
||||
if ($data) {
|
||||
$split = trim(explode(' ', $data)[0]);
|
||||
$value = trim(explode(' ', $data)[1]);
|
||||
$ifIndex = explode('.', $split)[13];
|
||||
$type = explode('.', $split)[14];
|
||||
|
||||
// type6 = voltage
|
||||
if ($type == 6) {
|
||||
$value = $value / $divisor;
|
||||
$multiplier = 1;
|
||||
if ($pre_cache['eltex-mes23xx-sfp']) {
|
||||
foreach ($pre_cache['eltex-mes23xx-sfp'] as $ifIndex => $data) {
|
||||
if (isset($data['rlPhyTestTableTransceiverSupply']['rlPhyTestGetResult'])) {
|
||||
$value = $data['rlPhyTestTableTransceiverSupply']['rlPhyTestGetResult'] / $divisor;
|
||||
if ($value) {
|
||||
$high_limit = $data['supply']['eltPhdTransceiverThresholdHighAlarm'] / $divisor;
|
||||
$high_warn_limit = $data['supply']['eltPhdTransceiverThresholdHighWarning'] / $divisor;
|
||||
$low_warn_limit = $data['supply']['eltPhdTransceiverThresholdLowWarning'] / $divisor;
|
||||
$low_limit = $data['supply']['eltPhdTransceiverThresholdLowAlarm'] / $divisor;
|
||||
$tmp = get_port_by_index_cache($device['device_id'], $ifIndex);
|
||||
$descr = $tmp['ifName'];
|
||||
$oid = '.1.3.6.1.4.1.89.90.1.2.1.3.' . $ifIndex . '.6';
|
||||
discover_sensor(
|
||||
$valid['sensor'], 'voltage', $device, $split, 'SfpVolt' . $ifIndex, 'rlPhyTestTableTransceiverSupply', 'SfpVolt-' . $descr, $divisor, '1', $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $value
|
||||
$valid['sensor'],
|
||||
'voltage',
|
||||
$device,
|
||||
$oid,
|
||||
'SfpVolt' . $ifIndex,
|
||||
'rlPhyTestTableTransceiverSupply',
|
||||
'SfpVolt-' . $descr,
|
||||
$divisor,
|
||||
$multiplier,
|
||||
$low_limit,
|
||||
$low_warn_limit,
|
||||
$high_warn_limit,
|
||||
$high_limit,
|
||||
$value,
|
||||
'snmp',
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
'Transceiver'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,564 @@
|
||||
ELTEX-MES-PHYSICAL-DESCRIPTION-MIB DEFINITIONS ::= BEGIN
|
||||
-- Version: 2.3
|
||||
-- Date: 04-Aug-2021
|
||||
|
||||
IMPORTS
|
||||
OBJECT-TYPE, MODULE-IDENTITY, TimeTicks,
|
||||
NOTIFICATION-TYPE, Integer32 FROM SNMPv2-SMI
|
||||
DisplayString, PhysAddress, RowStatus, TruthValue FROM SNMPv2-TC
|
||||
JackType FROM MAU-MIB
|
||||
InterfaceIndexOrZero,ifIndex,InterfaceIndex FROM IF-MIB
|
||||
eltMes FROM ELTEX-MES
|
||||
rlPhdUnitGenParamEntry, rlCascadeEntry, rlCascadeAdminEntry
|
||||
FROM RADLAN-Physicaldescription-MIB
|
||||
;
|
||||
|
||||
eltMesPhysicalDescription MODULE-IDENTITY
|
||||
LAST-UPDATED "202108040000Z"
|
||||
ORGANIZATION "Eltex Ltd."
|
||||
CONTACT-INFO
|
||||
"eltex.nsk.ru"
|
||||
DESCRIPTION
|
||||
"The private MIB module definition for physical
|
||||
device configuration and information."
|
||||
|
||||
REVISION "202108040000Z"
|
||||
DESCRIPTION
|
||||
"Added eltCascadeAdminTable, added field eltCascadeFecOperMode
|
||||
to eltCascadeEntry."
|
||||
|
||||
REVISION "201804240000Z"
|
||||
DESCRIPTION
|
||||
"Added eltPhdTransceiverThresholdTable."
|
||||
|
||||
REVISION "201711110000Z"
|
||||
DESCRIPTION
|
||||
"Added fields eltPhdTransceiverInfoPartNumber and
|
||||
eltPhdTransceiverInfoVendorRev to eltPhdTransceiverInfoTable"
|
||||
|
||||
REVISION "201509140000Z"
|
||||
DESCRIPTION
|
||||
"Added eltPhdUnitGenParamTable."
|
||||
|
||||
REVISION "201303210000Z"
|
||||
DESCRIPTION
|
||||
"Initial revision."
|
||||
::= { eltMes 53 }
|
||||
|
||||
eltMesPhdTransceiver OBJECT IDENTIFIER ::= { eltMesPhysicalDescription 1 }
|
||||
|
||||
eltPhdTransceiverInfoTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF EltPhdTransceiverInfoEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This table show the information of transceiver on interface."
|
||||
::= { eltMesPhdTransceiver 1 }
|
||||
|
||||
eltPhdTransceiverInfoEntry OBJECT-TYPE
|
||||
SYNTAX EltPhdTransceiverInfoEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The entry of the eltPhdTransceiverInfoTable."
|
||||
INDEX { ifIndex }
|
||||
::= { eltPhdTransceiverInfoTable 1 }
|
||||
|
||||
EltPhdTransceiverInfoEntry ::=
|
||||
SEQUENCE {
|
||||
eltPhdTransceiverInfoConnectorType INTEGER,
|
||||
eltPhdTransceiverInfoType INTEGER,
|
||||
eltPhdTransceiverInfoComplianceCode OCTET STRING,
|
||||
eltPhdTransceiverInfoWaveLength Integer32,
|
||||
eltPhdTransceiverInfoVendorName OCTET STRING,
|
||||
eltPhdTransceiverInfoSerialNumber OCTET STRING,
|
||||
eltPhdTransceiverInfoFiberDiameterType INTEGER,
|
||||
eltPhdTransceiverInfoTransferDistance Integer32,
|
||||
eltPhdTransceiverInfoDiagnostic TruthValue,
|
||||
eltPhdTransceiverInfoPartNumber OCTET STRING,
|
||||
eltPhdTransceiverInfoVendorRev OCTET STRING
|
||||
}
|
||||
|
||||
eltPhdTransceiverInfoConnectorType OBJECT-TYPE
|
||||
SYNTAX INTEGER
|
||||
{
|
||||
unknown(0),
|
||||
sc(1),
|
||||
fibre-ch-st1(2),
|
||||
fibre-ch-st2(3),
|
||||
bnc-tnc(4),
|
||||
fibre-ch-coaxial-headers(5),
|
||||
fibrejack(6),
|
||||
lc(7),
|
||||
mt-rj(8),
|
||||
mu(9),
|
||||
sg(10),
|
||||
optical-pigtail(11),
|
||||
mpo-parallel-optic(12),
|
||||
hssdc-ii(32),
|
||||
copper-pigtail(33),
|
||||
rj45(34),
|
||||
no-separable-connector(35),
|
||||
unallocated(127),
|
||||
vendorspec(255)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Connector type of the interface."
|
||||
::= { eltPhdTransceiverInfoEntry 1 }
|
||||
|
||||
eltPhdTransceiverInfoType OBJECT-TYPE
|
||||
SYNTAX INTEGER
|
||||
{
|
||||
unknown(0),
|
||||
gbic(1),
|
||||
sff(2),
|
||||
sfp-sfpplus(3),
|
||||
xbi-300-pin(4),
|
||||
xenpak(5),
|
||||
xfp(6),
|
||||
xff(7),
|
||||
xfp-e(8),
|
||||
xpak(9),
|
||||
x2(10),
|
||||
dwdm-sfp(11),
|
||||
qsfp(12),
|
||||
qsfpplus(13),
|
||||
reserved(127),
|
||||
vendorspec(255)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Type of the interface, such as SFP/XFP/GBIC."
|
||||
::= { eltPhdTransceiverInfoEntry 2 }
|
||||
|
||||
eltPhdTransceiverInfoComplianceCode OBJECT-TYPE
|
||||
SYNTAX OCTET STRING
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Compliance code read from the transceiver."
|
||||
::= { eltPhdTransceiverInfoEntry 3 }
|
||||
|
||||
eltPhdTransceiverInfoWaveLength OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Wave length of the interface, measured in nanometer."
|
||||
::= { eltPhdTransceiverInfoEntry 4 }
|
||||
|
||||
eltPhdTransceiverInfoVendorName OBJECT-TYPE
|
||||
SYNTAX OCTET STRING
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Vendor name of the interface."
|
||||
::= { eltPhdTransceiverInfoEntry 5 }
|
||||
|
||||
eltPhdTransceiverInfoSerialNumber OBJECT-TYPE
|
||||
SYNTAX OCTET STRING
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Serial number of the interface."
|
||||
::= { eltPhdTransceiverInfoEntry 6 }
|
||||
|
||||
eltPhdTransceiverInfoFiberDiameterType OBJECT-TYPE
|
||||
SYNTAX INTEGER
|
||||
{
|
||||
fiber9(1),
|
||||
fiber50(2),
|
||||
fiber625(3),
|
||||
copper(4),
|
||||
unknown(65535)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The diameter of the fiber, measured in micron.
|
||||
fiber9 - 9 micron multi-mode fiber
|
||||
fiber50 - 50 micron multi-mode fiber
|
||||
fiber625 - 62.5 micron multi-mode fiber
|
||||
copper - copper cable."
|
||||
::= { eltPhdTransceiverInfoEntry 7 }
|
||||
|
||||
eltPhdTransceiverInfoTransferDistance OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The maximal distance which the interface could transmit,
|
||||
measured in meter."
|
||||
::= { eltPhdTransceiverInfoEntry 8 }
|
||||
|
||||
eltPhdTransceiverInfoDiagnostic OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Indicating whether the digital diagnostic monitoring function is supported or not."
|
||||
::= { eltPhdTransceiverInfoEntry 9 }
|
||||
|
||||
eltPhdTransceiverInfoPartNumber OBJECT-TYPE
|
||||
SYNTAX OCTET STRING
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Part number provided by SFP vendor."
|
||||
::= { eltPhdTransceiverInfoEntry 10 }
|
||||
|
||||
eltPhdTransceiverInfoVendorRev OBJECT-TYPE
|
||||
SYNTAX OCTET STRING
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Revision level for part number provided by vendor."
|
||||
::= { eltPhdTransceiverInfoEntry 11 }
|
||||
|
||||
--
|
||||
-- eltPhdUnitGenParamTable
|
||||
--
|
||||
|
||||
eltPhdUnitGenParamTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF EltPhdUnitGenParamEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"For each module (board) there is an entry describing it in this
|
||||
module"
|
||||
::= { eltMesPhysicalDescription 2 }
|
||||
|
||||
eltPhdUnitGenParamEntry OBJECT-TYPE
|
||||
SYNTAX EltPhdUnitGenParamEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This table augments existing RADLAN table rlPhdUnitGenParamTable"
|
||||
AUGMENTS { rlPhdUnitGenParamEntry }
|
||||
::= { eltPhdUnitGenParamTable 1 }
|
||||
|
||||
EltPhdUnitGenParamEntry ::= SEQUENCE {
|
||||
eltPhdUnitGenParamCommitHash DisplayString,
|
||||
eltPhdUnitGenParamBuildTag DisplayString,
|
||||
eltPhdUnitGenParamBuildNumber DisplayString
|
||||
}
|
||||
|
||||
eltPhdUnitGenParamCommitHash OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Hash of current commit."
|
||||
::= { eltPhdUnitGenParamEntry 1 }
|
||||
|
||||
eltPhdUnitGenParamBuildTag OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Build branch."
|
||||
::= { eltPhdUnitGenParamEntry 2 }
|
||||
|
||||
eltPhdUnitGenParamBuildNumber OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Build describe number."
|
||||
::= { eltPhdUnitGenParamEntry 3 }
|
||||
|
||||
--
|
||||
-- eltCascadeTable
|
||||
--
|
||||
|
||||
eltCascadeTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF EltCascadeEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This table augments existing RADLAN table rlCascadeTable."
|
||||
::= { eltMesPhysicalDescription 3 }
|
||||
|
||||
eltCascadeEntry OBJECT-TYPE
|
||||
SYNTAX EltCascadeEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entry of this table specifies a cascaded link information in a unit"
|
||||
AUGMENTS { rlCascadeEntry }
|
||||
::= { eltCascadeTable 1 }
|
||||
|
||||
EltCascadeEntry ::= SEQUENCE {
|
||||
eltCascadeLastChange TimeTicks,
|
||||
eltCascadeOperStatus INTEGER,
|
||||
eltCascadeDuplexOperMode INTEGER,
|
||||
eltCascadeOperSpeedDuplexAutoNegotiation INTEGER,
|
||||
eltCascadeOperMdix INTEGER,
|
||||
eltCascadeTransceiverType INTEGER,
|
||||
eltCascadeIfType INTEGER,
|
||||
eltCascadeFecOperMode INTEGER
|
||||
}
|
||||
|
||||
eltCascadeLastChange OBJECT-TYPE
|
||||
SYNTAX TimeTicks
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The value of sysUpTime at the time the cascade interface
|
||||
entered its current operational state."
|
||||
::= { eltCascadeEntry 1 }
|
||||
|
||||
eltCascadeOperStatus OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
up(1),
|
||||
down(2)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the state of this interface."
|
||||
::= { eltCascadeEntry 2 }
|
||||
|
||||
eltCascadeDuplexOperMode OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
half(1),
|
||||
full(2),
|
||||
hybrid(3),
|
||||
unknown(4)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates whether this interface operates in half
|
||||
duplex or full duplex mode."
|
||||
::= { eltCascadeEntry 3 }
|
||||
|
||||
eltCascadeOperSpeedDuplexAutoNegotiation OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
enabled(1),
|
||||
disabled(2),
|
||||
hybrid(3),
|
||||
unknown(4)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"If enabled the speed and duplex are determined by the device through
|
||||
the autonegotiation process."
|
||||
::= { eltCascadeEntry 4 }
|
||||
|
||||
eltCascadeOperMdix OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
normal(1),
|
||||
cross(2),
|
||||
auto(3),
|
||||
unknown(4)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"cross - The interface is in crossover mode.
|
||||
normal - The interface is not in crossover mode.
|
||||
unknown - Only for port that its operative status is not present
|
||||
or down."
|
||||
::= { eltCascadeEntry 5 }
|
||||
|
||||
eltCascadeTransceiverType OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
regular(1),
|
||||
fiberOptics(2),
|
||||
comboRegular(3),
|
||||
comboFiberOptics(4)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the transceiver type of this interface."
|
||||
::= { eltCascadeEntry 6 }
|
||||
|
||||
eltCascadeIfType OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
eth10M(1),
|
||||
eth100M(2),
|
||||
eth1000M(3),
|
||||
eth10G(4),
|
||||
eth20G(5),
|
||||
eth40G(6),
|
||||
eth100G(7),
|
||||
unknown(8)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable specifies the type of interface."
|
||||
::= { eltCascadeEntry 7 }
|
||||
|
||||
eltCascadeFecOperMode OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
disabled(0),
|
||||
auto(1),
|
||||
cl74(2)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the actual Forward Error Correction (FEC) mode
|
||||
that currently in use on the port."
|
||||
::= { eltCascadeEntry 8 }
|
||||
|
||||
--
|
||||
-- eltPhdTransceiverThresholdTable
|
||||
--
|
||||
|
||||
eltPhdTransceiverThresholdTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF EltPhdTransceiverThresholdEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This table contains the threshold information of transceiver."
|
||||
::= { eltMesPhdTransceiver 2 }
|
||||
|
||||
eltPhdTransceiverThresholdEntry OBJECT-TYPE
|
||||
SYNTAX EltPhdTransceiverThresholdEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The entry of the eltPhdTransceiverThresholdTable."
|
||||
INDEX { ifIndex, eltPhdTransceiverThresholdType }
|
||||
::= { eltPhdTransceiverThresholdTable 1 }
|
||||
|
||||
EltPhdTransceiverThresholdEntry ::=
|
||||
SEQUENCE {
|
||||
eltPhdTransceiverThresholdType INTEGER,
|
||||
eltPhdTransceiverThresholdAction INTEGER,
|
||||
eltPhdTransceiverThresholdHighAlarm INTEGER,
|
||||
eltPhdTransceiverThresholdHighWarning INTEGER,
|
||||
eltPhdTransceiverThresholdLowWarning INTEGER,
|
||||
eltPhdTransceiverThresholdLowAlarm INTEGER
|
||||
}
|
||||
|
||||
eltPhdTransceiverThresholdType OBJECT-TYPE
|
||||
SYNTAX INTEGER
|
||||
{
|
||||
temperature(0),
|
||||
supply(1),
|
||||
txBias(2),
|
||||
txOutput(3),
|
||||
rxOpticalPower(4)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A value indicating the threshold to configure.
|
||||
temperature - degree (Celsius) -127-127, voltage - microVolt 0-6550000,
|
||||
current - microAmper 0-131000, output power or input power - microWatt 0-6553"
|
||||
::= { eltPhdTransceiverThresholdEntry 1 }
|
||||
|
||||
eltPhdTransceiverThresholdAction OBJECT-TYPE
|
||||
SYNTAX INTEGER
|
||||
{
|
||||
none(0),
|
||||
log(1),
|
||||
send-trap(2)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"What action to perform when value is bad."
|
||||
::= { eltPhdTransceiverThresholdEntry 2 }
|
||||
|
||||
eltPhdTransceiverThresholdHighAlarm OBJECT-TYPE
|
||||
SYNTAX INTEGER
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"See eltPhdTransceiverThresholdType for details"
|
||||
::= { eltPhdTransceiverThresholdEntry 3 }
|
||||
|
||||
eltPhdTransceiverThresholdHighWarning OBJECT-TYPE
|
||||
SYNTAX INTEGER
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"See eltPhdTransceiverThresholdType for details"
|
||||
::= { eltPhdTransceiverThresholdEntry 4 }
|
||||
|
||||
eltPhdTransceiverThresholdLowWarning OBJECT-TYPE
|
||||
SYNTAX INTEGER
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"See eltPhdTransceiverThresholdType for details"
|
||||
::= { eltPhdTransceiverThresholdEntry 5 }
|
||||
|
||||
eltPhdTransceiverThresholdLowAlarm OBJECT-TYPE
|
||||
SYNTAX INTEGER
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"See eltPhdTransceiverThresholdType for details"
|
||||
::= { eltPhdTransceiverThresholdEntry 6 }
|
||||
|
||||
--
|
||||
-- eltMesPhdNsf
|
||||
--
|
||||
|
||||
eltMesPhdNsf OBJECT IDENTIFIER ::= { eltMesPhysicalDescription 4 }
|
||||
|
||||
eltPhdNsfEnable OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Enable Non-Stop Forwarding during the stack master switchover."
|
||||
DEFVAL { false }
|
||||
::= { eltMesPhdNsf 1 }
|
||||
|
||||
eltPhdNsfTime OBJECT-TYPE
|
||||
SYNTAX INTEGER (60..600)
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Set the time period in which protocols wait for the new master to complete initialization.
|
||||
The port states set by the former master is preserved during this time."
|
||||
DEFVAL {120}
|
||||
::= { eltMesPhdNsf 2 }
|
||||
|
||||
--
|
||||
-- eltCascadeAdminTable
|
||||
--
|
||||
|
||||
eltCascadeAdminTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF EltCascadeAdminEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This table augments existing RADLAN table rlCascadeAdminTable."
|
||||
::= { eltMesPhysicalDescription 6 }
|
||||
|
||||
eltCascadeAdminEntry OBJECT-TYPE
|
||||
SYNTAX EltCascadeAdminEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entry of this table specifies a cascaded information in a unit after reset"
|
||||
AUGMENTS { rlCascadeAdminEntry }
|
||||
::= { eltCascadeAdminTable 1 }
|
||||
|
||||
EltCascadeAdminEntry ::= SEQUENCE {
|
||||
eltCascadeAdminFec INTEGER
|
||||
}
|
||||
|
||||
eltCascadeAdminFec OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
disabled(0),
|
||||
auto(1),
|
||||
cl74(2)
|
||||
}
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable controls the Forward Error Correction (FEC) mode on the port."
|
||||
::= { eltCascadeAdminEntry 1 }
|
||||
|
||||
END
|
||||
@@ -0,0 +1,542 @@
|
||||
MARVELL-POE-MIB DEFINITIONS ::= BEGIN
|
||||
|
||||
-- Title: Marvell LOCALIZATION ROS
|
||||
-- This Private MIB is enhancement for rfc3621.txt - Power Ethernet Mib
|
||||
-- Version: 7.50
|
||||
-- Date: 28 Nov 2005
|
||||
|
||||
IMPORTS
|
||||
rnd FROM RADLAN-MIB
|
||||
DisplayString, TruthValue FROM SNMPv2-TC
|
||||
InterfaceIndex FROM IF-MIB
|
||||
OBJECT-TYPE, MODULE-IDENTITY, Unsigned32 FROM SNMPv2-SMI;
|
||||
|
||||
|
||||
rlPoe MODULE-IDENTITY
|
||||
LAST-UPDATED "200911260000Z"
|
||||
ORGANIZATION "Marvell."
|
||||
CONTACT-INFO
|
||||
"Marvell.com"
|
||||
DESCRIPTION
|
||||
"Add a new field in the PoE MIB to indicate Max power allocation allowed"
|
||||
REVISION "201006020000Z"
|
||||
DESCRIPTION
|
||||
"The private MIB module definition for Power Over Ethernet."
|
||||
REVISION "200911260000Z"
|
||||
DESCRIPTION
|
||||
"Initial revision."
|
||||
::= { rnd 108 }
|
||||
|
||||
RlPoeType ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION "PoE types:
|
||||
1 - none: no PoE, unknown type;
|
||||
2 - PoE: Standard AF PoE
|
||||
3 - PoE Plus: Standard AT PoE
|
||||
4 - 60 W: 60W poe port "
|
||||
SYNTAX INTEGER {
|
||||
none(1),
|
||||
poe(2),
|
||||
poeplus(3),
|
||||
poe60w(4)
|
||||
}
|
||||
|
||||
rlPethPsePortTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF RlPethPsePortEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
" The table listing additional information for Power Over Ethernet ports."
|
||||
::= {rlPoe 1 }
|
||||
|
||||
rlPethPsePortEntry OBJECT-TYPE
|
||||
SYNTAX RlPethPsePortEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
" An entry in the rlPethPsePortTable."
|
||||
INDEX { rlPethPsePortGroupIndex , rlPethPsePortIndex }
|
||||
::= {rlPethPsePortTable 1 }
|
||||
|
||||
RlPethPsePortEntry ::= SEQUENCE {
|
||||
rlPethPsePortGroupIndex INTEGER,
|
||||
rlPethPsePortIndex INTEGER,
|
||||
rlPethPsePortOutputVoltage INTEGER,
|
||||
rlPethPsePortOutputCurrent INTEGER,
|
||||
rlPethPsePortOutputPower INTEGER,
|
||||
rlPethPsePortPowerLimit INTEGER,
|
||||
rlPethPsePortStatus INTEGER,
|
||||
rlPethPsePortStatusDescription DisplayString,
|
||||
rlPethPsePortOperPowerLimit INTEGER,
|
||||
rlPethPsePortTimeRangeName DisplayString,
|
||||
rlPethPsePortOperStatus TruthValue,
|
||||
rlPethPsePortMaxPowerAllocAllowed INTEGER,
|
||||
rlPethPsePortSupportPoeType RlPoeType,
|
||||
rlPethPsePortLinkPartnerPoeType RlPoeType,
|
||||
rlPethPsePortFourPairForced INTEGER,
|
||||
rlPethPsePortFourPairEnabled INTEGER,
|
||||
rlPethPsePortNegotiationAllocatedPower INTEGER,
|
||||
rlPethPsePortNegotiationProtocolOwner INTEGER
|
||||
}
|
||||
|
||||
rlPethPsePortGroupIndex OBJECT-TYPE
|
||||
SYNTAX INTEGER (1..2147483647)
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable uniquely identifies the group
|
||||
containing the port to which a power Ethernet PSE is
|
||||
connected. Group means box in the stack, module in a
|
||||
rack and the value 1 MUST be used for non-modular devices.
|
||||
Furthermore, the same value MUST be used in this variable,
|
||||
pethMainPseGroupIndex, and pethNotificationControlGroupIndex
|
||||
to refer to a given box in a stack or module in the rack."
|
||||
::= { rlPethPsePortEntry 1 }
|
||||
|
||||
rlPethPsePortIndex OBJECT-TYPE
|
||||
SYNTAX INTEGER (1..2147483647)
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable uniquely identifies the power Ethernet PSE
|
||||
port within group pethPsePortGroupIndex to which the
|
||||
power Ethernet PSE entry is connected."
|
||||
::= { rlPethPsePortEntry 2 }
|
||||
|
||||
rlPethPsePortOutputVoltage OBJECT-TYPE
|
||||
SYNTAX INTEGER (0..2147483647)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates on the output voltage level in milli volts from rlPethPsePortIndex."
|
||||
::= { rlPethPsePortEntry 3 }
|
||||
|
||||
rlPethPsePortOutputCurrent OBJECT-TYPE
|
||||
SYNTAX INTEGER (0..2147483647)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates on the output current level in milli amper from rlPethPsePortIndex."
|
||||
::= { rlPethPsePortEntry 4 }
|
||||
|
||||
rlPethPsePortOutputPower OBJECT-TYPE
|
||||
SYNTAX INTEGER (0..2147483647)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates on the output power level in milli watts from rlPethPsePortIndex."
|
||||
::= { rlPethPsePortEntry 5 }
|
||||
|
||||
rlPethPsePortPowerLimit OBJECT-TYPE
|
||||
SYNTAX INTEGER (0..2147483647)
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates on the user configured power level in milli watts which is available from rlPethPsePortIndex."
|
||||
::= { rlPethPsePortEntry 6 }
|
||||
|
||||
rlPethPsePortStatus OBJECT-TYPE
|
||||
SYNTAX INTEGER (0..2147483647)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates on the hardware status of rlPethPsePortIndex."
|
||||
::= { rlPethPsePortEntry 7 }
|
||||
|
||||
rlPethPsePortStatusDescription OBJECT-TYPE
|
||||
SYNTAX DisplayString(SIZE(0..80))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the description of the hardware status of rlPethPsePortIndex."
|
||||
::= { rlPethPsePortEntry 8 }
|
||||
|
||||
rlPethPsePortOperPowerLimit OBJECT-TYPE
|
||||
SYNTAX INTEGER (0..2147483647)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the maximum power level in milli watts which is available from rlPethPsePortIndex."
|
||||
::= { rlPethPsePortEntry 9 }
|
||||
|
||||
rlPethPsePortTimeRangeName OBJECT-TYPE
|
||||
SYNTAX DisplayString(SIZE(0..32))
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable is used to bind PoE port to time range."
|
||||
::= { rlPethPsePortEntry 10 }
|
||||
|
||||
rlPethPsePortOperStatus OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This Read-Only variable indicates PoE port current status affected by time range active/inactive and admin status."
|
||||
::= { rlPethPsePortEntry 11 }
|
||||
|
||||
rlPethPsePortMaxPowerAllocAllowed OBJECT-TYPE
|
||||
SYNTAX INTEGER (0..2147483647)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the maximum power allocation allowed per port (including wire power loses) in milli-watts which is available from rlPethPsePortIndex."
|
||||
::= { rlPethPsePortEntry 12 }
|
||||
|
||||
rlPethPsePortSupportPoeType OBJECT-TYPE
|
||||
SYNTAX RlPoeType
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the supported type of the PoE port"
|
||||
::= { rlPethPsePortEntry 13 }
|
||||
|
||||
rlPethPsePortLinkPartnerPoeType OBJECT-TYPE
|
||||
SYNTAX RlPoeType
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the link partner PoE type."
|
||||
::= { rlPethPsePortEntry 14 }
|
||||
|
||||
rlPethPsePortFourPairForced OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
forcedEnable(0),
|
||||
forcedDisable(1)
|
||||
}
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable enabled the spare pair ALT_B in 60W port to force 4 pair enable."
|
||||
::= { rlPethPsePortEntry 15 }
|
||||
|
||||
rlPethPsePortFourPairEnabled OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
fourPairEnable(1),
|
||||
fourPairDisable(2)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates that spare pair ALT_B is enable."
|
||||
::= { rlPethPsePortEntry 16 }
|
||||
|
||||
rlPethPsePortNegotiationAllocatedPower OBJECT-TYPE
|
||||
SYNTAX INTEGER (0..2147483647)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the power allocation in milli watts from power negotiation"
|
||||
::= { rlPethPsePortEntry 17 }
|
||||
|
||||
rlPethPsePortNegotiationProtocolOwner OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
protocolOwnerNone(0),
|
||||
protocolOwnerCDP(1),
|
||||
protocolOwnerLLDP(2)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the protocol owner on power management negotiation protocol"
|
||||
::= { rlPethPsePortEntry 18 }
|
||||
|
||||
rlPethMainPseTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF RlPethMainPseEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
" The table listing additional read - only information for Power Over Ethernet."
|
||||
::= {rlPoe 2 }
|
||||
|
||||
rlPethMainPseEntry OBJECT-TYPE
|
||||
SYNTAX RlPethMainPseEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
" An entry in the rlPethMainPseTable."
|
||||
INDEX { rlPethMainPseGroupIndex }
|
||||
::= {rlPethMainPseTable 1 }
|
||||
|
||||
RlPethMainPseEntry ::= SEQUENCE {
|
||||
rlPethMainPseGroupIndex INTEGER,
|
||||
rlPethMainPseSwVersion DisplayString,
|
||||
rlPethMainPseHwVersion DisplayString,
|
||||
rlPethMainPseHwType INTEGER,
|
||||
rlPethMainPsePowerGuardBand INTEGER
|
||||
|
||||
}
|
||||
|
||||
rlPethMainPseGroupIndex OBJECT-TYPE
|
||||
SYNTAX INTEGER (1..2147483647)
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable uniquely identifies the group
|
||||
containing the port to which a power Ethernet PSE is
|
||||
connected. Group means box in the stack, module in a
|
||||
rack and the value 1 MUST be used for non-modular devices.
|
||||
Furthermore, the same value MUST be used in this variable,
|
||||
pethMainPseGroupIndex, and pethNotificationControlGroupIndex
|
||||
to refer to a given box in a stack or module in the rack."
|
||||
::= { rlPethMainPseEntry 1 }
|
||||
|
||||
rlPethMainPseSwVersion OBJECT-TYPE
|
||||
SYNTAX DisplayString(SIZE(0..20))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable identifies the MCU SW version."
|
||||
::= { rlPethMainPseEntry 2 }
|
||||
|
||||
rlPethMainPseHwVersion OBJECT-TYPE
|
||||
SYNTAX DisplayString(SIZE(0..20))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable identifies the MCU HW version."
|
||||
::= { rlPethMainPseEntry 3 }
|
||||
|
||||
rlPethMainPseHwType OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
enhanced(1),
|
||||
plus(2),
|
||||
auto(3),
|
||||
nonPoe(4),
|
||||
enhancedPlus(5),
|
||||
poe60w(6)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable identifies the MCU HW type (enhanced, plus, none)."
|
||||
::= { rlPethMainPseEntry 4 }
|
||||
|
||||
rlPethMainPsePowerGuardBand OBJECT-TYPE
|
||||
SYNTAX INTEGER (0..2147483647)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable identifies the guard band in [W] for not connecting
|
||||
additional ports."
|
||||
::= { rlPethMainPseEntry 5 }
|
||||
|
||||
rlPethPowerPseTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF RlPethPowerPseEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
" The table listing additional read-write information for Power Over Ethernet - PSE side."
|
||||
::= {rlPoe 3 }
|
||||
|
||||
rlPethPowerPseEntry OBJECT-TYPE
|
||||
SYNTAX RlPethPowerPseEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
" An entry in the rlPethPowerPseTable."
|
||||
INDEX { rlPethPowerPseGroupIndex }
|
||||
::= {rlPethPowerPseTable 1 }
|
||||
|
||||
RlPethPowerPseEntry ::= SEQUENCE {
|
||||
rlPethPowerPseGroupIndex INTEGER,
|
||||
rlPethPowerPsePower INTEGER,
|
||||
rlPethPowerPseRpsPower INTEGER,
|
||||
rlPethPowerPsePowerManagementMode INTEGER,
|
||||
rlPethPowerPsedisconnectMethod INTEGER,
|
||||
rlPethPowerPseTemperatureSensor INTEGER,
|
||||
rlPethPowerPseInrushTestEnabled INTEGER,
|
||||
rlPethPowerPseLegacyDisabled INTEGER
|
||||
}
|
||||
|
||||
rlPethPowerPseGroupIndex OBJECT-TYPE
|
||||
SYNTAX INTEGER (1..8)
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable uniquely identifies the group
|
||||
containing the port to which a power Ethernet PSE is
|
||||
connected. Group means box in the stack, module in a
|
||||
rack and the value 1 MUST be used for non-modular devices.
|
||||
Furthermore, the same value MUST be used in this variable,
|
||||
PethPowerPseGroupIndex, and pethNotificationControlGroupIndex
|
||||
to refer to a given box in a stack or module in the rack."
|
||||
::= { rlPethPowerPseEntry 1 }
|
||||
|
||||
|
||||
-- depricated
|
||||
rlPethPowerPsePower OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
none(0),
|
||||
ps1(1),
|
||||
ps2(2),
|
||||
ps3(3)
|
||||
}
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable identifies the maximum power in [W] supplied by PSE."
|
||||
::= { rlPethPowerPseEntry 2 }
|
||||
|
||||
-- depricated
|
||||
rlPethPowerPseRpsPower OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
none(0),
|
||||
rps1(1),
|
||||
rps2(2),
|
||||
rps3(3)
|
||||
}
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable identifies the maximum power in [W] supplied by PSE + RPS."
|
||||
::= { rlPethPowerPseEntry 3 }
|
||||
|
||||
rlPethPowerPsePowerManagementMode OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
portlimit(0),
|
||||
classlimit(5),
|
||||
maxlimit(6)
|
||||
}
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable identifies power management mode."
|
||||
::= { rlPethPowerPseEntry 4 }
|
||||
|
||||
rlPethPowerPsedisconnectMethod OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
lowestpriority(0),
|
||||
nextport(1)
|
||||
}
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable identifies disconnect method. "
|
||||
::= { rlPethPowerPseEntry 5 }
|
||||
|
||||
rlPethPowerPseTemperatureSensor OBJECT-TYPE
|
||||
SYNTAX INTEGER (-200..200)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable identifies the pd temperature sensor. "
|
||||
::= { rlPethPowerPseEntry 6 }
|
||||
|
||||
rlPethPowerPseInrushTestEnabled OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
enabled(0),
|
||||
disabled(1)
|
||||
}
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable identifies if HW inrush test will be disabled.
|
||||
by default HW inrush test is enabled."
|
||||
::= { rlPethPowerPseEntry 7 }
|
||||
|
||||
rlPethPowerPseLegacyDisabled OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
enabled(0),
|
||||
disabled(1)
|
||||
}
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable identifies poe Legacy global configuration mode"
|
||||
::= { rlPethPowerPseEntry 8 }
|
||||
|
||||
|
||||
--rlPethPdPortTable
|
||||
|
||||
rlPethPdPortTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF RlPethPdPortEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
" The table listing additional read-write information for Power Over Ethernet - PD side."
|
||||
::= {rlPoe 4 }
|
||||
|
||||
rlPethPdPortEntry OBJECT-TYPE
|
||||
SYNTAX RlPethPdPortEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
" An entry in the rlPethPdPortTable."
|
||||
INDEX { rlPethPdPortIndex }
|
||||
::= {rlPethPdPortTable 1}
|
||||
|
||||
RlPethPdPortEntry ::= SEQUENCE {
|
||||
rlPethPdPortIndex InterfaceIndex,
|
||||
rlPethPdPortSupportPoeType RlPoeType,
|
||||
rlPethPdPortOperPoeType RlPoeType,
|
||||
rlPethPdPortPowerRequest Unsigned32,
|
||||
rlPethPdPortPowerAvailable Unsigned32,
|
||||
rlPethPdPortForcedMode RlPoeType,
|
||||
rlPethPdPortNegotiationProtocolOwner INTEGER
|
||||
}
|
||||
|
||||
rlPethPdPortIndex OBJECT-TYPE
|
||||
SYNTAX InterfaceIndex
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable uniquely identifies the power Ethernet PD
|
||||
port within group rlPethPdPortGroupIndex to which the
|
||||
power Ethernet PSE entry is connected."
|
||||
::= { rlPethPdPortEntry 1 }
|
||||
|
||||
rlPethPdPortSupportPoeType OBJECT-TYPE
|
||||
SYNTAX RlPoeType
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the PoE type of the PD port (AF/AT/60W)"
|
||||
::= { rlPethPdPortEntry 2 }
|
||||
|
||||
rlPethPdPortOperPoeType OBJECT-TYPE
|
||||
SYNTAX RlPoeType
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the operational PoE status of the PD port"
|
||||
::= { rlPethPdPortEntry 3 }
|
||||
|
||||
rlPethPdPortPowerRequest OBJECT-TYPE
|
||||
SYNTAX Unsigned32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the requested power the PD port request from the PSE in mili-Watts"
|
||||
::= { rlPethPdPortEntry 4 }
|
||||
|
||||
rlPethPdPortPowerAvailable OBJECT-TYPE
|
||||
SYNTAX Unsigned32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the available power the PSE port offers to the PD port in mili-Watts"
|
||||
::= { rlPethPdPortEntry 5 }
|
||||
|
||||
rlPethPdPortForcedMode OBJECT-TYPE
|
||||
SYNTAX RlPoeType
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the powered PD port forced mode"
|
||||
::= { rlPethPdPortEntry 6 }
|
||||
|
||||
rlPethPdPortNegotiationProtocolOwner OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
protocolOwnerNone(0),
|
||||
protocolOwnerCDP(1),
|
||||
protocolOwnerLLDP(2)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the protocol owner on power management negotiation protocol"
|
||||
::= { rlPethPdPortEntry 7 }
|
||||
|
||||
END
|
||||
|
||||
+399
-1491
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user