From 9dba9f626556f73febedd88c57b3382c24fa7f1a Mon Sep 17 00:00:00 2001 From: KodApa85 Date: Mon, 18 Feb 2019 02:07:13 +0000 Subject: [PATCH] Netgear m5300 health sensors (#9744) * ZyXEL XGS4600-32F - Added mib for diagnostics - CPU/Mem - Temp/Fan/Voltage - Updated zyxel group mempools - Updated test data - snmprec - json - Altered ZyWall - To exclude XGS switches * Defined ZYXEL-HW-MONITOR-MIB at the top of file * Removed .MIB * Netgear M5300 - Added mibs for diagnostics - CPU/Mem - Temp/Fan/Voltage * Netgear M5300 - Added mibs for diagnostics - CPU/Mem - Temp/Fan/Voltage * Create netgear.json --- includes/definitions/discovery/netgear.yaml | 38 ++ mibs/netgear/NETGEAR-BOXSERVICES-PRIVATE-MIB | 646 +++++++++++++++++++ mibs/netgear/NETGEAR-REF-MIB | 306 +++++++++ tests/data/netgear.json | 458 +++++++++++++ tests/snmpsim/netgear.snmprec | 89 +++ 5 files changed, 1537 insertions(+) create mode 100644 includes/definitions/discovery/netgear.yaml create mode 100644 mibs/netgear/NETGEAR-BOXSERVICES-PRIVATE-MIB create mode 100644 mibs/netgear/NETGEAR-REF-MIB create mode 100644 tests/data/netgear.json diff --git a/includes/definitions/discovery/netgear.yaml b/includes/definitions/discovery/netgear.yaml new file mode 100644 index 0000000000..028430c329 --- /dev/null +++ b/includes/definitions/discovery/netgear.yaml @@ -0,0 +1,38 @@ +mib: NETGEAR-BOXSERVICES-PRIVATE-MIB +modules: + sensors: + pre-cache: + data: + - oid: + - boxServicesNormalTempRangeMin + - boxServicesNormalTempRangeMax + temperature: + options: + skip_values_lt: 0 + data: + - + oid: boxServicesTempSensorsTable + value: boxServicesTempSensorTemperature + num_oid: '.1.3.6.1.4.1.4526.10.43.1.8.1.5.{{ $index }}' + descr: 'Switch {{ $index }} Temperature' + index: 'boxServicesTempSensorTemperature.{{ $index }}' + low_limit: boxServicesNormalTempRangeMin + high_limit: boxServicesNormalTempRangeMax + state: + data: + - + oid: boxServicesFansTable + value: boxServicesFanItemState + num_oid: '.1.3.6.1.4.1.4526.10.43.1.6.1.3.{{ $index }}' + descr: 'Switch {{ $index }} Fan State' + index: 'boxServicesFanItemState.{{ $index }}' + state_name: boxServicesFanItemState + states: + - { value: 1, generic: 0, graph: 0, descr: notpresent } + - { value: 2, generic: 0, graph: 0, descr: operational } + - { value: 3, generic: 2, graph: 0, descr: failed } + - { value: 4, generic: 3, graph: 0, descr: powering } + - { value: 5, generic: 3, graph: 0, descr: nopower } + - { value: 6, generic: 3, graph: 0, descr: notpowering } + - { value: 7, generic: 1, graph: 0, descr: incompatible } + diff --git a/mibs/netgear/NETGEAR-BOXSERVICES-PRIVATE-MIB b/mibs/netgear/NETGEAR-BOXSERVICES-PRIVATE-MIB new file mode 100644 index 0000000000..c95964c098 --- /dev/null +++ b/mibs/netgear/NETGEAR-BOXSERVICES-PRIVATE-MIB @@ -0,0 +1,646 @@ +-- Box Services MIB overview: +-- Box Services MIB falls under ng7000managedswitch MIB node of the private subtree. + +NETGEAR-BOXSERVICES-PRIVATE-MIB DEFINITIONS ::= BEGIN + +-- Netgear Inc NETGEAR Box Services MIB +-- Copyright Netgear Inc(2004-2008) All rights reserved. + +-- This SNMP Management Information Specification +-- embodies Netgear Inc's confidential and proprietary +-- intellectual property. Netgear Inc retains all title +-- and ownership in the Specification including any revisions. + +-- This Specification is supplied "AS IS", Netgear Inc +-- makes no warranty, either expressed or implied, +-- as to the use, operation, condition, or performance of the +-- Specification. + + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + Unsigned32, Integer32 FROM SNMPv2-SMI + TEXTUAL-CONVENTION FROM SNMPv2-TC + DisplayString FROM RFC1213-MIB + ng7000managedswitch FROM NETGEAR-REF-MIB; + + fastPathBoxServices MODULE-IDENTITY + LAST-UPDATED "201101260000Z" -- 26 Jan 2011 12:00:00 GMT + ORGANIZATION "Netgear Inc" + CONTACT-INFO "" + + DESCRIPTION + "The Netgear Private MIB for NETGEAR Box Services Feature." + + -- Revision history. + REVISION + "201101260000Z" -- 26 Jan 2011 12:00:00 GMT + DESCRIPTION + "Postal address updated." + REVISION + "200802220000Z" -- 22 Feb 2008 12:00:00 GMT + DESCRIPTION + "Netgear branding related changes." + + ::= { ng7000managedswitch 43 } + +BoxsTemperatureStatus ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "The temperature state" + SYNTAX INTEGER { + low(0), + normal(1), + warning(2), + critical(3), + shutdown(4), + notpresent(5), + notoperational(6) + } + +--************************************************************************************** +-- boxServicesGroup +-- +-- This group provides configuration and status of the Box Services +-- feature. +-- +--************************************************************************************** + + boxServicesGroup OBJECT IDENTIFIER ::= { fastPathBoxServices 1 } + + --************************************************************************************** + -- Some scalars + + boxServicesNormalTempRangeMin OBJECT-TYPE + SYNTAX Integer32 (-100..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " Lower boundary of normal temperature range." + DEFVAL { 0 } + ::= { boxServicesGroup 1 } + + boxServicesNormalTempRangeMax OBJECT-TYPE + SYNTAX Integer32 (-100..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " Upper boundary of normal temperature range." + DEFVAL { 45 } + ::= { boxServicesGroup 2 } + + boxServicesTemperatureTrapEnable OBJECT-TYPE + SYNTAX INTEGER { + enable(1), + disable(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " Enable or disable temperature change event trap, raised when temperature crosses boundaries of normal range" + DEFVAL { enable } + ::= { boxServicesGroup 3 } + + boxServicesPSMStateTrapEnable OBJECT-TYPE + SYNTAX INTEGER { + enable(1), + disable(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " Enable or disable Power Supply Module state change trap." + DEFVAL { enable } + ::= { boxServicesGroup 4 } + + boxServicesFanStateTrapEnable OBJECT-TYPE + SYNTAX INTEGER { + enable(1), + disable(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " Enable or disable Fan state change trap." + DEFVAL { enable } + ::= { boxServicesGroup 5 } + + + + boxServicesThermalShutdownSensor OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The number of the sensor which initiated thermal shutdown." + + ::= { boxServicesGroup 13 } + + boxServicesThermalShutdownTemperature OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The temperature of the sensor which initiated thermal shutdown." + + ::= { boxServicesGroup 14 } + + --************************************************************************************** + -- boxServicesFans + + boxServicesFansTable OBJECT-TYPE + SYNTAX SEQUENCE OF BoxServicesFansEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Fan" + ::= { boxServicesGroup 6 } + + boxServicesFansEntry OBJECT-TYPE + SYNTAX BoxServicesFansEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Box Services Fan Entry" + INDEX { boxServicesFanUnitIndex , boxServicesFansIndex } + ::= { boxServicesFansTable 1 } + + BoxServicesFansEntry ::= SEQUENCE { + boxServicesFanUnitIndex + Unsigned32, + boxServicesFansIndex + Integer32, + boxServicesFanItemType + INTEGER, + boxServicesFanItemState + INTEGER, + boxServicesFanSpeed + OCTET STRING, + boxServicesFanDutyLevel + OCTET STRING + } + + boxServicesFanUnitIndex OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Unit index for an entry in the Box Services Fan Table" + ::= { boxServicesFansEntry 6 } + + boxServicesFansIndex OBJECT-TYPE + SYNTAX Integer32 (0..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Unique index of fan table entry" + ::= { boxServicesFansEntry 1 } + + boxServicesFanItemType OBJECT-TYPE + SYNTAX INTEGER { + fixed(1), + removable(2), + fixedAC(3), + removableDC(4), + fixedDC(5), + removableAC(6) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of fan" + ::= { boxServicesFansEntry 2 } + + + boxServicesFanItemState OBJECT-TYPE + SYNTAX INTEGER { + notpresent(1), + operational(2), + failed(3), + powering(4), + nopower(5), + notpowering(6), + incompatible(7) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The status of fan. nopower(4) - This state means the fan is present but no AC is connected." + ::= { boxServicesFansEntry 3 } + + + boxServicesFanSpeed OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (13)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The speed of fan" + ::= { boxServicesFansEntry 4} + + boxServicesFanDutyLevel OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (13)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The duty level of fan, in percents" + ::= { boxServicesFansEntry 5} + + + --************************************************************************************** + -- boxServicesPowSupplies + + boxServicesPowSuppliesTable OBJECT-TYPE + SYNTAX SEQUENCE OF BoxServicesPowSuppliesEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Power supply" + ::= { boxServicesGroup 7 } + + boxServicesPowSuppliesEntry OBJECT-TYPE + SYNTAX BoxServicesPowSuppliesEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Box Services Power Supply Entry" + INDEX { boxServicesPowerSuppUnitIndex, boxServicesPowSupplyIndex } + ::= { boxServicesPowSuppliesTable 1 } + + BoxServicesPowSuppliesEntry ::= SEQUENCE { + boxServicesPowerSuppUnitIndex + Unsigned32, + boxServicesPowSupplyIndex + Integer32, + boxServicesPowSupplyItemType + INTEGER, + boxServicesPowSupplyItemState + INTEGER + } + + boxServicesPowerSuppUnitIndex OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Unit index for an entry in the Box Services Power Supply Table" + ::= { boxServicesPowSuppliesEntry 4 } + + boxServicesPowSupplyIndex OBJECT-TYPE + SYNTAX Integer32 (0..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Unique index of power supply table entry" + ::= { boxServicesPowSuppliesEntry 1 } + + boxServicesPowSupplyItemType OBJECT-TYPE + SYNTAX INTEGER { + fixed(1), + removable(2), + fixedAC(3), + removableDC(4), + fixedDC(5), + removableAC(6) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of power supply" + ::= { boxServicesPowSuppliesEntry 2 } + + + boxServicesPowSupplyItemState OBJECT-TYPE + SYNTAX INTEGER { + notpresent(1), + operational(2), + failed(3), + powering(4), + nopower(5), + notpowering(6), + incompatible(7) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The status of power supply. nopower(5) - This state means the power supply is present but no AC is connected. + incompatible(7) - This state is possible on boards capable of pluggable Power supplies" + ::= { boxServicesPowSuppliesEntry 3 } + + + + --************************************************************************************** + -- boxServicesTempSensors + + + boxServicesTempSensorsTable OBJECT-TYPE + SYNTAX SEQUENCE OF BoxServicesTempSensorsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Temperature sensor" + ::= { boxServicesGroup 8 } + + + boxServicesTempSensorsEntry OBJECT-TYPE + SYNTAX BoxServicesTempSensorsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Box Services Temperature Sensor Entry" + INDEX { boxServicesUnitIndex, boxServicesTempSensorIndex } + ::= { boxServicesTempSensorsTable 1 } + + BoxServicesTempSensorsEntry ::= SEQUENCE { + boxServicesUnitIndex + Unsigned32, + boxServicesTempSensorIndex + Unsigned32, + boxServicesTempSensorType + INTEGER, + boxServicesTempSensorState + BoxsTemperatureStatus, + boxServicesTempSensorTemperature + Integer32 + } + + boxServicesUnitIndex OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Unit index for an entry in the Box Services Temperature Sensor Table" + ::= { boxServicesTempSensorsEntry 1 } + + boxServicesTempSensorIndex OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Unique index of temperature sensor table entry" + ::= { boxServicesTempSensorsEntry 2 } + + + boxServicesTempSensorType OBJECT-TYPE + SYNTAX INTEGER { + fixed(1), + removable(2), + fixedAC(3), + removableDC(4), + fixedDC(5), + removableAC(6) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of temperature sensor" + ::= { boxServicesTempSensorsEntry 3 } + + + boxServicesTempSensorState OBJECT-TYPE + SYNTAX BoxsTemperatureStatus + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "The state of temperature sensor" + ::= { boxServicesTempSensorsEntry 4 } + + + boxServicesTempSensorTemperature OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The temperature value reported by sensor" + ::= { boxServicesTempSensorsEntry 5 } + + boxServicesTempUnitTable OBJECT-TYPE + SYNTAX SEQUENCE OF BoxServicesTempUnitEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Temperature status table" + ::= { boxServicesGroup 15 } + + boxServicesTempUnitEntry OBJECT-TYPE + SYNTAX BoxServicesTempUnitEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Box Services Temperature Unit Entry" + INDEX { boxServicesTempUnitIndex } + ::= { boxServicesTempUnitTable 1 } + + BoxServicesTempUnitEntry ::= SEQUENCE { + boxServicesTempUnitIndex + Unsigned32, + boxServicesTempUnitState + BoxsTemperatureStatus, + boxServicesTempUnitTemperature + Integer32 + } + + boxServicesTempUnitIndex OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Unit index for an entry in the Box Services Temperature Unit Table" + ::= { boxServicesTempUnitEntry 1 } + + boxServicesTempUnitState OBJECT-TYPE + SYNTAX BoxsTemperatureStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The temperature state of the unit" + ::= { boxServicesTempUnitEntry 2 } + + boxServicesTempUnitTemperature OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The highest temperature currently reported by any sensor on the unit" + ::= { boxServicesTempUnitEntry 3 } + +--************************************************************************************** +-- boxServicesNotificationsGroup +-- +-- This group provides notification definitions for the Box Services +-- feature. +-- +--************************************************************************************** + + boxServicesNotificationsGroup OBJECT IDENTIFIER ::= { fastPathBoxServices 2 } + + --************************************************************************************** + -- boxServices notification definitions + + boxsItemStateChangeEvent OBJECT-TYPE + SYNTAX INTEGER { + insertion(1), + removal(2), + becomeoperational(3), + failure(4), + losepower(5) + } + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This event describes states of the fan or power supply. + + insertion - hot-pluggable fan or power supply was inserted + removal - hot-pluggable fan or power supply was removed + becomeoperational - fan or power supply became operational after failure state + failure - fan or power supply failure happened, i.e. it is not able to perform its functions + losepower - a power supply was operational, but the power to it has been disconnected or has failed" + ::= { boxServicesNotificationsGroup 1 } + + boxsTemperatureChangeEvent OBJECT-TYPE + SYNTAX INTEGER { + abovethreshold(1), + belowthreshold(2), + withinnormalrange(3) + } + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This event describes change of the temperature. + To avoid flipping on boundary conditions, it is allowed to send the trap + taking into account some margin around thresholds. + + abovethreshold - temperature increased and crossed upper threshold value + belowthreshold - temperature decreased and crossed lower threshold value + withinnormalrange - temperature returned to normal range (between threshold)" + ::= { boxServicesNotificationsGroup 2 } + + boxsTemperatureStatusCurrentEvent OBJECT-TYPE + SYNTAX BoxsTemperatureStatus + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This event describes the current status of a switch." + ::= { boxServicesNotificationsGroup 3 } + + boxsTemperatureStatusPreviousEvent OBJECT-TYPE + SYNTAX BoxsTemperatureStatus + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This event describes the previous status of a switch." + ::= { boxServicesNotificationsGroup 4 } + + + +--************************************************************************************** +-- Traps +--************************************************************************************** + + fastPathBoxServicesTraps OBJECT IDENTIFIER ::= { fastPathBoxServices 0 } + + + + boxsFanStateChange NOTIFICATION-TYPE + OBJECTS { + boxServicesFansIndex, + boxsItemStateChangeEvent + } + STATUS current + DESCRIPTION + "Trap is sent when fan state change happens." + ::= { fastPathBoxServicesTraps 1 } + + boxsPowSupplyStateChange NOTIFICATION-TYPE + OBJECTS { + boxServicesPowSupplyIndex, + boxsItemStateChangeEvent + } + STATUS current + DESCRIPTION + "Trap is sent when power supply state change happens." + ::= { fastPathBoxServicesTraps 2 } + + + boxsTemperatureChange NOTIFICATION-TYPE + OBJECTS { + boxServicesTempSensorIndex, + boxsTemperatureChangeEvent + } + STATUS obsolete + DESCRIPTION + "Trap is sent when temperature is changing and crossing any of the thresholds" + ::= { fastPathBoxServicesTraps 3 } + + + boxsThermalShutdown NOTIFICATION-TYPE + OBJECTS { + boxServicesThermalShutdownSensor, + boxServicesThermalShutdownTemperature + } + STATUS current + DESCRIPTION + "Trap is sent when thermal shutdown is initiated." + ::= { fastPathBoxServicesTraps 4 } + + + boxsTemperatureStateChange NOTIFICATION-TYPE + OBJECTS { + boxServicesTempUnitIndex, + boxsTemperatureStatusCurrentEvent, + boxsTemperatureStatusPreviousEvent + } + STATUS current + DESCRIPTION + "Trap is sent when the system temperature crosses a threshold. + To avoid rapid flapping between states, a hysteresis may + be applied." + ::= { fastPathBoxServicesTraps 5 } + +--************************************************************************************** +-- Locator LED manage group +-- +-- This group provides manage definitions for the Locator LED feature. +-- +--************************************************************************************** + + boxsLocatorLedConfigGroup OBJECT IDENTIFIER ::= { fastPathBoxServices 4 } + + boxsLocatorLedUnit OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Spesifies unit number where Locator LED should blink on. + This is write-only value. It always returns '0' on request + if the Locator Led feature is supported." + ::= { boxsLocatorLedConfigGroup 1 } + + boxsLocatorLedTime OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Indicates time period in seconds for Locator LED blinking. + The range is from 20 to 3600 seconds. + The dafault value is 20 seconds. + This is write-only value. It always returns '0' on request + if the Locator Led feature is supported." + DEFVAL { 20 } + ::= { boxsLocatorLedConfigGroup 2 } + + boxsLocatorLedEnable OBJECT-TYPE + SYNTAX INTEGER { + disable(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Starts the Locator LED blinking. + If boxsLocatorLedUnit has not been set current(manager) unit number will be used. + If boxsLocatorLedTime has not been set default value(20 seconds) will be used. + This is write-only value. It always returns '0' on request + if the Locator Led feature is supported." + ::= { boxsLocatorLedConfigGroup 3 } + +END diff --git a/mibs/netgear/NETGEAR-REF-MIB b/mibs/netgear/NETGEAR-REF-MIB new file mode 100644 index 0000000000..85b4a302c8 --- /dev/null +++ b/mibs/netgear/NETGEAR-REF-MIB @@ -0,0 +1,306 @@ +NETGEAR-REF-MIB DEFINITIONS ::= BEGIN + +-- Netgear Fastpath Reference MIB +-- Copyright Netgear Inc (2001-2007) All rights reserved. + +-- This SNMP Management Information Specification +-- embodies Netgear Inc confidential and proprietary +-- intellectual property. Netgear Inc retains all title +-- and ownership in the Specification including any revisions. + +-- This Specification is supplied "AS IS", Netgear Inc +-- makes no warranty, either expressed or implied, +-- as to the use, operation, condition, or performance of the +-- Specification. + + +IMPORTS + MODULE-IDENTITY FROM SNMPv2-SMI + TEXTUAL-CONVENTION FROM SNMPv2-TC + enterprises FROM RFC1155-SMI; + + broadcom MODULE-IDENTITY + LAST-UPDATED "200705230000Z" -- 23 May 2007 12:00:00 GMT + ORGANIZATION "Netgear Inc" + CONTACT-INFO "" + DESCRIPTION + "" + + -- Revision history. + REVISION + "200705230000Z" -- 23 May 2007 12:00:00 GMT + DESCRIPTION + "Netgear branding related changes." + REVISION + "200311210000Z" -- 21 Nov 2003 12:00:00 GMT + DESCRIPTION + "Revisions made for new release." + REVISION + "200302061200Z" -- 6 February 2003 12:00:00 GMT + DESCRIPTION + "Updated for release" + + ::= { enterprises 4413 } + + +-- New definitions +-- broadcomProducts OBJECT IDENTIFIER ::= { broadcom 1 } +-- ng7000managedswitch OBJECT IDENTIFIER ::= { broadcomProducts 1 } + +netgear OBJECT IDENTIFIER ::= { enterprises 4526 } + +-- +-- below are products that defined prior to NMS100 release that they have product code +-- defined directly above the functions objects +-- +managedSwitch OBJECT IDENTIFIER ::= { netgear 1 } +vpnrouter OBJECT IDENTIFIER ::= { netgear 2 } +carrier OBJECT IDENTIFIER ::= { netgear 3 } +wireless OBJECT IDENTIFIER ::= { netgear 4 } +rps OBJECT IDENTIFIER ::= { netgear 5 } +wlanswitch OBJECT IDENTIFIER ::= { netgear 6 } + +--- +--- 700 series L2 managed switch +--- +fsm726s OBJECT IDENTIFIER ::= { managedSwitch 1 } +fsm750s OBJECT IDENTIFIER ::= { managedSwitch 2 } +gsm712 OBJECT IDENTIFIER ::= { managedSwitch 3 } +fsm726 OBJECT IDENTIFIER ::= { managedSwitch 4 } +gsm712f OBJECT IDENTIFIER ::= { managedSwitch 5 } +fsm726v2 OBJECT IDENTIFIER ::= { managedSwitch 10 } + +--- +--- AP +--- +me103 OBJECT IDENTIFIER ::= { wireless 1 } +wg302 OBJECT IDENTIFIER ::= { wireless 2 } +wg102 OBJECT IDENTIFIER ::= { wireless 3 } +wag302 OBJECT IDENTIFIER ::= { wireless 4 } +wag102 OBJECT IDENTIFIER ::= { wireless 5 } +--- +--- Added by Stephen Tsai 2-06-2006 +--- +wg302v2 OBJECT IDENTIFIER ::= { wireless 6 } +wag302v2 OBJECT IDENTIFIER ::= { wireless 7 } + + + +--- +--- WLAN Switch +--- +wls538 OBJECT IDENTIFIER ::= { wlanswitch 1 } + +--- +--- 7000 series L2/L3 managed switch +--- +gsm7312 OBJECT IDENTIFIER ::= { managedSwitch 6 } +gsm7324 OBJECT IDENTIFIER ::= { managedSwitch 7 } +gsm7224 OBJECT IDENTIFIER ::= { managedSwitch 8 } +fsm7326p OBJECT IDENTIFIER ::= { managedSwitch 9 } + +---******************************************************************** +--- new post-NMS100 SNMP products +--- + +-- +-- new post-NMS100 SNMP-enabled products. These products will have their +-- functions defined under each generic product category. +-- +ng7000managedswitch OBJECT IDENTIFIER ::= { netgear 10 } +ng700smartswitch OBJECT IDENTIFIER ::= { netgear 11 } +ngrouter OBJECT IDENTIFIER ::= { netgear 12 } +ngfirewall OBJECT IDENTIFIER ::= { netgear 13 } +ngap OBJECT IDENTIFIER ::= { netgear 14 } +ngwlan OBJECT IDENTIFIER ::= { netgear 15 } +ng9000chassisswitch OBJECT IDENTIFIER ::= { netgear 16 } +ng700stacksmartswitch OBJECT IDENTIFIER ::= { netgear 17 } + +-- +-- and their sysObjectID will be under a branch on their own +-- +productID OBJECT IDENTIFIER ::= { netgear 100 } + +stackswitch OBJECT IDENTIFIER ::= { productID 1 } +l2switch OBJECT IDENTIFIER ::= { productID 2 } +l3switch OBJECT IDENTIFIER ::= { productID 3 } +smartswitch OBJECT IDENTIFIER ::= { productID 4 } +l2Rswitch OBJECT IDENTIFIER ::= { productID 11 } + +router OBJECT IDENTIFIER ::= { productID 5 } +firewall OBJECT IDENTIFIER ::= { productID 6 } +accesspoint OBJECT IDENTIFIER ::= { productID 7 } +wirelessLAN OBJECT IDENTIFIER ::= { productID 8 } +chassisswitch OBJECT IDENTIFIER ::= { productID 9 } +stacksmartswitch OBJECT IDENTIFIER ::= { productID 10 } + +-- +-- Managed switches +-- +fsm7328s OBJECT IDENTIFIER ::= { stackswitch 1 } +fsm7352s OBJECT IDENTIFIER ::= { stackswitch 2 } +gsm7328s OBJECT IDENTIFIER ::= { stackswitch 3 } +gsm7352s OBJECT IDENTIFIER ::= { stackswitch 4 } +fsm7352ps OBJECT IDENTIFIER ::= { stackswitch 5 } +fsm7328ps OBJECT IDENTIFIER ::= { stackswitch 8 } +gsm7328fs OBJECT IDENTIFIER ::= { stackswitch 7 } +gsm7228ps OBJECT IDENTIFIER ::= { stackswitch 9 } +gsm7252ps OBJECT IDENTIFIER ::= { stackswitch 10 } +fsm7226rs OBJECT IDENTIFIER ::= { stackswitch 11 } +fsm7250rs OBJECT IDENTIFIER ::= { stackswitch 12 } +gsm7328se OBJECT IDENTIFIER ::= { stackswitch 13 } +gsm7352se OBJECT IDENTIFIER ::= { stackswitch 14 } +xsm7224s OBJECT IDENTIFIER ::= { stackswitch 15 } + +m530028gpoe OBJECT IDENTIFIER ::= { stackswitch 16 } +m530052gpoe OBJECT IDENTIFIER ::= { stackswitch 17 } +m530028g3 OBJECT IDENTIFIER ::= { stackswitch 18 } +m530052g3 OBJECT IDENTIFIER ::= { stackswitch 19 } +m530028gf3 OBJECT IDENTIFIER ::= { stackswitch 20 } +m530028g OBJECT IDENTIFIER ::= { stackswitch 21 } +m530052g OBJECT IDENTIFIER ::= { stackswitch 22 } + +gsm7312v2 OBJECT IDENTIFIER ::= { l3switch 1 } +gsm7324v2 OBJECT IDENTIFIER ::= { l3switch 2 } +xsm7312 OBJECT IDENTIFIER ::= { l3switch 3 } +gsm7324p OBJECT IDENTIFIER ::= { l3switch 4 } + +gsm7224r OBJECT IDENTIFIER ::= { l2Rswitch 1 } +gsm7248r OBJECT IDENTIFIER ::= { l2Rswitch 2 } +gsm7224rp OBJECT IDENTIFIER ::= { l2Rswitch 3 } +gsm7248rp OBJECT IDENTIFIER ::= { l2Rswitch 4 } +gsm7224v2 OBJECT IDENTIFIER ::= { l2Rswitch 5 } +gsm7248v2 OBJECT IDENTIFIER ::= { l2Rswitch 6 } + +gsm7212f OBJECT IDENTIFIER ::= { l2Rswitch 7 } +gsm5212p OBJECT IDENTIFIER ::= { l2Rswitch 8 } +gsm7212p OBJECT IDENTIFIER ::= { l2Rswitch 9 } +gsm7224p OBJECT IDENTIFIER ::= { l2Rswitch 10 } + +m4100-26g OBJECT IDENTIFIER ::= { l2Rswitch 16 } +m4100-50g OBJECT IDENTIFIER ::= { l2Rswitch 17 } +m4100-26-poe OBJECT IDENTIFIER ::= { l2Rswitch 18 } +m4100-26g-poe OBJECT IDENTIFIER ::= { l2Rswitch 19 } +m4100-50g-poe OBJECT IDENTIFIER ::= { l2Rswitch 20 } +m4100-50-poe OBJECT IDENTIFIER ::= { l2Rswitch 21 } +m4100-d12g OBJECT IDENTIFIER ::= { l2Rswitch 22 } +m4100-d10-poe OBJECT IDENTIFIER ::= { l2Rswitch 23 } +m4100-12gf OBJECT IDENTIFIER ::= { l2Rswitch 24 } +m4100-d12g-poe OBJECT IDENTIFIER ::= { l2Rswitch 25 } +m4100-12g-poe OBJECT IDENTIFIER ::= { l2Rswitch 26 } +m4100-24g-poe OBJECT IDENTIFIER ::= { l2Rswitch 27 } + +-- +-- GSM7324, GSM7312, FSM7326P, and GSM7224, are using two different styles +-- of FP private MIB: dedicate and generic. For those using dedicated one, the sysOID +-- are assigned to "gsm7324", "gsm7312, "fsm7326p", and "gsm7224". For the one using +-- generic MIB, the new OIDs are has a "i" in the end. +-- +gsm7312i OBJECT IDENTIFIER ::= { l3switch 5 } +gsm7324i OBJECT IDENTIFIER ::= { l3switch 6 } +fsm7326pi OBJECT IDENTIFIER ::= { l3switch 7 } + +gsm7248 OBJECT IDENTIFIER ::= { l2switch 1 } +gsm7212 OBJECT IDENTIFIER ::= { l2switch 2 } +gsm7224i OBJECT IDENTIFIER ::= { l2switch 3 } +fsm7226 OBJECT IDENTIFIER ::= { l2switch 4 } + +gcm9000 OBJECT IDENTIFIER ::= { chassisswitch 1 } +xcm8903 OBJECT IDENTIFIER ::= { chassisswitch 6 } + +--- +--- new SNMP-enabled smartswitch +--- +gs748t OBJECT IDENTIFIER ::= { smartswitch 1 } +fs726t OBJECT IDENTIFIER ::= { smartswitch 2 } +gs716t OBJECT IDENTIFIER ::= { smartswitch 3 } +fs750t OBJECT IDENTIFIER ::= { smartswitch 4 } +gs724t OBJECT IDENTIFIER ::= { smartswitch 5 } +fs726tp OBJECT IDENTIFIER ::= { smartswitch 6 } +fs728tp OBJECT IDENTIFIER ::= { smartswitch 7 } +gs108t OBJECT IDENTIFIER ::= { smartswitch 8 } +gs108tp OBJECT IDENTIFIER ::= { smartswitch 9 } +gs724tp OBJECT IDENTIFIER ::= { smartswitch 10 } +gs748tp OBJECT IDENTIFIER ::= { smartswitch 11 } +gs724tr OBJECT IDENTIFIER ::= { smartswitch 12 } +gs748tr OBJECT IDENTIFIER ::= { smartswitch 13 } +gs716tv2 OBJECT IDENTIFIER ::= { smartswitch 16 } +gs724tv3 OBJECT IDENTIFIER ::= { smartswitch 17 } +gs108tv2 OBJECT IDENTIFIER ::= { smartswitch 18 } +gs110tp OBJECT IDENTIFIER ::= { smartswitch 19 } +fs728tpv2 OBJECT IDENTIFIER ::= { smartswitch 20 } +gs716tv3 OBJECT IDENTIFIER ::= { smartswitch 31 } +gs724tv4 OBJECT IDENTIFIER ::= { smartswitch 32 } +gs748tv5 OBJECT IDENTIFIER ::= { smartswitch 33 } +xs712t OBJECT IDENTIFIER ::= { smartswitch 30 } + + +fs728ts OBJECT IDENTIFIER ::= { stacksmartswitch 1 } +fs752ts OBJECT IDENTIFIER ::= { stacksmartswitch 2 } +fs752tps OBJECT IDENTIFIER ::= { stacksmartswitch 3 } +gs724ts OBJECT IDENTIFIER ::= { stacksmartswitch 4 } +gs748ts OBJECT IDENTIFIER ::= { stacksmartswitch 5 } +gs752ts OBJECT IDENTIFIER ::= { stacksmartswitch 12 } +gs728ts OBJECT IDENTIFIER ::= { stacksmartswitch 11 } +gs752tstps OBJECT IDENTIFIER ::= { stacksmartswitch 8 } +gs728tps OBJECT IDENTIFIER ::= { stacksmartswitch 13 } +gs752tps OBJECT IDENTIFIER ::= { stacksmartswitch 14 } +gs752txs OBJECT IDENTIFIER ::= { stacksmartswitch 10 } +gs728txs OBJECT IDENTIFIER ::= { stacksmartswitch 15 } +s3300-28x OBJECT IDENTIFIER ::= { stacksmartswitch 16 } +s3300-28x-poe OBJECT IDENTIFIER ::= { stacksmartswitch 17 } +s3300-52x OBJECT IDENTIFIER ::= { stacksmartswitch 18 } +s3300-52x-poe OBJECT IDENTIFIER ::= { stacksmartswitch 19 } + +--- +--- new SNMP-enabled business router/firewall +--- +fvx538 OBJECT IDENTIFIER ::= { router 1 } +fvs338 OBJECT IDENTIFIER ::= { router 2 } +fvg318 OBJECT IDENTIFIER ::= { router 3 } +fvs336g OBJECT IDENTIFIER ::= { router 4 } + +--- +--- new SNMP-enabled firewall +--- +fwag114 OBJECT IDENTIFIER ::= { firewall 3 } +fvs124g OBJECT IDENTIFIER ::= { firewall 4 } +fvs318v3 OBJECT IDENTIFIER ::= { firewall 5 } +dgfv338 OBJECT IDENTIFIER ::= { firewall 6 } + +--- +--- new SNMP-enabled AP +--- +wpn802 OBJECT IDENTIFIER ::= { accesspoint 1 } +wg312 OBJECT IDENTIFIER ::= { accesspoint 2 } +wag312 OBJECT IDENTIFIER ::= { accesspoint 3 } + +--- +--- new WLAN +--- + +-- New Textual Conventions +AgentPortMask ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Each octet within this value specifies a set of eight + ports, with the first octet specifying ports 1 through + 8, the second octet specifying ports 9 through 16, etc. + Within each octet, the most significant bit represents + the lowest numbered port, and the least significant bit + represents the highest numbered port. Thus, each port + of the bridge is represented by a single bit within the + value of this object. If that bit has a value of '1' + then that port is included in the set of ports; the port + is not included if its bit has a value of '0' + + When setting this value, the system will ignore + configuration for ports not between the first and last + valid ports. Configuration of any port numbers between + this range that are not valid ports return a failure + message, but will still apply configuration for valid + ports." + SYNTAX OCTET STRING + + +END diff --git a/tests/data/netgear.json b/tests/data/netgear.json new file mode 100644 index 0000000000..9976488e95 --- /dev/null +++ b/tests/data/netgear.json @@ -0,0 +1,458 @@ +{ + "os": { + "discovery": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.4526.100.4.32", + "sysDescr": "GS724Tv4 ProSafe 24-port Gigabit Ethernet Smart Switch, 6.3.1.11, B1.0.0.4", + "sysContact": null, + "version": null, + "hardware": null, + "features": null, + "os": "netgear", + "type": "network", + "serial": null, + "icon": "netgear.svg", + "location": null + } + ] + }, + "poller": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.4526.100.4.32", + "sysDescr": "GS724Tv4 ProSafe 24-port Gigabit Ethernet Smart Switch, 6.3.1.11, B1.0.0.4", + "sysContact": null, + "version": " 6.3.1.11", + "hardware": "GS724Tv4", + "features": null, + "os": "netgear", + "type": "network", + "serial": null, + "icon": "netgear.svg", + "location": null + } + ] + } + }, + "sensors": { + "discovery": { + "sensors": [ + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.1.0", + "sensor_index": "boxServicesFanItemState.1.0", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 1.0 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.1.1", + "sensor_index": "boxServicesFanItemState.1.1", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 1.1 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.1.2", + "sensor_index": "boxServicesFanItemState.1.2", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 1.2 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.1.3", + "sensor_index": "boxServicesFanItemState.1.3", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 1.3 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.2.0", + "sensor_index": "boxServicesFanItemState.2.0", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 2.0 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.2.1", + "sensor_index": "boxServicesFanItemState.2.1", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 2.1 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.2.2", + "sensor_index": "boxServicesFanItemState.2.2", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 2.2 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.2.3", + "sensor_index": "boxServicesFanItemState.2.3", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 2.3 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.3.0", + "sensor_index": "boxServicesFanItemState.3.0", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 3.0 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.3.1", + "sensor_index": "boxServicesFanItemState.3.1", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 3.1 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.3.2", + "sensor_index": "boxServicesFanItemState.3.2", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 3.2 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.6.1.3.3.3", + "sensor_index": "boxServicesFanItemState.3.3", + "sensor_type": "boxServicesFanItemState", + "sensor_descr": "Switch 3.3 Fan State", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "boxServicesFanItemState" + }, + { + "sensor_deleted": 0, + "sensor_class": "temperature", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.8.1.5.1.0", + "sensor_index": "boxServicesTempSensorTemperature.1.0", + "sensor_type": "netgear", + "sensor_descr": "Switch 1.0 Temperature", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 23, + "sensor_limit": 43, + "sensor_limit_warn": null, + "sensor_limit_low": 13, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "temperature", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.8.1.5.2.0", + "sensor_index": "boxServicesTempSensorTemperature.2.0", + "sensor_type": "netgear", + "sensor_descr": "Switch 2.0 Temperature", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 24, + "sensor_limit": 44, + "sensor_limit_warn": null, + "sensor_limit_low": 14, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "temperature", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.4526.10.43.1.8.1.5.3.0", + "sensor_index": "boxServicesTempSensorTemperature.3.0", + "sensor_type": "netgear", + "sensor_descr": "Switch 3.0 Temperature", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 23, + "sensor_limit": 43, + "sensor_limit_warn": null, + "sensor_limit_low": 13, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + } + ], + "state_indexes": [ + { + "state_name": "boxServicesFanItemState", + "state_descr": "notpresent", + "state_draw_graph": 0, + "state_value": 1, + "state_generic_value": 0 + }, + { + "state_name": "boxServicesFanItemState", + "state_descr": "operational", + "state_draw_graph": 0, + "state_value": 2, + "state_generic_value": 0 + }, + { + "state_name": "boxServicesFanItemState", + "state_descr": "failed", + "state_draw_graph": 0, + "state_value": 3, + "state_generic_value": 2 + }, + { + "state_name": "boxServicesFanItemState", + "state_descr": "powering", + "state_draw_graph": 0, + "state_value": 4, + "state_generic_value": 3 + }, + { + "state_name": "boxServicesFanItemState", + "state_descr": "nopower", + "state_draw_graph": 0, + "state_value": 5, + "state_generic_value": 3 + }, + { + "state_name": "boxServicesFanItemState", + "state_descr": "notpowering", + "state_draw_graph": 0, + "state_value": 6, + "state_generic_value": 3 + }, + { + "state_name": "boxServicesFanItemState", + "state_descr": "incompatible", + "state_draw_graph": 0, + "state_value": 7, + "state_generic_value": 1 + } + ] + }, + "poller": "matches discovery" + } +} diff --git a/tests/snmpsim/netgear.snmprec b/tests/snmpsim/netgear.snmprec index 697f9d3051..3b5b44d891 100644 --- a/tests/snmpsim/netgear.snmprec +++ b/tests/snmpsim/netgear.snmprec @@ -1,2 +1,91 @@ 1.3.6.1.2.1.1.1.0|4|GS724Tv4 ProSafe 24-port Gigabit Ethernet Smart Switch, 6.3.1.11, B1.0.0.4 1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.4526.100.4.32 +1.3.6.1.4.1.4526.10.43.1.1.0|2|0 +1.3.6.1.4.1.4526.10.43.1.2.0|2|90 +1.3.6.1.4.1.4526.10.43.1.6.1.1.1.0|2|0 +1.3.6.1.4.1.4526.10.43.1.6.1.1.1.1|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.1.1.2|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.1.1.3|2|3 +1.3.6.1.4.1.4526.10.43.1.6.1.1.2.0|2|0 +1.3.6.1.4.1.4526.10.43.1.6.1.1.2.1|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.1.2.2|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.1.2.3|2|3 +1.3.6.1.4.1.4526.10.43.1.6.1.1.3.0|2|0 +1.3.6.1.4.1.4526.10.43.1.6.1.1.3.1|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.1.3.2|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.1.3.3|2|3 +1.3.6.1.4.1.4526.10.43.1.6.1.2.1.0|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.2.1.1|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.2.1.2|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.2.1.3|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.2.2.0|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.2.2.1|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.2.2.2|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.2.2.3|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.2.3.0|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.2.3.1|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.2.3.2|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.2.3.3|2|1 +1.3.6.1.4.1.4526.10.43.1.6.1.3.1.0|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.3.1.1|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.3.1.2|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.3.1.3|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.3.2.0|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.3.2.1|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.3.2.2|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.3.2.3|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.3.3.0|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.3.3.1|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.3.3.2|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.3.3.3|2|2 +1.3.6.1.4.1.4526.10.43.1.6.1.4.1.0|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.4.1.1|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.4.1.2|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.4.1.3|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.4.2.0|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.4.2.1|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.4.2.2|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.4.2.3|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.4.3.0|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.4.3.1|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.4.3.2|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.4.3.3|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.1.0|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.1.1|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.1.2|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.1.3|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.2.0|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.2.1|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.2.2|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.2.3|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.3.0|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.3.1|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.3.2|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.5.3.3|4|0 +1.3.6.1.4.1.4526.10.43.1.6.1.6.1.0|66|1 +1.3.6.1.4.1.4526.10.43.1.6.1.6.1.1|66|1 +1.3.6.1.4.1.4526.10.43.1.6.1.6.1.2|66|1 +1.3.6.1.4.1.4526.10.43.1.6.1.6.1.3|66|1 +1.3.6.1.4.1.4526.10.43.1.6.1.6.2.0|66|2 +1.3.6.1.4.1.4526.10.43.1.6.1.6.2.1|66|2 +1.3.6.1.4.1.4526.10.43.1.6.1.6.2.2|66|2 +1.3.6.1.4.1.4526.10.43.1.6.1.6.2.3|66|2 +1.3.6.1.4.1.4526.10.43.1.6.1.6.3.0|66|3 +1.3.6.1.4.1.4526.10.43.1.6.1.6.3.1|66|3 +1.3.6.1.4.1.4526.10.43.1.6.1.6.3.2|66|3 +1.3.6.1.4.1.4526.10.43.1.6.1.6.3.3|66|3 +1.3.6.1.4.1.4526.10.43.1.8.1.1.1.0|66|1 +1.3.6.1.4.1.4526.10.43.1.8.1.1.2.0|66|2 +1.3.6.1.4.1.4526.10.43.1.8.1.1.3.0|66|3 +1.3.6.1.4.1.4526.10.43.1.8.1.2.1.0|66|0 +1.3.6.1.4.1.4526.10.43.1.8.1.2.2.0|66|0 +1.3.6.1.4.1.4526.10.43.1.8.1.2.3.0|66|0 +1.3.6.1.4.1.4526.10.43.1.8.1.3.1.0|2|1 +1.3.6.1.4.1.4526.10.43.1.8.1.3.2.0|2|1 +1.3.6.1.4.1.4526.10.43.1.8.1.3.3.0|2|1 +1.3.6.1.4.1.4526.10.43.1.8.1.4.1.0|2|1 +1.3.6.1.4.1.4526.10.43.1.8.1.4.2.0|2|1 +1.3.6.1.4.1.4526.10.43.1.8.1.4.3.0|2|1 +1.3.6.1.4.1.4526.10.43.1.8.1.5.1.0|2|23 +1.3.6.1.4.1.4526.10.43.1.8.1.5.2.0|2|24 +1.3.6.1.4.1.4526.10.43.1.8.1.5.3.0|2|23