Enhancements for Zyxel OS (#13897)

* Add DBm and State Sensors

Added extra MIB files
Added Dbm levels on ports
Added Stacking State Sensors

* Added include for zynos.inc.php

File patch - includes/discovery/ports/zynos.inc.php

* Create ZYXEL-STACKING-MIB

Official Zyxel MIB

* Create ZYXEL-TRANSCEIVER-MIB

Official Zyxel MIB

* Added test file zynos_xgs4600.json

* Create zynos snmprec test file

* CENSORED zynos_xgs4600.json

* Created new polling file for Zynos ports

Converts zynos SWP port style to be 1/1 style

* Created new discovery for Zynos ports

Changes zynos SWP ports to be 1/1 style during discovery

* Fixing ci complaints in discovery/ports/zynos.inc.php

* Fixing ci complaints in polling/ports/os/zynos.inc.php

* fixing more ci complaints in discovery

* Updated Zynos.snmprec

* Updated zynos.json

* Updated zynos.json

* Removed ifDescr pre-cache

* Removed pre-cache from zynos.yaml

* Reverted zynos.snmprec

* Restored zynos.json

* Updated zynos polling to use zeropad

* Updated zynos discovery to use zeropad

* Updated zynos.yaml

Updated zynos.yaml to include ifname: true to change port names and added '/^ZyXEL/' to sysDescr_regex

* Update zynos.inc.php

* Update zynos.inc.php

* Update zynos_xgs4600.json

* Update zynos_xgs4600.snmprec

* Re-Generated Zynos.json

* Fixed ifOperStatus in Zynos.json

* Delete zynos.inc.php

* Update ports.inc.php

* Added new test data

* Updated zyxel test data and discovery

* Update ports.inc.php

* Update zynos.snmprec

* Updated zynos.json

* Update Zynos.json

* Fix StyleCI issues

* Update zynos.json

* Update zynos.json

* Update zynos.json

* Updated zynos mgs3712.json

* Update zynos_mgs3712.json

* Added back old SFP discovery

-SFP Temperature
-SFP Voltage
This commit is contained in:
James
2022-04-07 20:49:03 -05:00
committed by GitHub
parent 75ba74fe5b
commit b3019f7944
12 changed files with 33637 additions and 20783 deletions
+102 -6
View File
@@ -1,4 +1,4 @@
mib: ZYXEL-ES-COMMON:ZYXEL-HW-MONITOR-MIB:ZYXEL-MGS3712-MIB
mib: ZYXEL-ES-COMMON:ZYXEL-HW-MONITOR-MIB:ZYXEL-MGS3712-MIB:ZYXEL-TRANSCEIVER-MIB:ZYXEL-STACKING-MIB
modules:
mempools:
data:
@@ -26,6 +26,55 @@ modules:
oid: sysMgmtCPU5SecUsage
num_oid: '.1.3.6.1.4.1.890.1.15.3.2.7.{{ $index }}'
sensors:
state:
data:
-
oid: zyxelStackingSlotInfoTable
value: zyStackingSlotInfoRole
snmp_flags: ['-OeQUs', '-Pu'] # workaround for underscores in mib
num_oid: '.1.3.6.1.4.1.890.1.15.3.97.2.1.1.5.{{ $index }}'
descr: 'Switch {{ $index }} Stacking Role'
group: Switch Role
index: 'zyStackingSlotInfoRole.{{ $index }}'
state_name: zyStackingSlotInfoRole
states:
- { value: 1, generic: 0, graph: 0, descr: master }
- { value: 2, generic: 0, graph: 0, descr: backup }
- { value: 3, generic: 0, graph: 0, descr: linecard }
- { value: 0, generic: 3, graph: 0, descr: none }
skip_values:
-
oid: zyStackingSlotInfoStackingStatus
op: '=='
value: '0'
-
oid: zyxelStackingSlotChannelInfoTable
value: zyStackingSlotChannelInfoNeighbor
snmp_flags: ['-OeQUs', '-Pu'] # workaround for underscores in mib
num_oid: '.1.3.6.1.4.1.890.1.15.3.97.2.2.1.5.{{ $index }}'
descr: 'Switch {{ $subindex0 }} Port {{ $subindex1 }} Neighbor'
group: Stacking Neighbor
index: 'zyStackingSlotChannelInfoNeighbor.{{ $index }}'
state_name: zyStackingSlotChannelInfoNeighbor
states:
- { value: 1, generic: 0, graph: 0, descr: 'Switch 1' }
- { value: 2, generic: 0, graph: 0, descr: 'Switch 2' }
- { value: 3, generic: 0, graph: 0, descr: 'Switch 3' }
- { value: 4, generic: 0, graph: 0, descr: 'Switch 4' }
- { value: 0, generic: 3, graph: 0, descr: none }
-
oid: zyStackingTopology
value: zyStackingTopology
snmp_flags: ['-OeQUs', '-Pu'] # workaround for underscores in mib
num_oid: '.1.3.6.1.4.1.890.1.15.3.97.2.3.{{ $index }}'
descr: 'Stacking Topology'
group: Stacking Topology
index: 'zyStackingTopology.{{ $index }}'
state_name: zyStackingTopology
states:
- { value: 1, generic: 1, graph: 0, descr: chain }
- { value: 2, generic: 0, graph: 0, descr: ring }
- { value: 0, generic: 3, graph: 0, descr: none }
fanspeed:
options:
skip_value_lt: 0
@@ -34,7 +83,7 @@ modules:
oid: zyxelHwMonitorFanRpmTable
value: zyHwMonitorFanRpmCurrentValue
num_oid: '.1.3.6.1.4.1.890.1.15.3.26.1.1.1.3.{{ $index }}'
descr: zyHwMonitorFanRpmDescription
descr: 'Switch {{ $zyHwMonitorFanRpmDescription }}'
index: 'zyHwMonitorFanRpmCurrentValue.{{ $index }}'
high_limit: zyHwMonitorFanRpmMaxValue
low_limit: zyHwMonitorFanRpmMinValue
@@ -53,7 +102,7 @@ modules:
oid: zyxelHwMonitorTemperatureTable
value: zyHwMonitorTemperatureCurrentValue
num_oid: '.1.3.6.1.4.1.890.1.15.3.26.1.2.1.3.{{ $index }}'
descr: zyHwMonitorTemperatureDescription
descr: 'Switch {{ $zyHwMonitorTemperatureDescription }}'
index: 'zyHwMonitorTemperatureCurrentValue.{{ $index }}'
high_limit: zyHwMonitorTemperatureMaxValue
low_limit: zyHwMonitorTemperatureMinValue
@@ -85,16 +134,62 @@ modules:
oid: transceiverDdmInfoEntryDescription
op: '!='
value: 'Temperature'
dbm:
options:
divisor: 100
data:
-
oid: zyxelTransceiverDdmiTable
value: zyTransceiverDdmiCurrent
num_oid: '.1.3.6.1.4.1.890.1.15.3.84.1.2.1.6.{{ $index }}'
entPhysicalIndex: '{{ $subindex0 }}'
entPhysicalIndex_measured: 'ports'
descr: '{{ $subindex0 }} Tx Power'
index: 'zyTransceiverDdmiCurrent.{{ $index }}'
high_limit: zyTransceiverDdmiAlarmMax
low_limit: zyTransceiverDdmiAlarmMin
warn_limit: zyTransceiverDdmiWarnMax
low_warn_limit: zyTransceiverDdmiWarnMin
skip_values:
-
oid: zyTransceiverDdmiDescription
op: '!='
value: 'TxPower'
-
oid: zyTransceiverDdmiCurrent
op: '=='
value: '0'
-
oid: zyxelTransceiverDdmiTable
value: zyTransceiverDdmiCurrent
num_oid: '.1.3.6.1.4.1.890.1.15.3.84.1.2.1.6.{{ $index }}'
entPhysicalIndex: '{{ $subindex0 }}'
entPhysicalIndex_measured: 'ports'
descr: '{{ $subindex0 }} Rx Power'
index: 'zyTransceiverDdmiCurrent.{{ $index }}'
high_limit: zyTransceiverDdmiAlarmMax
low_limit: zyTransceiverDdmiAlarmMin
warn_limit: zyTransceiverDdmiWarnMax
low_warn_limit: zyTransceiverDdmiWarnMin
skip_values:
-
oid: zyTransceiverDdmiDescription
op: '!='
value: 'RxPower'
-
oid: zyTransceiverDdmiCurrent
op: '=='
value: '0'
voltage:
options:
skip_value_lt: 0
divisor: 1000
data:
-
oid: zyxelHwMonitorVoltageTable
value: zyHwMonitorVoltageCurrentValue
num_oid: '.1.3.6.1.4.1.890.1.15.3.26.1.3.1.3.{{ $index }}'
descr: zyHwMonitorVoltageDescription
divisor: 1000
descr: 'Switch {{ $zyHwMonitorVoltageDescription }}'
index: 'zyHwMonitorVoltageCurrentValue.{{ $index }}'
high_limit: zyHwMonitorVoltageMaxValue
low_limit: zyHwMonitorVoltageMinValue
@@ -104,6 +199,7 @@ modules:
value: voltageCurValue
snmp_flags: ['-OteQUs', '-Pu'] # workaround for underscores in mib
num_oid: '.1.3.6.1.4.1.890.1.5.8.47.8.3.1.2.{{ $index }}'
divisor: 1000
descr: '{{ $voltageNominalValue }}mV ({{ $voltageDescr }})'
index: 'voltageCurValue.{{ $index }}'
low_limit: voltageLowThresh
@@ -125,4 +221,4 @@ modules:
-
oid: transceiverDdmInfoEntryDescription
op: '!='
value: 'Voltage'
value: 'Voltage'
+2
View File
@@ -3,6 +3,7 @@ text: 'ZyXEL Ethernet Switch'
group: zyxel
type: network
icon: zyxel
ifname: true
over:
- { graph: device_bits, text: 'Device Traffic' }
- { graph: device_processor, text: 'CPU Usage' }
@@ -16,3 +17,4 @@ discovery:
- '/^MGS/'
- '/^XS/'
- '/^XGS/'
- '/^ZyXEL/'
+5
View File
@@ -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);
//Change Zynos ports from swp to 1/1
if ($device['os'] == 'zynos') {
require base_path('includes/discovery/ports/zynos.inc.php');
}
// Get correct eth0 port status for AirFiber 5XHD devices
if ($device['os'] == 'airos-af-ltu') {
require 'ports/airos-af-ltu.inc.php';
+43
View File
@@ -0,0 +1,43 @@
<?php
/*
* 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. Please see LICENSE.txt at the top level of
* the source code distribution for details.
* @author LukeKelsall <[email protected]>
*/
//loop through ports
foreach ($port_stats as $index => $port) {
//Logically convert swp ports to human readable
//only convert swp ports
if (substr($port['ifName'], 0, 3) === 'swp') {
$portNum = preg_replace('/[a-z]+/', '', $port['ifName']);
if ($portNum < 50) {
$portNum++;
//Leading 0 for single digits
$ifName = '1/' . zeropad($portNum);
}
if ($portNum > 63 && $portNum < 128) {
$portNum = $portNum - 63;
//Leading 0 for single digits
$ifName = '2/' . zeropad($portNum);
}
if ($portNum > 127 && $portNum < 192) {
$portNum = $portNum - 127;
//Leading 0 for single digits
$ifName = '3/' . zeropad($portNum);
}
if ($portNum > 191) {
$portNum = $portNum - 191;
//Leading 0 for single digits
$ifName = '4/' . zeropad($portNum);
}
} else {
//Set port number to match current
$ifName = $port['ifName'];
}
//set the libre ifName value to new port name
$port_stats[$index]['ifName'] = $ifName;
}
+43
View File
@@ -0,0 +1,43 @@
<?php
/*
* 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. Please see LICENSE.txt at the top level of
* the source code distribution for details.
* @author LukeKelsall <[email protected]>
*/
//loop through ports
foreach ($port_stats as $index => $port) {
//Logically convert swp ports to human readable
//only convert swp ports
if (substr($port['ifName'], 0, 3) === 'swp') {
$portNum = preg_replace('/[a-z]+/', '', $port['ifName']);
if ($portNum < 50) {
$portNum++;
//Leading 0 for single digits
$ifName = '1/' . zeropad($portNum);
}
if ($portNum > 63 && $portNum < 128) {
$portNum = $portNum - 63;
//Leading 0 for single digits
$ifName = '2/' . zeropad($portNum);
}
if ($portNum > 127 && $portNum < 192) {
$portNum = $portNum - 127;
//Leading 0 for single digits
$ifName = '3/' . zeropad($portNum);
}
if ($portNum > 191) {
$portNum = $portNum - 191;
//Leading 0 for single digits
$ifName = '4/' . zeropad($portNum);
}
} else {
//Set port number to match current
$ifName = $port['ifName'];
}
//set the libre ifName value to new port name
$port_stats[$index]['ifName'] = $ifName;
}
+502
View File
@@ -0,0 +1,502 @@
-- ZyXEL Communications Corporation
-- Private Enterprise MIB definition
-- This file describes the ZyXEL Communications Corporation Enterprise MIB.
-- It contains ZyXEL products OIDs, and common managed objects.
-- ZYXEL-STACKING-MIB.mib
-- Revision 1.10 2014/05/29
ZYXEL-STACKING-MIB DEFINITIONS ::= BEGIN
IMPORTS
OBJECT-TYPE
FROM SNMPv2-SMI -- RFC2578
MODULE-IDENTITY
FROM SNMPv2-SMI
EnabledStatus
FROM P-BRIDGE-MIB
PortList
FROM Q-BRIDGE-MIB
TimeTicks
FROM SNMPv2-SMI
NOTIFICATION-TYPE
FROM SNMPv2-SMI
esMgmt
FROM ZYXEL-ES-SMI;
zyxelStacking MODULE-IDENTITY
LAST-UPDATED "201207010000Z"
ORGANIZATION "Enterprise Solution ZyXEL"
CONTACT-INFO
""
DESCRIPTION
"The subtree for stacking"
::= { esMgmt 97 }
zyxelStackingSetup OBJECT IDENTIFIER ::= { zyxelStacking 1 }
zyxelStackingStatus OBJECT IDENTIFIER ::= { zyxelStacking 2 }
zyxelStackingTrapInfoObjects OBJECT IDENTIFIER ::= { zyxelStacking 3 }
zyxelStackingNotifications OBJECT IDENTIFIER ::= { zyxelStacking 4 }
--
--
-- 97.Stacking
--
--
-- 1. zyxelStackingSetup
zyStackingPriority OBJECT-TYPE
SYNTAX INTEGER (1..63)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Set the priority of the stacking system."
::= { zyxelStackingSetup 1 }
zyStackingForceMasterModeState OBJECT-TYPE
SYNTAX EnabledStatus
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Enable/Disable force master mode."
::= { zyxelStackingSetup 2 }
zyxelStackingSlotTable OBJECT-TYPE
SYNTAX SEQUENCE OF ZyxelStackingSlotEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table contains stacking slot configuration."
::= { zyxelStackingSetup 3 }
zyxelStackingSlotEntry OBJECT-TYPE
SYNTAX ZyxelStackingSlotEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry contains stacking slot configuration."
INDEX { zyStackingSlotCurrentSlotId }
::= { zyxelStackingSlotTable 1 }
ZyxelStackingSlotEntry ::=
SEQUENCE {
zyStackingSlotCurrentSlotId INTEGER,
zyStackingSlotActiveSlotIdAfterReboot INTEGER
}
zyStackingSlotCurrentSlotId OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The slot number device, which is the current slot id."
::= { zyxelStackingSlotEntry 1 }
zyStackingSlotActiveSlotIdAfterReboot OBJECT-TYPE
SYNTAX INTEGER {
auto(0),
slotId1(1),
slotId2(2),
slotId3(3),
slotId4(4),
slotId5(5),
slotId6(6),
slotId7(7),
slotId8(8)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Indicates the slot id that will be after reboot."
::= { zyxelStackingSlotEntry 2 }
zyStackingSlotIdFreeze OBJECT-TYPE
SYNTAX EnabledStatus
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This entry is used to freeze the slot id of each device at stack system to be its current slot id."
::= { zyxelStackingSetup 4 }
-- 2. zyxelStackingStatus
-- zyxelStackingSlotInfoTable
zyxelStackingSlotInfoTable OBJECT-TYPE
SYNTAX SEQUENCE OF ZyxelStackingSlotInfoEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table contains stacking slot information."
::= { zyxelStackingStatus 1 }
zyxelStackingSlotInfoEntry OBJECT-TYPE
SYNTAX ZyxelStackingSlotInfoEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry contains stacking slot information."
INDEX { zyStackingSlotInfoSlot }
::= { zyxelStackingSlotInfoTable 1 }
ZyxelStackingSlotInfoEntry ::=
SEQUENCE {
zyStackingSlotInfoSlot INTEGER,
zyStackingSlotInfoStackingStatus INTEGER,
zyStackingSlotInfoForceMasterMode EnabledStatus,
zyStackingSlotInfoPriority INTEGER,
zyStackingSlotInfoRole INTEGER,
zyStackingSlotInfoMacAddress OCTET STRING,
zyStackingSlotInfoUptime TimeTicks,
zyStackingSlotInfoFirmwareVersionRunning OCTET STRING,
zyStackingSlotInfoFirmwareVersionFlash1 OCTET STRING,
zyStackingSlotInfoFirmwareVersionFlash2 OCTET STRING
}
zyStackingSlotInfoSlot OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Stacking slot ID."
::= { zyxelStackingSlotInfoEntry 1 }
zyStackingSlotInfoStackingStatus OBJECT-TYPE
SYNTAX INTEGER {
inactive(0),
init(1),
active(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Stacking status Of the stacking slot."
::= { zyxelStackingSlotInfoEntry 2 }
zyStackingSlotInfoForceMasterMode OBJECT-TYPE
SYNTAX EnabledStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The mode is enabled, it will get highest priority to be Master."
::= { zyxelStackingSlotInfoEntry 3 }
zyStackingSlotInfoPriority OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Stacking priority of the stacking slot."
::= { zyxelStackingSlotInfoEntry 4 }
zyStackingSlotInfoRole OBJECT-TYPE
SYNTAX INTEGER {
none(0),
master(1),
backup (2),
linecard(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The role of the stacking slot"
::= { zyxelStackingSlotInfoEntry 5 }
zyStackingSlotInfoMacAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"CPU mac address of the stacking slot."
::= { zyxelStackingSlotInfoEntry 6 }
zyStackingSlotInfoUptime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Uptime of the stacking slot"
::= { zyxelStackingSlotInfoEntry 7 }
zyStackingSlotInfoFirmwareVersionRunning OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"current running firmware version of the stacking slot."
::= { zyxelStackingSlotInfoEntry 8 }
zyStackingSlotInfoFirmwareVersionFlash1 OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Firmware version in flash1 of the stacking slot."
::= { zyxelStackingSlotInfoEntry 9 }
zyStackingSlotInfoFirmwareVersionFlash2 OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Firmware version in flash2 of the stacking slot."
::= { zyxelStackingSlotInfoEntry 10 }
-- zyxelStackingSlotChannelInfoTable
zyxelStackingSlotChannelInfoTable OBJECT-TYPE
SYNTAX SEQUENCE OF ZyxelStackingSlotChannelInfoEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table contains stacking the channel information of the stacking slot."
::= { zyxelStackingStatus 2 }
zyxelStackingSlotChannelInfoEntry OBJECT-TYPE
SYNTAX ZyxelStackingSlotChannelInfoEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry contains the stacking channel information of the stacking slot."
INDEX { zyStackingSlotChannelInfoSlot, zyStackingSlotChannelInfoChannnel }
::= { zyxelStackingSlotChannelInfoTable 1 }
ZyxelStackingSlotChannelInfoEntry ::=
SEQUENCE {
zyStackingSlotChannelInfoSlot INTEGER,
zyStackingSlotChannelInfoChannnel INTEGER,
zyStackingSlotChannelInfoStatus INTEGER,
zyStackingSlotChannelInfoPorts PortList,
zyStackingSlotChannelInfoNeighbor INTEGER,
zyStackingSlotChannelInfoSpeed INTEGER
}
zyStackingSlotChannelInfoSlot OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Stacking slot ID."
::= { zyxelStackingSlotChannelInfoEntry 1 }
zyStackingSlotChannelInfoChannnel OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Stacking channel ID"
::= { zyxelStackingSlotChannelInfoEntry 2 }
zyStackingSlotChannelInfoStatus OBJECT-TYPE
SYNTAX INTEGER {
up(1),
down (2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The stacking channel status."
::= { zyxelStackingSlotChannelInfoEntry 3 }
zyStackingSlotChannelInfoPorts OBJECT-TYPE
SYNTAX PortList
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Port list in the stacking channel."
::= { zyxelStackingSlotChannelInfoEntry 4 }
zyStackingSlotChannelInfoNeighbor OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"neighbor slot id connected by stacking channel."
::= { zyxelStackingSlotChannelInfoEntry 5 }
zyStackingSlotChannelInfoSpeed OBJECT-TYPE
SYNTAX INTEGER {
none(0),
speed_10G(1),
speed_12G(2),
speed_20G(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"neighbor slot id connected by stacking channel."
::= { zyxelStackingSlotChannelInfoEntry 6 }
-- zyStackingTopology
zyStackingTopology OBJECT-TYPE
SYNTAX INTEGER {
chain (1),
ring(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"get current stacking topology"
::= { zyxelStackingStatus 3 }
-- zyxelStackingTrapInfoObjects
zyStackingTrapInfoMsg OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"There is the message of stacking trap."
::= { zyxelStackingTrapInfoObjects 1 }
-- zyStackingNotifications
zyStackingChannelUp NOTIFICATION-TYPE
OBJECTS {
zyStackingSlotChannelInfoSlot,
zyStackingSlotChannelInfoChannnel
}
STATUS current
DESCRIPTION
"Stacking channel up."
::= { zyxelStackingNotifications 1 }
zyStackingChannelDown NOTIFICATION-TYPE
OBJECTS {
zyStackingSlotChannelInfoSlot,
zyStackingSlotChannelInfoChannnel
}
STATUS current
DESCRIPTION
"Stacking channel down."
::= { zyxelStackingNotifications 2 }
zyStackingSlotAttach NOTIFICATION-TYPE
OBJECTS {
zyStackingSlotChannelInfoSlot
}
STATUS current
DESCRIPTION
"Stacking slot attached success."
::= { zyxelStackingNotifications 3 }
zyStackingSlotDetach NOTIFICATION-TYPE
OBJECTS {
zyStackingSlotChannelInfoSlot
}
STATUS current
DESCRIPTION
"Stacking slot detach."
::= { zyxelStackingNotifications 4 }
zyStackingNewMaster NOTIFICATION-TYPE
OBJECTS {
zyStackingSlotChannelInfoSlot
}
STATUS current
DESCRIPTION
"New master with correspond slot ID."
::= { zyxelStackingNotifications 5 }
zyStackingUpgradeFirmwareFail NOTIFICATION-TYPE
OBJECTS {
zyStackingSlotChannelInfoSlot
}
STATUS current
DESCRIPTION
"Upgrade firmware fail with correspond slot ID"
::= { zyxelStackingNotifications 6 }
zyStackingNewBackup NOTIFICATION-TYPE
OBJECTS {
zyStackingSlotChannelInfoSlot
}
STATUS current
DESCRIPTION
"New Backup with correspond slot ID."
::= { zyxelStackingNotifications 7 }
zyStackingBackupTakeover NOTIFICATION-TYPE
OBJECTS {
zyStackingSlotChannelInfoSlot
}
STATUS current
DESCRIPTION
"Replaced master with correspond slot ID."
::= { zyxelStackingNotifications 8 }
zyStackingNewMasterFromTakeover NOTIFICATION-TYPE
OBJECTS {
zyStackingSlotChannelInfoSlot
}
STATUS current
DESCRIPTION
"New master from taking over with correspond slot ID."
::= { zyxelStackingNotifications 9 }
zyStackingSyncConfFail NOTIFICATION-TYPE
OBJECTS {
zyStackingSlotChannelInfoSlot
}
STATUS current
DESCRIPTION
"Sync. configuration fail with correspond slot ID."
::= { zyxelStackingNotifications 10 }
zyStackingSysRestoreConfFail NOTIFICATION-TYPE
OBJECTS {
zyStackingSlotChannelInfoSlot
}
STATUS current
DESCRIPTION
"Stacking backup takeover resotre configuration fail."
::= { zyxelStackingNotifications 11 }
zyStackingSlotInitFail NOTIFICATION-TYPE
OBJECTS {
zyStackingTrapInfoMsg
}
STATUS current
DESCRIPTION
"Stacking Slot init fail."
::= { zyxelStackingNotifications 12 }
zyStackingSlotChangeIndex NOTIFICATION-TYPE
OBJECTS {
zyStackingTrapInfoMsg
}
STATUS current
DESCRIPTION
"Stacking change slot index."
::= { zyxelStackingNotifications 13 }
zyStackingPriorityChange NOTIFICATION-TYPE
OBJECTS {
zyStackingTrapInfoMsg
}
STATUS current
DESCRIPTION
"Staking prority change."
::= { zyxelStackingNotifications 14 }
zyStackingTopologyChange NOTIFICATION-TYPE
OBJECTS {
zyStackingTrapInfoMsg
}
STATUS current
DESCRIPTION
"Staking topology change."
::= { zyxelStackingNotifications 15 }
END
+392
View File
@@ -0,0 +1,392 @@
-- ZyXEL Communications Corporation
-- Private Enterprise MIB definition
-- This file describes the ZyXEL Communications Corporation Enterprise MIB.
-- It contains ZyXEL products OIDs, and common managed objects.
-- ZYXEL-TRANSCEIVER-MIB.mib
-- Revision 1.11 2013/12/06
ZYXEL-TRANSCEIVER-MIB DEFINITIONS ::= BEGIN
IMPORTS
OBJECT-TYPE
FROM SNMPv2-SMI -- RFC2578
MODULE-IDENTITY
FROM SNMPv2-SMI
DisplayString
FROM SNMPv2-TC
dot1dBasePort
FROM BRIDGE-MIB
ifIndex
FROM IF-MIB -- RFC2863
NOTIFICATION-TYPE
FROM SNMPv2-SMI
esMgmt
FROM ZYXEL-ES-SMI;
zyxelTransceiver MODULE-IDENTITY
LAST-UPDATED "201207010000Z"
ORGANIZATION "Enterprise Solution ZyXEL"
CONTACT-INFO
""
DESCRIPTION
"The subtree for transceiver"
::= { esMgmt 84 }
zyxelTransceiverStatus OBJECT IDENTIFIER ::= { zyxelTransceiver 1 }
zyxelTransceiverTrapInfoObject OBJECT IDENTIFIER ::= { zyxelTransceiver 2 }
zyxelTransceiverNotifications OBJECT IDENTIFIER ::= { zyxelTransceiver 3 }
-- *******************************************************************
-- *
-- * zyxelTransceiverStatus
-- *
-- *******************************************************************
-- zyxelTransceiverSerialTable
zyxelTransceiverSerialTable OBJECT-TYPE
SYNTAX SEQUENCE OF ZyxelTransceiverSerialEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table contains transceiver serial information."
::= { zyxelTransceiverStatus 1 }
zyxelTransceiverSerialEntry OBJECT-TYPE
SYNTAX ZyxelTransceiverSerialEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry contains transceiver serial information."
INDEX { dot1dBasePort }
::= { zyxelTransceiverSerialTable 1 }
ZyxelTransceiverSerialEntry ::=
SEQUENCE {
zyTransceiverSerialModuleType INTEGER,
zyTransceiverSerialVendor DisplayString,
zyTransceiverSerialPartNumber DisplayString,
zyTransceiverSerialSerialNumber DisplayString,
zyTransceiverSerialRevision DisplayString,
zyTransceiverSerialDateCode DisplayString,
zyTransceiverSerialTransceiver DisplayString
}
zyTransceiverSerialModuleType OBJECT-TYPE
SYNTAX INTEGER {
okWithDdm(1),
okWithoutDdm(2),
nonoperational(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transceiver module type."
::= { zyxelTransceiverSerialEntry 1 }
zyTransceiverSerialVendor OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transceiver module vendor name."
::= { zyxelTransceiverSerialEntry 2 }
zyTransceiverSerialPartNumber OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Part number provided by transceiver module vendor."
::= { zyxelTransceiverSerialEntry 3 }
zyTransceiverSerialSerialNumber OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Serial number provided by transceiver module vendor."
::= { zyxelTransceiverSerialEntry 4 }
zyTransceiverSerialRevision OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Revision level for part number provided by transceiver module vendor."
::= { zyxelTransceiverSerialEntry 5 }
zyTransceiverSerialDateCode OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transceiver module vendor's manufacturing date code."
::= { zyxelTransceiverSerialEntry 6 }
zyTransceiverSerialTransceiver OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transceiver module type names."
::= { zyxelTransceiverSerialEntry 7 }
-- zyxelTransceiverDdmiTable
zyxelTransceiverDdmiTable OBJECT-TYPE
SYNTAX SEQUENCE OF ZyxelTransceiverDdmiEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table contains transceiver DDMI information."
::= { zyxelTransceiverStatus 2 }
zyxelTransceiverDdmiEntry OBJECT-TYPE
SYNTAX ZyxelTransceiverDdmiEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry contains transceiver DDMI information."
INDEX { dot1dBasePort, zyTransceiverDdmiType }
::= { zyxelTransceiverDdmiTable 1 }
ZyxelTransceiverDdmiEntry ::=
SEQUENCE {
zyTransceiverDdmiType INTEGER,
zyTransceiverDdmiAlarmMax INTEGER,
zyTransceiverDdmiAlarmMin INTEGER,
zyTransceiverDdmiWarnMax INTEGER,
zyTransceiverDdmiWarnMin INTEGER,
zyTransceiverDdmiCurrent INTEGER,
zyTransceiverDdmiDescription DisplayString
}
zyTransceiverDdmiType OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transceiver DDMI information type."
::= { zyxelTransceiverDdmiEntry 1 }
zyTransceiverDdmiAlarmMax OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transceiver high alarm threshold.
The unit for temperature is 0.01C
The unit for voltage is 0.01V
The unit for TX bias is 0.01mA
The unit for TX/RX power is 0.01dbm"
::= { zyxelTransceiverDdmiEntry 2 }
zyTransceiverDdmiAlarmMin OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transceiver low alarm threshold.
The unit for temperature is 0.01C
The unit for voltage is 0.01V
The unit for TX bias is 0.01mA
The unit for TX/RX power is 0.01dbm"
::= { zyxelTransceiverDdmiEntry 3 }
zyTransceiverDdmiWarnMax OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transceiver high warn threshold.
The unit for temperature is 0.01C
The unit for voltage is 0.01V
The unit for TX bias is 0.01mA
The unit for TX/RX power is 0.01dbm"
::= { zyxelTransceiverDdmiEntry 4 }
zyTransceiverDdmiWarnMin OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transceiver low warn threshold.
The unit for temperature is 0.01C
The unit for voltage is 0.01V
The unit for TX bias is 0.01mA
The unit for TX/RX power is 0.01dbm"
::= { zyxelTransceiverDdmiEntry 5 }
zyTransceiverDdmiCurrent OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transceiver current DDMI value.
The unit for temperature is 0.01C
The unit for voltage is 0.01V
The unit for TX bias is 0.01mA
The unit for TX/RX power is 0.01dbm"
::= { zyxelTransceiverDdmiEntry 6 }
zyTransceiverDdmiDescription OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transceiver DDMI description. Show N/A if transceiver DDMI is not available."
::= { zyxelTransceiverDdmiEntry 7 }
-- *******************************************************************
-- *
-- * zyxelTransceiverTrapInfoObject
-- *
-- *******************************************************************
zyTransceiverTrapOutOfRangeType OBJECT-TYPE
SYNTAX INTEGER {
alarmHigh(0),
warnHigh(1),
alarmLow(2),
warnLow(3)
}
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"There are the type of DDMI out of the normal operation range."
::= { zyxelTransceiverTrapInfoObject 1 }
zyTransceiverTrapOutOfRangeValue OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"There are the value of DDMI out of the normal operation range."
::= { zyxelTransceiverTrapInfoObject 2 }
-- *******************************************************************
-- *
-- * zyxelTransceiverNotifications
-- *
-- *******************************************************************
-- zyxelTransceiverDdmiTemperatureOutOfRange
zyTransceiverDdmiTemperatureOutOfRange NOTIFICATION-TYPE
OBJECTS {
ifIndex,
zyTransceiverTrapOutOfRangeType
}
STATUS current
DESCRIPTION
"DDMI temperature is out of the normal operation range."
::= { zyxelTransceiverNotifications 1 }
-- zyxelTransceiverDdmiTxPowerOutOfRange
zyTransceiverDdmiTxPowerOutOfRange NOTIFICATION-TYPE
OBJECTS {
ifIndex,
zyTransceiverTrapOutOfRangeType
}
STATUS current
DESCRIPTION
"DDMI TxPower is out of the normal operation range."
::= { zyxelTransceiverNotifications 2 }
-- zyxelTransceiverDdmiRxPowerOutOfRange
zyTransceiverDdmiRxPowerOutOfRange NOTIFICATION-TYPE
OBJECTS {
ifIndex,
zyTransceiverTrapOutOfRangeType
}
STATUS current
DESCRIPTION
"DDMI RxPower is out of the normal operation range."
::= { zyxelTransceiverNotifications 3 }
-- zyxelTransceiverDdmiVoltageOutOfRange
zyTransceiverDdmiVoltageOutOfRange NOTIFICATION-TYPE
OBJECTS {
ifIndex,
zyTransceiverTrapOutOfRangeType
}
STATUS current
DESCRIPTION
"DDMI voltage is out of the normal operation range."
::= { zyxelTransceiverNotifications 4 }
-- zyxelTransceiverDdmiTxBiasOutOfRange
zyTransceiverDdmiTxBiasOutOfRange NOTIFICATION-TYPE
OBJECTS {
ifIndex,
zyTransceiverTrapOutOfRangeType
}
STATUS current
DESCRIPTION
"DDMI TX bias is out of the normal operation range."
::= { zyxelTransceiverNotifications 5 }
-- zyxelTransceiverDdmiTemperatureOutOfRangeRecovered
zyTransceiverDdmiTemperatureOutOfRangeRecovered NOTIFICATION-TYPE
OBJECTS {
ifIndex,
zyTransceiverTrapOutOfRangeType
}
STATUS current
DESCRIPTION
"DDMI temperature is recovered from out of the normal operation range."
::= { zyxelTransceiverNotifications 6 }
-- zyxelTransceiverDdmiTxPowerOutOfRangeRecovered
zyTransceiverDdmiTxPowerOutOfRangeRecovered NOTIFICATION-TYPE
OBJECTS {
ifIndex,
zyTransceiverTrapOutOfRangeType
}
STATUS current
DESCRIPTION
"DDMI TxPower is recovered from out of the normal operation range."
::= { zyxelTransceiverNotifications 7 }
-- zyxelTransceiverDdmiRxPowerOutOfRangeRecovered
zyTransceiverDdmiRxPowerOutOfRangeRecovered NOTIFICATION-TYPE
OBJECTS {
ifIndex,
zyTransceiverTrapOutOfRangeType
}
STATUS current
DESCRIPTION
"DDMI RxPower is recovered from out of the normal operation range."
::= { zyxelTransceiverNotifications 8 }
-- zyxelTransceiverDdmiVoltageOutOfRangeRecovered
zyTransceiverDdmiVoltageOutOfRangeRecovered NOTIFICATION-TYPE
OBJECTS {
ifIndex,
zyTransceiverTrapOutOfRangeType
}
STATUS current
DESCRIPTION
"DDMI voltage is recovered from out of the normal operation range."
::= { zyxelTransceiverNotifications 9 }
-- zyxelTransceiverDdmiTxBiasOutOfRangeRecovered
zyTransceiverDdmiTxBiasOutOfRangeRecovered NOTIFICATION-TYPE
OBJECTS {
ifIndex,
zyTransceiverTrapOutOfRangeType
}
STATUS current
DESCRIPTION
"DDMI TX bias is recovered from out of the normal operation range."
::= { zyxelTransceiverNotifications 10 }
END
+4973 -16771
View File
File diff suppressed because it is too large Load Diff
+24 -24
View File
@@ -30,7 +30,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp00",
"ifName": "swp00",
"ifName": "1/01",
"portName": null,
"ifIndex": 1,
"ifSpeed": null,
@@ -135,7 +135,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp01",
"ifName": "swp01",
"ifName": "1/02",
"portName": null,
"ifIndex": 2,
"ifSpeed": null,
@@ -240,7 +240,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp02",
"ifName": "swp02",
"ifName": "1/03",
"portName": null,
"ifIndex": 3,
"ifSpeed": null,
@@ -345,7 +345,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp03",
"ifName": "swp03",
"ifName": "1/04",
"portName": null,
"ifIndex": 4,
"ifSpeed": null,
@@ -450,7 +450,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp04",
"ifName": "swp04",
"ifName": "1/05",
"portName": null,
"ifIndex": 5,
"ifSpeed": null,
@@ -555,7 +555,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp05",
"ifName": "swp05",
"ifName": "1/06",
"portName": null,
"ifIndex": 6,
"ifSpeed": null,
@@ -660,7 +660,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp06",
"ifName": "swp06",
"ifName": "1/07",
"portName": null,
"ifIndex": 7,
"ifSpeed": null,
@@ -765,7 +765,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp07",
"ifName": "swp07",
"ifName": "1/08",
"portName": null,
"ifIndex": 8,
"ifSpeed": null,
@@ -870,7 +870,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp08",
"ifName": "swp08",
"ifName": "1/09",
"portName": null,
"ifIndex": 9,
"ifSpeed": null,
@@ -975,7 +975,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp09",
"ifName": "swp09",
"ifName": "1/10",
"portName": null,
"ifIndex": 10,
"ifSpeed": null,
@@ -1080,7 +1080,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp10",
"ifName": "swp10",
"ifName": "1/11",
"portName": null,
"ifIndex": 11,
"ifSpeed": null,
@@ -1185,7 +1185,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp11",
"ifName": "swp11",
"ifName": "1/12",
"portName": null,
"ifIndex": 12,
"ifSpeed": null,
@@ -1399,7 +1399,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp00",
"ifName": "swp00",
"ifName": "1/01",
"portName": null,
"ifIndex": 1,
"ifSpeed": 1000000000,
@@ -1504,7 +1504,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp01",
"ifName": "swp01",
"ifName": "1/02",
"portName": null,
"ifIndex": 2,
"ifSpeed": 0,
@@ -1609,7 +1609,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp02",
"ifName": "swp02",
"ifName": "1/03",
"portName": null,
"ifIndex": 3,
"ifSpeed": 0,
@@ -1714,7 +1714,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp03",
"ifName": "swp03",
"ifName": "1/04",
"portName": null,
"ifIndex": 4,
"ifSpeed": 0,
@@ -1819,7 +1819,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp04",
"ifName": "swp04",
"ifName": "1/05",
"portName": null,
"ifIndex": 5,
"ifSpeed": 1000000000,
@@ -1924,7 +1924,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp05",
"ifName": "swp05",
"ifName": "1/06",
"portName": null,
"ifIndex": 6,
"ifSpeed": 1000000000,
@@ -2029,7 +2029,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp06",
"ifName": "swp06",
"ifName": "1/07",
"portName": null,
"ifIndex": 7,
"ifSpeed": 0,
@@ -2134,7 +2134,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp07",
"ifName": "swp07",
"ifName": "1/08",
"portName": null,
"ifIndex": 8,
"ifSpeed": 0,
@@ -2239,7 +2239,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp08",
"ifName": "swp08",
"ifName": "1/09",
"portName": null,
"ifIndex": 9,
"ifSpeed": 100000000,
@@ -2344,7 +2344,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp09",
"ifName": "swp09",
"ifName": "1/10",
"portName": null,
"ifIndex": 10,
"ifSpeed": 1000000000,
@@ -2449,7 +2449,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp10",
"ifName": "swp10",
"ifName": "1/11",
"portName": null,
"ifIndex": 11,
"ifSpeed": 1000000000,
@@ -2554,7 +2554,7 @@
"port_descr_speed": null,
"port_descr_notes": null,
"ifDescr": "swp11",
"ifName": "swp11",
"ifName": "1/12",
"portName": null,
"ifIndex": 12,
"ifSpeed": 1000000000,
File diff suppressed because it is too large Load Diff
+5072 -3982
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff