mirror of
https://github.com/librenms/librenms.git
synced 2024-09-21 10:28:13 +00:00
Added support for Ubiquiti UFiber OLT (#14256)
* Added support for Ubiquiti UFiber OLT * Fixed php files with port detection * Added missing MIB file * Fixed test data * Fixed php script to detect ports compatible with php 8.1 * Fix styleci * Enforcement of new control styleci * Apply fixes from StyleCI * Port detection override * Changed all "Entry" to "Table". Co-authored-by: StyleCI Bot <bot@styleci.io>
This commit is contained in:
parent
d722295f4c
commit
19540900a3
44
LibreNMS/OS/Edgeosolt.php
Normal file
44
LibreNMS/OS/Edgeosolt.php
Normal file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/**
|
||||
* Edgeos.php
|
||||
*
|
||||
* -Description-
|
||||
*
|
||||
* 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/>.
|
||||
*
|
||||
* @link https://www.librenms.org
|
||||
*
|
||||
* @copyright 2020 Tony Murray
|
||||
* @author Tony Murray <murraytony@gmail.com>
|
||||
*/
|
||||
|
||||
namespace LibreNMS\OS;
|
||||
|
||||
use App\Models\Device;
|
||||
|
||||
class Edgeosolt extends \LibreNMS\OS
|
||||
{
|
||||
public function discoverOS(Device $device): void
|
||||
{
|
||||
parent::discoverOS($device); // yaml
|
||||
|
||||
$hw = snmpwalk_cache_oid($this->getDeviceArray(), 'hrSWRunParameters', [], 'HOST-RESOURCES-MIB');
|
||||
foreach ($hw as $entry) {
|
||||
if (preg_match('/(?<=UBNT )(.*)(?= running on)/', $entry['hrSWRunParameters'], $matches)) {
|
||||
$this->getDevice()->hardware = $matches[0];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
57
includes/definitions/discovery/edgeosolt.yaml
Normal file
57
includes/definitions/discovery/edgeosolt.yaml
Normal file
@ -0,0 +1,57 @@
|
||||
mib: UBNT-UFIBER-MIB
|
||||
modules:
|
||||
os:
|
||||
sysDescr_regex: '/v(?<version>\d+\.\d+\.\d+)/'
|
||||
hardware: UBNT-UFIBER-MIB::ubntModel.0
|
||||
version: UBNT-UFIBER-MIB::ubntVersion.0
|
||||
serial: UBNT-UFIBER-MIB::ubntSerialNumber.0
|
||||
|
||||
sensors:
|
||||
state:
|
||||
data:
|
||||
-
|
||||
oid: ubntSfpsTable
|
||||
value: ubntSfpUp
|
||||
num_oid: '.1.3.6.1.4.1.41112.1.5.7.2.1.3.{{ $index }}'
|
||||
low_limit: 0
|
||||
descr: '{{ $ubntSfpName }}'
|
||||
states:
|
||||
- { descr: Up, graph: 0, value: 1, generic: 0 }
|
||||
- { descr: Down, graph: 0, value: 2, generic: 2 }
|
||||
count:
|
||||
data:
|
||||
-
|
||||
oid: ubntOnusCount
|
||||
num_oid: '.1.3.6.1.4.1.41112.1.5.6.1.{{ $index }}'
|
||||
index: 'ubntOnusCount.{{ $index }}'
|
||||
descr: "Number of ONU's"
|
||||
temperature:
|
||||
data:
|
||||
-
|
||||
oid: ubntThermsTable
|
||||
value: ubntThermTemperature
|
||||
divisor: 1000
|
||||
num_oid: '.1.3.6.1.4.1.41112.1.5.4.2.1.3.{{ $index }}'
|
||||
index: 'ubntThermTemperature.{{ $index }}'
|
||||
descr: 'Temperatures {{ $index }}'
|
||||
fanspeed:
|
||||
data:
|
||||
-
|
||||
oid: ubntFansTable
|
||||
value: ubntFanRpm
|
||||
num_oid: '.1.3.6.1.4.1.41112.1.5.5.2.1.3.{{ $index }}'
|
||||
index: 'ubntFanRpm.{{ $index }}'
|
||||
descr: 'Fun #{{ $index }}'
|
||||
|
||||
|
||||
dbm:
|
||||
data:
|
||||
-
|
||||
oid: ubntOnusTable
|
||||
value: ubntOnuRxPower
|
||||
num_oid: '.1.3.6.1.4.1.41112.1.5.6.2.1.9.{{ $index }}'
|
||||
descr: "ONU {{ $ubntOnuName }} RX"
|
||||
group: ONUs TX
|
||||
index: 'rx-{{ $index }}'
|
||||
divisor: 100
|
||||
|
@ -9,10 +9,14 @@ over:
|
||||
discovery:
|
||||
-
|
||||
sysObjectID: .1.3.6.1.4.1.41112.1.5
|
||||
-
|
||||
sysDescr_regex:
|
||||
- '/^EdgeOS/'
|
||||
- '/^EdgeRouter/'
|
||||
snmpget_except:
|
||||
oid: .1.3.6.1.4.1.41112.1.5.1.1.0
|
||||
op: 'contains'
|
||||
value: 'UFiber'
|
||||
|
||||
bad_if_regexp:
|
||||
- '/^npi[0-9]/'
|
||||
- '/^loop[0-9]/'
|
||||
|
17
includes/definitions/edgeosolt.yaml
Normal file
17
includes/definitions/edgeosolt.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
os: edgeosolt
|
||||
text: UFiber
|
||||
type: network
|
||||
icon: ubiquiti
|
||||
mib_dir: ubnt
|
||||
ifname: true
|
||||
over:
|
||||
- { graph: device_bits, text: 'Device Traffic' }
|
||||
- { graph: device_processor, text: 'Processor Usage' }
|
||||
- { graph: device_mempool, text: 'Memory Usage' }
|
||||
discovery:
|
||||
-
|
||||
sysObjectID: .1.3.6.1.4.1.41112.1.5
|
||||
snmpget:
|
||||
oid: .1.3.6.1.4.1.41112.1.5.1.1.0
|
||||
op: 'contains'
|
||||
value: 'UFiber'
|
@ -22,6 +22,11 @@ $port_stats = snmpwalk_cache_oid($device, 'ifAlias', $port_stats, 'IF-MIB');
|
||||
$port_stats = snmpwalk_cache_oid($device, 'ifType', $port_stats, 'IF-MIB', null, $typeSnmpFlags);
|
||||
$port_stats = snmpwalk_cache_oid($device, 'ifOperStatus', $port_stats, 'IF-MIB', null, $operStatusSnmpFlags);
|
||||
|
||||
//Get UFiber OLT ports
|
||||
if ($device['os'] == 'edgeosolt') {
|
||||
require base_path('includes/discovery/ports/edgeosolt.inc.php');
|
||||
}
|
||||
|
||||
//Change Zynos ports from swp to 1/1
|
||||
if ($device['os'] == 'zynos') {
|
||||
require base_path('includes/discovery/ports/zynos.inc.php');
|
||||
|
18
includes/discovery/ports/edgeosolt.inc.php
Normal file
18
includes/discovery/ports/edgeosolt.inc.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
unset($port_stats);
|
||||
|
||||
$sfp_stats = snmpwalk_group($device, 'ubntSfpsTable', 'UBNT-UFIBER-MIB');
|
||||
|
||||
$offset = '1000';
|
||||
|
||||
foreach ($sfp_stats as $index => $sfpport_stats) {
|
||||
$curIfIndex = $offset + $index;
|
||||
$port_stats[$curIfIndex]['ifDescr'] = $sfpport_stats['ubntSfpName'];
|
||||
$port_stats[$curIfIndex]['ifName'] = $sfpport_stats['ubntSfpName'];
|
||||
$port_stats[$curIfIndex]['ifInOctets'] = $sfpport_stats['ubntSfpRxBytes'];
|
||||
$port_stats[$curIfIndex]['ifOutOctets'] = $sfpport_stats['ubntSfpTxBytes'];
|
||||
$port_stats[$curIfIndex]['ifOperStatus'] = ($sfpport_stats['ubntSfpUp'] == 1 ? 'up' : 'down');
|
||||
}
|
||||
|
||||
unset($sfp_stats);
|
18
includes/polling/ports/os/edgeosolt.inc.php
Normal file
18
includes/polling/ports/os/edgeosolt.inc.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
unset($port_stats);
|
||||
|
||||
$sfp_stats = snmpwalk_group($device, 'ubntSfpsTable', 'UBNT-UFIBER-MIB');
|
||||
|
||||
$offset = '1000';
|
||||
|
||||
foreach ($sfp_stats as $index => $sfpport_stats) {
|
||||
$curIfIndex = $offset + $index;
|
||||
$port_stats[$curIfIndex]['ifDescr'] = $sfpport_stats['ubntSfpName'];
|
||||
$port_stats[$curIfIndex]['ifName'] = $sfpport_stats['ubntSfpName'];
|
||||
$port_stats[$curIfIndex]['ifInOctets'] = $sfpport_stats['ubntSfpRxBytes'];
|
||||
$port_stats[$curIfIndex]['ifOutOctets'] = $sfpport_stats['ubntSfpTxBytes'];
|
||||
$port_stats[$curIfIndex]['ifOperStatus'] = ($sfpport_stats['ubntSfpUp'] == 1 ? 'up' : 'down');
|
||||
}
|
||||
|
||||
unset($sfp_stats);
|
560
mibs/ubnt/UBNT-UFIBER-MIB
Normal file
560
mibs/ubnt/UBNT-UFIBER-MIB
Normal file
@ -0,0 +1,560 @@
|
||||
UBNT-UFIBER-MIB DEFINITIONS ::= BEGIN
|
||||
IMPORTS
|
||||
MODULE-IDENTITY, OBJECT-TYPE, Integer32, Gauge32, Counter64,
|
||||
IpAddress, TimeTicks FROM SNMPv2-SMI
|
||||
DisplayString, TruthValue, MacAddress FROM SNMPv2-TC
|
||||
OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF
|
||||
ubntEdgeMaxGroups, ubntMIB FROM UBNT-MIB;
|
||||
|
||||
ubntEdgeMax MODULE-IDENTITY
|
||||
LAST-UPDATED "201801030000Z"
|
||||
ORGANIZATION "Ubiquiti Networks, Inc."
|
||||
CONTACT-INFO "support@ubnt.com"
|
||||
DESCRIPTION "The EdgeMax MIB module for Ubiquiti Networks, Inc. entities"
|
||||
REVISION "201801030000Z"
|
||||
DESCRIPTION "ubntEdgeMax revision"
|
||||
::= { ubntMIB 5 }
|
||||
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- product identification
|
||||
-- --------------------------------------------------------------------------------
|
||||
|
||||
ubntProductIdent OBJECT IDENTIFIER ::= { ubntEdgeMax 1 }
|
||||
|
||||
ubntModel OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Product model."
|
||||
::= { ubntProductIdent 1 }
|
||||
|
||||
ubntSerialNumber OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Serial number."
|
||||
::= { ubntProductIdent 2 }
|
||||
|
||||
ubntVersion OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Firmware version."
|
||||
::= { ubntProductIdent 3 }
|
||||
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- power outputs
|
||||
-- --------------------------------------------------------------------------------
|
||||
|
||||
ubntPowerOuts OBJECT IDENTIFIER ::= { ubntEdgeMax 2 }
|
||||
|
||||
ubntPowerOutsCount OBJECT-TYPE
|
||||
SYNTAX Unsigned32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The number of power outputs present on this system."
|
||||
::= { ubntPowerOuts 1 }
|
||||
|
||||
ubntPowerOutTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF UbntPowerOutEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION "A list of power out entries. The number of entries is given by the value of ubntPowerOutsCount."
|
||||
::= { ubntPowerOuts 2 }
|
||||
|
||||
ubntPowerOutEntry OBJECT-TYPE
|
||||
SYNTAX UbntPowerOutEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION "An entry in the ubntPowerOutTable."
|
||||
INDEX { ubntPowerOutIndex }
|
||||
::= { ubntPowerOutTable 1 }
|
||||
|
||||
UbntPowerOutTable ::= SEQUENCE {
|
||||
ubntPowerOutIndex Integer32,
|
||||
ubntPowerOutVoltage Integer32,
|
||||
ubntPowerOutCurrent Integer32,
|
||||
ubntPowerOutPower Integer32
|
||||
}
|
||||
|
||||
ubntPowerOutIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (1..255)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "A unique value for each power output."
|
||||
::= { ubntPowerOutEntry 1 }
|
||||
|
||||
ubntPowerOutVoltage OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Output voltage in mV."
|
||||
::= { ubntPowerOutEntry 2 }
|
||||
|
||||
ubntPowerOutCurrent OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Output current in mA."
|
||||
::= { ubntPowerOutEntry 3 }
|
||||
|
||||
ubntPowerOutPower OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Output power in mW."
|
||||
::= { ubntPowerOutEntry 4 }
|
||||
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- power supplies
|
||||
-- --------------------------------------------------------------------------------
|
||||
|
||||
ubntPowerSupplies OBJECT IDENTIFIER ::= { ubntEdgeMax 3 }
|
||||
|
||||
ubntPsuBaysNumber OBJECT-TYPE
|
||||
SYNTAX Unsigned32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The number of PSU bays available on this system."
|
||||
::= { ubntPowerSupplies 1 }
|
||||
|
||||
ubntPsuTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF UbntPsuEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION "A list of PSU entries. The number of entries is given by the value of ubntPsuBaysNumber."
|
||||
::= { ubntPowerSupplies 2 }
|
||||
|
||||
ubntPsuEntry OBJECT-TYPE
|
||||
SYNTAX UbntPsuEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION "An entry in the ubntPsuTable."
|
||||
INDEX { ubntPsuIndex }
|
||||
::= { ubntPsuTable 1 }
|
||||
|
||||
UbntPsuEntry ::= SEQUENCE {
|
||||
ubntPsuIndex Integer32,
|
||||
ubntPsuType Integer32,
|
||||
ubntPsuStatus Integer32,
|
||||
ubntPsuOperStatus Integer32,
|
||||
ubntPsuVoltage Integer32,
|
||||
ubntPsuTemperature Integer32,
|
||||
ubntPsuCharging Integer32,
|
||||
ubntPsuBatteryQuantity Integer32
|
||||
}
|
||||
|
||||
ubntPsuIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (1..255)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "A unique value for each PSU."
|
||||
::= { ubntPsuEntry 1 }
|
||||
|
||||
ubntPsuType OBJECT-TYPE
|
||||
SYNTAX INTEGER { unknown(0),ac(1),dc(2),poe(3) }
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "PSU Type."
|
||||
::= { ubntPsuEntry 2 }
|
||||
|
||||
ubntPsuStatus OBJECT-TYPE
|
||||
SYNTAX INTEGER { unknown(0),on(1),off(2),standby(3) }
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "PSU Status."
|
||||
::= { ubntPsuEntry 3 }
|
||||
|
||||
ubntPsuOperStatus OBJECT-TYPE
|
||||
SYNTAX INTEGER { down(0),up(1) }
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "PSU operational status."
|
||||
::= { ubntPsuEntry 4 }
|
||||
|
||||
ubntPsuVoltage OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "PSU voltage in mV."
|
||||
::= { ubntPsuEntry 5 }
|
||||
|
||||
ubntPsuTemperature OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "PSU temperature in thousands of degrees Celsius."
|
||||
::= { ubntPsuEntry 6 }
|
||||
|
||||
ubntPsuCharging OBJECT-TYPE
|
||||
SYNTAX INTEGER { unknown(0),on(1),off(2) }
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Shows PSU charging state if it is supported."
|
||||
::= { ubntPsuEntry 7 }
|
||||
|
||||
ubntPsuBatteryQuantity OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Number of batteries connected to PSU."
|
||||
::= { ubntPsuEntry 8 }
|
||||
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- thermometers
|
||||
-- --------------------------------------------------------------------------------
|
||||
|
||||
ubntThermometers OBJECT IDENTIFIER ::= { ubntEdgeMax 4 }
|
||||
|
||||
ubntThermometersCount OBJECT-TYPE
|
||||
SYNTAX Unsigned32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The number of installed thermometers on this system."
|
||||
::= { ubntThermometers 1 }
|
||||
|
||||
ubntThermsTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF UbntThermsEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION "A list of thermometers entries. The number of entries is given by the value of ubntThermometersCount."
|
||||
::= { ubntThermometers 2 }
|
||||
|
||||
ubntThermsEntry OBJECT-TYPE
|
||||
SYNTAX UbntThermsEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION "An entry in the ubntThermsTable."
|
||||
INDEX { ubntThermIndex }
|
||||
::= { ubntThermsTable 1 }
|
||||
|
||||
UbntThermsEntry ::= SEQUENCE {
|
||||
ubntThermIndex Integer32,
|
||||
ubntThermType Integer32,
|
||||
ubntThermTemperature Integer32
|
||||
}
|
||||
|
||||
ubntThermIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (1..255)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "A unique value for thermometer."
|
||||
::= { ubntThermsEntry 1 }
|
||||
|
||||
ubntThermType OBJECT-TYPE
|
||||
SYNTAX INTEGER { other(0),board(1),cpu(2),power(3) }
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Type of thermometer."
|
||||
::= { ubntThermsEntry 2 }
|
||||
|
||||
ubntThermTemperature OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Temperature in thousands of degrees Celsius."
|
||||
::= { ubntThermsEntry 3 }
|
||||
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- fans
|
||||
-- --------------------------------------------------------------------------------
|
||||
|
||||
ubntFans OBJECT IDENTIFIER ::= { ubntEdgeMax 5 }
|
||||
|
||||
ubntFansCount OBJECT-TYPE
|
||||
SYNTAX Unsigned32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The number of installed fans on this system."
|
||||
::= { ubntFans 1 }
|
||||
|
||||
ubntFansTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF UbntFanEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION "A list of fan entries. The number of entries is given by the value of ubntFansCount."
|
||||
::= { ubntFans 2 }
|
||||
|
||||
ubntFanEntry OBJECT-TYPE
|
||||
SYNTAX UbntFanEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION "An entry in the ubntFansTable."
|
||||
INDEX { ubntFanIndex }
|
||||
::= { ubntFansTable 1 }
|
||||
|
||||
UbntFanEntry ::= SEQUENCE {
|
||||
ubntFanIndex Integer32,
|
||||
ubntFanType Integer32,
|
||||
ubntFanRpm Integer32
|
||||
}
|
||||
|
||||
ubntFanIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (1..255)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "A unique value for fan."
|
||||
::= { ubntFanEntry 1 }
|
||||
|
||||
ubntFanType OBJECT-TYPE
|
||||
SYNTAX INTEGER { other(0),board(1),cpu(2),power(3) }
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Type of fan."
|
||||
::= { ubntFanEntry 2 }
|
||||
|
||||
ubntFanRpm OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Fan RPM."
|
||||
::= { ubntFanEntry 3 }
|
||||
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- gpon ONUs
|
||||
-- --------------------------------------------------------------------------------
|
||||
|
||||
UbntOnuSN ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
SYNTAX DisplayString (SIZE (0..12))
|
||||
|
||||
SignalLevel ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DISPLAY-HINT "d-2"
|
||||
SYNTAX Integer32
|
||||
|
||||
ubntOnus OBJECT IDENTIFIER ::= { ubntEdgeMax 6 }
|
||||
|
||||
ubntOnusCount OBJECT-TYPE
|
||||
SYNTAX Unsigned32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnus 1 }
|
||||
|
||||
ubntOnusTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF UbntOnuEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
::= { ubntOnus 2 }
|
||||
|
||||
ubntOnuEntry OBJECT-TYPE
|
||||
SYNTAX UbntOnuEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
INDEX { ubntOnuIndex }
|
||||
::= { ubntOnusTable 1 }
|
||||
|
||||
UbntOnuEntry ::= SEQUENCE {
|
||||
ubntOnuIndex Integer32,
|
||||
ubntOnuSN Integer32,
|
||||
ubntOnuName DisplayString,
|
||||
ubntOnuOnline TruthValue,
|
||||
ubntOnuModel DisplayString,
|
||||
ubntOnuPort Integer32,
|
||||
ubntOnuConnectedTime TimeTicks,
|
||||
ubntOnuUpTime TimeTicks,
|
||||
ubntOnuTxPower SignalLevel,
|
||||
ubntOnuRxPower SignalLevel,
|
||||
ubntOnuTxBytes Counter64,
|
||||
ubntOnuRxBytes Counter64
|
||||
}
|
||||
|
||||
|
||||
ubntOnuIndex OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnuEntry 1 }
|
||||
|
||||
ubntOnuSN OBJECT-TYPE
|
||||
SYNTAX UbntOnuSN
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnuEntry 1 }
|
||||
|
||||
ubntOnuName OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnuEntry 2 }
|
||||
|
||||
ubntOnuOnline OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnuEntry 3 }
|
||||
|
||||
ubntOnuModel OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..16))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnuEntry 4 }
|
||||
|
||||
ubntOnuOltPort OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnuEntry 5 }
|
||||
|
||||
ubntOnuConnectedTime OBJECT-TYPE
|
||||
SYNTAX TimeTicks
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnuEntry 6 }
|
||||
|
||||
ubntOnuUpTime OBJECT-TYPE
|
||||
SYNTAX TimeTicks
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnuEntry 7 }
|
||||
|
||||
ubntOnuTxPower OBJECT-TYPE
|
||||
SYNTAX SignalLevel
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "in hundredths of dBm"
|
||||
::= { ubntOnuEntry 8 }
|
||||
|
||||
ubntOnuRxPower OBJECT-TYPE
|
||||
SYNTAX SignalLevel
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "in hundredths of dBm"
|
||||
::= { ubntOnuEntry 9 }
|
||||
|
||||
ubntOnuTxBytes OBJECT-TYPE
|
||||
SYNTAX Counter64
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnuEntry 10 }
|
||||
|
||||
ubntOnuRxBytes OBJECT-TYPE
|
||||
SYNTAX Counter64
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnuEntry 11 }
|
||||
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- SFP
|
||||
-- --------------------------------------------------------------------------------
|
||||
|
||||
ubntSfps OBJECT IDENTIFIER ::= { ubntEdgeMax 7 }
|
||||
|
||||
ubntSfpsCount OBJECT-TYPE
|
||||
SYNTAX Unsigned32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The number of SFPs"
|
||||
::= { ubntSfps 1 }
|
||||
|
||||
ubntSfpsTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF UbntSfpEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
::= { ubntSfps 2 }
|
||||
|
||||
|
||||
ubntSfpEntry OBJECT-TYPE
|
||||
SYNTAX UbntSfpEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
INDEX { ubntSfpIndex }
|
||||
::= { ubntSfpsTable 1 }
|
||||
|
||||
UbntSfpEntry ::= SEQUENCE {
|
||||
ubntSfpIndex Integer32,
|
||||
ubntSfpUp TruthValue,
|
||||
ubntSfpVendor DisplayString,
|
||||
ubntSfpVendorPn DisplayString,
|
||||
ubntSfpTxBytes Counter64,
|
||||
ubntSfpRxBytes Counter64
|
||||
}
|
||||
|
||||
ubntSfpIndex OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntSfpEntry 1 }
|
||||
|
||||
ubntSfpName OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntSfpEntry 2 }
|
||||
|
||||
ubntSfpUp OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntSfpEntry 3 }
|
||||
|
||||
ubntSfpVendor OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..16))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntSfpEntry 4 }
|
||||
|
||||
ubntSfpVendorPn OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..16))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntSfpEntry 5 }
|
||||
|
||||
ubntSfpTxBytes OBJECT-TYPE
|
||||
SYNTAX Counter64
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntSfpEntry 6 }
|
||||
|
||||
ubntSfpRxBytes OBJECT-TYPE
|
||||
SYNTAX Counter64
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntSfpEntry 7 }
|
||||
|
||||
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- gpon ONU ports
|
||||
-- --------------------------------------------------------------------------------
|
||||
|
||||
ubntOnuPorts OBJECT IDENTIFIER ::= { ubntEdgeMax 8 }
|
||||
|
||||
ubntOnuPortsTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF UbntOnuPortEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
::= { ubntOnuPorts 1 }
|
||||
|
||||
ubntOnuPortEntry OBJECT-TYPE
|
||||
SYNTAX UbntOnuPortEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
INDEX { ubntOnuPortSN, ubntOnuPortIndex }
|
||||
::= { ubntOnuPortsTable 1 }
|
||||
|
||||
UbntOnuPortEntry ::= SEQUENCE {
|
||||
ubntOnuPortSN UbntOnuSN,
|
||||
ubntOnuPortIndex Integer32,
|
||||
ubntOnuPortIfSpeed Gauge32
|
||||
}
|
||||
|
||||
ubntOnuPortSN OBJECT-TYPE
|
||||
SYNTAX UbntOnuSN
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= { ubntOnuPortEntry 1 }
|
||||
|
||||
ubntOnuPortIndex OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
::= {ubntOnuPortEntry 2 }
|
||||
|
||||
ubntOnuPortIfSpeed OBJECT-TYPE
|
||||
SYNTAX Gauge32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "in bits per second, see IF-MIB::ifSpeed"
|
||||
::= { ubntOnuPortEntry 3 }
|
||||
|
||||
END
|
4000
tests/data/edgeosolt.json
Normal file
4000
tests/data/edgeosolt.json
Normal file
File diff suppressed because it is too large
Load Diff
1365
tests/snmpsim/edgeosolt.snmprec
Normal file
1365
tests/snmpsim/edgeosolt.snmprec
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user