From b8d9ab3292d80ea9019c0c76a0bffdc2773e49e4 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 9 Jul 2016 00:11:45 +0100 Subject: [PATCH 01/31] Added the logging of which version upgrading from -> to --- daily.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/daily.sh b/daily.sh index 033f6a38b8..de298c7b9c 100755 --- a/daily.sh +++ b/daily.sh @@ -38,10 +38,20 @@ if [ -z "$arg" ]; then exit elif [ "$up" -eq 1 ]; then # Update to Master-Branch + old_ver=$(git show --pretty="%H" -s HEAD) status_run 'Updating to latest codebase' 'git pull --quiet' + new_ver=$(git show --pretty="%H" -s HEAD) + if [ "$old_ver" != "$new_ver" ]; then + status_run "Updated from $old_ver to $new_ver" '' + fi elif [ "$up" -eq 3 ]; then # Update to last Tag + old_ver=$(git describe --exact-match --tags $(git log -n1 --pretty='%h')) status_run 'Updating to latest release' 'git fetch --tags && git checkout $(git describe --tags $(git rev-list --tags --max-count=1))' + new_ver=$(git describe --exact-match --tags $(git log -n1 --pretty='%h')) + if [ "$old_ver" -ne "$new_ver" ]; then + status_run "Updated from $old_ver to $new_ver" '' + fi fi cnf=$(echo $(grep '\[.distributed_poller.\]' config.php | egrep -v -e '^//' -e '^#' | cut -d = -f 2 | sed 's/;//g')) From 52455e1128b6cd7fa9c38d1149c5c4ad6842d4b0 Mon Sep 17 00:00:00 2001 From: Aaron Daniels Date: Thu, 10 Mar 2016 17:30:32 +1000 Subject: [PATCH 02/31] Component Update - Status - Align the component status field with the Nagios standard 0=ok, 1=warning, 2=critical - Modify existing modules to report these status' (Cisco-OTV) - Add/Modify Alerting Macros to use these status' - Add the a component status widget - update edit page to report these status' --- doc/Extensions/Component.md | 17 ++-- html/includes/common/component-status.inc.php | 41 +++++++++ html/includes/table/component.inc.php | 17 +++- html/pages/device/edit/component.inc.php | 20 ++++- html/pages/device/routing/cisco-otv.inc.php | 4 +- html/pages/routing/cisco-otv.inc.php | 4 +- includes/component.php | 87 ++++++++++++++++++- includes/discovery/cisco-otv.inc.php | 8 +- includes/polling/cisco-otv.inc.php | 8 +- sql-schema/{122.sql => 124.sql} | 0 10 files changed, 181 insertions(+), 25 deletions(-) create mode 100644 html/includes/common/component-status.inc.php rename sql-schema/{122.sql => 124.sql} (100%) diff --git a/doc/Extensions/Component.md b/doc/Extensions/Component.md index 5fcf3838ff..2d3663b363 100644 --- a/doc/Extensions/Component.md +++ b/doc/Extensions/Component.md @@ -23,7 +23,7 @@ Table of Content: The Component extension provides a generic database storage mechanism for discovery and poller modules. The Driver behind this extension was to provide the features of ports, in a generic manner to discovery/poller modules. -It provides a status (Normal or Alert), the ability to Disable (do not poll), or Ignore (do not Alert). +It provides a status (Nagios convention), the ability to Disable (do not poll), or Ignore (do not Alert). # Database Structure @@ -282,18 +282,23 @@ Please see the [API-Docs](http://docs.librenms.org/API/API-Docs/#api-route-25) f ## Alerting It is intended that discovery/poller modules will detect the status of a component during the polling cycle. -If you are creating a poller module which can detect a fault condition simply set STATUS to 0 and ERROR to a message that indicates the problem. +Status is logged using the Nagios convention for status codes, where: + 0 = Ok, + 1 = Warning, + 2 = Critical +If you are creating a poller module which can detect a fault condition simply set STATUS to something other than 0 and ERROR to a message that indicates the problem. To actually raise an alert, the user will need to create an alert rule. To assist with this several Alerting Macro's have been created: -- ```%macro.component_alert``` - A component that is not disabled or ignored and in alert state. -- ```%macro.component_normal``` - A component that is not disabled or ignored and NOT in alert state. +- ```%macro.component_normal``` - A component that is not disabled or ignored and in a Normal state. +- ```%macro.component_warning``` - A component that is not disabled or ignored and NOT in a Warning state. +- ```%macro.component_critical``` - A component that is not disabled or ignored and NOT in a Critical state. To raise alerts for components, the following rules could be created: -- ```%macros.component_alert = "1"``` - To alert on all components -- ```%macros.component_alert = "1" && %component.type = ""``` - To alert on all components of a particular type. +- ```%macros.component_critical = "1"``` - To alert on all Critical components +- ```%macros.component_critical = "1" && %component.type = ""``` - To alert on all Critical components of a particular type. If there is a particular component you would like excluded from alerting, simply set the ignore field to 1. diff --git a/html/includes/common/component-status.inc.php b/html/includes/common/component-status.inc.php new file mode 100644 index 0000000000..8a0b1c261d --- /dev/null +++ b/html/includes/common/component-status.inc.php @@ -0,0 +1,41 @@ + + + + + + + + + +'; +foreach ($OBJCOMP->getComponentStatus() as $k => $v) { + if ($k == 0) { + $status = 'Ok'; + $color = 'green'; + } + elseif ($k == 1) { + $status = 'Warning'; + $color = 'grey'; + } + else { + $status = 'Critical'; + $color = 'red'; + } + $common_output[] .= ' + + + + +'; +} +$common_output[] .= ' + +
StatusCount

'.$status.'

'.$v.'

+ +'; diff --git a/html/includes/table/component.inc.php b/html/includes/table/component.inc.php index 7a0873648d..debc50b9e2 100644 --- a/html/includes/table/component.inc.php +++ b/html/includes/table/component.inc.php @@ -34,17 +34,30 @@ $COMPONENTS = $OBJCOMP->getComponents($device_id,$options); $response[] = array( 'id' => '', 'label' => ' ', - 'status' => '', + 'status' => ' ', 'disable' => '', 'ignore' => '', ); foreach ($COMPONENTS[$device_id] as $ID => $AVP) { + if ($AVP['status'] == 0) { + $class = "green"; + $status = "Ok"; + } + elseif ($AVP['status'] == 1) { + $class = "grey"; + $status = "Warning"; + } + else { + // Critical + $class = "red"; + $status = "Critical"; + } $response[] = array( 'id' => $ID, 'type' => $AVP['type'], 'label' => $AVP['label'], - 'status' => ($AVP['status'] ? "Normal" : "Alert"), + 'status' => "".$status."", 'disable' => '', 'ignore' => '', ); diff --git a/html/pages/device/edit/component.inc.php b/html/pages/device/edit/component.inc.php index 36f21ab34b..5bf25ba197 100644 --- a/html/pages/device/edit/component.inc.php +++ b/html/pages/device/edit/component.inc.php @@ -44,13 +44,27 @@ event.preventDefault(); $('.ignore-check').prop('checked', true); }); - $('#alert-select').click(function (event) { - // select ignore buttons for all ports which are down + $('#warning-select').click(function (event) { + // select ignore button for all components that are in a warning state. event.preventDefault(); $('[name^="status_"]').each(function () { var name = $(this).attr('name'); var text = $(this).text(); - if (name && text == 'Alert') { + if (name && text == 'Warning') { + // get the component number from the object name + var id = name.split('_')[1]; + // find its corresponding checkbox and toggle it + $('input[name="ign_' + id + '"]').trigger('click'); + } + }); + }); + $('#critical-select').click(function (event) { + // select ignore button for all components that are in a critical state. + event.preventDefault(); + $('[name^="status_"]').each(function () { + var name = $(this).attr('name'); + var text = $(this).text(); + if (name && text == 'Critical') { // get the component number from the object name var id = name.split('_')[1]; // find its corresponding checkbox and toggle it diff --git a/html/pages/device/routing/cisco-otv.inc.php b/html/pages/device/routing/cisco-otv.inc.php index 81fc19511d..c723686eb9 100644 --- a/html/pages/device/routing/cisco-otv.inc.php +++ b/html/pages/device/routing/cisco-otv.inc.php @@ -19,7 +19,7 @@ global $config; // Loop over each component, pulling out the Overlays. foreach ($components as $oid => $overlay) { if ($overlay['otvtype'] == 'overlay') { - if ($overlay['status'] == 1) { + if ($overlay['status'] == 0) { $overlay_status = "Normal"; $gli = ""; } @@ -33,7 +33,7 @@ foreach ($components as $oid => $overlay) { $adjacency) { if (($adjacency['otvtype'] == 'adjacency') && ($adjacency['index'] == $overlay['index'])) { - if ($adjacency['status'] == 1) { + if ($adjacency['status'] == 0) { $adj_status = "Normal"; $gli = ""; } diff --git a/html/pages/routing/cisco-otv.inc.php b/html/pages/routing/cisco-otv.inc.php index d1654fa286..63e9d01463 100644 --- a/html/pages/routing/cisco-otv.inc.php +++ b/html/pages/routing/cisco-otv.inc.php @@ -19,7 +19,7 @@ foreach ($COMPONENTS as $DEVICE_ID => $COMP) { // Loop over each component, pulling out the Overlays. foreach ($COMP as $OID => $OVERLAY) { if ($OVERLAY['otvtype'] == 'overlay') { - if ($OVERLAY['status'] == 1) { + if ($OVERLAY['status'] == 0) { $OVERLAY_STATUS = "Normal"; $GLI = ""; } @@ -33,7 +33,7 @@ foreach ($COMPONENTS as $DEVICE_ID => $COMP) { $ADJACENCY) { if (($ADJACENCY['otvtype'] == 'adjacency') && ($ADJACENCY['index'] == $OVERLAY['index'])) { - if ($ADJACENCY['status'] == 1) { + if ($ADJACENCY['status'] == 0) { $ADJ_STATUS = "Normal"; $GLI = ""; } diff --git a/includes/component.php b/includes/component.php index 180f0a8da2..27713f6e98 100644 --- a/includes/component.php +++ b/includes/component.php @@ -20,7 +20,7 @@ class component { private $reserved = array( 'type' => '', 'label' => '', - 'status' => 1, + 'status' => 0, 'ignore' => 0, 'disabled' => 0, 'error' => '', @@ -148,6 +148,69 @@ class component { return $RESULT; } + public function getComponentStatus($device=null) { + $sql_query = "SELECT status, count(status) as count FROM component WHERE"; + $sql_param = array(); + $add = 0; + + if (!is_null($device)) { + // Add a device filter to the SQL query. + $sql_query .= " `device_id` = ?"; + $sql_param[] = $device; + $add++; + } + + if ($add == 0) { + // No filters, remove " WHERE" -6 + $sql_query = substr($sql_query, 0, strlen($sql_query)-6); + } + $sql_query .= " GROUP BY status"; + d_echo("SQL Query: ".$sql_query); + + // $service is not null, get only what we want. + $result = dbFetchRows($sql_query, $sql_param); + + // Set our defaults to 0 + $count = array(0 => 0, 1 => 0, 2 => 0); + // Rebuild the array in a more convenient method + foreach ($result as $v) { + $count[$v['status']] = $v['count']; + } + + d_echo("Component Count by Status: ".print_r($count,TRUE)."\n"); + return $count; + } + + public function getComponentStatusLog($component=null,$start=null,$end=null) { + if ( ($component == null) || ($start == null) || ($end == null) ) { + // Error... + d_echo("Required arguments are missing. Component: ".$component.", Start: ".$start.", End: ".$end."\n"); + return false; + } + + // Create our return array. + $return = array(); + + // 1. find the previous value, this is the value when $start occurred. + $sql_query = "SELECT status FROM component_statuslog WHERE `component` = ? AND time < ? ORDER BY `id` desc LIMIT 1"; + $sql_param = array($component,$start); + $result = dbFetchRow($sql_query, $sql_param); + if ($result == false) { + $return['initial'] = false; + } + else { + $return['initial'] = $result['status']; + } + + // 2. Then we just need a list of all the entries for the time period. + $sql_query = "SELECT status, time, message FROM component_statuslog WHERE `component` = ? AND time >= ? AND time < ? ORDER BY `time`"; + $sql_param = array($component,$start,$end); + $return['data'] = dbFetchRows($sql_query, $sql_param); + + d_echo("Status Log Data: ".print_r($return,TRUE)."\n"); + return $return; + } + public function createComponent ($device_id,$TYPE) { // Prepare our default values to be inserted. $DATA = $this->reserved; @@ -159,6 +222,9 @@ class component { // Insert a new component into the database. $id = dbInsert($DATA, 'component'); + // Add a default status log entry - we always start ok. + $this->createStatusLogEntry($id,0,'Component Created'); + // Create a default component array based on what was inserted. $ARRAY = array(); $ARRAY[$id] = $DATA; @@ -166,6 +232,17 @@ class component { return $ARRAY; } + public function createStatusLogEntry($component,$status,$message) { + // Add an entry to the statuslog table for a particular component. + $DATA = array( + 'component' => $component, + 'status' => $status, + 'message' => $message, + ); + + return dbInsert($DATA, 'component_statuslog'); + } + public function deleteComponent ($id) { // Delete a component from the database. return dbDelete('component', "`id` = ?",array($id)); @@ -187,6 +264,12 @@ class component { // Ignore type, we cant change that. unset($AVP['type'],$OLD[$device_id][$COMPONENT]['type']); + // If the Status has changed we need to add a log entry + if ($AVP['status'] != $OLD[$device_id][$COMPONENT]['status']) { + d_echo("Status Changed - Old: ".$OLD[$device_id][$COMPONENT]['status'].", New: ".$AVP['status']."\n"); + $this->createStatusLogEntry($COMPONENT,$AVP['status'],$AVP['error']); + } + // Process our reserved components first. $UPDATE = array(); foreach ($this->reserved as $k => $v) { @@ -239,7 +322,7 @@ class component { log_event("Component: ".$AVP[$COMPONENT]['type']."(".$COMPONENT."). Attribute: ".$ATTR.", was modified from: ".$OLD[$COMPONENT][$ATTR].", to: ".$VALUE,$device_id,'component',$COMPONENT); } - } // End Foreach COMPONENT + } // End Foreach AVP // Process our Deletes. $DELETE = array_diff_key($OLD[$device_id][$COMPONENT], $AVP); diff --git a/includes/discovery/cisco-otv.inc.php b/includes/discovery/cisco-otv.inc.php index 53b9658603..066a62c0c2 100644 --- a/includes/discovery/cisco-otv.inc.php +++ b/includes/discovery/cisco-otv.inc.php @@ -116,11 +116,11 @@ if ($device['os_group'] == 'cisco') { // If we have set a message, we have an error, activate alert. if ($message !== false) { $result['error'] = $message; - $result['status'] = 0; + $result['status'] = 2; } else { $result['error'] = ""; - $result['status'] = 1; + $result['status'] = 0; } // Let's log some debugging @@ -154,11 +154,11 @@ if ($device['os_group'] == 'cisco') { // If we have set a message, we have an error, activate alert. if ($message !== false) { $result['error'] = $message; - $result['status'] = 0; + $result['status'] = 1; } else { $result['error'] = ""; - $result['status'] = 1; + $result['status'] = 0; } // Set a default name, if for some unknown reason we cant find the parent VPN. diff --git a/includes/polling/cisco-otv.inc.php b/includes/polling/cisco-otv.inc.php index 6fdaeff3b1..3b3e68a72d 100644 --- a/includes/polling/cisco-otv.inc.php +++ b/includes/polling/cisco-otv.inc.php @@ -106,11 +106,11 @@ if ($device['os_group'] == "cisco") { // If we have set a message, we have an error, activate alert. if ($message !== false) { $array['error'] = $message; - $array['status'] = 0; + $array['status'] = 2; } else { $array['error'] = ""; - $array['status'] = 1; + $array['status'] = 0; } // Time to graph the count of the active VLAN's on this overlay. @@ -154,11 +154,11 @@ if ($device['os_group'] == "cisco") { // If we have set a message, we have an error, activate alert. if ($message !== false) { $array['error'] = $message; - $array['status'] = 0; + $array['status'] = 1; } else { $array['error'] = ""; - $array['status'] = 1; + $array['status'] = 0; } // Let's log some debugging diff --git a/sql-schema/122.sql b/sql-schema/124.sql similarity index 100% rename from sql-schema/122.sql rename to sql-schema/124.sql From 0ec980c1cdac03f82420c77219d412de62f4376f Mon Sep 17 00:00:00 2001 From: laf Date: Mon, 11 Jul 2016 12:33:09 +0100 Subject: [PATCH 03/31] Moved the device type discovery to before it is needed --- includes/discovery/functions.inc.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/includes/discovery/functions.inc.php b/includes/discovery/functions.inc.php index cecd98d428..6b7070a140 100644 --- a/includes/discovery/functions.inc.php +++ b/includes/discovery/functions.inc.php @@ -97,6 +97,13 @@ function discover_device($device, $options = null) { } } + // Set type to a predefined type for the OS if it's not already set + if ($device['type'] == 'unknown' || $device['type'] == '') { + if ($config['os'][$device['os']]['type']) { + $device['type'] = $config['os'][$device['os']]['type']; + } + } + if ($config['os'][$device['os']]['group']) { $device['os_group'] = $config['os'][$device['os']]['group']; echo ' (' . $device['os_group'] . ')'; @@ -134,13 +141,6 @@ function discover_device($device, $options = null) { register_mibs($device, $devicemib, "includes/discovery/functions.inc.php"); } - // Set type to a predefined type for the OS if it's not already set - if ($device['type'] == 'unknown' || $device['type'] == '') { - if ($config['os'][$device['os']]['type']) { - $device['type'] = $config['os'][$device['os']]['type']; - } - } - $device_end = microtime(true); $device_run = ($device_end - $device_start); $device_time = substr($device_run, 0, 5); From 8d01da96e27a6aa7b8e35f72935ae8ad7c901c1e Mon Sep 17 00:00:00 2001 From: Aaron Daniels Date: Fri, 15 Jul 2016 16:26:16 +1000 Subject: [PATCH 04/31] - Fixed SQL rename. --- sql-schema/122.sql | 3 +++ sql-schema/124.sql | 12 +++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 sql-schema/122.sql diff --git a/sql-schema/122.sql b/sql-schema/122.sql new file mode 100644 index 0000000000..1610949a10 --- /dev/null +++ b/sql-schema/122.sql @@ -0,0 +1,3 @@ +ALTER TABLE `sensors_to_state_indexes` DROP FOREIGN KEY `sensors_to_state_indexes_ibfk_1`; +ALTER TABLE `sensors_to_state_indexes` DROP FOREIGN KEY `sensors_to_state_indexes_sensor_id_foreign`; +ALTER TABLE `sensors_to_state_indexes` ADD CONSTRAINT `sensors_to_state_indexes_sensor_id_foreign` FOREIGN KEY (`sensor_id`) REFERENCES `sensors` (`sensor_id`) ON DELETE CASCADE; diff --git a/sql-schema/124.sql b/sql-schema/124.sql index 1610949a10..7ceea3f90e 100644 --- a/sql-schema/124.sql +++ b/sql-schema/124.sql @@ -1,3 +1,9 @@ -ALTER TABLE `sensors_to_state_indexes` DROP FOREIGN KEY `sensors_to_state_indexes_ibfk_1`; -ALTER TABLE `sensors_to_state_indexes` DROP FOREIGN KEY `sensors_to_state_indexes_sensor_id_foreign`; -ALTER TABLE `sensors_to_state_indexes` ADD CONSTRAINT `sensors_to_state_indexes_sensor_id_foreign` FOREIGN KEY (`sensor_id`) REFERENCES `sensors` (`sensor_id`) ON DELETE CASCADE; +DROP TABLE IF EXISTS `component_statuslog`; +CREATE TABLE `component_statuslog` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID for each log entry, unique index', `component_id` int(11) unsigned NOT NULL COMMENT 'id from the component table', `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'The status that the component was changed TO', `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'When the status of the component was changed', PRIMARY KEY (`id`), KEY `device` (`component_id`), CONSTRAINT `component_statuslog_ibfk_1` FOREIGN KEY (`component_id`) REFERENCES `component` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='log of status changes to a component.'; +ALTER TABLE `component` CHANGE `status` `status` TINYINT(1) NOT NULL DEFAULT '0' COMMENT 'The status of the component, retreived from the device'; +UPDATE `config` SET `config_name`='alert.macros.rule.component_warning',`config_descr`='Component status Warning' WHERE `config_name`='alert.macros.rule.component_normal'; +UPDATE `config` SET `config_name`='alert.macros.rule.component_normal',`config_descr`='Component status Normal' WHERE `config_name`='alert.macros.rule.component_alert'; +INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.macros.rule.component_critical','(%component.status = 2 && %macros.component)','(%component.status = 2 && %macros.component)','Component status Critical','alerting',0,'macros',0,'1','0'); +UPDATE component SET status=2 WHERE status=0; +UPDATE component SET status=0 WHERE status=1; +INSERT INTO `widgets` (`widget_title`,`widget`,`base_dimensions`) VALUES ('Component Status','component-status','3,2'); From 1d579e8debb0b92c42fa58ff2bc708e89eefa292 Mon Sep 17 00:00:00 2001 From: Aaron Daniels Date: Mon, 18 Jul 2016 07:14:03 +1000 Subject: [PATCH 05/31] - Moved SQL for upstream changes. --- sql-schema/{124.sql => 125.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sql-schema/{124.sql => 125.sql} (100%) diff --git a/sql-schema/124.sql b/sql-schema/125.sql similarity index 100% rename from sql-schema/124.sql rename to sql-schema/125.sql From 118ab0d55cedf39e78328518cb29a73f71e2adb4 Mon Sep 17 00:00:00 2001 From: Neil Lathwood Date: Mon, 18 Jul 2016 23:37:13 +0100 Subject: [PATCH 06/31] Update ISSUE_TEMPLATE.md --- .github/ISSUE_TEMPLATE.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index f5be93f471..b801b217d0 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -2,7 +2,9 @@ > Please read this information and delete it once ready. -If you issue is a request for us to add a new device then please ensure you provide the following information as pastebin links. +Please ensure that your install is upto date before submitting an issue. You can ensure you are upto date by running `./daily.sh` as the librenms user. If you experience errors updating then please run `./validate.php`. + +If your issue is a request for us to add a new device then please ensure you provide the following information as pastebin links. Please replace the relevant information in these commands. @@ -13,5 +15,3 @@ snmpbulkwalk -On -v2c -c COMMUNITY HOSTNAME . ``` If possible please also provide what the OS name should be if it doesn't exist already. - - From e9bce1d322a94a100c3a716d50f538df48da61c1 Mon Sep 17 00:00:00 2001 From: Neil Lathwood Date: Mon, 18 Jul 2016 23:37:37 +0100 Subject: [PATCH 07/31] Update ISSUE_TEMPLATE.md --- .github/ISSUE_TEMPLATE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index b801b217d0..8c420f0bb2 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -2,9 +2,9 @@ > Please read this information and delete it once ready. -Please ensure that your install is upto date before submitting an issue. You can ensure you are upto date by running `./daily.sh` as the librenms user. If you experience errors updating then please run `./validate.php`. +- Ensure that your install is upto date before submitting an issue. You can ensure you are upto date by running `./daily.sh` as the librenms user. If you experience errors updating then please run `./validate.php`. -If your issue is a request for us to add a new device then please ensure you provide the following information as pastebin links. +- If your issue is a request for us to add a new device then please ensure you provide the following information as pastebin links. Please replace the relevant information in these commands. From ff5b6c9a2b3be0a368056a8ee9a379926a333d3b Mon Sep 17 00:00:00 2001 From: crcro Date: Wed, 20 Jul 2016 02:14:30 +0300 Subject: [PATCH 08/31] app: nfs-v3-stats Rewrite of the original nfs-stats app. Includes more stats, nicer graphs, no more nfsstats bin requirement. --- html/includes/functions.inc.php | 3 + .../graphs/application/nfs-fh.inc.php | 37 +++++ .../graphs/application/nfs-io.inc.php | 34 +++++ .../graphs/application/nfs-net.inc.php | 36 +++++ .../graphs/application/nfs-ra.inc.php | 44 ++++++ .../graphs/application/nfs-rc.inc.php | 35 +++++ .../graphs/application/nfs-rpc.inc.php | 37 +++++ .../graphs/application/nfs-v3-stats.inc.php | 54 +++++++ .../graphs/generic_v3_multiline.inc.php | 121 ++++++++++++++++ html/pages/device/apps/nfs-v3-stats.inc.php | 35 +++++ .../polling/applications/nfs-v3-stats.inc.php | 132 ++++++++++++++++++ scripts/agent-local/nfs-stats.sh | 47 +++++++ 12 files changed, 615 insertions(+) create mode 100644 html/includes/graphs/application/nfs-fh.inc.php create mode 100644 html/includes/graphs/application/nfs-io.inc.php create mode 100644 html/includes/graphs/application/nfs-net.inc.php create mode 100644 html/includes/graphs/application/nfs-ra.inc.php create mode 100644 html/includes/graphs/application/nfs-rc.inc.php create mode 100644 html/includes/graphs/application/nfs-rpc.inc.php create mode 100644 html/includes/graphs/application/nfs-v3-stats.inc.php create mode 100644 html/includes/graphs/generic_v3_multiline.inc.php create mode 100644 html/pages/device/apps/nfs-v3-stats.inc.php create mode 100644 includes/polling/applications/nfs-v3-stats.inc.php create mode 100644 scripts/agent-local/nfs-stats.sh diff --git a/html/includes/functions.inc.php b/html/includes/functions.inc.php index 5993c2acb2..5e8413f7e6 100644 --- a/html/includes/functions.inc.php +++ b/html/includes/functions.inc.php @@ -67,6 +67,9 @@ function nicecase($item) { case 'nfs-stats': return 'NFS Stats'; + case 'nfs-v3-stats': + return 'NFS v3 Stats'; + default: return ucfirst($item); } diff --git a/html/includes/graphs/application/nfs-fh.inc.php b/html/includes/graphs/application/nfs-fh.inc.php new file mode 100644 index 0000000000..76eed56fed --- /dev/null +++ b/html/includes/graphs/application/nfs-fh.inc.php @@ -0,0 +1,37 @@ + array('descr' => 'lookup','colour' => '136421',), + 'fh_anon' => array('descr' => 'anon','colour' => 'B2C945',), + 'fh_ncachedir' => array('descr' => 'ncachedir','colour' => '778D0D',), + 'fh_ncachenondir' => array('descr' => 'ncachenondir','colour' => '536400',), + 'fh_stale' => array('descr' => 'stale','colour' => '832119',), +); + +$i = 0; + +if (is_file($rrd_filename)) { + foreach ($array as $ds => $vars) { + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = $vars['descr']; + $rrd_list[$i]['ds'] = $ds; + $rrd_list[$i]['colour'] = $vars['colour']; + $i++; + } +} +else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-io.inc.php b/html/includes/graphs/application/nfs-io.inc.php new file mode 100644 index 0000000000..e6778d55ce --- /dev/null +++ b/html/includes/graphs/application/nfs-io.inc.php @@ -0,0 +1,34 @@ + array('descr' => 'read','colour' => '2B9220',), + 'io_write' => array('descr' => 'write','colour' => 'B0262D',), +); + +$i = 0; + +if (is_file($rrd_filename)) { + foreach ($array as $ds => $vars) { + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = $vars['descr']; + $rrd_list[$i]['ds'] = $ds; + $rrd_list[$i]['colour'] = $vars['colour']; + $i++; + } +} +else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-net.inc.php b/html/includes/graphs/application/nfs-net.inc.php new file mode 100644 index 0000000000..70b17cad62 --- /dev/null +++ b/html/includes/graphs/application/nfs-net.inc.php @@ -0,0 +1,36 @@ + array('descr' => 'total','colour' => '000000',), + 'net_udp' => array('descr' => 'udp','colour' => 'AA3F39',), + 'net_tcp' => array('descr' => 'tcp','colour' => '2C8437',), + 'net_tcpconn' => array('descr' => 'tcp conn','colour' => '576996',), +); + +$i = 0; + +if (is_file($rrd_filename)) { + foreach ($array as $ds => $vars) { + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = $vars['descr']; + $rrd_list[$i]['ds'] = $ds; + $rrd_list[$i]['colour'] = $vars['colour']; + $i++; + } +} +else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-ra.inc.php b/html/includes/graphs/application/nfs-ra.inc.php new file mode 100644 index 0000000000..a6503e07b6 --- /dev/null +++ b/html/includes/graphs/application/nfs-ra.inc.php @@ -0,0 +1,44 @@ + array('descr' => 'size','colour' => '091B40',), + 'ra_range01' => array('descr' => '0-10','colour' => '8293B3',), + 'ra_range02' => array('descr' => '10-20','colour' => '566B95',), + 'ra_range03' => array('descr' => '20-30','colour' => '1B315D',), + 'ra_range04' => array('descr' => '30-40','colour' => '091B40',), + 'ra_range05' => array('descr' => '40-50','colour' => '296F6A',), + 'ra_range06' => array('descr' => '50-60','colour' => '498984',), + 'ra_range07' => array('descr' => '60-70','colour' => '125651',), + 'ra_range08' => array('descr' => '70-80','colour' => '023B37',), + 'ra_range09' => array('descr' => '80-90','colour' => '14623A',), + 'ra_range10' => array('descr' => '90-100','colour' => '034423',), + 'ra_notfound' => array('descr' => 'not found','colour' => '590315',), +); + +$i = 0; + +if (is_file($rrd_filename)) { + foreach ($array as $ds => $vars) { + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = $vars['descr']; + $rrd_list[$i]['ds'] = $ds; + $rrd_list[$i]['colour'] = $vars['colour']; + $i++; + } +} +else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-rc.inc.php b/html/includes/graphs/application/nfs-rc.inc.php new file mode 100644 index 0000000000..ba0bdcf2f7 --- /dev/null +++ b/html/includes/graphs/application/nfs-rc.inc.php @@ -0,0 +1,35 @@ + array('descr' => 'hits','colour' => '2B9220',), + 'rc_misses' => array('descr' => 'misses','colour' => 'B36326',), + 'rc_nocache' => array('descr' => 'nocache','colour' => 'B0262D',), +); + +$i = 0; + +if (is_file($rrd_filename)) { + foreach ($array as $ds => $vars) { + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = $vars['descr']; + $rrd_list[$i]['ds'] = $ds; + $rrd_list[$i]['colour'] = $vars['colour']; + $i++; + } +} +else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-rpc.inc.php b/html/includes/graphs/application/nfs-rpc.inc.php new file mode 100644 index 0000000000..4b766e70fc --- /dev/null +++ b/html/includes/graphs/application/nfs-rpc.inc.php @@ -0,0 +1,37 @@ + array('descr' => 'calls','colour' => '000000',), + 'rpc_badcalls' => array('descr' => 'bad calls','colour' => '600604',), + 'rpc_badfmt' => array('descr' => 'bad fmt','colour' => '8C201D',), + 'rpc_badauth' => array('descr' => 'bad auth','colour' => 'DF7A77',), + 'rpc_badclnt' => array('descr' => 'bad clnt','colour' => 'FFB3B1',), +); + +$i = 0; + +if (is_file($rrd_filename)) { + foreach ($array as $ds => $vars) { + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = $vars['descr']; + $rrd_list[$i]['ds'] = $ds; + $rrd_list[$i]['colour'] = $vars['colour']; + $i++; + } +} +else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-v3-stats.inc.php b/html/includes/graphs/application/nfs-v3-stats.inc.php new file mode 100644 index 0000000000..5ab9f7a412 --- /dev/null +++ b/html/includes/graphs/application/nfs-v3-stats.inc.php @@ -0,0 +1,54 @@ + array('descr' => 'Null','colour' => '630606',), + 'proc3_getattr' => array('descr' => 'Get attributes','colour' => '50C150',), + 'proc3_setattr' => array('descr' => 'Set attributes','colour' => '4D65A2',), + 'proc3_lookup' => array('descr' => 'Lookup','colour' => '8B64A1',), + 'proc3_access' => array('descr' => 'Access','colour' => 'AAAA39',), + 'proc3_read' => array('descr' => 'Read','colour' => '308A30',), + 'proc3_write' => array('descr' => 'Write','colour' => '457A9A',), + 'proc3_create' => array('descr' => 'Create','colour' => '690D87',), + 'proc3_mkdir' => array('descr' => 'Make dir','colour' => '3A3478',), + 'proc3_mknod' => array('descr' => 'Make nod','colour' => '512E74',), + 'proc3_link' => array('descr' => 'Link','colour' => '072A3F',), + 'proc3_remove' => array('descr' => 'Remove','colour' => 'F16464',), + 'proc3_rmdir' => array('descr' => 'Remove dir','colour' => '57162D',), + 'proc3_rename' => array('descr' => 'Rename','colour' => 'A40B62',), + 'proc3_readlink' => array('descr' => 'Read link','colour' => '557917',), + 'proc3_readdir' => array('descr' => 'Read dir','colour' => 'A3C666',), + 'proc3_symlink' => array('descr' => 'Symlink','colour' => '85C490',), + 'proc3_readdirplus' => array('descr' => 'Read dir plus','colour' => 'F1F164',), + 'proc3_fsstat' => array('descr' => 'FS stat','colour' => 'F1F191',), + 'proc3_fsinfo' => array('descr' => 'FS info','colour' => '6E2770',), + 'proc3_pathconf' => array('descr' => 'Pathconf','colour' => '993555',), + 'proc3_commit' => array('descr' => 'Commit','colour' => '463176',), + ); + +$i = 0; + +if (is_file($rrd_filename)) { + foreach ($array as $ds => $vars) { + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = $vars['descr']; + $rrd_list[$i]['ds'] = $ds; + $rrd_list[$i]['colour'] = $vars['colour']; + $i++; + } +} +else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/generic_v3_multiline.inc.php b/html/includes/graphs/generic_v3_multiline.inc.php new file mode 100644 index 0000000000..92773ba01d --- /dev/null +++ b/html/includes/graphs/generic_v3_multiline.inc.php @@ -0,0 +1,121 @@ + '500') { + $descr_len = $bigdescrlen; +} else { + $descr_len = $smalldescrlen; +} + +if ($printtotal === 1) { + $descr_len += '2'; + $unitlen += '2'; +} + +$unit_text = str_pad(truncate($unit_text, $unitlen), $unitlen); + +if ($width > '500') { + $rrd_options .= " COMMENT:'".substr(str_pad($unit_text, ($descr_len + 10)), 0, ($descr_len + 10))."Now Min Max Avg\l'"; + if($printtotal === 1) { + $rrd_options .= " COMMENT:'Total '"; + } + $rrd_options .= " COMMENT:'\l'"; +} else { + $rrd_options .= " COMMENT:'".substr(str_pad($unit_text, ($descr_len + 10)), 0, ($descr_len + 10))."Now Min Max Avg\l'"; +} + +foreach ($rrd_list as $rrd) { + if ($rrd['colour']) { + $colour = $rrd['colour']; + } + else { + if (!$config['graph_colours'][$colours][$colour_iter]) { + $colour_iter = 0; + } + + $colour = $config['graph_colours'][$colours][$colour_iter]; + $colour_iter++; + } + + $ds = $rrd['ds']; + $filename = $rrd['filename']; + + $descr = rrdtool_escape($rrd['descr'], $descr_len); + $id = 'ds'.$i; + + $rrd_options .= ' DEF:'.$rrd['ds'].$i.'='.$rrd['filename'].':'.$rrd['ds'].':AVERAGE '; + + if ($simple_rrd) { + $rrd_options .= ' CDEF:'.$rrd['ds'].$i.'min='.$rrd['ds'].$i.' '; + $rrd_options .= ' CDEF:'.$rrd['ds'].$i.'max='.$rrd['ds'].$i.' '; + } + else { + $rrd_options .= ' DEF:'.$rrd['ds'].$i.'min='.$rrd['filename'].':'.$rrd['ds'].':MIN '; + $rrd_options .= ' DEF:'.$rrd['ds'].$i.'max='.$rrd['filename'].':'.$rrd['ds'].':MAX '; + } + + if ($_GET['previous']) { + $rrd_options .= ' DEF:'.$i.'X='.$rrd['filename'].':'.$rrd['ds'].':AVERAGE:start='.$prev_from.':end='.$from; + $rrd_options .= ' SHIFT:'.$i."X:$period"; + $thingX .= $seperatorX.$i.'X,UN,0,'.$i.'X,IF'; + $plusesX .= $plusX; + $seperatorX = ','; + $plusX = ',+'; + } + + if ($printtotal === 1) { + $rrd_options .= ' VDEF:tot'.$rrd['ds'].$i.'='.$rrd['ds'].$i.',TOTAL'; + } + + $g_defname = $rrd['ds']; + if (is_numeric($multiplier)) { + $g_defname = $rrd['ds'].'_cdef'; + $rrd_options .= ' CDEF:'.$g_defname.$i.'='.$rrd['ds'].$i.','.$multiplier.',*'; + $rrd_options .= ' CDEF:'.$g_defname.$i.'min='.$rrd['ds'].$i.'min,'.$multiplier.',*'; + $rrd_options .= ' CDEF:'.$g_defname.$i.'max='.$rrd['ds'].$i.'max,'.$multiplier.',*'; + } else if (is_numeric($divider)) { + $g_defname = $rrd['ds'].'_cdef'; + $rrd_options .= ' CDEF:'.$g_defname.$i.'='.$rrd['ds'].$i.','.$divider.',/'; + $rrd_options .= ' CDEF:'.$g_defname.$i.'min='.$rrd['ds'].$i.'min,'.$divider.',/'; + $rrd_options .= ' CDEF:'.$g_defname.$i.'max='.$rrd['ds'].$i.'max,'.$divider.',/'; + } + + if (isset($text_orig) && $text_orig) { + $t_defname = $rrd['ds']; + } else { + $t_defname = $g_defname; + } + + if ($i && ($dostack === 1)) { + $stack = ':STACK'; + } + + $rrd_options .= ' LINE2:'.$g_defname.$i.'#'.$colour.":'".$descr."'$stack"; + if ($addarea === 1) + { + $descr = ":"; + $rrd_options .= ' AREA:'.$g_defname.$i.'#'.$colour.$transparency.":'".$descr."'$stack"; + } + $rrd_options .= ' GPRINT:'.$t_defname.$i.':LAST:%8.0lf%s GPRINT:'.$t_defname.$i.'min:MIN:%8.0lf%s'; + $rrd_options .= ' GPRINT:'.$t_defname.$i.'max:MAX:%8.0lf%s GPRINT:'.$t_defname.$i.":AVERAGE:'%8.0lf%s\\n'"; + + if ($printtotal === 1) { + $rrd_options .= ' GPRINT:tot'.$rrd['ds'].$i.":%6.2lf%s'".rrdtool_escape($total_units)."'"; + } + + $rrd_options .= " COMMENT:'\\n'"; +}//end foreach + +if ($_GET['previous'] == 'yes') { + if (is_numeric($multiplier)) { + $rrd_options .= ' CDEF:X='.$thingX.$plusesX.','.$multiplier.',*'; + } + else if (is_numeric($divider)) { + $rrd_options .= ' CDEF:X='.$thingX.$plusesX.','.$divider.',/'; + } + else { + $rrd_options .= ' CDEF:X='.$thingX.$plusesX; + } + $rrd_options .= ' HRULE:0#555555'; +} + diff --git a/html/pages/device/apps/nfs-v3-stats.inc.php b/html/pages/device/apps/nfs-v3-stats.inc.php new file mode 100644 index 0000000000..853e50cbac --- /dev/null +++ b/html/pages/device/apps/nfs-v3-stats.inc.php @@ -0,0 +1,35 @@ + 'NFS v3 Statistics', + 'nfs-io' => 'IO', + 'nfs-fh' => 'File handler', + 'nfs-rc' => 'Reply cache', + 'nfs-ra' => 'Read ahead cache', + 'nfs-net' => 'Network stats', + 'nfs-rpc' => 'RPC Stats', + +); + +foreach ($graphs as $key => $text) { + $graph_type = $key; + $graph_array['height'] = '100'; + $graph_array['width'] = '215'; + $graph_array['to'] = $config['time']['now']; + $graph_array['id'] = $app['app_id']; + $graph_array['type'] = 'application_'.$key; + + echo '
+
+

'.$text.'

+
+
+
'; + include 'includes/print-graphrow.inc.php'; + echo '
'; + echo '
'; + echo '
'; +} + diff --git a/includes/polling/applications/nfs-v3-stats.inc.php b/includes/polling/applications/nfs-v3-stats.inc.php new file mode 100644 index 0000000000..21cbdd3f72 --- /dev/null +++ b/includes/polling/applications/nfs-v3-stats.inc.php @@ -0,0 +1,132 @@ + $rc_hits, + 'rc_misses' => $rc_misses, + 'rc_nocache' => $rc_nocache, + 'fh_lookup' => $fh_lookup, + 'fh_anon' => $fh_anon, + 'fh_ncachedir' => $fh_ncachedir, + 'fh_ncachenondir' => $fh_ncachenondir, + 'fh_stale' => $fh_stale, + 'io_read' => $io_read, + 'io_write' => $io_write, + 'ra_size' => $ra_size, + 'ra_range01' => $ra_range01, + 'ra_range02' => $ra_range02, + 'ra_range03' => $ra_range03, + 'ra_range04' => $ra_range04, + 'ra_range05' => $ra_range05, + 'ra_range06' => $ra_range06, + 'ra_range07' => $ra_range07, + 'ra_range08' => $ra_range08, + 'ra_range09' => $ra_range09, + 'ra_range10' => $ra_range10, + 'ra_notfound'=> $ra_notfound, + 'net_all' => $net_all, + 'net_udp' => $net_udp, + 'net_tcp' => $net_tcp, + 'net_tcpconn' => $net_tcpconn, + 'rpc_calls' => $rpc_calls, + 'rpc_badcalls' => $rpc_badcalls, + 'rpc_badfmt' => $rpc_badfmt, + 'rpc_badauth' => $rpc_badauth, + 'rpc_badclnt' => $rpc_badclnt, + 'proc3_null' => $proc3_null, + 'proc3_getattr' => $proc3_getattr, + 'proc3_setattr' => $proc3_setattr, + 'proc3_lookup' => $proc3_lookup, + 'proc3_access' => $proc3_access, + 'proc3_readlink' => $proc3_readlink, + 'proc3_read' => $proc3_read, + 'proc3_write' => $proc3_write, + 'proc3_create' => $proc3_create, + 'proc3_mkdir' => $proc3_mkdir, + 'proc3_symlink' => $proc3_symlink, + 'proc3_mknod' => $proc3_mknod, + 'proc3_remove' => $proc3_remove, + 'proc3_rmdir' => $proc3_rmdir, + 'proc3_rename' => $proc3_rename, + 'proc3_link' => $proc3_link, + 'proc3_readdir' => $proc3_readdir, + 'proc3_readdirplus' => $proc3_readdirplus, + 'proc3_fsstat' => $proc3_fsstat, + 'proc3_fsinfo' => $proc3_fsinfo, + 'proc3_pathconf' => $proc3_pathconf, + 'proc3_commit' => $proc3_commit, +); + +rrdtool_update($rrd_filename, $fields); +$tags = array('name' => 'nfs-v3-stats', 'app_id' => $app['app_id']); +influx_update($device,'app',$tags,$fields); diff --git a/scripts/agent-local/nfs-stats.sh b/scripts/agent-local/nfs-stats.sh new file mode 100644 index 0000000000..25bbb6b1ee --- /dev/null +++ b/scripts/agent-local/nfs-stats.sh @@ -0,0 +1,47 @@ +#!/bin/bash +############################################################ +# copy this file somewhere like /opt and chmod +x it # +# edit your snmpd.conf and add the below line and restart: # +# extend nfs-stats /opt/nfs-stats.sh # +############################################################ +CFG_NFSFILE='/proc/net/rpc/nfsd' +BIN_CAT='/usr/bin/cat' +BIN_SED='/usr/bin/sed' +BIN_AWK='/usr/bin/awk' +BIN_TR='/usr/bin/tr' +BIN_PASTE='/usr/bin/paste' +BIN_RM='/usr/bin/rm' +BIN_MV='/usr/bin/mv' +LOG_OLD='/tmp/nfsio_old' +LOG_NEW='/tmp/nfsio_new' +LOG_FIX='/tmp/nfsio_fix' + +#get reply cache (rc - values: hits, misses, nocache) +$BIN_CAT $CFG_NFSFILE | $BIN_SED -n 1p | $BIN_AWK '{print $2,$3,$4}' | $BIN_TR " " "\n" > $LOG_NEW + +#get server file handle (fh - values: lookup, anon, ncachedir, ncachenondir, stale) +$BIN_CAT $CFG_NFSFILE | $BIN_SED -n 2p | $BIN_AWK '{print $2,$3,$4,$5,$6}' | $BIN_TR " " "\n" >> $LOG_NEW + +#get io bytes (io - values: read, write) +$BIN_CAT $CFG_NFSFILE | $BIN_SED -n 3p | $BIN_AWK '{print $2,$3}' | $BIN_TR " " "\n" >> $LOG_NEW + +#get read ahead cache (ra - values: cache_size, 0-10%, 10-20%, 20-30%, 30-40%, 40-50%, 50-60%, 60-70%, 70-80%, 80-90%, 90-100%, not-found) +$BIN_CAT $CFG_NFSFILE | $BIN_SED -n 5p | $BIN_AWK '{print $3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13}' | $BIN_TR " " "\n" >> $LOG_NEW +$BIN_CAT $CFG_NFSFILE | $BIN_SED -n 5p | $BIN_AWK '{print $2}' > $LOG_FIX + +#get server packet stats (net - values: all reads, udp packets, tcp packets, tcp conn) +$BIN_CAT $CFG_NFSFILE | $BIN_SED -n 6p | $BIN_AWK '{print $2,$3,$4,$5}' | $BIN_TR " " "\n" >> $LOG_NEW + +#get server rpc operations (rpc - values: calls, badcalls, badfmt, badauth, badclnt) +$BIN_CAT $CFG_NFSFILE | $BIN_SED -n 7p | $BIN_AWK '{print $2,$3,$4,$5,$6}' | $BIN_TR " " "\n" >> $LOG_NEW + +#get nfs v3 stats (proc3 - values: null, getattr, setattr, lookup, access, readlink, read, write, create, mkdir, symlink, mknod, remove, rmdir, rename, link, readdir, readdirplus, fsstat, fsinfo, pathconf, commit) +$BIN_CAT $CFG_NFSFILE | $BIN_SED -n 8p | $BIN_AWK '{print $3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24}' | $BIN_TR " " "\n" >> $LOG_NEW + +$BIN_PASTE $LOG_FIX +$BIN_PASTE $LOG_NEW $LOG_OLD | while read a b ; do + echo $(($a-$b)) +done + +$BIN_RM $LOG_OLD 2>&1 +$BIN_MV $LOG_NEW $LOG_OLD 2>&1 From 87eb2a6d5fa900bd7baaeebddaa072a489128744 Mon Sep 17 00:00:00 2001 From: jaroug Date: Wed, 20 Jul 2016 12:45:48 +0200 Subject: [PATCH 09/31] fix: wrong variable used --- html/includes/graphs/device/nfsen_common.inc.php | 2 +- html/pages/device.inc.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/html/includes/graphs/device/nfsen_common.inc.php b/html/includes/graphs/device/nfsen_common.inc.php index 774d47e3f8..c51d7dcd95 100644 --- a/html/includes/graphs/device/nfsen_common.inc.php +++ b/html/includes/graphs/device/nfsen_common.inc.php @@ -7,7 +7,7 @@ if (!is_array($config['nfsen_rrds'])) { } foreach ($config['nfsen_rrds'] as $nfsenrrds) { - if ($configs[(strlen($nfsenrrds) - 1)] != '/') { + if ($nfsenrrds[(strlen($nfsenrrds) - 1)] != '/') { $nfsenrrds .= '/'; } diff --git a/html/pages/device.inc.php b/html/pages/device.inc.php index 8f42abff83..33d643510e 100644 --- a/html/pages/device.inc.php +++ b/html/pages/device.inc.php @@ -360,7 +360,7 @@ if (device_permitted($vars['device']) || $check_device == $vars['device']) { } foreach ($config['nfsen_rrds'] as $nfsenrrds) { - if ($configs[(strlen($nfsenrrds) - 1)] != '/') { + if ($nfsenrrds[(strlen($nfsenrrds) - 1)] != '/') { $nfsenrrds .= '/'; } From 78170213d2ba3db2a3093a9e92a3a19e5412c546 Mon Sep 17 00:00:00 2001 From: jaroug Date: Wed, 20 Jul 2016 12:49:38 +0200 Subject: [PATCH 10/31] fix: strstr won't return anything if nfsensuffix is empty --- html/includes/graphs/device/nfsen_common.inc.php | 2 +- html/pages/device.inc.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/html/includes/graphs/device/nfsen_common.inc.php b/html/includes/graphs/device/nfsen_common.inc.php index c51d7dcd95..918fe4ca08 100644 --- a/html/includes/graphs/device/nfsen_common.inc.php +++ b/html/includes/graphs/device/nfsen_common.inc.php @@ -18,7 +18,7 @@ foreach ($config['nfsen_rrds'] as $nfsenrrds) { } $basefilename_underscored = preg_replace('/\./', $config['nfsen_split_char'], $device['hostname']); - $nfsen_filename = (strstr($basefilename_underscored, $nfsensuffix, true)); + $nfsen_filename = preg_replace('/'.$nfsensuffix.'/', '', $basefilename_underscored); if (is_file($nfsenrrds.$nfsen_filename.'.rrd')) { $rrd_filename = $nfsenrrds.$nfsen_filename.'.rrd'; diff --git a/html/pages/device.inc.php b/html/pages/device.inc.php index 33d643510e..b6682eeb2e 100644 --- a/html/pages/device.inc.php +++ b/html/pages/device.inc.php @@ -370,7 +370,7 @@ if (device_permitted($vars['device']) || $check_device == $vars['device']) { } $basefilename_underscored = preg_replace('/\./', $config['nfsen_split_char'], $device['hostname']); - $nfsen_filename = (strstr($basefilename_underscored, $nfsensuffix, true)); + $nfsen_filename = preg_replace('/'.$nfsensuffix.'/', '', $basefilename_underscored); if (is_file($nfsenrrds.$nfsen_filename.'.rrd')) { $nfsen_rrd_file = $nfsenrrds.$nfsen_filename.'.rrd'; } From 591983ac75879e4bfede1f7cc044b843eed867e8 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Fri, 22 Jul 2016 00:26:02 -0500 Subject: [PATCH 11/31] Fix incorrect thresholds The initial value was fetched incorrectly --- includes/discovery/sensors/temperatures/ibm-amm.inc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/discovery/sensors/temperatures/ibm-amm.inc.php b/includes/discovery/sensors/temperatures/ibm-amm.inc.php index af5c020e83..45becf70e7 100644 --- a/includes/discovery/sensors/temperatures/ibm-amm.inc.php +++ b/includes/discovery/sensors/temperatures/ibm-amm.inc.php @@ -12,7 +12,7 @@ if ($device['os'] == 'ibm-amm') { $oid = 'BLADE-MIB::mmTemp.0'; - $mmtemp = snmp_get($device, $oid, '-OsqnU'); + $mmtemp = snmp_get($device, $oid, '-Oqv'); preg_match('/[\d\.]+/', $mmtemp, $temp_response); if (!empty($temp_response[0])) { @@ -29,7 +29,7 @@ if ($device['os'] == 'ibm-amm') { } $oid = 'BLADE-MIB::frontPanelTemp.0'; - $fptemp = snmp_get($device, $oid, '-OsqnU'); + $fptemp = snmp_get($device, $oid, '-Oqv'); preg_match('/[\d\.]+/', $fptemp, $temp_response); if (!empty($temp_response[0])) { From f10d74f3726bccca7e39c0acb60f5d5884df049f Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Fri, 22 Jul 2016 10:09:10 -0500 Subject: [PATCH 12/31] Validate.php timezone failure Move the timezone into the constructor. --- validate.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/validate.php b/validate.php index 9efdb54b59..65ebe89565 100755 --- a/validate.php +++ b/validate.php @@ -76,8 +76,7 @@ $versions = version_info(); echo "Version info:\n"; $cur_sha = $versions['local_sha']; if ($config['update_channel'] == 'master' && $cur_sha != $versions['github']['sha']) { - $commit_date = new DateTime($versions['local_date']); - $commit_date->setTimezone(new DateTimeZone(date_default_timezone_get())); + $commit_date = new DateTime($versions['local_date'], new DateTimeZone(date_default_timezone_get())); print_warn("Your install is out of date: $cur_sha " . $commit_date->format('(r)')); } else { From 94467671b3ffcc34bfb47575e4cc8bb8a78969a8 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Fri, 22 Jul 2016 14:29:29 -0500 Subject: [PATCH 13/31] New App: Powerdns Recursor Polling must have access to stats for the device, port 8082 (Agent file could be added to avoid that) **Graphs:** Questions Answers Cache Performance Cache Size Outbound Queries **Graph changes** generic_multi:print_total added, allow per-dataset colors, document variables generic_multi_line: allow per-dataset colors, document variables --- .../application/powerdns-recursor.inc.php | 30 +++++ .../powerdns-recursor_answers.inc.php | 64 +++++++++ ...owerdns-recursor_cache_performance.inc.php | 65 +++++++++ .../powerdns-recursor_cache_size.inc.php | 50 +++++++ .../powerdns-recursor_outqueries.inc.php | 68 ++++++++++ .../powerdns-recursor_questions.inc.php | 68 ++++++++++ html/includes/graphs/generic_multi.inc.php | 49 ++++++- .../graphs/generic_multi_line.inc.php | 30 ++++- html/pages/apps.inc.php | 7 + .../device/apps/powerdns-recursor.inc.php | 53 ++++++++ .../applications/powerdns-recursor.inc.php | 126 ++++++++++++++++++ 11 files changed, 600 insertions(+), 10 deletions(-) create mode 100644 html/includes/graphs/application/powerdns-recursor.inc.php create mode 100644 html/includes/graphs/application/powerdns-recursor_answers.inc.php create mode 100644 html/includes/graphs/application/powerdns-recursor_cache_performance.inc.php create mode 100644 html/includes/graphs/application/powerdns-recursor_cache_size.inc.php create mode 100644 html/includes/graphs/application/powerdns-recursor_outqueries.inc.php create mode 100644 html/includes/graphs/application/powerdns-recursor_questions.inc.php create mode 100644 html/pages/device/apps/powerdns-recursor.inc.php create mode 100644 includes/polling/applications/powerdns-recursor.inc.php diff --git a/html/includes/graphs/application/powerdns-recursor.inc.php b/html/includes/graphs/application/powerdns-recursor.inc.php new file mode 100644 index 0000000000..72a6221cd8 --- /dev/null +++ b/html/includes/graphs/application/powerdns-recursor.inc.php @@ -0,0 +1,30 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Tony Murray + * @author Tony Murray + */ + +$rrd = rrd_name($device['hostname'], array('app', 'powerdns-recursor', $app['app_id'])); +if (is_file($rrd)) { + $rrd_filename = $rrd; +} +$simple_rrd = true; diff --git a/html/includes/graphs/application/powerdns-recursor_answers.inc.php b/html/includes/graphs/application/powerdns-recursor_answers.inc.php new file mode 100644 index 0000000000..cdeb327db0 --- /dev/null +++ b/html/includes/graphs/application/powerdns-recursor_answers.inc.php @@ -0,0 +1,64 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Tony Murray + * @author Tony Murray + */ + +include 'powerdns-recursor.inc.php'; + +$colours = 'oranges'; +$unit_text = 'Answers/sec'; +$print_total = true; + +if (is_file($rrd_filename)) { + $rrd_list = array( + array( + 'ds' => 'answers0-1', + 'filename' => $rrd_filename, + 'descr' => '0-1ms', + ), + array( + 'ds' => 'answers1-10', + 'filename' => $rrd_filename, + 'descr' => '1-10ms', + ), + array( + 'ds' => 'answers10-100', + 'filename' => $rrd_filename, + 'descr' => '10-100ms', + ), + array( + 'ds' => 'answers100-1000', + 'filename' => $rrd_filename, + 'descr' => '100-1000ms', + ), + array( + 'ds' => 'answers-slow', + 'filename' => $rrd_filename, + 'descr' => '>1s', + ), + ); +} else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi.inc.php'; \ No newline at end of file diff --git a/html/includes/graphs/application/powerdns-recursor_cache_performance.inc.php b/html/includes/graphs/application/powerdns-recursor_cache_performance.inc.php new file mode 100644 index 0000000000..5676f62f84 --- /dev/null +++ b/html/includes/graphs/application/powerdns-recursor_cache_performance.inc.php @@ -0,0 +1,65 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Tony Murray + * @author Tony Murray + */ +include 'powerdns-recursor.inc.php'; + +$colours = 'mixed'; +$unit_text = 'Packets/sec'; + +if (is_file($rrd_filename)) { + $rrd_list = array( + array( + 'filename' => $rrd_filename, + 'ds' => 'cache-hits', + 'descr' => 'Query Cache Hits', + 'colour' => '297159', + 'area' => true, + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'cache-misses', + 'descr' => 'Query Cache Misses', + 'colour' => '73AC61', + 'area' => true, + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'packetcache-hits', + 'descr' => 'Packet Cache Hits', + 'colour' => 'BC7049', + 'area' => true, + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'packetcache-misses', + 'descr' => 'Packet Cache Misses', + 'colour' => 'C98F45', + 'area' => true, + ) + ); +} else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi_line.inc.php'; \ No newline at end of file diff --git a/html/includes/graphs/application/powerdns-recursor_cache_size.inc.php b/html/includes/graphs/application/powerdns-recursor_cache_size.inc.php new file mode 100644 index 0000000000..dc46388b73 --- /dev/null +++ b/html/includes/graphs/application/powerdns-recursor_cache_size.inc.php @@ -0,0 +1,50 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Tony Murray + * @author Tony Murray + */ + +include 'powerdns-recursor.inc.php'; + +$colours = 'purples'; +$unit_text = 'Entries'; + +if (is_file($rrd_filename)) { + $rrd_list = array( + array( + 'filename' => $rrd_filename, + 'ds' => 'cache-entries', + 'descr' => 'Query Cache', + 'colour' => '202048', + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'packetcache-entries', + 'descr' => 'Packet Cache', + 'colour' => 'CC7CCC', + ) + ); +} else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi_line.inc.php'; diff --git a/html/includes/graphs/application/powerdns-recursor_outqueries.inc.php b/html/includes/graphs/application/powerdns-recursor_outqueries.inc.php new file mode 100644 index 0000000000..aa6281fd10 --- /dev/null +++ b/html/includes/graphs/application/powerdns-recursor_outqueries.inc.php @@ -0,0 +1,68 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Tony Murray + * @author Tony Murray + */ + +include 'powerdns-recursor.inc.php'; + +$colours = 'mixed'; +$unit_text = 'Queries/sec'; + +if (is_file($rrd_filename)) { + $rrd_list = array( + array( + 'filename' => $rrd_filename, + 'ds' => 'all-outqueries', + 'descr' => 'Total', + 'area' => true, + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'ipv6-outqueries', + 'descr' => 'IPv6', + 'area' => true, + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'tcp-outqueries', + 'descr' => 'TCP', + 'area' => true, + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'throttled-out', + 'descr' => 'Throttled', + 'area' => true, + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'outgoing-timeouts', + 'descr' => 'Timeouts', + 'area' => true, + ) + ); +} else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi_line.inc.php'; \ No newline at end of file diff --git a/html/includes/graphs/application/powerdns-recursor_questions.inc.php b/html/includes/graphs/application/powerdns-recursor_questions.inc.php new file mode 100644 index 0000000000..6ef78fd441 --- /dev/null +++ b/html/includes/graphs/application/powerdns-recursor_questions.inc.php @@ -0,0 +1,68 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Tony Murray + * @author Tony Murray + */ + +include 'powerdns-recursor.inc.php'; + +$colours = 'mixed'; +$unit_text = 'Questions/sec'; + +if (is_file($rrd_filename)) { + $rrd_list = array( + array( + 'filename' => $rrd_filename, + 'ds' => 'questions', + 'descr' => 'Total Questions', + 'area' => true, + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'ipv6-questions', + 'descr' => 'IPv6 Questions', + 'area' => true, + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'tcp-questions', + 'descr' => 'TCP Questions', + 'area' => true, + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'over-capacity-drops', + 'descr' => 'Over Capacity Drops', + 'area' => true, + ), + array( + 'filename' => $rrd_filename, + 'ds' => 'policy-drops', + 'descr' => 'Policy Drops', + 'area' => true, + ) + ); +} else { + echo "file missing: $rrd_filename"; +} + +require 'includes/graphs/generic_multi_line.inc.php'; \ No newline at end of file diff --git a/html/includes/graphs/generic_multi.inc.php b/html/includes/graphs/generic_multi.inc.php index 6d7f78a1c0..5100fce0b3 100644 --- a/html/includes/graphs/generic_multi.inc.php +++ b/html/includes/graphs/generic_multi.inc.php @@ -1,5 +1,20 @@ '500') { @@ -29,20 +44,26 @@ else { $i = 0; $iter = 0; +$ids = array(); foreach ($rrd_list as $rrd) { - if (!$config['graph_colours'][$colours][$iter]) { - $iter = 0; + // get the color for this data set + if(isset($rrd['colour'])) { + $colour = $rrd['colour']; + } else { + if (!$config['graph_colours'][$colours][$iter]) { + $iter = 0; + } + $colour = $config['graph_colours'][$colours][$iter]; + $iter++; } - $colour = $config['graph_colours'][$colours][$iter]; - $ds = $rrd['ds']; $filename = $rrd['filename']; $descr = rrdtool_escape($rrd['descr'], $descr_len); - $id = 'ds'.$i; + $ids[] = ($id = 'ds'.$i); $rrd_options .= ' DEF:'.$id."=$filename:$ds:AVERAGE"; @@ -69,10 +90,26 @@ foreach ($rrd_list as $rrd) { $bstack = ':STACK'; } + + + $i++; - $iter++; }//end foreach +if ($print_total) { + $tot = $ids; + for ($i=1; $i '500') { @@ -31,11 +48,17 @@ $i = 0; $iter = 0; foreach ($rrd_list as $rrd) { - if (!$config['graph_colours'][$colours][$iter]) { - $iter = 0; + // get the color for this data set + if(isset($rrd['colour'])) { + $colour = $rrd['colour']; + } else { + if (!$config['graph_colours'][$colours][$iter]) { + $iter = 0; + } + $colour = $config['graph_colours'][$colours][$iter]; + $iter++; } - $colour = $config['graph_colours'][$colours][$iter]; if (!empty($rrd['area']) && empty($rrd['areacolour'])) { $rrd['areacolour'] = $colour."20"; } @@ -76,7 +99,6 @@ foreach ($rrd_list as $rrd) { $rrd_optionsb .= ' GPRINT:'.$id.'max:MAX:%5.2lf%s'.$units.' GPRINT:'.$id.":AVERAGE:'%5.2lf%s$units\\n'"; $i++; - $iter++; }//end foreach $rrd_options .= $rrd_optionsb; diff --git a/html/pages/apps.inc.php b/html/pages/apps.inc.php index e0843279b6..855de431c7 100644 --- a/html/pages/apps.inc.php +++ b/html/pages/apps.inc.php @@ -33,6 +33,13 @@ $graphs['nginx'] = array( 'req', ); +$graphs['powerdns-recursor'] = array( + 'questions', + 'answers', + 'cache_performance', + 'outqueries' +); + $graphs['rrdcached'] = array( 'queue_length', 'events', diff --git a/html/pages/device/apps/powerdns-recursor.inc.php b/html/pages/device/apps/powerdns-recursor.inc.php new file mode 100644 index 0000000000..421bc3f74d --- /dev/null +++ b/html/pages/device/apps/powerdns-recursor.inc.php @@ -0,0 +1,53 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Tony Murray + * @author Tony Murray + */ + +global $config; + +$graphs = array( + 'powerdns-recursor_questions' => 'Questions', + 'powerdns-recursor_answers' => 'Answers', + 'powerdns-recursor_cache_performance' => 'Cache Performance', + 'powerdns-recursor_cache_size' => 'Cache Size', + 'powerdns-recursor_outqueries' => 'Outbound Queries', +); + +foreach ($graphs as $key => $text) { + $graph_array['height'] = '100'; + $graph_array['width'] = '215'; + $graph_array['to'] = $config['time']['now']; + $graph_array['id'] = $app['app_id']; + $graph_array['type'] = 'application_'.$key; + + echo '
+
+

'.$text.'

+
+
+
'; + include 'includes/print-graphrow.inc.php'; + echo '
'; + echo '
'; + echo '
'; +} \ No newline at end of file diff --git a/includes/polling/applications/powerdns-recursor.inc.php b/includes/polling/applications/powerdns-recursor.inc.php new file mode 100644 index 0000000000..3307a5d6db --- /dev/null +++ b/includes/polling/applications/powerdns-recursor.inc.php @@ -0,0 +1,126 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Tony Murray + * @author Tony Murray + */ + +echo ' powerdns-recrusor'; + +global $config; +$data = ''; + +$name = 'powerdns-recursor'; +$app_id = $app['app_id']; +if ($agent_data['app'][$name]) { + $data = $agent_data['app'][$name]; +} elseif (isset($config['apps'][$name]['api-key'])) { + d_echo("\nNo Agent Data. Attempting to connect directly to the powerdns-recursor server " . $device['hostname'] . ":8082\n"); + $context = stream_context_create(array('http' => array('header' => 'X-API-Key: ' . $config['apps'][$name]['api-key']))); + $data = file_get_contents('http://' . $device['hostname'] . ':8082/servers/localhost/statistics', false, $context); +} + +if (!empty($data)) { + $rrd_def = array( + 'all-outqueries' => 'DS:all-outqueries:COUNTER:600:0:U', + 'answers-slow' => 'DS:answers-slow:COUNTER:600:0:U', + 'answers0-1' => 'DS:answers0-1:COUNTER:600:0:U', + 'answers1-10' => 'DS:answers1-10:COUNTER:600:0:U', + 'answers10-100' => 'DS:answers10-100:COUNTER:600:0:U', + 'answers100-1000' => 'DS:answers100-1000:COUNTER:600:0:U', + 'cache-entries' => 'DS:cache-entries:GAUGE:600:0:U', + 'cache-hits' => 'DS:cache-hits:COUNTER:600:0:U', + 'cache-misses' => 'DS:cache-misses:COUNTER:600:0:U', + 'case-mismatches' => 'DS:case-mismatches:COUNTER:600:0:U', + 'chain-resends' => 'DS:chain-resends:COUNTER:600:0:U', + 'client-parse-errors' => 'DS:client-parse-errors:COUNTER:600:0:U', + 'concurrent-queries' => 'DS:concurrent-queries:GAUGE:600:0:U', + 'dlg-only-drops' => 'DS:dlg-only-drops:COUNTER:600:0:U', + 'dont-outqueries' => 'DS:dont-outqueries:COUNTER:600:0:U', + 'edns-ping-matches' => 'DS:edns-ping-matches:COUNTER:600:0:U', + 'edns-ping-mismatches' => 'DS:edns-ping-mismatches:COUNTER:600:0:U', + 'failed-host-entries' => 'DS:failed-host-entries:GAUGE:600:0:U', + 'ipv6-outqueries' => 'DS:ipv6-outqueries:COUNTER:600:0:U', + 'ipv6-questions' => 'DS:ipv6-questions:COUNTER:600:0:U', + 'malloc-bytes' => 'DS:malloc-bytes:GAUGE:600:0:U', + 'max-mthread-stack' => 'DS:max-mthread-stack:GAUGE:600:0:U', + 'negcache-entries' => 'DS:negcache-entries:GAUGE:600:0:U', + 'no-packet-error' => 'DS:no-packet-error:COUNTER:600:0:U', + 'noedns-outqueries' => 'DS:noedns-outqueries:COUNTER:600:0:U', + 'noerror-answers' => 'DS:noerror-answers:COUNTER:600:0:U', + 'noping-outqueries' => 'DS:noping-outqueries:COUNTER:600:0:U', + 'nsset-invalidations' => 'DS:nsset-invalidations:COUNTER:600:0:U', + 'nsspeeds-entries' => 'DS:nsspeeds-entries:GAUGE:600:0:U', + 'nxdomain-answers' => 'DS:nxdomain-answers:COUNTER:600:0:U', + 'outgoing-timeouts' => 'DS:outgoing-timeouts:COUNTER:600:0:U', + 'over-capacity-drops' => 'DS:over-capacity-drops:COUNTER:600:0:U', + 'packetcache-entries' => 'DS:packetcache-entries:GAUGE:600:0:U', + 'packetcache-hits' => 'DS:packetcache-hits:COUNTER:600:0:U', + 'packetcache-misses' => 'DS:packetcache-misses:COUNTER:600:0:U', + 'policy-drops' => 'DS:policy-drops:COUNTER:600:0:U', + 'qa-latency' => 'DS:qa-latency:GAUGE:600:0:U', + 'questions' => 'DS:questions:COUNTER:600:0:U', + 'resource-limits' => 'DS:resource-limits:COUNTER:600:0:U', + 'security-status' => 'DS:security-status:GAUGE:600:0:U', + 'server-parse-errors' => 'DS:server-parse-errors:COUNTER:600:0:U', + 'servfail-answers' => 'DS:servfail-answers:COUNTER:600:0:U', + 'spoof-prevents' => 'DS:spoof-prevents:COUNTER:600:0:U', + 'sys-msec' => 'DS:sys-msec:COUNTER:600:0:U', + 'tcp-client-overflow' => 'DS:tcp-client-overflow:COUNTER:600:0:U', + 'tcp-clients' => 'DS:tcp-clients:GAUGE:600:0:U', + 'tcp-outqueries' => 'DS:tcp-outqueries:COUNTER:600:0:U', + 'tcp-questions' => 'DS:tcp-questions:COUNTER:600:0:U', + 'throttle-entries' => 'DS:throttle-entries:GAUGE:600:0:U', + 'throttled-out' => 'DS:throttled-out:COUNTER:600:0:U', + 'throttled-outqueries' => 'DS:throttled-outquerie:COUNTER:600:0:U', + 'too-old-drops' => 'DS:too-old-drops:COUNTER:600:0:U', + 'unauthorized-tcp' => 'DS:unauthorized-tcp:COUNTER:600:0:U', + 'unauthorized-udp' => 'DS:unauthorized-udp:COUNTER:600:0:U', + 'unexpected-packets' => 'DS:unexpected-packets:COUNTER:600:0:U', + 'unreachables' => 'DS:unreachables:COUNTER:600:0:U', + 'uptime' => 'DS:uptime:COUNTER:600:0:U', + 'user-msec' => 'DS:user-msec:COUNTER:600:0:U', + ); + + //decode and flatten the data + $stats = array(); + foreach (json_decode($data, true) as $stat) { + $stats[$stat['name']] = $stat['value']; + } + d_echo($stats); + + // only the stats we store in rrd + $fields = array(); + foreach ($rrd_def as $key => $value) { + if (isset($stats[$key])) { + $fields[$key] = $stats[$key]; + } else { + $fields[$key] = 'U'; + } + } + + $rrd_name = array('app', 'powerdns', 'recursor', $app_id); + $tags = compact('name', 'app_id', 'rrd_name', 'rrd_def'); + data_update($device, 'app', $tags, $fields); +} + +unset($data, $stats, $rrd_def, $rrd_name, $rrd_keys, $tags, $fields); From a8d66ddf72818b49722b15591428edc11fe00da3 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Fri, 22 Jul 2016 15:36:19 -0500 Subject: [PATCH 14/31] Add Applications docs --- doc/Extensions/Applications.md | 19 +++++++++++++++++++ doc/mkdocs.yml | 4 ++++ 2 files changed, 23 insertions(+) create mode 100644 doc/Extensions/Applications.md create mode 100644 doc/mkdocs.yml diff --git a/doc/Extensions/Applications.md b/doc/Extensions/Applications.md new file mode 100644 index 0000000000..c85a1dc36e --- /dev/null +++ b/doc/Extensions/Applications.md @@ -0,0 +1,19 @@ +Application Monitoring +---------------------- + +LibreNMS supports monitoring application statistics through two methods the [Agent](http://docs.librenms.org/Extensions/Agent-Setup/) or direct connection to the device. + +To enable the agent go to device settings -> applications and enable the "unix-agent" +If you are using direct connection to collect statistics, you must manually enable the desired apps in the device settings -> applications page. + +##Applications + +###PowerDNS Recursor +A recursive DNS sever: https://www.powerdns.com/recursor.html +#### Connection +The LibreNMS polling host must be able to connect to port 8082 on the monitored device. +The web-server must be enabled, see the Recursor docs: https://doc.powerdns.com/md/recursor/settings/#webserver +There is currently no way to specify a custom port or password. +#### Agent +Copy powerdns-recursor to the `/usr/lib/check_mk_agent/local` directory. +The user check_mk is running as must be able to run `rec_control get-all` \ No newline at end of file diff --git a/doc/mkdocs.yml b/doc/mkdocs.yml new file mode 100644 index 0000000000..b61dc496d4 --- /dev/null +++ b/doc/mkdocs.yml @@ -0,0 +1,4 @@ +site_name: LibreNMS +docs_dir: /home/murrant/projects/librenms/doc +pages: +- Home: index.md From d83fde53d8101b600002b4c06b25a9187cf65056 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Fri, 22 Jul 2016 18:35:11 -0500 Subject: [PATCH 15/31] Clean up ibm-amm sensors Add power module state Correct state indexes Use numeric oids, but document named oids --- .../sensors/fanspeeds/ibm-amm.inc.php | 30 ++--- .../discovery/sensors/states/ibm-amm.inc.php | 118 ++++++++++++++---- .../sensors/temperatures/ibm-amm.inc.php | 4 +- 3 files changed, 110 insertions(+), 42 deletions(-) diff --git a/includes/discovery/sensors/fanspeeds/ibm-amm.inc.php b/includes/discovery/sensors/fanspeeds/ibm-amm.inc.php index a2bd990c99..b9d6729af3 100644 --- a/includes/discovery/sensors/fanspeeds/ibm-amm.inc.php +++ b/includes/discovery/sensors/fanspeeds/ibm-amm.inc.php @@ -12,26 +12,22 @@ if ($device['os'] == 'ibm-amm') { - $oids = array('blower1speedRPM', 'blower2speedRPM', 'blower3speedRPM', 'blower4speedRPM'); - d_echo($oids."\n"); - if (!empty($oids)) { + $descr_prefix = 'Blower '; + $oids = array( + '.1.3.6.1.4.1.2.3.51.2.2.3.20.0', // BLADE-MIB:blower1speedRPM + '.1.3.6.1.4.1.2.3.51.2.2.3.21.0', // BLADE-MIB:blower2speedRPM + '.1.3.6.1.4.1.2.3.51.2.2.3.22.0', // BLADE-MIB:blower3speedRPM + '.1.3.6.1.4.1.2.3.51.2.2.3.23.0', // BLADE-MIB:blower4speedRPM + ); - echo 'BLADE-MIB '; - foreach ($oids as $index => $data) { - - if (!empty($data)) { - $value = trim(snmp_get($device, $data.'.0', '-Oqv', 'BLADE-MIB'), '"'); - - if (is_numeric($value)) { - $oid = 'BLADE-MIB::' . $data . '.0'; - $descr = $data; - discover_sensor($valid['sensor'], 'fanspeed', $device, $oid, $index, 'snmp', $descr, 1, 1, null, null, null, null, $value); - } - - } + echo 'BLADE-MIB '; + foreach ($oids as $index => $oid) { + $value = trim(snmp_get($device, $oid, '-Oqv'), '"'); + if (is_numeric($value)) { + $descr = $descr_prefix . ($index + 1); + discover_sensor($valid['sensor'], 'fanspeed', $device, $oid, $index, 'snmp', $descr, 1, 1, null, null, null, null, $value); } - } } diff --git a/includes/discovery/sensors/states/ibm-amm.inc.php b/includes/discovery/sensors/states/ibm-amm.inc.php index c9cdb9c57f..bbed4a2a7a 100644 --- a/includes/discovery/sensors/states/ibm-amm.inc.php +++ b/includes/discovery/sensors/states/ibm-amm.inc.php @@ -13,16 +13,25 @@ if ($device['os'] == 'ibm-amm') { $index = 1; + $state_name = 'ibm-amm_BlowerState'; + $state_descr = 'Blower '; $oids = array( - 'blower1State' => '.1.3.6.1.4.1.2.3.51.2.2.3.10.0', - 'blower2State' => '.1.3.6.1.4.1.2.3.51.2.2.3.11.0', - 'blower3State' => '.1.3.6.1.4.1.2.3.51.2.2.3.12.0', - 'blower4State' => '.1.3.6.1.4.1.2.3.51.2.2.3.13.0' + '.1.3.6.1.4.1.2.3.51.2.2.3.10.0', // BLADE-MIB::blower1State.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.11.0', // BLADE-MIB::blower2State.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.12.0', // BLADE-MIB::blower3State.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.13.0', // BLADE-MIB::blower4State.0 ); + /* BLADE-MIB: blower1State + * unknown(0), + * good(1), + * warning(2), + * bad(3) + */ - foreach ($oids as $state_name => $oid) { - + foreach ($oids as $oid) { $state = snmp_get($device, $oid, '-Oqv'); + $descr = $state_descr . $index; + if (!empty($state)) { $state_index_id = create_state_index($state_name); @@ -30,10 +39,10 @@ if ($device['os'] == 'ibm-amm') { if ($state_index_id) { $states = array( - array($state_index_id,'unknown',0,0,3) , - array($state_index_id,'good',1,1,0) , - array($state_index_id,'warning',1,2,1) , - array($state_index_id,'bad',1,3,2) , + array($state_index_id, 'unknown', 0, 0, 3), + array($state_index_id, 'good', 1, 1, 0), + array($state_index_id, 'warning', 1, 2, 1), + array($state_index_id, 'bad', 1, 3, 2), ); foreach($states as $value) { @@ -49,7 +58,7 @@ if ($device['os'] == 'ibm-amm') { }//end if - discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $state_name, '1', '1', null, null, null, null, $state, 'snmp', $index); + discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, '1', '1', null, null, null, null, $state, 'snmp', $index); //Create Sensor To State Index create_sensor_to_state_index($device, $state_name, $index); $index++; @@ -59,15 +68,25 @@ if ($device['os'] == 'ibm-amm') { }//end foreach $index = 1; + $state_name = 'ibm-amm_BlowerControllerState'; + $state_descr = 'Blower Controller '; $oids = array( - 'blower1ControllerState' => '.1.3.6.1.4.1.2.3.51.2.2.3.30.0', - 'blower2ControllerState' => '.1.3.6.1.4.1.2.3.51.2.2.3.31.0', - 'blower3ControllerState' => '.1.3.6.1.4.1.2.3.51.2.2.3.32.0', - 'blower4ControllerState' => '.1.3.6.1.4.1.2.3.51.2.2.3.33.0'); - - foreach ($oids as $state_name => $oid) { + '.1.3.6.1.4.1.2.3.51.2.2.3.30.0', // BLADE-MIB::blower1ControllerState.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.31.0', // BLADE-MIB::blower2ControllerState.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.32.0', // BLADE-MIB::blower3ControllerState.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.33.0', // BLADE-MIB::blower4ControllerState.0 + ); + /* BLADE-MIB: blower1ControllerState + * operational(0), + * flashing(1), + * notPresent(2), + * communicationError(3), + * unknown(255) + */ + foreach ($oids as $oid) { $state = snmp_get($device, $oid, '-Oqv'); + $descr = $state_descr . $index; if (is_numeric($state) && $state != 2) { @@ -76,11 +95,11 @@ if ($device['os'] == 'ibm-amm') { if ($state_index_id) { $states = array( - array($state_index_id,'operational',0,0,0), - array($state_index_id,'flashing',1,1,1), - array($state_index_id,'notPresent',1,2,2), - array($state_index_id,'communicationError',1,3,2), - array($state_index_id,'unknown',1,4,2), + array($state_index_id, 'operational', 1, 0, 0), + array($state_index_id, 'flashing', 1, 1, 1), + array($state_index_id, 'notPresent', 1, 2, -1), + array($state_index_id, 'communicationError', 1, 3, 2), + array($state_index_id, 'unknown', 0, 255, 3), ); foreach($states as $value) { @@ -96,7 +115,7 @@ if ($device['os'] == 'ibm-amm') { }//end if - discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $state_name, '1', '1', null, null, null, null, $state, 'snmp', $index); + discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, '1', '1', null, null, null, null, $state, 'snmp', $index); //Create Sensor To State Index create_sensor_to_state_index($device, $state_name, $index); $index++; @@ -105,4 +124,57 @@ if ($device['os'] == 'ibm-amm') { }//end foreach + $index = 1; + $state_name = 'ibm-amm_PowerModuleState'; + $state_descr = 'Power Module '; + $powerModuleStateOid= '.1.3.6.1.4.1.2.3.51.2.2.4.1.1.3'; // BLADE-MIB::powerModuleState + $data = snmpwalk_cache_oid_num($device, $powerModuleStateOid, array()); + + /* BLADE-MIB: powerModuleState + * unknown(0), + * good(1), + * warning(2), + * notAvailable(3), + * critical(4) + */ + foreach ($data as $oid => $array) { + $state = current($array); // get the first (and only) item from the array + $descr = $state_descr . $index; + + if (is_numeric($state) && $state != 3) { + + $state_index_id = create_state_index($state_name); + + if ($state_index_id) { + + $states = array( + array($state_index_id, 'unknown', 0, 0, 3), + array($state_index_id, 'good', 1, 1, 0), + array($state_index_id, 'warning', 1, 2, 1), + array($state_index_id, 'notAvailable', 1, 3, -1), + array($state_index_id, 'critical', 1, 4, 2), + ); + + foreach ($states as $value) { + $insert = array( + 'state_index_id' => $value[0], + 'state_descr' => $value[1], + 'state_draw_graph' => $value[2], + 'state_value' => $value[3], + 'state_generic_value' => $value[4] + ); + dbInsert($insert, 'state_translations'); + }//end foreach + + }//end if + + discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, '1', '1', null, null, + null, null, $state, 'snmp', $index); + //Create Sensor To State Index + create_sensor_to_state_index($device, $state_name, $index); + $index++; + + }//end if + }//end foreach + }//end if diff --git a/includes/discovery/sensors/temperatures/ibm-amm.inc.php b/includes/discovery/sensors/temperatures/ibm-amm.inc.php index 45becf70e7..fc27f27f37 100644 --- a/includes/discovery/sensors/temperatures/ibm-amm.inc.php +++ b/includes/discovery/sensors/temperatures/ibm-amm.inc.php @@ -11,7 +11,7 @@ */ if ($device['os'] == 'ibm-amm') { - $oid = 'BLADE-MIB::mmTemp.0'; + $oid = '.1.3.6.1.4.1.2.3.51.2.2.1.1.2.0'; // BLADE-MIB::mmTemp.0 $mmtemp = snmp_get($device, $oid, '-Oqv'); preg_match('/[\d\.]+/', $mmtemp, $temp_response); @@ -28,7 +28,7 @@ if ($device['os'] == 'ibm-amm') { discover_sensor($valid['sensor'], 'temperature', $device, $oid, $oid, 'ibm-amm', $descr, $divisor, '1', null, null, null, null, $current); } - $oid = 'BLADE-MIB::frontPanelTemp.0'; + $oid = '.1.3.6.1.4.1.2.3.51.2.2.1.5.1.0'; // BLADE-MIB::frontPanelTemp.0 $fptemp = snmp_get($device, $oid, '-Oqv'); preg_match('/[\d\.]+/', $fptemp, $temp_response); From 8f00f49b79374289e165e798ec6d83a355438bb6 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Fri, 22 Jul 2016 18:36:10 -0500 Subject: [PATCH 16/31] Group sensors of the same type together, then order by index, oid --- html/pages/device/overview/generic/sensor.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/pages/device/overview/generic/sensor.inc.php b/html/pages/device/overview/generic/sensor.inc.php index f086825624..8de67f5c55 100644 --- a/html/pages/device/overview/generic/sensor.inc.php +++ b/html/pages/device/overview/generic/sensor.inc.php @@ -2,7 +2,7 @@ if ($sensor_class == 'state') { - $sensors = dbFetchRows('SELECT * FROM `sensors` LEFT JOIN `sensors_to_state_indexes` ON sensors_to_state_indexes.sensor_id = sensors.sensor_id LEFT JOIN state_indexes ON state_indexes.state_index_id = sensors_to_state_indexes.state_index_id WHERE `sensor_class` = ? AND device_id = ? ORDER BY `poller_type`, `sensor_index`+0, `sensor_oid`', array($sensor_class, $device['device_id'])); + $sensors = dbFetchRows('SELECT * FROM `sensors` LEFT JOIN `sensors_to_state_indexes` ON sensors_to_state_indexes.sensor_id = sensors.sensor_id LEFT JOIN state_indexes ON state_indexes.state_index_id = sensors_to_state_indexes.state_index_id WHERE `sensor_class` = ? AND device_id = ? ORDER BY `sensor_type`, `sensor_index`+0, `sensor_oid`', array($sensor_class, $device['device_id'])); } else { $sensors = dbFetchRows('SELECT * FROM `sensors` WHERE `sensor_class` = ? AND device_id = ? ORDER BY `poller_type`, `sensor_oid`, `sensor_index`', array($sensor_class, $device['device_id'])); From db0e6eca2ff53095819670885e9e3c76b8b6fb19 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Fri, 22 Jul 2016 18:46:29 -0500 Subject: [PATCH 17/31] Clean up ibm-amm sensors Add power module state Correct state indexes Use numeric oids, but document named oids --- .../sensors/fanspeeds/ibm-amm.inc.php | 30 ++--- .../discovery/sensors/states/ibm-amm.inc.php | 118 ++++++++++++++---- .../sensors/temperatures/ibm-amm.inc.php | 4 +- 3 files changed, 110 insertions(+), 42 deletions(-) diff --git a/includes/discovery/sensors/fanspeeds/ibm-amm.inc.php b/includes/discovery/sensors/fanspeeds/ibm-amm.inc.php index a2bd990c99..b9d6729af3 100644 --- a/includes/discovery/sensors/fanspeeds/ibm-amm.inc.php +++ b/includes/discovery/sensors/fanspeeds/ibm-amm.inc.php @@ -12,26 +12,22 @@ if ($device['os'] == 'ibm-amm') { - $oids = array('blower1speedRPM', 'blower2speedRPM', 'blower3speedRPM', 'blower4speedRPM'); - d_echo($oids."\n"); - if (!empty($oids)) { + $descr_prefix = 'Blower '; + $oids = array( + '.1.3.6.1.4.1.2.3.51.2.2.3.20.0', // BLADE-MIB:blower1speedRPM + '.1.3.6.1.4.1.2.3.51.2.2.3.21.0', // BLADE-MIB:blower2speedRPM + '.1.3.6.1.4.1.2.3.51.2.2.3.22.0', // BLADE-MIB:blower3speedRPM + '.1.3.6.1.4.1.2.3.51.2.2.3.23.0', // BLADE-MIB:blower4speedRPM + ); - echo 'BLADE-MIB '; - foreach ($oids as $index => $data) { - - if (!empty($data)) { - $value = trim(snmp_get($device, $data.'.0', '-Oqv', 'BLADE-MIB'), '"'); - - if (is_numeric($value)) { - $oid = 'BLADE-MIB::' . $data . '.0'; - $descr = $data; - discover_sensor($valid['sensor'], 'fanspeed', $device, $oid, $index, 'snmp', $descr, 1, 1, null, null, null, null, $value); - } - - } + echo 'BLADE-MIB '; + foreach ($oids as $index => $oid) { + $value = trim(snmp_get($device, $oid, '-Oqv'), '"'); + if (is_numeric($value)) { + $descr = $descr_prefix . ($index + 1); + discover_sensor($valid['sensor'], 'fanspeed', $device, $oid, $index, 'snmp', $descr, 1, 1, null, null, null, null, $value); } - } } diff --git a/includes/discovery/sensors/states/ibm-amm.inc.php b/includes/discovery/sensors/states/ibm-amm.inc.php index c9cdb9c57f..bbed4a2a7a 100644 --- a/includes/discovery/sensors/states/ibm-amm.inc.php +++ b/includes/discovery/sensors/states/ibm-amm.inc.php @@ -13,16 +13,25 @@ if ($device['os'] == 'ibm-amm') { $index = 1; + $state_name = 'ibm-amm_BlowerState'; + $state_descr = 'Blower '; $oids = array( - 'blower1State' => '.1.3.6.1.4.1.2.3.51.2.2.3.10.0', - 'blower2State' => '.1.3.6.1.4.1.2.3.51.2.2.3.11.0', - 'blower3State' => '.1.3.6.1.4.1.2.3.51.2.2.3.12.0', - 'blower4State' => '.1.3.6.1.4.1.2.3.51.2.2.3.13.0' + '.1.3.6.1.4.1.2.3.51.2.2.3.10.0', // BLADE-MIB::blower1State.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.11.0', // BLADE-MIB::blower2State.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.12.0', // BLADE-MIB::blower3State.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.13.0', // BLADE-MIB::blower4State.0 ); + /* BLADE-MIB: blower1State + * unknown(0), + * good(1), + * warning(2), + * bad(3) + */ - foreach ($oids as $state_name => $oid) { - + foreach ($oids as $oid) { $state = snmp_get($device, $oid, '-Oqv'); + $descr = $state_descr . $index; + if (!empty($state)) { $state_index_id = create_state_index($state_name); @@ -30,10 +39,10 @@ if ($device['os'] == 'ibm-amm') { if ($state_index_id) { $states = array( - array($state_index_id,'unknown',0,0,3) , - array($state_index_id,'good',1,1,0) , - array($state_index_id,'warning',1,2,1) , - array($state_index_id,'bad',1,3,2) , + array($state_index_id, 'unknown', 0, 0, 3), + array($state_index_id, 'good', 1, 1, 0), + array($state_index_id, 'warning', 1, 2, 1), + array($state_index_id, 'bad', 1, 3, 2), ); foreach($states as $value) { @@ -49,7 +58,7 @@ if ($device['os'] == 'ibm-amm') { }//end if - discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $state_name, '1', '1', null, null, null, null, $state, 'snmp', $index); + discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, '1', '1', null, null, null, null, $state, 'snmp', $index); //Create Sensor To State Index create_sensor_to_state_index($device, $state_name, $index); $index++; @@ -59,15 +68,25 @@ if ($device['os'] == 'ibm-amm') { }//end foreach $index = 1; + $state_name = 'ibm-amm_BlowerControllerState'; + $state_descr = 'Blower Controller '; $oids = array( - 'blower1ControllerState' => '.1.3.6.1.4.1.2.3.51.2.2.3.30.0', - 'blower2ControllerState' => '.1.3.6.1.4.1.2.3.51.2.2.3.31.0', - 'blower3ControllerState' => '.1.3.6.1.4.1.2.3.51.2.2.3.32.0', - 'blower4ControllerState' => '.1.3.6.1.4.1.2.3.51.2.2.3.33.0'); - - foreach ($oids as $state_name => $oid) { + '.1.3.6.1.4.1.2.3.51.2.2.3.30.0', // BLADE-MIB::blower1ControllerState.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.31.0', // BLADE-MIB::blower2ControllerState.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.32.0', // BLADE-MIB::blower3ControllerState.0 + '.1.3.6.1.4.1.2.3.51.2.2.3.33.0', // BLADE-MIB::blower4ControllerState.0 + ); + /* BLADE-MIB: blower1ControllerState + * operational(0), + * flashing(1), + * notPresent(2), + * communicationError(3), + * unknown(255) + */ + foreach ($oids as $oid) { $state = snmp_get($device, $oid, '-Oqv'); + $descr = $state_descr . $index; if (is_numeric($state) && $state != 2) { @@ -76,11 +95,11 @@ if ($device['os'] == 'ibm-amm') { if ($state_index_id) { $states = array( - array($state_index_id,'operational',0,0,0), - array($state_index_id,'flashing',1,1,1), - array($state_index_id,'notPresent',1,2,2), - array($state_index_id,'communicationError',1,3,2), - array($state_index_id,'unknown',1,4,2), + array($state_index_id, 'operational', 1, 0, 0), + array($state_index_id, 'flashing', 1, 1, 1), + array($state_index_id, 'notPresent', 1, 2, -1), + array($state_index_id, 'communicationError', 1, 3, 2), + array($state_index_id, 'unknown', 0, 255, 3), ); foreach($states as $value) { @@ -96,7 +115,7 @@ if ($device['os'] == 'ibm-amm') { }//end if - discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $state_name, '1', '1', null, null, null, null, $state, 'snmp', $index); + discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, '1', '1', null, null, null, null, $state, 'snmp', $index); //Create Sensor To State Index create_sensor_to_state_index($device, $state_name, $index); $index++; @@ -105,4 +124,57 @@ if ($device['os'] == 'ibm-amm') { }//end foreach + $index = 1; + $state_name = 'ibm-amm_PowerModuleState'; + $state_descr = 'Power Module '; + $powerModuleStateOid= '.1.3.6.1.4.1.2.3.51.2.2.4.1.1.3'; // BLADE-MIB::powerModuleState + $data = snmpwalk_cache_oid_num($device, $powerModuleStateOid, array()); + + /* BLADE-MIB: powerModuleState + * unknown(0), + * good(1), + * warning(2), + * notAvailable(3), + * critical(4) + */ + foreach ($data as $oid => $array) { + $state = current($array); // get the first (and only) item from the array + $descr = $state_descr . $index; + + if (is_numeric($state) && $state != 3) { + + $state_index_id = create_state_index($state_name); + + if ($state_index_id) { + + $states = array( + array($state_index_id, 'unknown', 0, 0, 3), + array($state_index_id, 'good', 1, 1, 0), + array($state_index_id, 'warning', 1, 2, 1), + array($state_index_id, 'notAvailable', 1, 3, -1), + array($state_index_id, 'critical', 1, 4, 2), + ); + + foreach ($states as $value) { + $insert = array( + 'state_index_id' => $value[0], + 'state_descr' => $value[1], + 'state_draw_graph' => $value[2], + 'state_value' => $value[3], + 'state_generic_value' => $value[4] + ); + dbInsert($insert, 'state_translations'); + }//end foreach + + }//end if + + discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, '1', '1', null, null, + null, null, $state, 'snmp', $index); + //Create Sensor To State Index + create_sensor_to_state_index($device, $state_name, $index); + $index++; + + }//end if + }//end foreach + }//end if diff --git a/includes/discovery/sensors/temperatures/ibm-amm.inc.php b/includes/discovery/sensors/temperatures/ibm-amm.inc.php index 45becf70e7..fc27f27f37 100644 --- a/includes/discovery/sensors/temperatures/ibm-amm.inc.php +++ b/includes/discovery/sensors/temperatures/ibm-amm.inc.php @@ -11,7 +11,7 @@ */ if ($device['os'] == 'ibm-amm') { - $oid = 'BLADE-MIB::mmTemp.0'; + $oid = '.1.3.6.1.4.1.2.3.51.2.2.1.1.2.0'; // BLADE-MIB::mmTemp.0 $mmtemp = snmp_get($device, $oid, '-Oqv'); preg_match('/[\d\.]+/', $mmtemp, $temp_response); @@ -28,7 +28,7 @@ if ($device['os'] == 'ibm-amm') { discover_sensor($valid['sensor'], 'temperature', $device, $oid, $oid, 'ibm-amm', $descr, $divisor, '1', null, null, null, null, $current); } - $oid = 'BLADE-MIB::frontPanelTemp.0'; + $oid = '.1.3.6.1.4.1.2.3.51.2.2.1.5.1.0'; // BLADE-MIB::frontPanelTemp.0 $fptemp = snmp_get($device, $oid, '-Oqv'); preg_match('/[\d\.]+/', $fptemp, $temp_response); From cfc4a03c0e325db8fc00a6927c7f913a1739edea Mon Sep 17 00:00:00 2001 From: crcro Date: Sat, 23 Jul 2016 17:01:57 +0300 Subject: [PATCH 18/31] app-os-updates Fixed wrong graph template used --- html/includes/graphs/application/nfs-fh.inc.php | 2 +- html/includes/graphs/application/nfs-io.inc.php | 2 +- html/includes/graphs/application/nfs-net.inc.php | 2 +- html/includes/graphs/application/nfs-ra.inc.php | 2 +- html/includes/graphs/application/nfs-rc.inc.php | 2 +- html/includes/graphs/application/nfs-rpc.inc.php | 2 +- html/includes/graphs/application/nfs-stats.inc.php | 2 +- html/includes/graphs/application/nfs-v3-stats.inc.php | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/html/includes/graphs/application/nfs-fh.inc.php b/html/includes/graphs/application/nfs-fh.inc.php index 76eed56fed..ffe358a30f 100644 --- a/html/includes/graphs/application/nfs-fh.inc.php +++ b/html/includes/graphs/application/nfs-fh.inc.php @@ -34,4 +34,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-io.inc.php b/html/includes/graphs/application/nfs-io.inc.php index e6778d55ce..21431f1c3b 100644 --- a/html/includes/graphs/application/nfs-io.inc.php +++ b/html/includes/graphs/application/nfs-io.inc.php @@ -31,4 +31,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-net.inc.php b/html/includes/graphs/application/nfs-net.inc.php index 70b17cad62..4d908c1bec 100644 --- a/html/includes/graphs/application/nfs-net.inc.php +++ b/html/includes/graphs/application/nfs-net.inc.php @@ -33,4 +33,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-ra.inc.php b/html/includes/graphs/application/nfs-ra.inc.php index a6503e07b6..cf4a7fd9de 100644 --- a/html/includes/graphs/application/nfs-ra.inc.php +++ b/html/includes/graphs/application/nfs-ra.inc.php @@ -41,4 +41,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-rc.inc.php b/html/includes/graphs/application/nfs-rc.inc.php index ba0bdcf2f7..09c6a3d4f1 100644 --- a/html/includes/graphs/application/nfs-rc.inc.php +++ b/html/includes/graphs/application/nfs-rc.inc.php @@ -32,4 +32,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-rpc.inc.php b/html/includes/graphs/application/nfs-rpc.inc.php index 4b766e70fc..b1dcd780cb 100644 --- a/html/includes/graphs/application/nfs-rpc.inc.php +++ b/html/includes/graphs/application/nfs-rpc.inc.php @@ -34,4 +34,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-stats.inc.php b/html/includes/graphs/application/nfs-stats.inc.php index 83e152da42..66a907211d 100644 --- a/html/includes/graphs/application/nfs-stats.inc.php +++ b/html/includes/graphs/application/nfs-stats.inc.php @@ -87,4 +87,4 @@ else { echo "file missing: $file"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-v3-stats.inc.php b/html/includes/graphs/application/nfs-v3-stats.inc.php index 5ab9f7a412..e171883923 100644 --- a/html/includes/graphs/application/nfs-v3-stats.inc.php +++ b/html/includes/graphs/application/nfs-v3-stats.inc.php @@ -51,4 +51,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; From 8ef99b6085e4df5ab9d746ede3bdf3984210b28b Mon Sep 17 00:00:00 2001 From: crcro Date: Sat, 23 Jul 2016 17:14:36 +0300 Subject: [PATCH 19/31] Revert "app-os-updates" This reverts commit cfc4a03c0e325db8fc00a6927c7f913a1739edea. --- html/includes/graphs/application/nfs-fh.inc.php | 2 +- html/includes/graphs/application/nfs-io.inc.php | 2 +- html/includes/graphs/application/nfs-net.inc.php | 2 +- html/includes/graphs/application/nfs-ra.inc.php | 2 +- html/includes/graphs/application/nfs-rc.inc.php | 2 +- html/includes/graphs/application/nfs-rpc.inc.php | 2 +- html/includes/graphs/application/nfs-stats.inc.php | 2 +- html/includes/graphs/application/nfs-v3-stats.inc.php | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/html/includes/graphs/application/nfs-fh.inc.php b/html/includes/graphs/application/nfs-fh.inc.php index ffe358a30f..76eed56fed 100644 --- a/html/includes/graphs/application/nfs-fh.inc.php +++ b/html/includes/graphs/application/nfs-fh.inc.php @@ -34,4 +34,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_v3_multiline.inc.php'; +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-io.inc.php b/html/includes/graphs/application/nfs-io.inc.php index 21431f1c3b..e6778d55ce 100644 --- a/html/includes/graphs/application/nfs-io.inc.php +++ b/html/includes/graphs/application/nfs-io.inc.php @@ -31,4 +31,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_v3_multiline.inc.php'; +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-net.inc.php b/html/includes/graphs/application/nfs-net.inc.php index 4d908c1bec..70b17cad62 100644 --- a/html/includes/graphs/application/nfs-net.inc.php +++ b/html/includes/graphs/application/nfs-net.inc.php @@ -33,4 +33,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_v3_multiline.inc.php'; +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-ra.inc.php b/html/includes/graphs/application/nfs-ra.inc.php index cf4a7fd9de..a6503e07b6 100644 --- a/html/includes/graphs/application/nfs-ra.inc.php +++ b/html/includes/graphs/application/nfs-ra.inc.php @@ -41,4 +41,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_v3_multiline.inc.php'; +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-rc.inc.php b/html/includes/graphs/application/nfs-rc.inc.php index 09c6a3d4f1..ba0bdcf2f7 100644 --- a/html/includes/graphs/application/nfs-rc.inc.php +++ b/html/includes/graphs/application/nfs-rc.inc.php @@ -32,4 +32,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_v3_multiline.inc.php'; +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-rpc.inc.php b/html/includes/graphs/application/nfs-rpc.inc.php index b1dcd780cb..4b766e70fc 100644 --- a/html/includes/graphs/application/nfs-rpc.inc.php +++ b/html/includes/graphs/application/nfs-rpc.inc.php @@ -34,4 +34,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_v3_multiline.inc.php'; +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-stats.inc.php b/html/includes/graphs/application/nfs-stats.inc.php index 66a907211d..83e152da42 100644 --- a/html/includes/graphs/application/nfs-stats.inc.php +++ b/html/includes/graphs/application/nfs-stats.inc.php @@ -87,4 +87,4 @@ else { echo "file missing: $file"; } -require 'includes/graphs/generic_v3_multiline.inc.php'; +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; diff --git a/html/includes/graphs/application/nfs-v3-stats.inc.php b/html/includes/graphs/application/nfs-v3-stats.inc.php index e171883923..5ab9f7a412 100644 --- a/html/includes/graphs/application/nfs-v3-stats.inc.php +++ b/html/includes/graphs/application/nfs-v3-stats.inc.php @@ -51,4 +51,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_v3_multiline.inc.php'; +require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; From dd6b55807791bcfbed9cda85b5556b6ac50582e3 Mon Sep 17 00:00:00 2001 From: crcro Date: Sat, 23 Jul 2016 17:26:42 +0300 Subject: [PATCH 20/31] fixed wrong graph template used --- html/includes/graphs/application/nfs-fh.inc.php | 2 +- html/includes/graphs/application/nfs-io.inc.php | 2 +- html/includes/graphs/application/nfs-net.inc.php | 2 +- html/includes/graphs/application/nfs-ra.inc.php | 2 +- html/includes/graphs/application/nfs-rc.inc.php | 2 +- html/includes/graphs/application/nfs-rpc.inc.php | 2 +- html/includes/graphs/application/nfs-v3-stats.inc.php | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/html/includes/graphs/application/nfs-fh.inc.php b/html/includes/graphs/application/nfs-fh.inc.php index 76eed56fed..ffe358a30f 100644 --- a/html/includes/graphs/application/nfs-fh.inc.php +++ b/html/includes/graphs/application/nfs-fh.inc.php @@ -34,4 +34,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-io.inc.php b/html/includes/graphs/application/nfs-io.inc.php index e6778d55ce..21431f1c3b 100644 --- a/html/includes/graphs/application/nfs-io.inc.php +++ b/html/includes/graphs/application/nfs-io.inc.php @@ -31,4 +31,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-net.inc.php b/html/includes/graphs/application/nfs-net.inc.php index 70b17cad62..4d908c1bec 100644 --- a/html/includes/graphs/application/nfs-net.inc.php +++ b/html/includes/graphs/application/nfs-net.inc.php @@ -33,4 +33,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-ra.inc.php b/html/includes/graphs/application/nfs-ra.inc.php index a6503e07b6..cf4a7fd9de 100644 --- a/html/includes/graphs/application/nfs-ra.inc.php +++ b/html/includes/graphs/application/nfs-ra.inc.php @@ -41,4 +41,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-rc.inc.php b/html/includes/graphs/application/nfs-rc.inc.php index ba0bdcf2f7..09c6a3d4f1 100644 --- a/html/includes/graphs/application/nfs-rc.inc.php +++ b/html/includes/graphs/application/nfs-rc.inc.php @@ -32,4 +32,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-rpc.inc.php b/html/includes/graphs/application/nfs-rpc.inc.php index 4b766e70fc..b1dcd780cb 100644 --- a/html/includes/graphs/application/nfs-rpc.inc.php +++ b/html/includes/graphs/application/nfs-rpc.inc.php @@ -34,4 +34,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; diff --git a/html/includes/graphs/application/nfs-v3-stats.inc.php b/html/includes/graphs/application/nfs-v3-stats.inc.php index 5ab9f7a412..e171883923 100644 --- a/html/includes/graphs/application/nfs-v3-stats.inc.php +++ b/html/includes/graphs/application/nfs-v3-stats.inc.php @@ -51,4 +51,4 @@ else { echo "file missing: $rrd_filename"; } -require 'includes/graphs/generic_multi_line_exact_numbers.inc.php'; +require 'includes/graphs/generic_v3_multiline.inc.php'; From bc18e1a85c7ad4c6e0378c05e653e27f845ceacf Mon Sep 17 00:00:00 2001 From: Rosiak Date: Sun, 24 Jul 2016 11:36:20 +0200 Subject: [PATCH 21/31] Prettify Cisco IPSec Tunnel Display Bootstrapify etc. --- .../device/routing/ipsec_tunnels.inc.php | 131 ++++++++++-------- 1 file changed, 74 insertions(+), 57 deletions(-) diff --git a/html/pages/device/routing/ipsec_tunnels.inc.php b/html/pages/device/routing/ipsec_tunnels.inc.php index 5a360169aa..45442cf68e 100644 --- a/html/pages/device/routing/ipsec_tunnels.inc.php +++ b/html/pages/device/routing/ipsec_tunnels.inc.php @@ -1,17 +1,19 @@ 'device', - 'device' => $device['device_id'], - 'tab' => 'routing', - 'proto' => 'ipsec_tunnels', - ); + 'page' => 'device', + 'device' => $device['device_id'], + 'tab' => 'routing', + 'proto' => 'ipsec_tunnels' +); print_optionbar_start(); echo "IPSEC Tunnels » "; -$menu_options = array('basic' => 'Basic'); +$menu_options = array( + 'basic' => 'Basic' +); if (!isset($vars['view'])) { $vars['view'] = 'basic'; @@ -19,8 +21,8 @@ if (!isset($vars['view'])) { echo "VRFs » "; -$menu_options = array('basic' => 'Basic', -// 'detail' => 'Detail', +$menu_options = array( + 'basic' => 'Basic' ); if (!$_GET['opta']) { @@ -32,83 +34,98 @@ foreach ($menu_options as $option => $text) { if ($vars['view'] == $option) { echo ""; } - - echo generate_link($text, $link_array, array('view' => $option)); + + echo generate_link($text, $link_array, array( + 'view' => $option + )); if ($vars['view'] == $option) { echo ''; } - + echo ' | '; } echo ' Graphs: '; $graph_types = array( - 'bits' => 'Bits', - 'pkts' => 'Packets', - ); + 'bits' => 'Bits', + 'pkts' => 'Packets' +); foreach ($graph_types as $type => $descr) { echo "$type_sep"; if ($vars['graph'] == $type) { echo ""; } - - echo generate_link($descr, $link_array, array('view' => 'graphs', 'graph' => $type)); + + echo generate_link($descr, $link_array, array( + 'view' => 'graphs', + 'graph' => $type + )); if ($vars['graph'] == $type) { echo ''; } - + $type_sep = ' | '; } - print_optionbar_end(); -echo "
"; -$i = '0'; -foreach (dbFetchRows('SELECT * FROM `ipsec_tunnels` WHERE `device_id` = ? ORDER BY `peer_addr`', array($device['device_id'])) as $tunnel) { - if (is_integer($i / 2)) { - $bg_colour = $list_colour_a; - } - else { - $bg_colour = $list_colour_b; - } +$tunnel = dbFetchRows('SELECT * FROM `ipsec_tunnels` WHERE `device_id` = ? ORDER BY `peer_addr`', array( + $device['device_id'] +)); - if ($tunnel['tunnel_status'] == 'active') { - $tunnel_class = 'green'; +if (is_null($vars['graph'])) { + $tunnel_label = 'warning'; + echo '
+ + + + + + + + + '; + + foreach ($tunnel as $entry) { + $local_addr = preg_replace('/\b0+(?=\d)/', '', htmlentities($entry['local_addr'])); + $remote_addr = preg_replace('/\b0+(?=\d)/', '', htmlentities($entry['peer_addr'])); + + if ($tunnel['tunnel_status'] = 'active') { + $tunnel_label = 'success'; + } + echo ' + + + + + '; } - else { - $tunnel_class = 'red'; - } - - echo ""; - echo ''; - echo ''; - echo "'; - echo ''; - if (isset($vars['graph'])) { - echo ''; - echo ' +
Local IdentityRemote IdentityNameStatus
' . $local_addr . '' . $remote_addr . '' . htmlentities($entry['tunnel_name']) . '' . htmlentities($entry['tunnel_status']) . '
'.$tunnel['local_addr'].' » '.$tunnel['peer_addr'].''.$tunnel['tunnel_name'].'".$tunnel['tunnel_status'].'
'; - $graph_type = 'ipsectunnel_'.$vars['graph']; - + + echo '
'; +} else { + foreach ($tunnel as $entry) { + $local_addr = preg_replace('/\b0+(?=\d)/', '', htmlentities($entry['local_addr'])); + $remote_addr = preg_replace('/\b0+(?=\d)/', '', htmlentities($entry['peer_addr'])); + + $graph_type = 'ipsectunnel_' . $vars['graph']; $graph_array['height'] = '100'; $graph_array['width'] = '215'; $graph_array['to'] = $config['time']['now']; - $graph_array['id'] = $tunnel['tunnel_id']; + $graph_array['id'] = $entry['tunnel_id']; $graph_array['type'] = $graph_type; - + echo '
+
+

' . $local_addr . ' » ' . $remote_addr . '

+
+
'; + echo "
"; include 'includes/print-graphrow.inc.php'; - - echo ' - - '; + + echo '
'; + echo '
'; + echo '
'; } - - echo ''; - echo ''; - - $i++; -}//end foreach - -echo '
'; +} From 6c074e0441291e1cae39093d87e607b2c8a399a3 Mon Sep 17 00:00:00 2001 From: crcro Date: Sun, 24 Jul 2016 19:23:12 +0300 Subject: [PATCH 22/31] I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md. --- AUTHORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.md b/AUTHORS.md index 46d8970301..5db878a995 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -111,6 +111,7 @@ LibreNMS contributors: - Benjamin Busche (optic00) - Brandon Boudrias (brandune) - Andy Noyland (Zappatron) +- Cercel Valentin (crcro) [1]: http://observium.org/ "Observium web site" Observium was written by: From 4c0c560652b3d8de4c8c0546411d76728d97abac Mon Sep 17 00:00:00 2001 From: Aaron Daniels Date: Mon, 25 Jul 2016 06:47:34 +1000 Subject: [PATCH 23/31] - Moved SQL for upstream changes --- sql-schema/{125.sql => 126.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sql-schema/{125.sql => 126.sql} (100%) diff --git a/sql-schema/125.sql b/sql-schema/126.sql similarity index 100% rename from sql-schema/125.sql rename to sql-schema/126.sql From 52d5e82379802f3afc76dc4f956191000067cbf2 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Sun, 24 Jul 2016 21:45:11 -0500 Subject: [PATCH 24/31] Remove my Applications.md --- doc/Extensions/Applications.md | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 doc/Extensions/Applications.md diff --git a/doc/Extensions/Applications.md b/doc/Extensions/Applications.md deleted file mode 100644 index c85a1dc36e..0000000000 --- a/doc/Extensions/Applications.md +++ /dev/null @@ -1,19 +0,0 @@ -Application Monitoring ----------------------- - -LibreNMS supports monitoring application statistics through two methods the [Agent](http://docs.librenms.org/Extensions/Agent-Setup/) or direct connection to the device. - -To enable the agent go to device settings -> applications and enable the "unix-agent" -If you are using direct connection to collect statistics, you must manually enable the desired apps in the device settings -> applications page. - -##Applications - -###PowerDNS Recursor -A recursive DNS sever: https://www.powerdns.com/recursor.html -#### Connection -The LibreNMS polling host must be able to connect to port 8082 on the monitored device. -The web-server must be enabled, see the Recursor docs: https://doc.powerdns.com/md/recursor/settings/#webserver -There is currently no way to specify a custom port or password. -#### Agent -Copy powerdns-recursor to the `/usr/lib/check_mk_agent/local` directory. -The user check_mk is running as must be able to run `rec_control get-all` \ No newline at end of file From ab8452e7f8fceffed7c93321dfe4f1fd85e7e48b Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Sun, 24 Jul 2016 22:20:43 -0500 Subject: [PATCH 25/31] Add PowerDNS Recursor docs to Agent-Setup.md --- doc/Extensions/Agent-Setup.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/Extensions/Agent-Setup.md b/doc/Extensions/Agent-Setup.md index 767e179bf2..17678a311d 100644 --- a/doc/Extensions/Agent-Setup.md +++ b/doc/Extensions/Agent-Setup.md @@ -133,3 +133,15 @@ location /nginx-status { } ``` + +### PowerDNS Recursor +A recursive DNS sever: https://www.powerdns.com/recursor.html + +#### Direct Connection +The LibreNMS polling host must be able to connect to port 8082 on the monitored device. +The web-server must be enabled, see the Recursor docs: https://doc.powerdns.com/md/recursor/settings/#webserver +There is currently no way to specify a custom port or password. + +#### Agent +Copy powerdns-recursor to the `/usr/lib/check_mk_agent/local` directory. +The user check_mk is running as must be able to run `rec_control get-all` From f3de717023a487bc1739a6a883688b9e809376d0 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Mon, 25 Jul 2016 20:16:55 -0500 Subject: [PATCH 26/31] Remove accidental mkdocs.yml --- doc/mkdocs.yml | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 doc/mkdocs.yml diff --git a/doc/mkdocs.yml b/doc/mkdocs.yml deleted file mode 100644 index b61dc496d4..0000000000 --- a/doc/mkdocs.yml +++ /dev/null @@ -1,4 +0,0 @@ -site_name: LibreNMS -docs_dir: /home/murrant/projects/librenms/doc -pages: -- Home: index.md From dff5673a7355c3e09e25e2b0eb923169d55aeae0 Mon Sep 17 00:00:00 2001 From: laf Date: Tue, 26 Jul 2016 08:03:52 +0100 Subject: [PATCH 27/31] Updated install docs --- doc/Installation/Installation-CentOS-7-Apache.md | 2 +- doc/Installation/Installation-CentOS-7-Nginx.md | 5 ++--- doc/Installation/Installation-Ubuntu-1604-Apache.md | 4 ++-- doc/Installation/Installation-Ubuntu-1604-Nginx.md | 4 ++-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/doc/Installation/Installation-CentOS-7-Apache.md b/doc/Installation/Installation-CentOS-7-Apache.md index 3146eb0645..ea97d9fcb5 100644 --- a/doc/Installation/Installation-CentOS-7-Apache.md +++ b/doc/Installation/Installation-CentOS-7-Apache.md @@ -21,7 +21,7 @@ FLUSH PRIVILEGES; exit ``` -`vim /etc/my.cnf` +`vim /etc/my.cnf.d/server.cnf` Within the [mysqld] section please add: diff --git a/doc/Installation/Installation-CentOS-7-Nginx.md b/doc/Installation/Installation-CentOS-7-Nginx.md index 0a753e3c1d..7c122951c1 100644 --- a/doc/Installation/Installation-CentOS-7-Nginx.md +++ b/doc/Installation/Installation-CentOS-7-Nginx.md @@ -50,15 +50,14 @@ pear install Net_IPv6-1.2.2b2 In `/etc/php.ini` ensure date.timezone is set to your preferred time zone. See http://php.net/manual/en/timezones.php for a list of supported timezones. Valid examples are: "America/New York", "Australia/Brisbane", "Etc/UTC". ```bash -service php7.0-fpm restart -phpenmod mcrypt +service php-fpm restart ``` #### Add librenms user ```bash useradd librenms -d /opt/librenms -M -r -usermod -a -G librenms apache +usermod -a -G librenms nginx ``` #### Clone repo diff --git a/doc/Installation/Installation-Ubuntu-1604-Apache.md b/doc/Installation/Installation-Ubuntu-1604-Apache.md index e241ceca0c..ed82775edc 100644 --- a/doc/Installation/Installation-Ubuntu-1604-Apache.md +++ b/doc/Installation/Installation-Ubuntu-1604-Apache.md @@ -7,7 +7,7 @@ #### Install / Configure MySQL ```bash apt-get install mariadb-server mariadb-client -service mariadb restart +service mysql restart mysql -uroot -p ``` @@ -30,7 +30,7 @@ innodb_file_per_table=1 sql-mode="" ``` -```service mariadb restart``` +```service mysql restart``` ### Web Server ### diff --git a/doc/Installation/Installation-Ubuntu-1604-Nginx.md b/doc/Installation/Installation-Ubuntu-1604-Nginx.md index 4d92413939..0a75dfb5ec 100644 --- a/doc/Installation/Installation-Ubuntu-1604-Nginx.md +++ b/doc/Installation/Installation-Ubuntu-1604-Nginx.md @@ -7,7 +7,7 @@ #### Install / Configure MySQL ```bash apt-get install mariadb-server mariadb-client -service mariadb restart +service mysql restart mysql -uroot -p ``` @@ -30,7 +30,7 @@ innodb_file_per_table=1 sql-mode="" ``` -```service mariadb restart``` +```service mysql restart``` ### Web Server ### From beea32ad08709d225fc5b89877d65c92d9e69612 Mon Sep 17 00:00:00 2001 From: Rosiak Date: Tue, 26 Jul 2016 19:32:35 +0200 Subject: [PATCH 28/31] Comware Temperature Discovery Basic temp disco, tested on 5900 & 5930. --- .../sensors/temperatures/comware.inc.php | 31 + includes/polling/os/comware.inc.php | 2 +- mibs/HH3C-ENTITY-EXT-MIB | 1847 ++++++++++++++++ mibs/HH3C-OID-MIB | 310 +++ mibs/HH3C-PRODUCT-ID-MIB | 1934 +++++++++++++++++ 5 files changed, 4123 insertions(+), 1 deletion(-) create mode 100644 includes/discovery/sensors/temperatures/comware.inc.php create mode 100755 mibs/HH3C-ENTITY-EXT-MIB create mode 100755 mibs/HH3C-OID-MIB create mode 100755 mibs/HH3C-PRODUCT-ID-MIB diff --git a/includes/discovery/sensors/temperatures/comware.inc.php b/includes/discovery/sensors/temperatures/comware.inc.php new file mode 100644 index 0000000000..eb802ddf6a --- /dev/null +++ b/includes/discovery/sensors/temperatures/comware.inc.php @@ -0,0 +1,31 @@ + + * 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. + */ + +if ($device['os'] == 'comware') { + + $entphydata = dbFetchRows("SELECT `entPhysicalIndex`, `entPhysicalDescr` FROM `entPhysical` WHERE `device_id` = ? AND `entPhysicalDescr` REGEXP 'MODULE|SENSOR' ORDER BY `entPhysicalIndex`", array( + $device['device_id'] + )); + $tempdata = snmpwalk_cache_multi_oid($device, 'hh3cEntityExtTemperature', array(), 'HH3C-ENTITY-EXT-MIB'); + + if (!empty($entphydata)) { + foreach ($entphydata as $index) { + foreach ($tempdata as $tempindex => $value) { + if ($index['entPhysicalIndex'] == $tempindex) { + $cur_oid = '.1.3.6.1.4.1.25506.2.6.1.1.1.1.12.'; + discover_sensor($valid['sensor'], 'temperature', $device, $cur_oid . $tempindex, $tempindex, 'comware', $index['entPhysicalDescr'], '1', '1', null, null, null, null, $value['hh3cEntityExtTemperature'], 'snmp', $index); + } + } + + } + } +} diff --git a/includes/polling/os/comware.inc.php b/includes/polling/os/comware.inc.php index 53eb38ea68..c7b2195a27 100644 --- a/includes/polling/os/comware.inc.php +++ b/includes/polling/os/comware.inc.php @@ -6,7 +6,7 @@ // SNMPv2-MIB::sysObjectID.0 = OID: HH3C-PRODUCT-ID-MIB::hh3c-S3100-8TP-EI echo 'Comware OS...'; -$hardware = snmp_get($device, 'sysObjectID.0', '-OQsv', 'SNMPv2-MIB:HH3C-PRODUCT-ID-MIB', '+'.$config['install_dir'].'/mibs/h3c'); +$hardware = snmp_get($device, 'sysObjectID.0', '-Osqv', 'SNMPv2-MIB:HH3C-PRODUCT-ID-MIB'); preg_match('/Software Version (.+), Release ([a-zA-Z0-9]+)/', $poll_device['sysDescr'], $match); list(,$version,$features) = $match; diff --git a/mibs/HH3C-ENTITY-EXT-MIB b/mibs/HH3C-ENTITY-EXT-MIB new file mode 100755 index 0000000000..073bc265f7 --- /dev/null +++ b/mibs/HH3C-ENTITY-EXT-MIB @@ -0,0 +1,1847 @@ +-- ================================================================= +-- Copyright (c) 2004-2015 Hangzhou H3C Tech. Co., Ltd. All rights reserved. +-- +-- Description: description of entity extend properties. +-- Reference: +-- History V3.2 +-- V1.0 Created by weixinzhe, Thursday, April 22, 2004 at 18:26:02 +-- V1.1 modified by yelinhui, add hh3cEntityExtMacAddress +-- V1.2 modified by panxidong, add hh3cEntityExtErrorStatus +-- V1.3 2004-10-12 updated by gaolong +-- Remove BITS from IMPORTS +-- V1.4 2005-02-25 modified by longyin +-- Add error status stackPortBlocked(22) and stackPortFailed(23) +-- for hh3cEntityExtErrorStatus +-- V1.5 2006-05-16 modified by wangsihai +-- Add error status sensorError(81) in hh3cEntityExtErrorStatus +-- V1.6 2006-07-03 modified by lifengguang +-- Add hh3cEntityExtManuTable +-- V1.7 2007-09-21 modified by lifengguang +-- Add notification object hh3cEntityExtSFPAlarmOn and hh3cEntityExtSFPAlarmOff +-- Add hh3cEntityExtPowerTable +-- V1.8 2007-11-19 modified by jinyi +-- Add hh3cEntityExtCpuMaxUsage +-- V1.9 2008-02-27 modified by lifengguang +-- Add Trap nodes: hh3cEntityExtSFPPhony +-- V2.0 2008-07-11 modified by lisong +-- Add hh3cProcessTable +-- Add notification object hh3cEntityInsert and hh3cEntityRemove +-- V2.1 2008-07-14 modified by lifengguang +-- Add error status hardwareFaulty(91) in hh3cEntityExtErrorStatus +-- Add Trap nodes: hh3cEntityExtForcedPowerOff and hh3cEntityExtForcedPowerOn +-- Add Trap nodes: hh3cEntityExtFaultAlarmOn and hh3cEntityExtFaultAlarmOff +-- V2.2 2008-10-24 modified by lifengguang +-- Add nodes hh3cEntityExtLowerTemperatureThreshold and +-- hh3cEntityExtShutdownTemperatureThreshold in hh3cEntityExtStateTable +-- Add trap nodes hh3cEntityExtResourceLack and hh3cEntityExtResourceEnough +-- in hh3cEntityExtTrapsPrefix +-- Add trap nodes hh3cEntityExtTemperatureLower, hh3cEntityExtTemperatureTooUp +-- and hh3cEntityExtTemperatureNormal in hh3cEntityExtTrapsPrefix +-- V2.3 2009-04-07 Added trap nodes hh3cEntityExternalAlarmOccur and +-- hh3cEntityExternalAlarmRecover +-- v2.4 2009-05-05 Added hh3cEntityExtCpuAvgUsage, hh3cEntityExtMemAvgUsage, +-- hh3cEntityExtPhyMemSize, hh3cEntityExtMemType, hh3cEntityExtPhyCpuFrequency, +-- hh3cEntityExtFirstUsedDate, +-- hh3cEntityExtCpuUsageThresholdRecover, hh3cEntityExtMemUsageThresholdRecover +-- V2.5 2010-08-09 +-- Added hh3cEntityExtShutdownLowerTemperatureThreshold, +-- hh3cEntityExtCriticalLowerTemperatureThreshold, +-- hh3cEntityExtCritLowerTempThresholdNotification and +-- hh3cEntityExtTemperatureTooLow by zhanglei 06807. +-- Added hh3cEntityExtMemAllocatedFailed, hh3cEntityExtECCParityAlarm, +-- hh3cEntityExtTrapDescription, hh3cEntityExtECCParityAlarmStatus +-- by zhangqingjun 02357. +-- Modified description of hh3cEntityExtPhyMemSize by haoyan 06611. +-- V2.6 2010-12-06 +-- Added hh3cEntityExtFanDirectionNotPreferred, hh3cEntityExtFanDirectionNotAccord +-- by lifengguang 03035. +-- V2.7 2011-04-06 +-- Added hh3cEntityExtSFPInvalid, hh3cEntityExtSFPInvalidNow and +-- hh3cEntityExtSFPInvalidInDays by songhao 02718. +-- Changed SYNTAX of hh3cEntityExtMemSize and hh3cEntityExtPhyMemSize +-- from Integer32 to Unsigned32 by songhao 02718. +-- V2.8 2011-08-30 +-- Added hh3cEntityExtCpuUsageRecoverThreshold; +-- Added hh3cEntityExtCpuUsageRecoverThreshold to hh3cEntityExtCpuUsageThresholdNotfication and +-- hh3cEntityExtCpuUsageThresholdRecover by shuaixiaojuan 04117. +-- Added hh3cEntityExtFirstTrapTime by duyanbing 04404. +-- V2.9 2013-04-27 +-- Added hh3cEntityExtMemSizeRev by fangliwen 08502. +-- Added trap nodes hh3cEntityExtMemUsageThresholdOverTrap and +-- hh3cEntityExtMemUsageThresholdRecoverTrap by fangliwen 08502. +-- V3.0 2013-12-16 +-- Added hh3cEntityExtCpuUsageIn1Minute and hh3cEntityExtCpuUsageIn5Minutes +-- by fangliwen 08502. +-- V3.1 2014-01-24 +-- Added hh3cEntityExtVoltageObjects by fangliwen 08502. +-- Added trap nodes hh3cEntityExtVoltageNormal, hh3cEntityExtVoltageTooLow, +-- hh3cEntityExtVoltageLower, hh3cEntityExtVoltageHigher and +-- hh3cEntityExtVoltageTooHigh by fangliwen 08502. +-- V3.2 2015-01-12 +-- Added trap nodes hh3cEntityExtSFPAlarmOnEx, hh3cEntityExtSFPAlarmOffEx by fangliwen 08502. +-- ================================================================= +HH3C-ENTITY-EXT-MIB DEFINITIONS ::= BEGIN + + IMPORTS + hh3cCommon + FROM HH3C-OID-MIB + OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP + FROM SNMPv2-CONF + OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, Integer32, + Unsigned32, Gauge32, TimeTicks + FROM SNMPv2-SMI + TEXTUAL-CONVENTION, MacAddress, DateAndTime, DisplayString + FROM SNMPv2-TC + SnmpAdminString + FROM SNMP-FRAMEWORK-MIB + entPhysicalIndex, entPhysicalName, entPhysicalDescr + FROM ENTITY-MIB + CounterBasedGauge64 + FROM HCNUM-TC; + + hh3cEntityExtend MODULE-IDENTITY + LAST-UPDATED "201501120000Z" + ORGANIZATION + "Hangzhou H3C Technologies Co., Ltd." + CONTACT-INFO + "Platform Team H3C Technologies Co., Ltd. + Hai-Dian District Beijing P.R. China + http://www.h3c.com + Zip: 100085" + DESCRIPTION + "The private MIB file includes the general extent + information of the device." + ::= { hh3cCommon 6 } + + Hh3cAdminState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "The administrative state for this object, and it is possible to + set the state when needed. + A value of locked means the resource is administratively prohibited + from use. A value of shuttingDown means that usage is + administratively limited to current instances of use. + A value of unlocked means the resource is not administratively + prohibited from use." + REFERENCE + "ITU Recommendation X.731, 'Information Technology - Open + Systems Interconnection - System Management: State + Management Function', 1992" + SYNTAX INTEGER + { + notSupported(1), + locked(2), + shuttingDown(3), + unlocked(4) + } + + Hh3cOperState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + " Represents the possible values of operational states. + A value of disabled means the resource is totally + inoperable. A value of enabled means the resource + is partially or fully operable." + REFERENCE + "ITU Recommendation X.731, 'Information Technology - Open + Systems Interconnection - System Management: State + Management Function', 1992" + SYNTAX INTEGER + { + notSupported (1), + disabled(2), + enabled(3), + dangerous(4) + } + Hh3cAlarmStatus ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Represents the possible values of alarm status. + When no bits of this attribute are set, then none of the + status conditions described below are present. When the + value of under repair is set, the resource is currently + being repaired. + + When the value of critical is set, one or more critical + alarms are active against the resource. When the value of + major is set, one or more major alarms are active against + the resource. When the value of minor is set, one or more + minor alarms are active against the resource. When the + value of warning is set, one or more warning alarms are + active against the resource. When the value of + indeterminate is set, one or more alarms of indeterminate + severity are active against the resource. + When the value of alarm outstanding is set, one or more + alarms is active against the resource. The fault may or may + not be disabling." + REFERENCE + "ITU Recommendation X.731, 'Information Technology - Open + Systems Interconnection - System Management: State + Management Function', 1992" + SYNTAX BITS + { + notSupported (0), + underRepair(1), + critical(2), + major(3), + minor(4), + alarmOutstanding(5), + warning (6), -- Not defined in X.731 + indeterminate (7) -- Not defined in X.731 + } + + + Hh3cStandbyStatus ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + " Represents the possible values of standby status. + + A value of hotStandby means the resource is not providing + service, but is will be immediately able to take over the + role of the resource to be backed-up, without the need for + initialization activity, and will contain the same + information as the resource to be backed up. A value of + coldStandy means that the resource is to back-up another + resource, but will not be immediately able to take over + the role of a resource to be backed up, and will require + some initialization activity. A value of providingService + means the resource is providing service." + REFERENCE + "ITU Recommendation X.731, 'Information Technology - Open + Systems Interconnection - System Management: State + Management Function', 1992" + SYNTAX INTEGER + { + notSupported (1), + hotStandby(2), + coldStandby(3), + providingService(4) + } + + + hh3cEntityExtObjects OBJECT IDENTIFIER ::= { hh3cEntityExtend 1 } + + +-- MIB contains four groups + + hh3cEntityExtState OBJECT IDENTIFIER ::= { hh3cEntityExtObjects 1 } + + hh3cEntityExtStateTable OBJECT-TYPE + SYNTAX SEQUENCE OF Hh3cEntityExtStateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains one row per physical entity, There is + always at least one row for an 'overall' physical entity. + The information in each row may be not include all the object + in this table, because of the entity need not some of the + information here." + ::= { hh3cEntityExtState 1 } + + hh3cEntityExtStateEntry OBJECT-TYPE + SYNTAX Hh3cEntityExtStateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The information about a particular physical entity." + INDEX { hh3cEntityExtPhysicalIndex } + ::= { hh3cEntityExtStateTable 1 } + + Hh3cEntityExtStateEntry ::= SEQUENCE { + hh3cEntityExtPhysicalIndex + Integer32, + hh3cEntityExtAdminStatus + Hh3cAdminState, + hh3cEntityExtOperStatus + Hh3cOperState, + hh3cEntityExtStandbyStatus + Hh3cStandbyStatus, + hh3cEntityExtAlarmLight + Hh3cAlarmStatus, + hh3cEntityExtCpuUsage + Integer32, + hh3cEntityExtCpuUsageThreshold + Integer32, + hh3cEntityExtMemUsage + Integer32, + hh3cEntityExtMemUsageThreshold + Integer32, + hh3cEntityExtMemSize + Unsigned32, + hh3cEntityExtUpTime + Integer32, + hh3cEntityExtTemperature + Integer32, + hh3cEntityExtTemperatureThreshold + Integer32, + hh3cEntityExtVoltage + Integer32, + hh3cEntityExtVoltageLowThreshold + Integer32, + hh3cEntityExtVoltageHighThreshold + Integer32, + hh3cEntityExtCriticalTemperatureThreshold + Integer32, + hh3cEntityExtMacAddress + MacAddress, + hh3cEntityExtErrorStatus + INTEGER, + hh3cEntityExtCpuMaxUsage + Integer32, + hh3cEntityExtLowerTemperatureThreshold + Integer32, + hh3cEntityExtShutdownTemperatureThreshold + Integer32, + hh3cEntityExtPhyMemSize + Unsigned32, + hh3cEntityExtPhyCpuFrequency + Integer32, + hh3cEntityExtFirstUsedDate + DateAndTime, + hh3cEntityExtCpuAvgUsage + Integer32, + hh3cEntityExtMemAvgUsage + Integer32, + hh3cEntityExtMemType + OCTET STRING, + hh3cEntityExtCriticalLowerTemperatureThreshold + Integer32, + hh3cEntityExtShutdownLowerTemperatureThreshold + Integer32, + hh3cEntityExtCpuUsageRecoverThreshold + Integer32, + hh3cEntityExtMemSizeRev + CounterBasedGauge64, + hh3cEntityExtCpuUsageIn1Minute + Integer32, + hh3cEntityExtCpuUsageIn5Minutes + Integer32 + } + + hh3cEntityExtPhysicalIndex OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The index of hh3cEntityExtStateTable. + This index is identical to entPhysicalIndex in ENTITY-MIB" + ::= { hh3cEntityExtStateEntry 1 } + + hh3cEntityExtAdminStatus OBJECT-TYPE + SYNTAX Hh3cAdminState + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative state for this object." + ::= { hh3cEntityExtStateEntry 2 } + + hh3cEntityExtOperStatus OBJECT-TYPE + SYNTAX Hh3cOperState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The operate state for this object." + ::= { hh3cEntityExtStateEntry 3 } + + hh3cEntityExtStandbyStatus OBJECT-TYPE + SYNTAX Hh3cStandbyStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object is used for monitoring standby status. + Not all entities support this object." + ::= { hh3cEntityExtStateEntry 4 } + + hh3cEntityExtAlarmLight OBJECT-TYPE + SYNTAX Hh3cAlarmStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The alarm status for this entity. It does not include + the severity of alarms raised on child components. In + this condition, there will be a alarm light on the entity, + the object should have the same status with it." + ::= { hh3cEntityExtStateEntry 5 } + + hh3cEntityExtCpuUsage OBJECT-TYPE + SYNTAX Integer32 (0..100) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The CPU usage for this entity. Generally, the overall + CPU usage on the entity is calculated, independent of + the number of CPUs on the entity." + ::= { hh3cEntityExtStateEntry 6 } + + hh3cEntityExtCpuUsageThreshold OBJECT-TYPE + SYNTAX Integer32 (0..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The threshold for the CPU usage. When the CPU usage exceeds + the threshold, a notification will be sent." + ::= { hh3cEntityExtStateEntry 7 } + + hh3cEntityExtMemUsage OBJECT-TYPE + SYNTAX Integer32 (0..100) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The memory usage for the entity. This object indicates what + percent of memory are used." + ::= { hh3cEntityExtStateEntry 8 } + + hh3cEntityExtMemUsageThreshold OBJECT-TYPE + SYNTAX Integer32 (0..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The threshold for the Memory usage, When the memory usage + exceeds the threshold, a notification will be sent." + ::= { hh3cEntityExtStateEntry 9 } + + hh3cEntityExtMemSize OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The size of memory for the entity. + + If the amount of memory exceeds 4,294,967,295 bytes, + the value remains 4,294,967,295 bytes." + ::= { hh3cEntityExtStateEntry 10 } + + hh3cEntityExtUpTime OBJECT-TYPE + SYNTAX Integer32 + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The uptime for the entity. The meaning of uptime is + when the entity is up, and the value of the object + will add 1 seconds while the entity is running." + ::= { hh3cEntityExtStateEntry 11 } + + hh3cEntityExtTemperature OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The temperature for the entity." + ::= { hh3cEntityExtStateEntry 12 } + + hh3cEntityExtTemperatureThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The threshold for the temperature. When the temperature + exceeds the threshold, a notification will be sent." + ::= { hh3cEntityExtStateEntry 13 } + + hh3cEntityExtVoltage OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The voltage for the entity." + ::= { hh3cEntityExtStateEntry 14 } + + hh3cEntityExtVoltageLowThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The low-threshold for the voltage. + When voltage is lower than low-threshold, a notification will be + sent." + ::= { hh3cEntityExtStateEntry 15 } + + hh3cEntityExtVoltageHighThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The high-threshold for the voltage. + When voltage greater than high-threshold, a notification will be + sent." + ::= { hh3cEntityExtStateEntry 16 } + + hh3cEntityExtCriticalTemperatureThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " The threshold for the critical Temperature. When temperature + exceeds the critical temperature, a notification will be sent." + ::= { hh3cEntityExtStateEntry 17 } + + hh3cEntityExtMacAddress OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "MAC Address of the entity." + ::= { hh3cEntityExtStateEntry 18 } + + hh3cEntityExtErrorStatus OBJECT-TYPE + SYNTAX INTEGER + { + notSupported(1), + normal(2), + postFailure(3), + entityAbsent(4), + poeError(11), + stackError(21), + stackPortBlocked(22), + stackPortFailed(23), + sfpRecvError(31), + sfpSendError(32), + sfpBothError(33), + fanError (41), + psuError(51), + rpsError(61), + moduleFaulty(71), + sensorError(81), + hardwareFaulty(91) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicate the error state of this entity object. Now it only + supports Port, general power supply, RPS power supply and + board/Subcard. It may have one of these values. + The following four values can be used for all kinds of entities. + + notSupported(1) means this entity cannot support this function. + normal(2) means the statement of this entity is normal. for ports, + it doesn't differentiate 10M/s, 100M/s, 1000M/s, duplex and + half-duplex. For fan, power supply and board-Subcard, it means + their states are normal. + postFailure(3) means the entity fails to POST. + entityAbsent(4) means the entity is absent now. + + + The following values is depended on the entity. + + For Port entities, it may have the following values. If its POST + is failure, + then the value of the instance will be postFailure(3), otherwise + the value will be normal(2). + + If enable power supply over Ethernet on this port is failure, + the value of this instance will be poeError(11), otherwise it will + be normal(2). + + For stack port, if it connects to another stack port normally, and + these two units merge into one stack, then the value of this + instance will be normal(2). + If something wrong occurs and the unit cannot merge into stack, + the value of this instance will be stackPortFailed(23). If the + stack port forms resilient daisy chain with another stack port + on the other unit, the value of this instance will be + stackPortBlocked(22). + + + For SFP ports, if it fail to receive, the value of this instance + will be sfpRecvError(31), if it fail to send, the value is + sfpSendError(32), if it fail to send and receive, the value is + sfpBothError(33), otherwise it will be normal(2). + + fanError(41) means that the fan stops working. + + psuError(51) means that the Power Supply Unit is in the state of + fault. + + rpsError(61) means the RPS is in the state of fault. + + moduleFaulty(71) means the Module is in the state of fault. + + sensorError(81) means the sensor is in the state of fault. + + hardwareFaulty(91) means the hardware of specified entity is in the state of fault. + + NMS must be compatible with the states which may be added + in the future." + ::= { hh3cEntityExtStateEntry 19 } + + hh3cEntityExtCpuMaxUsage OBJECT-TYPE + SYNTAX Integer32(0..100) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximal CPU usage for the entity in the period of time." + ::= { hh3cEntityExtStateEntry 20 } + + hh3cEntityExtLowerTemperatureThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The threshold for the lower Temperature. When temperature runs + under the threshold, a notification will be sent." + ::= { hh3cEntityExtStateEntry 21 } + + hh3cEntityExtShutdownTemperatureThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The threshold for the shutdown Temperature. When temperature + exceeds the threshold, a notification will be sent and the entity + will be shutdown." + ::= { hh3cEntityExtStateEntry 22 } + + hh3cEntityExtPhyMemSize OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The memory size of entity. This is the physical attribute of entity." + ::= { hh3cEntityExtStateEntry 23 } + + hh3cEntityExtPhyCpuFrequency OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The CPU frequency of entity. Unit of measure is MHZ." + ::= { hh3cEntityExtStateEntry 24 } + + hh3cEntityExtFirstUsedDate OBJECT-TYPE + SYNTAX DateAndTime (SIZE(8)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The first used date of the entity." + ::= { hh3cEntityExtStateEntry 25 } + + hh3cEntityExtCpuAvgUsage OBJECT-TYPE + SYNTAX Integer32(0..100) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The average CPU usage for the entity in a period of time." + ::= { hh3cEntityExtStateEntry 26 } + + hh3cEntityExtMemAvgUsage OBJECT-TYPE + SYNTAX Integer32(0..100) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The average memory usage for the entity in a period of time." + ::= { hh3cEntityExtStateEntry 27 } + + hh3cEntityExtMemType OBJECT-TYPE + SYNTAX OCTET STRING(SIZE (0..64)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The memory type of entity." + ::= { hh3cEntityExtStateEntry 28 } + + hh3cEntityExtCriticalLowerTemperatureThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The threshold for the critical Temperature. When temperature + exceeds the critical lower temperature, a notification will be sent." + ::= { hh3cEntityExtStateEntry 29 } + + hh3cEntityExtShutdownLowerTemperatureThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The threshold for the shutdown Temperature. When temperature + exceeds the lower threshold, a notification will be sent and the entity + will be shutdown." + ::= { hh3cEntityExtStateEntry 30 } + + hh3cEntityExtCpuUsageRecoverThreshold OBJECT-TYPE + SYNTAX Integer32 (0..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The recover threshold for the CPU usage. When the CPU usage falls down to + the threshold, a notification is sent. The hh3cEntityExtCpuUsageRecoverThreshold + must be less than or equal to the hh3cEntityExtCpuUsageThreshold." + DEFVAL { 100 } + ::= { hh3cEntityExtStateEntry 31 } + + hh3cEntityExtMemSizeRev OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Size of memory space for the entity. + + This node is used to replace hh3cEntityExtMemSize." + ::= { hh3cEntityExtStateEntry 32 } + + hh3cEntityExtCpuUsageIn1Minute OBJECT-TYPE + SYNTAX Integer32 (0..100) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The CPU usage in last one minute for this entity. + Generally, the overall CPU usage on the entity is + calculated, independent of the number of CPUs on + the entity." + ::= { hh3cEntityExtStateEntry 33 } + + hh3cEntityExtCpuUsageIn5Minutes OBJECT-TYPE + SYNTAX Integer32 (0..100) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The CPU usage in last five minutes for this entity. + Generally, the overall CPU usage on the entity is + calculated, independent of the number of CPUs on + the entity." + ::= { hh3cEntityExtStateEntry 34 } + + hh3cEntityExtManu OBJECT IDENTIFIER ::= { hh3cEntityExtObjects 2 } + + hh3cEntityExtManuTable OBJECT-TYPE + SYNTAX SEQUENCE OF Hh3cEntityExtManuEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table about device manufacture information." + ::= { hh3cEntityExtManu 1 } + + hh3cEntityExtManuEntry OBJECT-TYPE + SYNTAX Hh3cEntityExtManuEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The device manufacture information about a particular physical + entity." + INDEX { hh3cEntityExtManuPhysicalIndex } + ::= { hh3cEntityExtManuTable 1 } + + Hh3cEntityExtManuEntry ::= SEQUENCE { + hh3cEntityExtManuPhysicalIndex + Integer32, + hh3cEntityExtManuSerialNum + SnmpAdminString, + hh3cEntityExtManuBuildInfo + SnmpAdminString, + hh3cEntityExtManuBOM + SnmpAdminString, + hh3cEntityExtMacAddressCount + Unsigned32 + } + + hh3cEntityExtManuPhysicalIndex OBJECT-TYPE + SYNTAX Integer32 (1..2147483647) + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The index of hh3cEntityExtManuTable. + This index is identical to entPhysicalIndex in ENTITY-MIB." + ::= { hh3cEntityExtManuEntry 1 } + + hh3cEntityExtManuSerialNum OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Manufacture serial number. + The manufacture serial number of the entity such as chassis, + module, and so on. It is got from the device when manufacturing. + For low level box-device, the manufacture serial number is the + device-number of System Control Board(SCB for short), it is written + into the SCB directly; for middle level or high level frame-device, + the manufacture serial number is the device-numbers of SCB and + Service Board, because the SCB, Service Board and chassis are + separate to sale and the device-number of chassis cannot be + written into board." + ::= { hh3cEntityExtManuEntry 2 } + + hh3cEntityExtManuBuildInfo OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Device version information. + The device version information of the entity such as chassis, + module, and so on. It consists of software version information + and hardware version information." + ::= { hh3cEntityExtManuEntry 3 } + + hh3cEntityExtManuBOM OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Device BOM code. + The device BOM code of the entity such as chassis, module, and so + on. It is the component code of ERP system, which can be + disassembled from device-number." + ::= { hh3cEntityExtManuEntry 4 } + + hh3cEntityExtMacAddressCount OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "MAC address count. + The count of MAC addresses of the entity, such as chassis, module, + or port, and so on." + ::= { hh3cEntityExtManuEntry 5 } + + hh3cEntityExtPower OBJECT IDENTIFIER ::= { hh3cEntityExtObjects 3 } + + hh3cEntityExtPowerTable OBJECT-TYPE + SYNTAX SEQUENCE OF Hh3cEntityExtPowerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table describes the power information of all the physical + entity on the device, such as the fans, the subcards, the boards, + etc." + ::= { hh3cEntityExtPower 1 } + + hh3cEntityExtPowerEntry OBJECT-TYPE + SYNTAX Hh3cEntityExtPowerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The entity power information about a particular physical entity." + INDEX { hh3cEntityExtPowerPhysicalIndex } + ::= { hh3cEntityExtPowerTable 1 } + + Hh3cEntityExtPowerEntry ::= SEQUENCE { + hh3cEntityExtPowerPhysicalIndex + Integer32, + hh3cEntityExtNominalPower + Gauge32, + hh3cEntityExtCurrentPower + Gauge32, + hh3cEntityExtAveragePower + Integer32, + hh3cEntityExtPeakPower + Integer32 + } + + hh3cEntityExtPowerPhysicalIndex OBJECT-TYPE + SYNTAX Integer32 (1..2147483647) + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The index of hh3cEntityExtPowerTable. + This index is identical to entPhysicalIndex in ENTITY-MIB." + ::= { hh3cEntityExtPowerEntry 1 } + + hh3cEntityExtNominalPower OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The nominal power of the entity expressed in milliWatts." + ::= { hh3cEntityExtPowerEntry 2 } + + hh3cEntityExtCurrentPower OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The measured usage power of the entity expressed in milliWatts." + ::= { hh3cEntityExtPowerEntry 3 } + + hh3cEntityExtAveragePower OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The average power consumed by the entity expressed in milliWatts. + Writing a value of zero to this object resets its value to zero. + Writing any other value to this object has no effect on its value + and an error is returned." + ::= { hh3cEntityExtPowerEntry 4 } + + hh3cEntityExtPeakPower OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The peak power consumed by the entity expressed in milliWatts. + Writing a value of zero to this object resets its value to zero. + Writing any other value to this object has no effect on its value + and an error is returned." + ::= { hh3cEntityExtPowerEntry 5 } + +-- Process Table + hh3cProcessObjects OBJECT IDENTIFIER ::= { hh3cEntityExtObjects 4 } + + hh3cProcessTable OBJECT-TYPE + SYNTAX SEQUENCE OF Hh3cProcessEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Table describes the information about a particular process, + namely a task." + ::= { hh3cProcessObjects 1 } + + hh3cProcessEntry OBJECT-TYPE + SYNTAX Hh3cProcessEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The information about a particular process, namely a task." + INDEX { hh3cProcessID } + ::= { hh3cProcessTable 1 } + + Hh3cProcessEntry ::= SEQUENCE { + hh3cProcessID Unsigned32, + hh3cProcessName DisplayString, + hh3cProcessUtil5Min Unsigned32 + } + + hh3cProcessID OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object indicates the identifier of process, namely task ID + in system." + ::= { hh3cProcessEntry 1 } + + hh3cProcessName OBJECT-TYPE + SYNTAX DisplayString(SIZE(1..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object indicates the process name." + ::= { hh3cProcessEntry 2 } + + hh3cProcessUtil5Min OBJECT-TYPE + SYNTAX Unsigned32(0..100) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object provides a general idea of how busy a process caused + the processor to be over a 5 minute period. The ratio is calculated + by the overall CPU usage caused by the process." + ::= { hh3cProcessEntry 3 } + + hh3cEntityExtVoltageObjects OBJECT IDENTIFIER ::= { hh3cEntityExtObjects 5 } + + hh3cEntityExtVoltageTable OBJECT-TYPE + SYNTAX SEQUENCE OF Hh3cEntityExtVoltageEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table describes the voltage information of the voltage sensor + entities on the device." + ::= { hh3cEntityExtVoltageObjects 1 } + + hh3cEntityExtVoltageEntry OBJECT-TYPE + SYNTAX Hh3cEntityExtVoltageEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The voltage information of the voltage sensor entity." + INDEX { hh3cEntityExtPhysicalIndex } + ::= { hh3cEntityExtVoltageTable 1 } + + Hh3cEntityExtVoltageEntry ::= SEQUENCE { + hh3cEntityExtCurrentVoltage + Integer32, + hh3cEntityExtNominalVoltage + Integer32, + hh3cEntityExtVoltageState + INTEGER, + hh3cEntityExtVoltageMajorLowThreshold + Integer32, + hh3cEntityExtVoltageFatalLowThreshold + Integer32, + hh3cEntityExtVoltageMajorHighThreshold + Integer32, + hh3cEntityExtVoltageFatalHighThreshold + Integer32 + } + + hh3cEntityExtCurrentVoltage OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current voltage in millivolts of the voltage + sensor entity." + ::= { hh3cEntityExtVoltageEntry 1 } + + hh3cEntityExtNominalVoltage OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The nominal voltage in millivolts of the voltage + sensor entity." + ::= { hh3cEntityExtVoltageEntry 2 } + + hh3cEntityExtVoltageState OBJECT-TYPE + SYNTAX INTEGER + { + normal (0), + low (1), + tooLow (2), + high (3), + tooHigh (4) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The voltage state of the voltage sensor entity." + ::= { hh3cEntityExtVoltageEntry 3 } + + hh3cEntityExtVoltageMajorLowThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The low threshold for the voltage sensor entity. + + When the voltage is lower than the threshold, a notification + will be sent." + ::= { hh3cEntityExtVoltageEntry 4 } + + hh3cEntityExtVoltageFatalLowThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The fatal low voltage threshold for the voltage sensor entity. + + When the voltage is lower than the threshold, a notification + will be sent." + ::= { hh3cEntityExtVoltageEntry 5 } + + hh3cEntityExtVoltageMajorHighThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The high threshold for the voltage sensor entity. + + When the voltage is higher than the threshold, a notification + will be sent." + ::= { hh3cEntityExtVoltageEntry 6 } + + hh3cEntityExtVoltageFatalHighThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The fatal high threshold for the voltage sensor entity. + + When the voltage is higher than the threshold, a notification + will be sent." + ::= { hh3cEntityExtVoltageEntry 7 } + +-- End + + hh3cEntityExtTraps OBJECT IDENTIFIER ::= { hh3cEntityExtend 2 } + + hh3cEntityExtTrapsPrefix OBJECT IDENTIFIER ::= { hh3cEntityExtTraps 0 } + hh3cEntityExtTrapsInfor OBJECT IDENTIFIER ::= { hh3cEntityExtTraps 1 } + + hh3cEntityExtTemperatureThresholdNotification NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtTemperature, + hh3cEntityExtTemperatureThreshold, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The hh3cEntityExtTemperatureThresholdNotification + indicates the temperature exceeded the threshold. + In this condition, user should check the status and the + environment of the entity, sometimes it happens because + of the failure of air-condition." + ::= { hh3cEntityExtTrapsPrefix 1 } + + hh3cEntityExtVoltageLowThresholdNotification NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtVoltage, + hh3cEntityExtVoltageLowThreshold, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The hh3cEntityExtVoltageLowThresholdNotification indicates + the voltage is lower than the threshold. + + If the voltage is lower too much than the entity needs, + the entity will halt." + ::= { hh3cEntityExtTrapsPrefix 2 } + + hh3cEntityExtVoltageHighThresholdNotification NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtVoltage, + hh3cEntityExtVoltageHighThreshold, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The hh3cEntityExtVoltageHighThresholdNotification indicates + the voltage is higher than the threshold. + + If the voltage is higher too much than the entity needs, + The entity may be damaged by the high voltage." + ::= { hh3cEntityExtTrapsPrefix 3 } + + hh3cEntityExtCpuUsageThresholdNotfication NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtCpuUsage, + hh3cEntityExtCpuUsageThreshold, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight, + hh3cEntityExtCpuUsageRecoverThreshold, + hh3cEntityExtFirstTrapTime + } + STATUS current + DESCRIPTION + "The hh3cEntityExtCpuUsageThresholdNotfication indicates + the entity is overloaded." + ::= { hh3cEntityExtTrapsPrefix 4 } + + hh3cEntityExtMemUsageThresholdNotification NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtMemUsage, + hh3cEntityExtMemUsageThreshold, + hh3cEntityExtMemSize, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight, + hh3cEntityExtFirstTrapTime + } + STATUS current + DESCRIPTION + "The hh3cEntityExtMemUsageThresholdNotification indicates + the entity is overloaded." + ::= { hh3cEntityExtTrapsPrefix 5 } + + hh3cEntityExtOperEnabled NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The trap indicates the entity is operable at present." + ::= { hh3cEntityExtTrapsPrefix 6 } + + hh3cEntityExtOperDisabled NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The trap indicates the entity is not operable at present." + ::= { hh3cEntityExtTrapsPrefix 7 } + + hh3cEntityExtCriticalTemperatureThresholdNotification NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtTemperature, + hh3cEntityExtCriticalTemperatureThreshold, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The hh3cEntityExtCriticalTemperatureThresholdNotification + indicates the temperature exceeds the critical temperature. + In this condition, user should check the status and the + environment of the entity, sometimes it happens because + of the failure of air-condition." + ::= { hh3cEntityExtTrapsPrefix 8 } + + hh3cEntityExtSFPAlarmOn NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtErrorStatus, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The trap is generated when the SFP module fails + or runs abnormally for some particular reason." + ::= { hh3cEntityExtTrapsPrefix 9 } + + hh3cEntityExtSFPAlarmOff NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtErrorStatus, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The trap is generated when the SFP module restores to + normal status." + ::= { hh3cEntityExtTrapsPrefix 10 } + + hh3cEntityExtSFPPhony NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "This module is NOT sold by authorized manufacturer. + The normal function of the device or assume the maintenance + responsibility thereof will NOT be guaranteed. + The trap is generated periodically after a phony module has been + found." + ::= { hh3cEntityExtTrapsPrefix 11 } + + hh3cEntityInsert NOTIFICATION-TYPE + OBJECTS { entPhysicalDescr, hh3cEntityExtAdminStatus, hh3cEntityExtOperStatus } + STATUS current + DESCRIPTION + "The trap is generated when a removable entity inserting to + device." + ::= { hh3cEntityExtTrapsPrefix 12 } + + hh3cEntityRemove NOTIFICATION-TYPE + OBJECTS { entPhysicalDescr, hh3cEntityExtAdminStatus, hh3cEntityExtOperStatus } + STATUS current + DESCRIPTION + "The trap is generated when a removable entity removing from + device." + ::= { hh3cEntityExtTrapsPrefix 13 } + + hh3cEntityExtForcedPowerOff NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The trap indicates the entity is forced to power off." + ::= { hh3cEntityExtTrapsPrefix 14 } + + hh3cEntityExtForcedPowerOn NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The trap indicates the entity is forced to power on." + ::= { hh3cEntityExtTrapsPrefix 15 } + + hh3cEntityExtFaultAlarmOn NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtErrorStatus, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The trap indicates a fault occurs on the specified entity." + ::= { hh3cEntityExtTrapsPrefix 16 } + + hh3cEntityExtFaultAlarmOff NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtErrorStatus, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "The trap indicates a fault disappears on the specified entity." + ::= { hh3cEntityExtTrapsPrefix 17 } + + hh3cEntityExtResourceLack NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName + } + STATUS current + DESCRIPTION + "The trap indicates that a kind of resource is not enough on the + specified entity." + ::= { hh3cEntityExtTrapsPrefix 18 } + + hh3cEntityExtResourceEnough NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName + } + STATUS current + DESCRIPTION + "The trap indicates that the entity recovers from the status of no + enough resource." + ::= { hh3cEntityExtTrapsPrefix 19 } + + hh3cEntityExtTemperatureLower NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtTemperature, + hh3cEntityExtLowerTemperatureThreshold, + hh3cEntityExtAdminStatus + } + STATUS current + DESCRIPTION + "The trap indicates the temperature of a specified entity is under + the lower threshold. In this condition, user should check the + status and the environment of the entity, sometimes it goes wrong + for some reason." + ::= { hh3cEntityExtTrapsPrefix 20 } + + hh3cEntityExtTemperatureTooUp NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtTemperature, + hh3cEntityExtShutdownTemperatureThreshold, + hh3cEntityExtAdminStatus + } + STATUS current + DESCRIPTION + "The trap indicates the temperature of a specified entity exceeded + the shutdown threshold. In this condition, user should check the + status and the environment of the entity, sometimes it goes wrong + for some reason." + ::= { hh3cEntityExtTrapsPrefix 21 } + + hh3cEntityExtTemperatureNormal NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtTemperature, + hh3cEntityExtLowerTemperatureThreshold, + hh3cEntityExtTemperatureThreshold, + hh3cEntityExtAdminStatus + } + STATUS current + DESCRIPTION + "The trap indicates the temperature of a specified entity recover + from abnormal status." + ::= { hh3cEntityExtTrapsPrefix 22 } + + hh3cEntityExternalAlarmOccur NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName + } + STATUS current + DESCRIPTION + "The trap is generated when the monitored device connected to the + specified entity fails." + ::= { hh3cEntityExtTrapsPrefix 23 } + + hh3cEntityExternalAlarmRecover NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName + } + STATUS current + DESCRIPTION + "The trap is generated when the failed device connected to the + specified entity returns to normal." + ::= { hh3cEntityExtTrapsPrefix 24 } + + hh3cEntityExtCpuUsageThresholdRecover NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtCpuUsage, + hh3cEntityExtCpuUsageThreshold, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight, + hh3cEntityExtCpuUsageRecoverThreshold, + hh3cEntityExtFirstTrapTime + } + STATUS current + DESCRIPTION + "The trap indicates the CPU usage descends the threshold." + ::= { hh3cEntityExtTrapsPrefix 25 } + + hh3cEntityExtMemUsageThresholdRecover NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtMemUsage, + hh3cEntityExtMemUsageThreshold, + hh3cEntityExtMemSize, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight, + hh3cEntityExtFirstTrapTime + } + STATUS current + DESCRIPTION + "The trap indicates the memory usage descends the threshold." + ::= { hh3cEntityExtTrapsPrefix 26 } + + hh3cEntityExtMemAllocatedFailed NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtTrapDescription + } + STATUS current + DESCRIPTION + "The trap indicates the memory allocated failed." + ::= { hh3cEntityExtTrapsPrefix 27 } + + hh3cEntityExtECCParityAlarm NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtECCParityAlarmStatus, + hh3cEntityExtTrapDescription + } + STATUS current + DESCRIPTION + "The trap indicates the ECC(Error Correction Code) parity error alarm." + ::= { hh3cEntityExtTrapsPrefix 28 } + + hh3cEntityExtCritLowerTempThresholdNotification NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtTemperature, + hh3cEntityExtCriticalLowerTemperatureThreshold + } + STATUS current + DESCRIPTION + "The hh3cEntityExtCritLowerTempThresholdNotification + indicates the temperature is lower than the threshold. + + If the temperature is lower too much than the entity needs, + the entity will halt." + ::= { hh3cEntityExtTrapsPrefix 29 } + + hh3cEntityExtTemperatureTooLow NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtTemperature, + hh3cEntityExtShutdownLowerTemperatureThreshold + } + STATUS current + DESCRIPTION + "The hh3cEntityExtTemperatureTooLow indicates the temperature + is lower than the threshold. + + If the temperature is lower too much than the entity needs, + the entity halts now." + ::= { hh3cEntityExtTrapsPrefix 30 } + + hh3cEntityExtFanDirectionNotPreferred NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName + } + STATUS current + DESCRIPTION + "This trap indicates the specified fan's direction does not + accord with preferred. The two parameters indicate the entity + index and physical name of fan." + ::= { hh3cEntityExtTrapsPrefix 31 } + + hh3cEntityExtFanDirectionNotAccord NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName + } + STATUS current + DESCRIPTION + "This trap indicates the direction of fans does not accord + with each other. The two parameters indicate the parent + entity of the fans." + ::= { hh3cEntityExtTrapsPrefix 32 } + + hh3cEntityExtSFPInvalid NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtSFPInvalidInDays + } + STATUS current + DESCRIPTION + "The transceiver module is not compatible with the interface card. + The authorized manufacturer therefore shall NOT guarantee + the normal function of the transceiver. + The transceiver module will be invalidated in days. + Please replace it with a compatible one as soon as possible. + The trap is generated periodically after a phony transceiver module + has been found." + ::= { hh3cEntityExtTrapsPrefix 33 } + + hh3cEntityExtSFPInvalidNow NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName + } + STATUS current + DESCRIPTION + "This transceiver module is not compatible with the interface card. + The authorized manufacturer therefore shall NOT guarantee + the normal function of the transceiver. + The trap is generated after a phony transceiver module + has been found." + ::= { hh3cEntityExtTrapsPrefix 34 } + + hh3cEntityExtMemUsageThresholdOverTrap NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtMemUsage, + hh3cEntityExtMemUsageThreshold, + hh3cEntityExtMemSizeRev, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "This trap indicates that the memory usage of the entity is + overloaded. + + This trap is used to replace + hh3cEntityExtMemUsageThresholdNotification." + ::= { hh3cEntityExtTrapsPrefix 35 } + + hh3cEntityExtMemUsageThresholdRecoverTrap NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtMemUsage, + hh3cEntityExtMemUsageThreshold, + hh3cEntityExtMemSizeRev, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight + } + STATUS current + DESCRIPTION + "This trap indicates that the memory usage decreased below + the threshold. + + This trap is used to replace + hh3cEntityExtMemUsageThresholdRecover." + ::= { hh3cEntityExtTrapsPrefix 36 } + + hh3cEntityExtVoltageNormal NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtCurrentVoltage, + hh3cEntityExtNominalVoltage, + hh3cEntityExtVoltageMajorLowThreshold, + hh3cEntityExtVoltageMajorHighThreshold + } + STATUS current + DESCRIPTION + "This trap indicates that the voltage recovers to normal." + ::= { hh3cEntityExtTrapsPrefix 37 } + + hh3cEntityExtVoltageLower NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtCurrentVoltage, + hh3cEntityExtNominalVoltage, + hh3cEntityExtVoltageMajorLowThreshold + } + STATUS current + DESCRIPTION + "This trap indicates that the voltage is lower than the + low threshold." + ::= { hh3cEntityExtTrapsPrefix 38 } + + hh3cEntityExtVoltageTooLow NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtCurrentVoltage, + hh3cEntityExtNominalVoltage, + hh3cEntityExtVoltageFatalLowThreshold + } + STATUS current + DESCRIPTION + "This trap indicates that the voltage is lower than the + fatal low threshold." + ::= { hh3cEntityExtTrapsPrefix 39 } + + hh3cEntityExtVoltageHigher NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtCurrentVoltage, + hh3cEntityExtNominalVoltage, + hh3cEntityExtVoltageMajorHighThreshold + } + STATUS current + DESCRIPTION + "This trap indicates that the voltage is higher than the + high threshold." + ::= { hh3cEntityExtTrapsPrefix 40 } + + hh3cEntityExtVoltageTooHigh NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtCurrentVoltage, + hh3cEntityExtNominalVoltage, + hh3cEntityExtVoltageFatalHighThreshold + } + STATUS current + DESCRIPTION + "This trap indicates that the voltage is higher than the + fatal high threshold." + ::= { hh3cEntityExtTrapsPrefix 41 } + + hh3cEntityExtSFPAlarmOnEx NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight, + hh3cEntityExtErrorStatus + } + STATUS current + DESCRIPTION + "The trap is generated when the SFP module fails + or runs abnormally for some particular reason. + This trap is used to replace hh3cEntityExtSFPAlarmOn." + ::= { hh3cEntityExtTrapsPrefix 42 } + + hh3cEntityExtSFPAlarmOffEx NOTIFICATION-TYPE + OBJECTS { + hh3cEntityExtPhysicalIndex, + entPhysicalName, + hh3cEntityExtAdminStatus, + hh3cEntityExtAlarmLight, + hh3cEntityExtErrorStatus + } + STATUS current + DESCRIPTION + "The trap is generated when the SFP module is restored to + normal status. + This trap is used to replace hh3cEntityExtSFPAlarmOff." + ::= { hh3cEntityExtTrapsPrefix 43 } + + hh3cEntityExtTrapDescription OBJECT-TYPE + SYNTAX SnmpAdminString (SIZE (0..255)) + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The information of trap." + ::= { hh3cEntityExtTrapsInfor 1 } + + hh3cEntityExtECCParityAlarmStatus OBJECT-TYPE + SYNTAX INTEGER { + other(1), + l1cache(2), -- cpu l1 data cache err + l2cache(3), -- cpu l2 data cache err + sdram(4), -- sdram err for cpu + mac(5), -- mac err + tcam(6), -- tcam err + ingressbuffer(7), -- IB err + egressbuffer(8), -- EB err + lpm(9), -- lpm err + controlmemory(10) -- controlmemory err + } + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "ECC parity error." + ::= { hh3cEntityExtTrapsInfor 2 } + + hh3cEntityExtSFPInvalidInDays OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The days when the transceiver module is still valid, + but after those days, it will be invalidated." + ::= { hh3cEntityExtTrapsInfor 3 } + + hh3cEntityExtFirstTrapTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Represents the first trap time." + ::= { hh3cEntityExtTrapsInfor 4 } + +-- Conformance and Compliance + hh3cEntityExtConformance OBJECT IDENTIFIER ::= { hh3cEntityExtend 3 } + + hh3cEntityExtCompliances OBJECT IDENTIFIER ::= { hh3cEntityExtConformance 1 } + +-- this module + hh3cEntityExtCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for systems supporting this MIB." + MODULE -- this module + MANDATORY-GROUPS { hh3cEntityExtGroup, hh3cEntityExtNotificationGroup, + hh3cEntityExtManuGroup, hh3cEntityExtPowerGroup } + OBJECT hh3cEntityExtAdminStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + OBJECT hh3cEntityExtCpuUsageThreshold + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + OBJECT hh3cEntityExtMemUsageThreshold + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + OBJECT hh3cEntityExtTemperatureThreshold + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + OBJECT hh3cEntityExtVoltageLowThreshold + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + OBJECT hh3cEntityExtVoltageHighThreshold + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + ::= { hh3cEntityExtCompliances 1 } + + hh3cEntityExtGroups OBJECT IDENTIFIER ::= { hh3cEntityExtConformance 2 } + + hh3cEntityExtGroup OBJECT-GROUP + OBJECTS { + hh3cEntityExtPhysicalIndex, + hh3cEntityExtAdminStatus, + hh3cEntityExtOperStatus, + hh3cEntityExtStandbyStatus, + hh3cEntityExtAlarmLight, + hh3cEntityExtCpuUsage, + hh3cEntityExtCpuUsageThreshold, + hh3cEntityExtMemUsage, + hh3cEntityExtMemUsageThreshold, + hh3cEntityExtMemSize, + hh3cEntityExtUpTime, + hh3cEntityExtTemperature, + hh3cEntityExtTemperatureThreshold, + hh3cEntityExtVoltage, + hh3cEntityExtVoltageLowThreshold, + hh3cEntityExtVoltageHighThreshold, + hh3cEntityExtCriticalTemperatureThreshold, + hh3cEntityExtMacAddress, + hh3cEntityExtErrorStatus, + hh3cEntityExtCpuMaxUsage, + hh3cEntityExtLowerTemperatureThreshold, + hh3cEntityExtShutdownTemperatureThreshold, + hh3cEntityExtPhyMemSize, + hh3cEntityExtPhyCpuFrequency, + hh3cEntityExtFirstUsedDate, + hh3cEntityExtCpuAvgUsage, + hh3cEntityExtMemAvgUsage, + hh3cEntityExtMemType, + hh3cEntityExtCriticalLowerTemperatureThreshold, + hh3cEntityExtShutdownLowerTemperatureThreshold, + hh3cEntityExtCpuUsageRecoverThreshold, + hh3cEntityExtMemSizeRev, + hh3cEntityExtCpuUsageIn1Minute, + hh3cEntityExtCpuUsageIn5Minutes + } + STATUS current + DESCRIPTION + "Entity Extend group." + ::= { hh3cEntityExtGroups 1 } + + hh3cEntityExtNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { hh3cEntityExtTemperatureThresholdNotification, + hh3cEntityExtVoltageLowThresholdNotification, + hh3cEntityExtVoltageHighThresholdNotification, + hh3cEntityExtCpuUsageThresholdNotfication, + hh3cEntityExtMemUsageThresholdNotification, + hh3cEntityExtOperEnabled, + hh3cEntityExtOperDisabled, + hh3cEntityExtCriticalTemperatureThresholdNotification, + hh3cEntityExtSFPAlarmOn, + hh3cEntityExtSFPAlarmOff, + hh3cEntityExtSFPPhony, + hh3cEntityInsert, + hh3cEntityRemove, + hh3cEntityExtForcedPowerOff, + hh3cEntityExtForcedPowerOn, + hh3cEntityExtFaultAlarmOn, + hh3cEntityExtFaultAlarmOff, + hh3cEntityExtResourceLack, + hh3cEntityExtResourceEnough, + hh3cEntityExtTemperatureLower, + hh3cEntityExtTemperatureTooUp, + hh3cEntityExtTemperatureNormal, + hh3cEntityExternalAlarmOccur, + hh3cEntityExternalAlarmRecover, + hh3cEntityExtCpuUsageThresholdRecover, + hh3cEntityExtMemUsageThresholdRecover, + hh3cEntityExtMemAllocatedFailed, + hh3cEntityExtECCParityAlarm, + hh3cEntityExtCritLowerTempThresholdNotification, + hh3cEntityExtTemperatureTooLow, + hh3cEntityExtFanDirectionNotPreferred, + hh3cEntityExtFanDirectionNotAccord, + hh3cEntityExtSFPInvalid, + hh3cEntityExtSFPInvalidNow, + hh3cEntityExtMemUsageThresholdOverTrap, + hh3cEntityExtMemUsageThresholdRecoverTrap, + hh3cEntityExtVoltageNormal, + hh3cEntityExtVoltageTooLow, + hh3cEntityExtVoltageLower, + hh3cEntityExtVoltageHigher, + hh3cEntityExtVoltageTooHigh, + hh3cEntityExtSFPAlarmOnEx, + hh3cEntityExtSFPAlarmOffEx + } + STATUS current + DESCRIPTION + "Entity Extend Notification group." + ::= { hh3cEntityExtGroups 2 } + + hh3cEntityExtManuGroup OBJECT-GROUP + OBJECTS { + hh3cEntityExtManuPhysicalIndex, + hh3cEntityExtManuSerialNum, + hh3cEntityExtManuBuildInfo, + hh3cEntityExtManuBOM, + hh3cEntityExtMacAddressCount + } + STATUS current + DESCRIPTION + "Standard Device Manufacture Information group." + ::= { hh3cEntityExtGroups 3 } + + hh3cEntityExtPowerGroup OBJECT-GROUP + OBJECTS { + hh3cEntityExtPowerPhysicalIndex, + hh3cEntityExtNominalPower, + hh3cEntityExtCurrentPower, + hh3cEntityExtAveragePower, + hh3cEntityExtPeakPower + } + STATUS current + DESCRIPTION + "Standard Entity Power Information group." + ::= { hh3cEntityExtGroups 4 } + + END diff --git a/mibs/HH3C-OID-MIB b/mibs/HH3C-OID-MIB new file mode 100755 index 0000000000..305a72b562 --- /dev/null +++ b/mibs/HH3C-OID-MIB @@ -0,0 +1,310 @@ +-- ============================================================================ +-- Copyright (c) 2004-2015 Hangzhou H3C Tech. Co., Ltd. All rights reserved. +-- Description: This MIB will maintain the products MIB OID and management +-- properties root node for H3C products +-- +-- Reference: +-- Version: V1.25 +-- History: +-- V1.00 2006-04-19 created by longyin +-- V1.01 2007/08/09 add hh3cSiemMib by gaolong +-- V1.02 2007/09/25 add hh3cSurveillanceMIB, hh3cVMMan, hh3cPUMan, +-- and hh3cMSMan by longyin +-- V1.03 2007/10/25 add hh3cStorageRef under hh3c, +-- and hh3cStorageMIB, hh3cStorageSnap, hh3cDisk, +-- hh3cRaid, hh3cLogicVolume under hh3cStorageRef +-- and hh3cUps under hh3cCommon by longyin +-- V1.04 2007/11/27 add hh3cEOCCommon and hh3cHPEOC by longyin +-- V1.05 2007/12/27 add hh3cAFC and hh3cMultCDR by longyin +-- V1.06 2008/02/27 add hh3cMACInformation, hh3cFireWall, hh3cDSP by longyin +-- V1.07 2008/04/29 add hh3cNetMan by songhao +-- V1.08 2008/06/02 add hh3cStack, hh3cPosa by songhao +-- V1.09 2008/07/29 add hh3cWebAuthentication by songhao +-- V1.10 2008/08/26 add hh3cCATVTransceiver by songhao +-- V1.11 2008/12/03 add hh3cLpbkdt by songhao +-- V1.12 2009/02/27 add hh3cMultiMedia, hh3cDns, hh3c3GModem +-- and hh3cPortal by songhao +-- V1.13 2009/05/18 add hh3clldp, hh3cDHCPServer, hh3cPPPoEServer, +-- hh3cL2Isolate, hh3cSnmpExt by duyanbing +-- V1.14 2009/11/04 add hh3cVsi, hh3cEvc, hh3cMinm, hh3cblg, hh3cRS485 by shuaixiaojuan +-- V1.15 2010/03/16 add hh3cARPRatelimit, hh3cLI by songhao +-- 2010/09/15 add hpNetworking by songhao +-- V1.16 2011/01/31 add hh3cDar, hh3cPBR by songhao +-- V1.17 2011/04/22 add hh3cAAANasId by duyanbing +-- V1.18 2012/04/19 add hh3cTeTunnel, hh3cLB, hh3cDldp2, hh3cWIPS, hh3cFCoE, +-- hh3cDot11Sa by duyanbing +-- V1.19 2013/01/08 add hh3cInfoCenter, hh3cTRNG2, hh3cDhcp4, hh3cDhcpSnoop2, +-- hh3cRmonExt, hh3cIPsecMonitorV2, hh3cSanAgg, hh3cSpb, +-- hh3cPortExtender, hh3cSlbg, hh3cFdmi, hh3cFirmwareUpgrade, +-- hh3cIssuUpgrade by songhao +-- V1.20 2013/04/26 add hh3cEvb, hh3cFcoeMode, hh3cMDC, hh3cQinQv2, hh3cVmap +-- modify name of 127, 129, 132 under hh3cCommon by songhao +-- V1.21 2013/09/22 remove hh3cFdmi under hh3cCommon +-- add hh3cL2tp, hh3cMultilinkPPPV2, hh3cBpa by songhao +-- V1.22 2014/01/27 add hh3cLocAAASrv, hh3cMplsExt, hh3cMplsTe, hh3cLicense, +-- hh3cLBv2, hh3cSession, hh3cARPSourceSuppression, hh3cVxlan +-- under hh3cCommon by songhao +-- V1.23 2014/04/27 add hh3cRddc, hh3cIpRanDcn, hh3cContext +-- modify name of 129 under hh3cCommon by songhao +-- V1.24 2014/09/18 add hh3cJointMibs, hh3cMulticastSnoop, hh3cPvst, hh3cSmlk, +-- hh3c8021XExt2, hh3cObjp, hh3cNvgre by songhao +-- V1.25 2015/04/23 add 157 to 162 under hh3cCommon by songhao +-- ============================================================================ +HH3C-OID-MIB DEFINITIONS ::= BEGIN + IMPORTS + enterprises + FROM RFC1155-SMI; + +-- Object under .enterprises + hh3c OBJECT IDENTIFIER ::= { enterprises 25506 } + +-- Object under .enterprises.hh3c + hh3cProductId OBJECT IDENTIFIER ::= { hh3c 1 } + hh3cCommon OBJECT IDENTIFIER ::= { hh3c 2 } + hh3cEntityVendorTypeOID OBJECT IDENTIFIER ::= { hh3c 3 } + hh3cNM OBJECT IDENTIFIER ::= { hh3c 4 } + hh3cSystem OBJECT IDENTIFIER ::= { hh3c 6 } + hh3cSNMPAgCpb OBJECT IDENTIFIER ::= { hh3c 7 } + hh3cRhw OBJECT IDENTIFIER ::= { hh3c 8 } + hh3cSurveillanceMIB OBJECT IDENTIFIER ::= { hh3c 9 } + hh3cStorageRef OBJECT IDENTIFIER ::= { hh3c 10 } + hpNetworking OBJECT IDENTIFIER ::= { hh3c 11 } + hh3cJointMibs OBJECT IDENTIFIER ::= { hh3c 12 } + +-- Object under .enterprises.hh3c.hh3cCommon + hh3cFtm OBJECT IDENTIFIER ::= { hh3cCommon 1 } + hh3cUIMgt OBJECT IDENTIFIER ::= { hh3cCommon 2 } + hh3cSystemMan OBJECT IDENTIFIER ::= { hh3cCommon 3 } + hh3cConfig OBJECT IDENTIFIER ::= { hh3cCommon 4 } + hh3cFlash OBJECT IDENTIFIER ::= { hh3cCommon 5 } + hh3cEntityExtend OBJECT IDENTIFIER ::= { hh3cCommon 6 } + hh3cIPSecMonitor OBJECT IDENTIFIER ::= { hh3cCommon 7 } + hh3cAcl OBJECT IDENTIFIER ::= { hh3cCommon 8 } + hh3cVoiceVlan OBJECT IDENTIFIER ::= { hh3cCommon 9 } + hh3cL4Redirect OBJECT IDENTIFIER ::= { hh3cCommon 10 } + hh3cIpPBX OBJECT IDENTIFIER ::= { hh3cCommon 11 } + hh3cUser OBJECT IDENTIFIER ::= { hh3cCommon 12 } + hh3cRadius OBJECT IDENTIFIER ::= { hh3cCommon 13 } + hh3cPowerEthernetExt OBJECT IDENTIFIER ::= { hh3cCommon 14 } + hh3cEntityRelation OBJECT IDENTIFIER ::= { hh3cCommon 15 } + hh3cProtocolVlan OBJECT IDENTIFIER ::= { hh3cCommon 16 } + hh3cQosProfile OBJECT IDENTIFIER ::= { hh3cCommon 17 } + hh3cNat OBJECT IDENTIFIER ::= { hh3cCommon 18 } + hh3cPos OBJECT IDENTIFIER ::= { hh3cCommon 19 } + hh3cNS OBJECT IDENTIFIER ::= { hh3cCommon 20 } + hh3cAAL5 OBJECT IDENTIFIER ::= { hh3cCommon 21 } + hh3cSSH OBJECT IDENTIFIER ::= { hh3cCommon 22 } + hh3cRSA OBJECT IDENTIFIER ::= { hh3cCommon 23 } + hh3cVrrpExt OBJECT IDENTIFIER ::= { hh3cCommon 24 } + hh3cIpa OBJECT IDENTIFIER ::= { hh3cCommon 25 } + hh3cPortSecurity OBJECT IDENTIFIER ::= { hh3cCommon 26 } + hh3cVpls OBJECT IDENTIFIER ::= { hh3cCommon 27 } + hh3cE1 OBJECT IDENTIFIER ::= { hh3cCommon 28 } + hh3cT1 OBJECT IDENTIFIER ::= { hh3cCommon 29 } + hh3cIKEMonitor OBJECT IDENTIFIER ::= { hh3cCommon 30 } + hh3cWebSwitch OBJECT IDENTIFIER ::= { hh3cCommon 31 } + hh3cAutoDetect OBJECT IDENTIFIER ::= { hh3cCommon 32 } + hh3cIpBroadcast OBJECT IDENTIFIER ::= { hh3cCommon 33 } + hh3cIpx OBJECT IDENTIFIER ::= { hh3cCommon 34 } + hh3cIPS OBJECT IDENTIFIER ::= { hh3cCommon 35 } + hh3cDhcpSnoop OBJECT IDENTIFIER ::= { hh3cCommon 36 } + hh3cProtocolPriority OBJECT IDENTIFIER ::= { hh3cCommon 37 } + hh3cTrap OBJECT IDENTIFIER ::= { hh3cCommon 38 } + hh3cVoice OBJECT IDENTIFIER ::= { hh3cCommon 39 } + hh3cIfExt OBJECT IDENTIFIER ::= { hh3cCommon 40 } + hh3cCfCard OBJECT IDENTIFIER ::= { hh3cCommon 41 } + hh3cEpon OBJECT IDENTIFIER ::= { hh3cCommon 42 } + hh3cDldp OBJECT IDENTIFIER ::= { hh3cCommon 43 } + hh3cUnicast OBJECT IDENTIFIER ::= { hh3cCommon 44 } + hh3cRrpp OBJECT IDENTIFIER ::= { hh3cCommon 45 } + hh3cDomain OBJECT IDENTIFIER ::= { hh3cCommon 46 } + hh3cIds OBJECT IDENTIFIER ::= { hh3cCommon 47 } + hh3cRcr OBJECT IDENTIFIER ::= { hh3cCommon 48 } + hh3cAtmDxi OBJECT IDENTIFIER ::= { hh3cCommon 49 } + hh3cMulticast OBJECT IDENTIFIER ::= { hh3cCommon 50 } + hh3cMpm OBJECT IDENTIFIER ::= { hh3cCommon 51 } + hh3cOadp OBJECT IDENTIFIER ::= { hh3cCommon 52 } + hh3cTunnel OBJECT IDENTIFIER ::= { hh3cCommon 53 } + hh3cGre OBJECT IDENTIFIER ::= { hh3cCommon 54 } + hh3cObjectInfo OBJECT IDENTIFIER ::= { hh3cCommon 55 } + hh3cStorage OBJECT IDENTIFIER ::= { hh3cCommon 56 } + hh3cDvpn OBJECT IDENTIFIER ::= { hh3cCommon 57 } + hh3cDhcpRelay OBJECT IDENTIFIER ::= { hh3cCommon 58 } + hh3cIsis OBJECT IDENTIFIER ::= { hh3cCommon 59 } + hh3cRpr OBJECT IDENTIFIER ::= { hh3cCommon 60 } + hh3cSubnetVlan OBJECT IDENTIFIER ::= { hh3cCommon 61 } + hh3cDlswExt OBJECT IDENTIFIER ::= { hh3cCommon 62 } + hh3cSyslog OBJECT IDENTIFIER ::= { hh3cCommon 63 } + hh3cFlowTemplate OBJECT IDENTIFIER ::= { hh3cCommon 64 } + hh3cQos2 OBJECT IDENTIFIER ::= { hh3cCommon 65 } + hh3cStormConstrain OBJECT IDENTIFIER ::= { hh3cCommon 66 } + hh3cIpAddrMIB OBJECT IDENTIFIER ::= { hh3cCommon 67 } + hh3cMirrGroup OBJECT IDENTIFIER ::= { hh3cCommon 68 } + hh3cQINQ OBJECT IDENTIFIER ::= { hh3cCommon 69 } + hh3cTransceiver OBJECT IDENTIFIER ::= { hh3cCommon 70 } + hh3cIpv6AddrMIB OBJECT IDENTIFIER ::= { hh3cCommon 71 } + hh3cBfdMIB OBJECT IDENTIFIER ::= { hh3cCommon 72 } + hh3cRCP OBJECT IDENTIFIER ::= { hh3cCommon 73 } + hh3cAcfp OBJECT IDENTIFIER ::= { hh3cCommon 74 } + hh3cDot11 OBJECT IDENTIFIER ::= { hh3cCommon 75 } + hh3cE1T1VI OBJECT IDENTIFIER ::= { hh3cCommon 76 } + hh3cL2VpnPwe3 OBJECT IDENTIFIER ::= { hh3cCommon 78 } + hh3cMplsOam OBJECT IDENTIFIER ::= { hh3cCommon 79 } + hh3cMplsOamPs OBJECT IDENTIFIER ::= { hh3cCommon 80 } + hh3cSiemMib OBJECT IDENTIFIER ::= { hh3cCommon 81 } + hh3cUps OBJECT IDENTIFIER ::= { hh3cCommon 82 } + hh3cEOCCommon OBJECT IDENTIFIER ::= { hh3cCommon 83 } + hh3cHPEOC OBJECT IDENTIFIER ::= { hh3cCommon 84 } + hh3cAFC OBJECT IDENTIFIER ::= { hh3cCommon 85 } + hh3cMultCDR OBJECT IDENTIFIER ::= { hh3cCommon 86 } + hh3cMACInformation OBJECT IDENTIFIER ::= { hh3cCommon 87 } + hh3cFireWall OBJECT IDENTIFIER ::= { hh3cCommon 88 } + hh3cDSP OBJECT IDENTIFIER ::= { hh3cCommon 89 } + hh3cNetMan OBJECT IDENTIFIER ::= { hh3cCommon 90 } + hh3cStack OBJECT IDENTIFIER ::= { hh3cCommon 91 } + hh3cPosa OBJECT IDENTIFIER ::= { hh3cCommon 92 } + hh3cWebAuthentication OBJECT IDENTIFIER ::= { hh3cCommon 93 } + hh3cCATVTransceiver OBJECT IDENTIFIER ::= { hh3cCommon 94 } + hh3cLpbkdt OBJECT IDENTIFIER ::= { hh3cCommon 95 } + hh3cMultiMedia OBJECT IDENTIFIER ::= { hh3cCommon 96 } + hh3cDns OBJECT IDENTIFIER ::= { hh3cCommon 97 } + hh3c3GModem OBJECT IDENTIFIER ::= { hh3cCommon 98 } + hh3cPortal OBJECT IDENTIFIER ::= { hh3cCommon 99 } + hh3clldp OBJECT IDENTIFIER ::= { hh3cCommon 100 } + hh3cDHCPServer OBJECT IDENTIFIER ::= { hh3cCommon 101 } + hh3cPPPoEServer OBJECT IDENTIFIER ::= { hh3cCommon 102 } + hh3cL2Isolate OBJECT IDENTIFIER ::= { hh3cCommon 103 } + hh3cSnmpExt OBJECT IDENTIFIER ::= { hh3cCommon 104 } + hh3cVsi OBJECT IDENTIFIER ::= { hh3cCommon 105 } + hh3cEvc OBJECT IDENTIFIER ::= { hh3cCommon 106 } + hh3cMinm OBJECT IDENTIFIER ::= { hh3cCommon 107 } + hh3cBlg OBJECT IDENTIFIER ::= { hh3cCommon 108 } + hh3cRS485 OBJECT IDENTIFIER ::= { hh3cCommon 109 } + hh3cARPRatelimit OBJECT IDENTIFIER ::= { hh3cCommon 110 } + hh3cLI OBJECT IDENTIFIER ::= { hh3cCommon 111 } + hh3cDar OBJECT IDENTIFIER ::= { hh3cCommon 112 } + hh3cPBR OBJECT IDENTIFIER ::= { hh3cCommon 113 } + hh3cAAANasId OBJECT IDENTIFIER ::= { hh3cCommon 114 } + hh3cTeTunnel OBJECT IDENTIFIER ::= { hh3cCommon 115 } + hh3cLB OBJECT IDENTIFIER ::= { hh3cCommon 116 } + hh3cDldp2 OBJECT IDENTIFIER ::= { hh3cCommon 117 } + hh3cWIPS OBJECT IDENTIFIER ::= { hh3cCommon 118 } + hh3cInfoCenter OBJECT IDENTIFIER ::= { hh3cCommon 119 } + hh3cFCoE OBJECT IDENTIFIER ::= { hh3cCommon 120 } + hh3cTRNG2 OBJECT IDENTIFIER ::= { hh3cCommon 121 } + hh3cDhcp4 OBJECT IDENTIFIER ::= { hh3cCommon 122 } + hh3cMulticastSnoop OBJECT IDENTIFIER ::= { hh3cCommon 123 } + hh3cDhcpSnoop2 OBJECT IDENTIFIER ::= { hh3cCommon 124 } + hh3cRmonExt OBJECT IDENTIFIER ::= { hh3cCommon 125 } + hh3cIPsecMonitorV2 OBJECT IDENTIFIER ::= { hh3cCommon 126 } + hh3cSan OBJECT IDENTIFIER ::= { hh3cCommon 127 } + hh3cSpb OBJECT IDENTIFIER ::= { hh3cCommon 128 } + hh3cPex OBJECT IDENTIFIER ::= { hh3cCommon 129 } + hh3cSlbg OBJECT IDENTIFIER ::= { hh3cCommon 130 } + hh3cPvst OBJECT IDENTIFIER ::= { hh3cCommon 131 } + hh3cEvi OBJECT IDENTIFIER ::= { hh3cCommon 132 } + hh3cIssuUpgrade OBJECT IDENTIFIER ::= { hh3cCommon 133 } + hh3cEvb OBJECT IDENTIFIER ::= { hh3cCommon 134 } + hh3cFcoeMode OBJECT IDENTIFIER ::= { hh3cCommon 135 } + hh3cMDC OBJECT IDENTIFIER ::= { hh3cCommon 136 } + hh3cQinQv2 OBJECT IDENTIFIER ::= { hh3cCommon 137 } + hh3cVmap OBJECT IDENTIFIER ::= { hh3cCommon 138 } + hh3cL2tp OBJECT IDENTIFIER ::= { hh3cCommon 139 } + hh3cMultilinkPPPV2 OBJECT IDENTIFIER ::= { hh3cCommon 140 } + hh3cLocAAASrv OBJECT IDENTIFIER ::= { hh3cCommon 141 } + hh3cMplsExt OBJECT IDENTIFIER ::= { hh3cCommon 142 } + hh3cMplsTe OBJECT IDENTIFIER ::= { hh3cCommon 143 } + hh3cBpa OBJECT IDENTIFIER ::= { hh3cCommon 144 } + hh3cLicense OBJECT IDENTIFIER ::= { hh3cCommon 145 } + hh3cSmlk OBJECT IDENTIFIER ::= { hh3cCommon 147 } + hh3cARPSourceSuppression OBJECT IDENTIFIER ::= { hh3cCommon 146 } + hh3cLBv2 OBJECT IDENTIFIER ::= { hh3cCommon 148 } + hh3cSession OBJECT IDENTIFIER ::= { hh3cCommon 149 } + hh3cVxlan OBJECT IDENTIFIER ::= { hh3cCommon 150 } + hh3cRddc OBJECT IDENTIFIER ::= { hh3cCommon 151 } + hh3cIpRanDcn OBJECT IDENTIFIER ::= { hh3cCommon 152 } + hh3c8021XExt2 OBJECT IDENTIFIER ::= { hh3cCommon 153 } + hh3cContext OBJECT IDENTIFIER ::= { hh3cCommon 154 } + hh3cObjp OBJECT IDENTIFIER ::= { hh3cCommon 155 } + hh3cNvgre OBJECT IDENTIFIER ::= { hh3cCommon 156 } + hh3cWlanMt OBJECT IDENTIFIER ::= { hh3cCommon 157 } + hh3cRbac OBJECT IDENTIFIER ::= { hh3cCommon 158 } + hh3cDHCP6Server OBJECT IDENTIFIER ::= { hh3cCommon 159 } + hh3cMplsVpnBgp OBJECT IDENTIFIER ::= { hh3cCommon 160 } + hh3cOspf OBJECT IDENTIFIER ::= { hh3cCommon 161 } + hh3cL2vpn OBJECT IDENTIFIER ::= { hh3cCommon 162 } + +-- under enterprises.hh3c.hh3cCommon.hh3cQos2 + hh3cIfQos2 OBJECT IDENTIFIER ::= { hh3cQos2 1 } + hh3cCBQos2 OBJECT IDENTIFIER ::= { hh3cQos2 2 } + +-- under enterprises.hh3c.hh3cSNMPAgCpb + hh3cQosCapability OBJECT IDENTIFIER ::= { hh3cSNMPAgCpb 1 } + +-- under enterprises.hh3c.hh3cRhw + hh3cDHCPRelayMib OBJECT IDENTIFIER ::= { hh3cRhw 1 } + hh3cDHCPServerMib OBJECT IDENTIFIER ::= { hh3cRhw 2 } + hh3cNqa OBJECT IDENTIFIER ::= { hh3cRhw 3 } + hh3crmonExtend OBJECT IDENTIFIER ::= { hh3cRhw 4 } +-- hh3cVlan OBJECT IDENTIFIER ::= { hh3cRhw 5 } removed + hh3cpaeExtMib OBJECT IDENTIFIER ::= { hh3cRhw 6 } + hh3cHgmp OBJECT IDENTIFIER ::= { hh3cRhw 7 } + hh3cDevice OBJECT IDENTIFIER ::= { hh3cRhw 8 } + hh3cMpls OBJECT IDENTIFIER ::= { hh3cRhw 12 } + hh3cTRNG OBJECT IDENTIFIER ::= { hh3cRhw 13 } + hh3cUserLogMIB OBJECT IDENTIFIER ::= { hh3cRhw 18 } + hh3cNTP OBJECT IDENTIFIER ::= { hh3cRhw 22 } + hh3cLAG OBJECT IDENTIFIER ::= { hh3cRhw 25 } + hh3cSmonExtend OBJECT IDENTIFIER ::= { hh3cRhw 26 } + hh3cQoS OBJECT IDENTIFIER ::= { hh3cRhw 32 } + hh3cMultilinkPPP OBJECT IDENTIFIER ::= { hh3cRhw 33 } +-- delete hh3crouter OBJECT IDENTIFIER ::= { hh3cRhw 34 } + hh3clswCommon OBJECT IDENTIFIER ::= { hh3cRhw 35 } + hh3cmlsr OBJECT IDENTIFIER ::= { hh3cRhw 36 } + hh3cdlsw OBJECT IDENTIFIER ::= { hh3cRhw 37 } + +-- Object under .enterprises.hh3c.hh3cSurveillanceMIB + hh3cVMMan OBJECT IDENTIFIER ::= { hh3cSurveillanceMIB 1 } + hh3cPUMan OBJECT IDENTIFIER ::= { hh3cSurveillanceMIB 2 } + hh3cMSMan OBJECT IDENTIFIER ::= { hh3cSurveillanceMIB 3 } + +-- Object under .enterprises.hh3c.hh3cStorageRef + hh3cStorageMIB OBJECT IDENTIFIER ::= { hh3cStorageRef 1 } + hh3cStorageSnap OBJECT IDENTIFIER ::= { hh3cStorageRef 2 } + hh3cDisk OBJECT IDENTIFIER ::= { hh3cStorageRef 3 } + hh3cRaid OBJECT IDENTIFIER ::= { hh3cStorageRef 4 } + hh3cLogicVolume OBJECT IDENTIFIER ::= { hh3cStorageRef 5 } + + +-- under enterprises.hh3c.hh3cRhw.hh3cMpls + hh3cMplsLsr OBJECT IDENTIFIER ::= { hh3cMpls 1 } + hh3cMplsLdp OBJECT IDENTIFIER ::= { hh3cMpls 2 } + hh3cMplsVpn OBJECT IDENTIFIER ::= { hh3cMpls 3 } + +-- under enterprises.hh3c.hh3cRhw.hh3clswCommon + hh3cLswExtInterface OBJECT IDENTIFIER ::= { hh3clswCommon 1 } + hh3cLswVlan OBJECT IDENTIFIER ::= { hh3clswCommon 2 } + hh3cLswMacPort OBJECT IDENTIFIER ::= { hh3clswCommon 3 } + hh3cLswArpMib OBJECT IDENTIFIER ::= { hh3clswCommon 4 } + hh3cLswL2InfMib OBJECT IDENTIFIER ::= { hh3clswCommon 5 } + hh3cLswRstpMib OBJECT IDENTIFIER ::= { hh3clswCommon 6 } + hh3cLswIgmpsnoopingMib OBJECT IDENTIFIER ::= { hh3clswCommon 7 } + hh3cLswDhcpMib OBJECT IDENTIFIER ::= { hh3clswCommon 8 } + hh3cLswdevMMib OBJECT IDENTIFIER ::= { hh3clswCommon 9 } + hh3cLswTrapMib OBJECT IDENTIFIER ::= { hh3clswCommon 12 } + hh3cdot1sMstp OBJECT IDENTIFIER ::= { hh3clswCommon 14 } + hh3cLswQosAclMib OBJECT IDENTIFIER ::= { hh3clswCommon 16 } + hh3cLswMix OBJECT IDENTIFIER ::= { hh3clswCommon 17 } + hh3cLswDeviceAdmin OBJECT IDENTIFIER ::= { hh3clswCommon 18 } + +-- under enterprises.hh3c.hh3cRhw.hh3cmlsr + hh3cNDEC OBJECT IDENTIFIER ::= { hh3cmlsr 2 } + hh3credundancyPower OBJECT IDENTIFIER ::= { hh3cmlsr 4 } + hh3credundancyFan OBJECT IDENTIFIER ::= { hh3cmlsr 5 } +-- delete hh3cmSystem OBJECT IDENTIFIER ::= { hh3cmlsr 6 } +-- delete hh3c8040If OBJECT IDENTIFIER ::= { hh3cmlsr 7 } + hh3cpos OBJECT IDENTIFIER ::= { hh3cmlsr 8 } + hh3cIsdnMib OBJECT IDENTIFIER ::= { hh3cmlsr 9 } +-- delete hh3caR46-E200 OBJECT IDENTIFIER ::= { hh3cmlsr 20 } + +END diff --git a/mibs/HH3C-PRODUCT-ID-MIB b/mibs/HH3C-PRODUCT-ID-MIB new file mode 100755 index 0000000000..0f13f8d83c --- /dev/null +++ b/mibs/HH3C-PRODUCT-ID-MIB @@ -0,0 +1,1934 @@ +-- ============================================================================ +-- Copyright (c) 2004-2015 Hangzhou H3C Tech. Co., Ltd. All rights reserved. +-- +-- Description: H3C Product OID MIB +-- Reference: HH3C-OID-MIB +-- Version: V1.57 +-- History: +-- V1.00 2006-04-19 Initial version +-- V1.01 2006-05-09 +-- Add OID 158 under hh3cProductId by gaolong +-- V1.02 2006-05-18 +-- Add OID from 159 to 169 under hh3cProductId by gaolong +-- Add OID from 170 to 175 under hh3cProductId by longyin +-- V1.03 2006-05-31 +-- Add OID from 176 to 178 under hh3cProductId by gaolong +-- V1.04 2006-06-08 +-- Add OID from 179 to 188 under hh3cProductId by gaolong +-- V1.05 2006-07-14 +-- Add OID from 189 to 192 under hh3cProductId by longyin +-- V1.06 2006-07-26 +-- Add OID from 193 to 200 under hh3cProductId by gaolong +-- V1.07 2006-08-23 +-- Add OID from 201 to 203 under hh3cProductId by gaolong +-- V1.08 2006-09-25 +-- Add OID from 204 to 206 under hh3cProductId by gaolong +-- V1.09 2006-10-28 +-- Modify name of OID 193 and 194 by gaolong +-- V1.10 2006-11-25 +-- Add OID from 207 to 217 under hh3cProductId by gaolong +-- V1.11 2006-12-25 +-- Add OEM object Identifier under hh3cProductId by gaolong +-- V1.12 2007-02-01 +-- Add OID from 219 to 224 under hh3cProductId by gaolong +-- V1.13 2007-03-07 +-- Add OID from 225 to 235 under hh3cProductId by gaolong +-- V1.14 2007-03-28 +-- Add OID from 236 to 241 under hh3cProductId by gaolong +-- V1.15 2007-04-26 +-- Add OID from 242 to 257 under hh3cProductId by gaolong +-- V1.16 2007-05-28 +-- Add OID from 258 to 267 under hh3cProductId by gaolong +-- V1.17 2007-07-02 +-- Add OID from 268 to 282 under hh3cProductId by gaolong +-- Remove OID 176 under hh3cProductId by gaolong +-- V1.18 2007-08-08 +-- Add OID from 283 to 297 under hh3cProductId by gaolong +-- V1.19 2007-08-25 +-- Add OID from 298 to 322 under hh3cProductId by longyin +-- V1.20 2007-09-25 +-- Add OID from 323 to 330 under hh3cProductId by longyin +-- V1.21 2007-10-27 +-- Add OID from 331 to 341 under hh3cProductId by longyin +-- V1.22 2007-11-26 +-- Add OID from 342 to 346 under hh3cProductId by longyin +-- V1.23 2007-12-25 +-- Add OID from 347 to 355 under hh3cProductId by longyin +-- V1.24 2008-01-25 +-- Add OID from 356 to 370 under hh3cProductId by longyin +-- V1.25 2008-02-27 +-- Add OID from 371 to 384 under hh3cProductId by longyin +-- V1.26 2008-03-27 +-- Add OID from 385 to 394 under hh3cProductId by longyin +-- V1.27 2008-04-28 +-- Modify name of OID 376 and 385 by songhao +-- Add OID from 395 to 414(except 399) under hh3cProductId by songhao +-- V1.28 2008-05-31 +-- Modify name of OID 363 by songhao +-- Add OID from 415 to 419 under hh3cProductId by songhao +-- V1.29 2008-06-30 +-- Add OID from 420 to 453 under hh3cProductId by songhao +-- V1.30 2008-07-25 +-- Add OID from 454 to 459 under hh3cProductId by songhao +-- V1.31 2008-08-28 +-- Add OID from 460 to 467 under hh3cProductId by songhao +-- V1.32 2008-10-10 +-- Add OID from 468 to 469 under hh3cProductId by songhao +-- V1.33 2008-11-04 +-- Add OID from 470 to 477 under hh3cProductId by songhao +-- V1.34 2008-12-01 +-- Add OID from 478 to 487 under hh3cProductId by songhao +-- V1.35 2008-12-25 +-- Add OID from 488 to 493 under hh3cProductId by shuaixiaojuan +-- V1.36 2009-02-27 +-- Add OID from 494 to 505 under hh3cProductId by songhao +-- V1.37 2009-04-10 +-- Add OID from 506 to 511 under hh3cProductId by songhao +-- Modify name of OID 505 by songhao +-- V1.38 2009-05-24 +-- Add OID from 512 to 531 under hh3cProductId by songhao +-- V1.39 2009-07-03 +-- Add OID 532 under hh3cProductId by songhao +-- Modify name of OID 340 and 341 by songhao +-- V1.40 2009-08-28 +-- Add OID from 532 to 549 under hh3cProductId by songhao +-- V1.41 2009-11-06 +-- Add OID from 550 to 562 under hh3cProductId by songhao +-- Modify name of OID 506 and 507 by songhao +-- V1.42 2009-11-30 +-- Add OID from 563 to 571 under hh3cProductId by songhao +-- Modify name of OID 529 and 531 by songhao +-- V1.43 2010-01-11 +-- Add OID from 572 to 599 under hh3cProductId by songhao +-- V1.44 2010-08-29 by songhao +-- Added OID from 600 to 649 under hh3cProductId +-- Modified name of OID 552 and 569 under hh3cProductId +-- Removed OID 552 and 553 under hh3cProductId +-- Added OID from 1 to 45 under hpSwitch +-- Added OID from 1 to 23 under hpRouter +-- Added OID from 1 to 3 under hpWireless +-- Added OID from 1 to 14 under hpSecurity +-- V1.45 2011-01-30 by songhao +-- Added OID from 650 to 689 under hh3cProductId +-- Modified name of OID 601 under hh3cProductId +-- Added OID from 46 to 68 under hpSwitch +-- Added OID from 24 to 51 under hpRouter +-- Added OID from 4 to 11 under hpWireless +-- Added OID from 15 to 20 under hpSecurity +-- V1.46 2011-03-10 by songhao +-- Modified name of 615 617 689 under hh3cProductId +-- Removed OID of 616 under hh3cProductId +-- Added OID from 69 to 80 under hpSwitch +-- Added OID 690 to 729 under hh3cProductId +-- Modified name of 11 to 15 under hpSwitch +-- Removed all hyphens under hpNetworking +-- V1.47 2011-04-22 by songhao +-- Added OID from 730 to 742 under hh3cProductId +-- Modified name of 16 to 23, 46 to 47, 62, 65 to 68 under hpSwitch +-- Added OID from 81 to 99 under hpSwitch +-- Added OID from 12 to 14 under hpWireless +-- V1.48 2011-06-30 by songhao +-- Added OID 743 to 747 under hh3cProductId +-- Added OID 100 to 107 under hpSwitch +-- Added OID 15 under hpWireless +-- Added OID 52 to 54 under hpRouter +-- Modified name of 24 to 38, 68 to 77 under hpSwitch +-- Modified name of 12 to 14 under hpWireless +-- V1.49 2011-08-31 by songhao +-- Added 748 under hh3cProductId +-- Modified name of 45, 100 under hpSwitch +-- Added OID 108 to 112 under hpSwitch +-- V1.50 2012-04-22 by songhao +-- Added 749 to 844 under hh3cProductId +-- Modified name of 690, 753 and 754 under hh3cProductId +-- Added OID 114 to 123 under hpSwitch +-- Modified name of 1 to 6, 39 to 45, 51, 78, 86 to 89, 100, 103, 108 to 112 under hpSwitch +-- Added OID 21, 22 under hpSecurity +-- Added OID 55 to 74 under hpRouter +-- V1.51 2013-01-07 by songhao +-- Added OID 845 to 893 under hh3cProductId +-- Added OID 113, 124 to 138 under hpSwitch +-- Added OID 75 to 99 under hpRouter +-- Added OID 16 to 25 under hpWireless +-- Added OID 23 to 24 under hpSecurity +-- Modified name of 842 under hh3cProductId +-- Modified name of 45, 121, 122 under hpSwitch +-- Modified name 55 to 69 under hpRouter +-- V1.52 2013-04-25 by songhao +-- Added OID 894 to 937 under hh3cProductId +-- Added OID 139 to 145 under hpSwitch +-- Added OID 100 to 102 under hpRouter +-- Modified name of 864, 865, 869, 883, 884 under hh3cProductId +-- V1.53 2013-10-09 by songhao +-- Added OID 938 to 1021 under hh3cProductId +-- Modified name of 865, 925 under hh3cProductId +-- Added OID 103 to 107 under hpRouter +-- Modified name 88, 90 under hpRouter +-- Added OID 146 to 150 under hpSwitch +-- Added OID 25 under hpSecurity +-- V1.54 2014-01-27 by songhao +-- Modified name of 1013 under hh3cProductId +-- Added OID 1022 to 1082 under hh3cProductId +-- Added OID 151 to 176 under hpSwitch +-- Added OID 110 under hpRouter +-- Added OID 26 under hpSecurity +-- V1.55 2014-04-27 by songhao +-- Added OID 1083 to 1112 under hh3cProductId +-- Added OID 177 to 204 under hpSwitch +-- Added OID 111 to 117 under hpRouter +-- Added OID 27 under hpSecurity +-- V1.56 2014-09-18 by songhao +-- Added OID 1113 to 1159 under hh3cProductId +-- Added OID 205 to 213 under hpSwitch +-- Added OID 118 to 127 under hpRouter +-- V1.57 2015-04-18 by songhao +-- Added OID 1160 to 1311 under hh3cProductId +-- Modified name of 1112, 1206, 1207 under hh3cProductId +-- Added OID 214 to 241 under hpSwitch +-- Modified name of 213 under hpSwitch +-- Added OID 128 to 135 under hpRouter +-- Added OID 28 under hpSecurity +-- ============================================================================ +HH3C-PRODUCT-ID-MIB DEFINITIONS ::= BEGIN + IMPORTS + hh3cProductId, hpNetworking + FROM HH3C-OID-MIB; + +-- H3C products + +hh3c-s5500-28C-EI OBJECT IDENTIFIER ::= { hh3cProductId 1 } +hh3c-s5500-52C-EI OBJECT IDENTIFIER ::= { hh3cProductId 2 } +hh3c-s5500-28C-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 3 } +hh3c-s5500-52C-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 4 } +hh3c-s5500-28F-EI OBJECT IDENTIFIER ::= { hh3cProductId 5 } +hh3c-s5500-28C-EI-DC OBJECT IDENTIFIER ::= { hh3cProductId 6 } +hh3c-s6100-20Q-SI OBJECT IDENTIFIER ::= { hh3cProductId 7 } +hh3c-s5500-28C-SI OBJECT IDENTIFIER ::= { hh3cProductId 8 } +hh3c-s5500-52C-SI OBJECT IDENTIFIER ::= { hh3cProductId 9 } +hh3c-s5500-28C-PWR-SI OBJECT IDENTIFIER ::= { hh3cProductId 10 } +hh3c-s5500-52C-PWR-SI OBJECT IDENTIFIER ::= { hh3cProductId 11 } +hh3c-s5510-24P OBJECT IDENTIFIER ::= { hh3cProductId 12 } +hh3c-s5510-24F OBJECT IDENTIFIER ::= { hh3cProductId 13 } +hh3c-s3610-28P OBJECT IDENTIFIER ::= { hh3cProductId 14 } +hh3c-s3610-52P OBJECT IDENTIFIER ::= { hh3cProductId 15 } +hh3c-s3610-28TP OBJECT IDENTIFIER ::= { hh3cProductId 16 } +hh3c-s3610-28F OBJECT IDENTIFIER ::= { hh3cProductId 17 } +hh3c-e126 OBJECT IDENTIFIER ::= { hh3cProductId 18 } +hh3c-e328 OBJECT IDENTIFIER ::= { hh3cProductId 19 } +hh3c-e352 OBJECT IDENTIFIER ::= { hh3cProductId 20 } +hh3c-s3100-8C-SI OBJECT IDENTIFIER ::= { hh3cProductId 21 } +hh3c-s3100-16C-SI OBJECT IDENTIFIER ::= { hh3cProductId 22 } +hh3c-s3100-26C-SI OBJECT IDENTIFIER ::= { hh3cProductId 23 } +hh3c-s3100-8T-SI OBJECT IDENTIFIER ::= { hh3cProductId 24 } +hh3c-s3100-16T-SI OBJECT IDENTIFIER ::= { hh3cProductId 25 } +hh3c-s3100-26T-SI OBJECT IDENTIFIER ::= { hh3cProductId 26 } +hh3c-s3100-26TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 27 } +hh3c-s5100-24P-EI OBJECT IDENTIFIER ::= { hh3cProductId 28 } +hh3c-s5100-26C-EI OBJECT IDENTIFIER ::= { hh3cProductId 29 } +hh3c-s5100-50C-EI OBJECT IDENTIFIER ::= { hh3cProductId 30 } +hh3c-s5100-48P-EI OBJECT IDENTIFIER ::= { hh3cProductId 31 } +hh3c-s3600-28P-SI OBJECT IDENTIFIER ::= { hh3cProductId 32 } +hh3c-s3600-52P-SI OBJECT IDENTIFIER ::= { hh3cProductId 33 } +hh3c-s3600-28TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 34 } +hh3c-s3600-28P-PWR-SI OBJECT IDENTIFIER ::= { hh3cProductId 35 } +hh3c-s3600-52P-PWR-SI OBJECT IDENTIFIER ::= { hh3cProductId 36 } +hh3c-s3600-28P-EI OBJECT IDENTIFIER ::= { hh3cProductId 37 } +hh3c-s3600-52P-EI OBJECT IDENTIFIER ::= { hh3cProductId 38 } +hh3c-s3600-28P-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 39 } +hh3c-s3600-52P-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 40 } +hh3c-s3600-28F-EI OBJECT IDENTIFIER ::= { hh3cProductId 41 } +hh3c-s5600-26C OBJECT IDENTIFIER ::= { hh3cProductId 42 } +hh3c-s5600-50C OBJECT IDENTIFIER ::= { hh3cProductId 43 } +hh3c-s5600-26C-PWR OBJECT IDENTIFIER ::= { hh3cProductId 44 } +hh3c-s5600-50C-PWR OBJECT IDENTIFIER ::= { hh3cProductId 45 } +hh3c-s5600-26F OBJECT IDENTIFIER ::= { hh3cProductId 46 } +hh3c-s3600-52G-HI OBJECT IDENTIFIER ::= { hh3cProductId 47 } +hh3c-s3600-52P-HI OBJECT IDENTIFIER ::= { hh3cProductId 48 } +hh3c-s3600-28G-HI OBJECT IDENTIFIER ::= { hh3cProductId 49 } +hh3c-s3600-28P-HI OBJECT IDENTIFIER ::= { hh3cProductId 50 } +hh3c-s3600-52M-HI OBJECT IDENTIFIER ::= { hh3cProductId 51 } +hh3c-s7502 OBJECT IDENTIFIER ::= { hh3cProductId 52 } +hh3c-s7503 OBJECT IDENTIFIER ::= { hh3cProductId 53 } +hh3c-s7506 OBJECT IDENTIFIER ::= { hh3cProductId 54 } +hh3c-s7506R OBJECT IDENTIFIER ::= { hh3cProductId 55 } +hh3c-ar28-09 OBJECT IDENTIFIER ::= { hh3cProductId 57 } +hh3c-ar28-10 OBJECT IDENTIFIER ::= { hh3cProductId 58 } +hh3c-ar28-11 OBJECT IDENTIFIER ::= { hh3cProductId 59 } +hh3c-ar28-12 OBJECT IDENTIFIER ::= { hh3cProductId 60 } +hh3c-ar28-13 OBJECT IDENTIFIER ::= { hh3cProductId 61 } +hh3c-ar28-14 OBJECT IDENTIFIER ::= { hh3cProductId 62 } +hh3c-ar28-30 OBJECT IDENTIFIER ::= { hh3cProductId 63 } +hh3c-ar28-31 OBJECT IDENTIFIER ::= { hh3cProductId 64 } +hh3c-ar28-40 OBJECT IDENTIFIER ::= { hh3cProductId 65 } +hh3c-ar28-80 OBJECT IDENTIFIER ::= { hh3cProductId 66 } +hh3c-ar46-20 OBJECT IDENTIFIER ::= { hh3cProductId 67 } +hh3c-ar46-40 OBJECT IDENTIFIER ::= { hh3cProductId 68 } +hh3c-ar46-80 OBJECT IDENTIFIER ::= { hh3cProductId 69 } +hh3c-msr20-20 OBJECT IDENTIFIER ::= { hh3cProductId 70 } +hh3c-msr20-21 OBJECT IDENTIFIER ::= { hh3cProductId 71 } +hh3c-msr20-40 OBJECT IDENTIFIER ::= { hh3cProductId 72 } +hh3c-msr30-20 OBJECT IDENTIFIER ::= { hh3cProductId 73 } +hh3c-msr30-40 OBJECT IDENTIFIER ::= { hh3cProductId 74 } +hh3c-msr30-60 OBJECT IDENTIFIER ::= { hh3cProductId 75 } +hh3c-msr50-40 OBJECT IDENTIFIER ::= { hh3cProductId 76 } +hh3c-msr50-60 OBJECT IDENTIFIER ::= { hh3cProductId 77 } +hh3c-ar18-21 OBJECT IDENTIFIER ::= { hh3cProductId 88 } +hh3c-ar18-21A OBJECT IDENTIFIER ::= { hh3cProductId 89 } +hh3c-ar18-21B OBJECT IDENTIFIER ::= { hh3cProductId 90 } +hh3c-ar18-22 OBJECT IDENTIFIER ::= { hh3cProductId 91 } +hh3c-ar18-22-8 OBJECT IDENTIFIER ::= { hh3cProductId 92 } +hh3c-ar18-22S-8 OBJECT IDENTIFIER ::= { hh3cProductId 93 } +hh3c-ar18-22-24 OBJECT IDENTIFIER ::= { hh3cProductId 94 } +hh3c-ar18-23-1 OBJECT IDENTIFIER ::= { hh3cProductId 95 } +hh3c-ar18-23S-1 OBJECT IDENTIFIER ::= { hh3cProductId 96 } +hh3c-ar18-30E OBJECT IDENTIFIER ::= { hh3cProductId 98 } +hh3c-ar18-31E OBJECT IDENTIFIER ::= { hh3cProductId 100 } +hh3c-ar18-32E OBJECT IDENTIFIER ::= { hh3cProductId 102 } +hh3c-ar18-33 OBJECT IDENTIFIER ::= { hh3cProductId 103 } +hh3c-ar18-33E OBJECT IDENTIFIER ::= { hh3cProductId 104 } +hh3c-ar18-34 OBJECT IDENTIFIER ::= { hh3cProductId 105 } +hh3c-ar18-34E OBJECT IDENTIFIER ::= { hh3cProductId 106 } +hh3c-ar18-35E OBJECT IDENTIFIER ::= { hh3cProductId 108 } +hh3c-ar18-63-1 OBJECT IDENTIFIER ::= { hh3cProductId 109 } +hh3c-secpathF100-C OBJECT IDENTIFIER ::= { hh3cProductId 110 } +hh3c-secpathF100-A OBJECT IDENTIFIER ::= { hh3cProductId 111 } +hh3c-secpathF100-S OBJECT IDENTIFIER ::= { hh3cProductId 112 } +hh3c-secpathF100-E OBJECT IDENTIFIER ::= { hh3cProductId 113 } +hh3c-secpathF1000-S OBJECT IDENTIFIER ::= { hh3cProductId 114 } +hh3c-secpathF1000-A OBJECT IDENTIFIER ::= { hh3cProductId 115 } +hh3c-secpathF1800-A OBJECT IDENTIFIER ::= { hh3cProductId 116 } +hh3c-secpathV100-S OBJECT IDENTIFIER ::= { hh3cProductId 117 } +hh3c-secpathV1000-A OBJECT IDENTIFIER ::= { hh3cProductId 118 } +hh3c-secpathF100-AW OBJECT IDENTIFIER ::= { hh3cProductId 119 } +hh3c-secpathF1800-S OBJECT IDENTIFIER ::= { hh3cProductId 120 } +hh3c-secpathF1800-E OBJECT IDENTIFIER ::= { hh3cProductId 121 } +hh3c-secpoint OBJECT IDENTIFIER ::= { hh3cProductId 122 } +hh3c-vg10-10 OBJECT IDENTIFIER ::= { hh3cProductId 123 } +hh3c-vg10-11 OBJECT IDENTIFIER ::= { hh3cProductId 124 } +hh3c-vg10-40 OBJECT IDENTIFIER ::= { hh3cProductId 125 } +hh3c-vg10-41 OBJECT IDENTIFIER ::= { hh3cProductId 126 } +hh3c-vg21-08 OBJECT IDENTIFIER ::= { hh3cProductId 127 } +hh3c-vg20-16 OBJECT IDENTIFIER ::= { hh3cProductId 128 } +hh3c-vg20-32 OBJECT IDENTIFIER ::= { hh3cProductId 129 } +hh3c-vg80-20 OBJECT IDENTIFIER ::= { hh3cProductId 130 } +hh3c-xe200 OBJECT IDENTIFIER ::= { hh3cProductId 131 } +hh3c-xe2000 OBJECT IDENTIFIER ::= { hh3cProductId 132 } +hh3c-xe7200 OBJECT IDENTIFIER ::= { hh3cProductId 133 } +hh3c-xe7300 OBJECT IDENTIFIER ::= { hh3cProductId 134 } +hh3c-xe7500 OBJECT IDENTIFIER ::= { hh3cProductId 135 } +hh3c-xe7600 OBJECT IDENTIFIER ::= { hh3cProductId 136 } +hh3c-xe7205 OBJECT IDENTIFIER ::= { hh3cProductId 137 } +hh3c-xe7305 OBJECT IDENTIFIER ::= { hh3cProductId 138 } +hh3c-xe7505 OBJECT IDENTIFIER ::= { hh3cProductId 139 } +hh3c-xe7605 OBJECT IDENTIFIER ::= { hh3cProductId 140 } +hh3c-neoceanIX1000 OBJECT IDENTIFIER ::= { hh3cProductId 141 } +hh3c-neoceanEX1000 OBJECT IDENTIFIER ::= { hh3cProductId 142 } +hh3c-neoceanEX800 OBJECT IDENTIFIER ::= { hh3cProductId 143 } +hh3c-neoceanIX5000 OBJECT IDENTIFIER ::= { hh3cProductId 144 } +hh3c-neoceanIV5100 OBJECT IDENTIFIER ::= { hh3cProductId 145 } +hh3c-neoceanIV5200 OBJECT IDENTIFIER ::= { hh3cProductId 146 } +hh3c-s9502 OBJECT IDENTIFIER ::= { hh3cProductId 147 } +hh3c-s9505 OBJECT IDENTIFIER ::= { hh3cProductId 148 } +hh3c-s9508 OBJECT IDENTIFIER ::= { hh3cProductId 149 } +hh3c-s9508V OBJECT IDENTIFIER ::= { hh3cProductId 150 } +hh3c-s9512 OBJECT IDENTIFIER ::= { hh3cProductId 151 } +hh3c-sR8812 OBJECT IDENTIFIER ::= { hh3cProductId 152 } +hh3c-sR8808 OBJECT IDENTIFIER ::= { hh3cProductId 153 } +hh3c-sR8805 OBJECT IDENTIFIER ::= { hh3cProductId 154 } +hh3c-sR8802 OBJECT IDENTIFIER ::= { hh3cProductId 155 } +hh3c-e126-SI OBJECT IDENTIFIER ::= { hh3cProductId 156 } +hh3c-vg31-08 OBJECT IDENTIFIER ::= { hh3cProductId 157 } +hh3c-dr834 OBJECT IDENTIFIER ::= { hh3cProductId 158 } +hh3c-s7510E OBJECT IDENTIFIER ::= { hh3cProductId 159 } +hh3c-s5100-24P-SI OBJECT IDENTIFIER ::= { hh3cProductId 160 } +hh3c-s5100-48P-SI OBJECT IDENTIFIER ::= { hh3cProductId 161 } +hh3c-s5100-8P-SI OBJECT IDENTIFIER ::= { hh3cProductId 162 } +hh3c-s5100-16P-SI OBJECT IDENTIFIER ::= { hh3cProductId 163 } +hh3c-s5100-8P-EI OBJECT IDENTIFIER ::= { hh3cProductId 164 } +hh3c-s5100-16P-EI OBJECT IDENTIFIER ::= { hh3cProductId 165 } +hh3c-s5100-8P-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 166 } +hh3c-s5100-16P-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 167 } +hh3c-s5100-26C-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 168 } +hh3c-s5100-50C-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 169 } +hh3c-s3108TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 170 } +hh3c-s3116TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 171 } +hh3c-s3126TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 172 } +hh3c-s3108TP-EI-PWR OBJECT IDENTIFIER ::= { hh3cProductId 173 } +hh3c-s3116TP-EI-PWR OBJECT IDENTIFIER ::= { hh3cProductId 174 } +hh3c-s3126TP-EI-PWR OBJECT IDENTIFIER ::= { hh3cProductId 175 } +hh3c-s5500M-20C OBJECT IDENTIFIER ::= { hh3cProductId 177 } +hh3c-s5500M-20F OBJECT IDENTIFIER ::= { hh3cProductId 178 } +hh3c-bR304plus OBJECT IDENTIFIER ::= { hh3cProductId 179 } +hh3c-s9505-V5 OBJECT IDENTIFIER ::= { hh3cProductId 180 } +hh3c-s9512-V5 OBJECT IDENTIFIER ::= { hh3cProductId 181 } +hh3c-s9508-V5 OBJECT IDENTIFIER ::= { hh3cProductId 182 } +hh3c-s9508V-V5 OBJECT IDENTIFIER ::= { hh3cProductId 183 } +hh3c-s9502-V5 OBJECT IDENTIFIER ::= { hh3cProductId 184 } +hh3c-sR8802-V5 OBJECT IDENTIFIER ::= { hh3cProductId 185 } +hh3c-sR8805-V5 OBJECT IDENTIFIER ::= { hh3cProductId 186 } +hh3c-sR8812-V5 OBJECT IDENTIFIER ::= { hh3cProductId 187 } +hh3c-sR8808-V5 OBJECT IDENTIFIER ::= { hh3cProductId 188 } +hh3c-s3100-52P OBJECT IDENTIFIER ::= { hh3cProductId 189 } +hh3c-e152 OBJECT IDENTIFIER ::= { hh3cProductId 190 } +hh3c-s2008 OBJECT IDENTIFIER ::= { hh3cProductId 191 } +hh3c-s2026 OBJECT IDENTIFIER ::= { hh3cProductId 192 } +hh3c-sr6602 OBJECT IDENTIFIER ::= { hh3cProductId 193 } +hh3c-sr6608 OBJECT IDENTIFIER ::= { hh3cProductId 194 } +hh3c-s3100-08TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 195 } +hh3c-s3100-08TP-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 196 } +hh3c-s3100-16TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 197 } +hh3c-s3100-16TP-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 198 } +hh3c-s3100-26TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 199 } +hh3c-s3100-26TP-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 200 } +hh3c-s7502-v5 OBJECT IDENTIFIER ::= { hh3cProductId 201 } +hh3c-vg80-21 OBJECT IDENTIFIER ::= { hh3cProductId 202 } +hh3c-vg80-80 OBJECT IDENTIFIER ::= { hh3cProductId 203 } +hh3c-wcm-wx5002 OBJECT IDENTIFIER ::= { hh3cProductId 204 } +hh3c-wcm-wcma OBJECT IDENTIFIER ::= { hh3cProductId 205 } +hh3c-msr30-10 OBJECT IDENTIFIER ::= { hh3cProductId 206 } +hh3c-s7502e OBJECT IDENTIFIER ::= { hh3cProductId 207 } +hh3c-s7503E OBJECT IDENTIFIER ::= { hh3cProductId 208 } +hh3c-s7506E OBJECT IDENTIFIER ::= { hh3cProductId 209 } +hh3c-s7506E-V OBJECT IDENTIFIER ::= { hh3cProductId 210 } +hh3c-secBlade-FW OBJECT IDENTIFIER ::= { hh3cProductId 211 } +hh3c-secBlade-IPSec OBJECT IDENTIFIER ::= { hh3cProductId 212 } +hh3c-s3100-8TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 213 } +hh3c-s3100-16TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 214 } +hh3c-e126A OBJECT IDENTIFIER ::= { hh3cProductId 215 } +hh3c-s3100-26TP-SI-B OBJECT IDENTIFIER ::= { hh3cProductId 216 } +hh3c-msr30-16 OBJECT IDENTIFIER ::= { hh3cProductId 217 } +-- This object is reserved for OEM. See in HH3C-OEM-PRODUCT-ID-MIB +hh3cOEMProductID OBJECT IDENTIFIER ::= { hh3cProductId 218 } +hh3c-s2126-ei OBJECT IDENTIFIER ::= { hh3cProductId 219 } +hh3c-e150-si OBJECT IDENTIFIER ::= { hh3cProductId 220 } +hh3c-msr30-11 OBJECT IDENTIFIER ::= { hh3cProductId 221 } +hh3c-neoceanIX3040 OBJECT IDENTIFIER ::= { hh3cProductId 222 } +hh3c-neoceanIX3080 OBJECT IDENTIFIER ::= { hh3cProductId 223 } +hh3c-secpathF100-M OBJECT IDENTIFIER ::= { hh3cProductId 224 } +hh3c-neoceanVX1500 OBJECT IDENTIFIER ::= { hh3cProductId 225 } +hh3c-neoceanIX1520 OBJECT IDENTIFIER ::= { hh3cProductId 226 } +hh3c-neoceanIX1540 OBJECT IDENTIFIER ::= { hh3cProductId 227 } +hh3c-wcm-wx5002-128ap OBJECT IDENTIFIER ::= { hh3cProductId 228 } +hh3c-msr20-10 OBJECT IDENTIFIER ::= { hh3cProductId 229 } +hh3c-msr20-11 OBJECT IDENTIFIER ::= { hh3cProductId 230 } +hh3c-msr20-13 OBJECT IDENTIFIER ::= { hh3cProductId 231 } +hh3c-msr20-15 OBJECT IDENTIFIER ::= { hh3cProductId 232 } +hh3c-neoceanDL1008 OBJECT IDENTIFIER ::= { hh3cProductId 233 } +hh3c-neoceanDL1008S OBJECT IDENTIFIER ::= { hh3cProductId 234 } +hh3c-neoceanDL1012 OBJECT IDENTIFIER ::= { hh3cProductId 235 } +hh3c-s3610-52m OBJECT IDENTIFIER ::= { hh3cProductId 236 } +hh3c-IV5680 OBJECT IDENTIFIER ::= { hh3cProductId 237 } +hh3c-IV5240 OBJECT IDENTIFIER ::= { hh3cProductId 238 } +hh3c-F1000-E OBJECT IDENTIFIER ::= { hh3cProductId 239 } +hh3c-S5024P OBJECT IDENTIFIER ::= { hh3cProductId 240 } +hh3c-S5016P OBJECT IDENTIFIER ::= { hh3cProductId 241 } +hh3c-LSQ1FWBSC0 OBJECT IDENTIFIER ::= { hh3cProductId 242 } +hh3c-LSB1FW2A0 OBJECT IDENTIFIER ::= { hh3cProductId 243 } +hh3c-S3100-8TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 244 } +hh3c-S3100-16TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 245 } +hh3c-S3100-26TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 246 } +hh3c-ET704 OBJECT IDENTIFIER ::= { hh3cProductId 247 } +hh3c-ec1001 OBJECT IDENTIFIER ::= { hh3cProductId 248 } +hh3c-ec1001-hf OBJECT IDENTIFIER ::= { hh3cProductId 249 } +hh3c-ec1004-hc OBJECT IDENTIFIER ::= { hh3cProductId 250 } +hh3c-ec2004-hf OBJECT IDENTIFIER ::= { hh3cProductId 251 } +hh3c-dc1001 OBJECT IDENTIFIER ::= { hh3cProductId 252 } +hh3c-dm8000 OBJECT IDENTIFIER ::= { hh3cProductId 253 } +hh3c-vm8000 OBJECT IDENTIFIER ::= { hh3cProductId 254 } +hh3c-ms8000 OBJECT IDENTIFIER ::= { hh3cProductId 255 } +hh3c-S3100-52TP OBJECT IDENTIFIER ::= { hh3cProductId 256 } +hh3c-msr20-12 OBJECT IDENTIFIER ::= { hh3cProductId 257 } +hh3c-s1550E OBJECT IDENTIFIER ::= { hh3cProductId 258 } +hh3c-s1550 OBJECT IDENTIFIER ::= { hh3cProductId 259 } +hh3c-s1526-EI OBJECT IDENTIFIER ::= { hh3cProductId 260 } +hh3c-msr20-12-T OBJECT IDENTIFIER ::= { hh3cProductId 261 } +hh3c-msr20-15-I OBJECT IDENTIFIER ::= { hh3cProductId 262 } +hh3c-msr20-15-N OBJECT IDENTIFIER ::= { hh3cProductId 263 } +hh3c-wx6100EWPX OBJECT IDENTIFIER ::= { hh3cProductId 264 } +hh3c-wx6100LSQ OBJECT IDENTIFIER ::= { hh3cProductId 265 } +hh3c-wx6100LSB OBJECT IDENTIFIER ::= { hh3cProductId 266 } +hh3c-wx6100SW OBJECT IDENTIFIER ::= { hh3cProductId 267 } +hh3c-dl1000 OBJECT IDENTIFIER ::= { hh3cProductId 268 } +hh3c-dl1000s OBJECT IDENTIFIER ::= { hh3cProductId 269 } +hh3c-wa1208e-g OBJECT IDENTIFIER ::= { hh3cProductId 270 } +hh3c-wa1208e-dg OBJECT IDENTIFIER ::= { hh3cProductId 271 } +hh3c-wa1208e-ag OBJECT IDENTIFIER ::= { hh3cProductId 272 } +hh3c-wa1208e-agp OBJECT IDENTIFIER ::= { hh3cProductId 273 } +hh3c-S7501M-24T OBJECT IDENTIFIER ::= { hh3cProductId 274 } +hh3c-s7501M-24TP OBJECT IDENTIFIER ::= { hh3cProductId 275 } +hh3c-s7502M OBJECT IDENTIFIER ::= { hh3cProductId 276 } +hh3c-s7503M OBJECT IDENTIFIER ::= { hh3cProductId 277 } +hh3c-s7506M OBJECT IDENTIFIER ::= { hh3cProductId 278 } +hh3c-s7506M-V OBJECT IDENTIFIER ::= { hh3cProductId 279 } +hh3c-s7510M OBJECT IDENTIFIER ::= { hh3cProductId 280 } +hh3c-secpathT200 OBJECT IDENTIFIER ::= { hh3cProductId 281 } +hh3c-secpathT200E OBJECT IDENTIFIER ::= { hh3cProductId 282 } +hh3c-cc600 OBJECT IDENTIFIER ::= { hh3cProductId 283 } +hh3c-wa1208e-gp OBJECT IDENTIFIER ::= { hh3cProductId 284 } +hh3c-wb2321e-agp OBJECT IDENTIFIER ::= { hh3cProductId 285 } +hh3c-wh2520e-agp OBJECT IDENTIFIER ::= { hh3cProductId 286 } +hh3c-ICG2000 OBJECT IDENTIFIER ::= { hh3cProductId 287 } +hh3c-ICG3000 OBJECT IDENTIFIER ::= { hh3cProductId 288 } +hh3c-ICG5000 OBJECT IDENTIFIER ::= { hh3cProductId 289 } +hh3c-S5520TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 290 } +hh3c-wa2210-ag OBJECT IDENTIFIER ::= { hh3cProductId 291 } +hh3c-wa2220-ag OBJECT IDENTIFIER ::= { hh3cProductId 292 } +hh3c-wa2220e-ag OBJECT IDENTIFIER ::= { hh3cProductId 293 } +hh3c-wa2210x-g OBJECT IDENTIFIER ::= { hh3cProductId 294 } +hh3c-wa2220x-ag OBJECT IDENTIFIER ::= { hh3cProductId 295 } +hh3c-wa2220x-agp OBJECT IDENTIFIER ::= { hh3cProductId 296 } +hh3c-S3100-52TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 297 } +hh3c-secpathASE5000-E OBJECT IDENTIFIER ::= { hh3cProductId 298 } +hh3c-secpathASE5000-S OBJECT IDENTIFIER ::= { hh3cProductId 299 } +hh3c-secpathU200-C OBJECT IDENTIFIER ::= { hh3cProductId 300 } +hh3c-secpathU200-S OBJECT IDENTIFIER ::= { hh3cProductId 301 } +hh3c-secpathU200-A OBJECT IDENTIFIER ::= { hh3cProductId 302 } +hh3c-secpathU200-M OBJECT IDENTIFIER ::= { hh3cProductId 303 } +hh3c-ec3016-hc OBJECT IDENTIFIER ::= { hh3cProductId 304 } +hh3c-dc1001-ff OBJECT IDENTIFIER ::= { hh3cProductId 305 } +hh3c-ecr3304-hf OBJECT IDENTIFIER ::= { hh3cProductId 306 } +hh3c-ecr3308-hd OBJECT IDENTIFIER ::= { hh3cProductId 307 } +hh3c-ecr3316-hc OBJECT IDENTIFIER ::= { hh3cProductId 308 } +hh3c-isc3000 OBJECT IDENTIFIER ::= { hh3cProductId 309 } +hh3c-isc3100 OBJECT IDENTIFIER ::= { hh3cProductId 310 } +hh3c-vm9000 OBJECT IDENTIFIER ::= { hh3cProductId 311 } +hh3c-vm5000 OBJECT IDENTIFIER ::= { hh3cProductId 312 } +hh3c-ms9000-vtdu OBJECT IDENTIFIER ::= { hh3cProductId 313 } +hh3c-ms9000-nru OBJECT IDENTIFIER ::= { hh3cProductId 314 } +hh3c-ums9005 OBJECT IDENTIFIER ::= { hh3cProductId 315 } +hh3c-CS2104B OBJECT IDENTIFIER ::= { hh3cProductId 316 } +hh3c-CS2106B OBJECT IDENTIFIER ::= { hh3cProductId 317 } +hh3c-S5024E OBJECT IDENTIFIER ::= { hh3cProductId 318 } +hh3c-S5048E OBJECT IDENTIFIER ::= { hh3cProductId 319 } +hh3c-secpathF5000-A OBJECT IDENTIFIER ::= { hh3cProductId 320 } +hh3c-neoceanIX3240 OBJECT IDENTIFIER ::= { hh3cProductId 321 } +hh3c-neoceanIX3620 OBJECT IDENTIFIER ::= { hh3cProductId 322 } +hh3c-MSA7302 OBJECT IDENTIFIER ::= { hh3cProductId 323 } +hh3c-MSA7306 OBJECT IDENTIFIER ::= { hh3cProductId 324 } +hh3c-S7501E OBJECT IDENTIFIER ::= { hh3cProductId 325 } +hh3c-S3100-8C-EPON-EI OBJECT IDENTIFIER ::= { hh3cProductId 326 } +hh3c-S3100-16C-EPON-EI OBJECT IDENTIFIER ::= { hh3cProductId 327 } +hh3c-S3100-26C-EPON-EI OBJECT IDENTIFIER ::= { hh3cProductId 328 } +hh3c-secBlade-LSQ1AFCBSC0 OBJECT IDENTIFIER ::= { hh3cProductId 329 } +hh3c-secBlade-LSB1AFC1A0 OBJECT IDENTIFIER ::= { hh3cProductId 330 } +hh3c-secpathF1000-C OBJECT IDENTIFIER ::= { hh3cProductId 331 } +hh3c-secpathF100-A-SI OBJECT IDENTIFIER ::= { hh3cProductId 332 } +hh3c-secpathV100-E OBJECT IDENTIFIER ::= { hh3cProductId 333 } +hh3c-S5800-32C OBJECT IDENTIFIER ::= { hh3cProductId 334 } +hh3c-S5800-56C OBJECT IDENTIFIER ::= { hh3cProductId 335 } +hh3c-S5800-32C-PWR OBJECT IDENTIFIER ::= { hh3cProductId 336 } +hh3c-S5800-56C-PWR OBJECT IDENTIFIER ::= { hh3cProductId 337 } +hh3c-S5800-60C-PWR OBJECT IDENTIFIER ::= { hh3cProductId 338 } +hh3c-S5800-32F OBJECT IDENTIFIER ::= { hh3cProductId 339 } +hh3c-S5820X-28C OBJECT IDENTIFIER ::= { hh3cProductId 340 } +hh3c-S5820X-28S OBJECT IDENTIFIER ::= { hh3cProductId 341 } +hh3c-cc602 OBJECT IDENTIFIER ::= { hh3cProductId 342 } +hh3c-cr400 OBJECT IDENTIFIER ::= { hh3cProductId 343 } +hh3c-cc600E OBJECT IDENTIFIER ::= { hh3cProductId 344 } +hh3c-secpathT1000-M OBJECT IDENTIFIER ::= { hh3cProductId 345 } +hh3c-neoceanVX1540 OBJECT IDENTIFIER ::= { hh3cProductId 346 } +hh3c-msr50-06 OBJECT IDENTIFIER ::= { hh3cProductId 347 } +hh3c-secpathACG2000-M OBJECT IDENTIFIER ::= { hh3cProductId 348 } +hh3c-secBlade-LSQ1ACGASC0 OBJECT IDENTIFIER ::= { hh3cProductId 349 } +hh3c-secBlade-LSB1ACG1A0 OBJECT IDENTIFIER ::= { hh3cProductId 350 } +hh3c-wx3024wcm OBJECT IDENTIFIER ::= { hh3cProductId 351 } +hh3c-wx3024lsw OBJECT IDENTIFIER ::= { hh3cProductId 352 } +hh3c-wx5004 OBJECT IDENTIFIER ::= { hh3cProductId 353 } +hh3c-sr6604 OBJECT IDENTIFIER ::= { hh3cProductId 354 } +hh3c-iag5000-A OBJECT IDENTIFIER ::= { hh3cProductId 355 } +hh3c-secBlade-SPE-FWM OBJECT IDENTIFIER ::= { hh3cProductId 356 } +hh3c-ICG2200 OBJECT IDENTIFIER ::= { hh3cProductId 357 } +hh3c-S7602 OBJECT IDENTIFIER ::= { hh3cProductId 358 } +hh3c-S7603 OBJECT IDENTIFIER ::= { hh3cProductId 359 } +hh3c-S7606 OBJECT IDENTIFIER ::= { hh3cProductId 360 } +hh3c-S7606-V OBJECT IDENTIFIER ::= { hh3cProductId 361 } +hh3c-S7610 OBJECT IDENTIFIER ::= { hh3cProductId 362 } +hh3c-wa2610e-agn OBJECT IDENTIFIER ::= { hh3cProductId 363 } +hh3c-wa2620e-agn OBJECT IDENTIFIER ::= { hh3cProductId 364 } +hh3c-wa1208e-g-v5 OBJECT IDENTIFIER ::= { hh3cProductId 365 } +hh3c-wa1208e-dg-v5 OBJECT IDENTIFIER ::= { hh3cProductId 366 } +hh3c-wa1208e-ag-v5 OBJECT IDENTIFIER ::= { hh3cProductId 367 } +hh3c-wa1208e-agp-v5 OBJECT IDENTIFIER ::= { hh3cProductId 368 } +hh3c-wa1208e-gp-v5 OBJECT IDENTIFIER ::= { hh3cProductId 369 } +hh3c-S7503E-S OBJECT IDENTIFIER ::= { hh3cProductId 370 } +hh3c-secpathIAG2000-A OBJECT IDENTIFIER ::= { hh3cProductId 371 } +hh3c-secpathT1000-A OBJECT IDENTIFIER ::= { hh3cProductId 372 } +hh3c-secpathT1000-S OBJECT IDENTIFIER ::= { hh3cProductId 373 } +hh3c-secBlade-EWPX1FWA0 OBJECT IDENTIFIER ::= { hh3cProductId 374 } +hh3c-secBlade-LSQ1NSMSC0 OBJECT IDENTIFIER ::= { hh3cProductId 375 } +hh3c-secBlade-LSQ1AFDBSC0 OBJECT IDENTIFIER ::= { hh3cProductId 376 } +hh3c-secBlade-LSQ1LBSC0 OBJECT IDENTIFIER ::= { hh3cProductId 377 } +hh3c-secBlade-LSB1LB1A0 OBJECT IDENTIFIER ::= { hh3cProductId 378 } +hh3c-neoceanIX1560 OBJECT IDENTIFIER ::= { hh3cProductId 379 } +hh3c-neoceanEX1500S OBJECT IDENTIFIER ::= { hh3cProductId 380 } +hh3c-neoceanEX1520S OBJECT IDENTIFIER ::= { hh3cProductId 381 } +hh3c-neoceanEX1540S OBJECT IDENTIFIER ::= { hh3cProductId 382 } +hh3c-neoceanEX1560S OBJECT IDENTIFIER ::= { hh3cProductId 383 } +hh3c-ET716 OBJECT IDENTIFIER ::= { hh3cProductId 384 } +hh3c-s3600-2P-OLT OBJECT IDENTIFIER ::= { hh3cProductId 385 } +hh3c-ER3200 OBJECT IDENTIFIER ::= { hh3cProductId 386 } +hh3c-ER3100 OBJECT IDENTIFIER ::= { hh3cProductId 387 } +hh3c-s9505E OBJECT IDENTIFIER ::= { hh3cProductId 388 } +hh3c-s9508E-V OBJECT IDENTIFIER ::= { hh3cProductId 389 } +hh3c-s9512E OBJECT IDENTIFIER ::= { hh3cProductId 390 } +hh3c-s12508 OBJECT IDENTIFIER ::= { hh3cProductId 391 } +hh3c-s12518 OBJECT IDENTIFIER ::= { hh3cProductId 392 } +hh3c-ET708 OBJECT IDENTIFIER ::= { hh3cProductId 393 } +hh3c-ET724 OBJECT IDENTIFIER ::= { hh3cProductId 394 } +hh3c-s2008TP-EA OBJECT IDENTIFIER ::= { hh3cProductId 395 } +hh3c-s2016TP-EA OBJECT IDENTIFIER ::= { hh3cProductId 396 } +hh3c-s2403TP-EA OBJECT IDENTIFIER ::= { hh3cProductId 397 } +hh3c-ICG2000-CT OBJECT IDENTIFIER ::= { hh3cProductId 398 } +hh3c-S3528P-EA OBJECT IDENTIFIER ::= { hh3cProductId 400 } +hh3c-S3552P-EA OBJECT IDENTIFIER ::= { hh3cProductId 401 } +hh3c-S3552F-EA OBJECT IDENTIFIER ::= { hh3cProductId 402 } +hh3c-S3528F-EA OBJECT IDENTIFIER ::= { hh3cProductId 403 } +hh3c-S3528TP-EA OBJECT IDENTIFIER ::= { hh3cProductId 404 } +hh3c-secpathAFD1000-A OBJECT IDENTIFIER ::= { hh3cProductId 405 } +hh3c-secpathF100-C-EI OBJECT IDENTIFIER ::= { hh3cProductId 406 } +hh3c-ER3260 OBJECT IDENTIFIER ::= { hh3cProductId 407 } +hh3c-ICG800 OBJECT IDENTIFIER ::= { hh3cProductId 408 } +hh3c-ICG800g OBJECT IDENTIFIER ::= { hh3cProductId 409 } +hh3c-ICG1000 OBJECT IDENTIFIER ::= { hh3cProductId 410 } +hh3c-ICG1800 OBJECT IDENTIFIER ::= { hh3cProductId 411 } +hh3c-neoceanIX3240E OBJECT IDENTIFIER ::= { hh3cProductId 412 } +hh3c-neoceanIX3620E OBJECT IDENTIFIER ::= { hh3cProductId 413 } +hh3c-neoceanIX3640E OBJECT IDENTIFIER ::= { hh3cProductId 414 } +hh3c-secpathACG8800-S3 OBJECT IDENTIFIER ::= { hh3cProductId 415 } +hh3c-secpathT5000-S3 OBJECT IDENTIFIER ::= { hh3cProductId 416 } +hh3c-secpathIAG2000-S OBJECT IDENTIFIER ::= { hh3cProductId 417 } +hh3c-secpathACG8800-S3-NS21S2MSPB0 OBJECT IDENTIFIER ::= { hh3cProductId 418 } +hh3c-secpathT5000-S3-NS11S2MSPB0 OBJECT IDENTIFIER ::= { hh3cProductId 419 } +hh3c-msr3010 OBJECT IDENTIFIER ::= { hh3cProductId 420 } +hh3c-msr3011E OBJECT IDENTIFIER ::= { hh3cProductId 421 } +hh3c-msr3011F OBJECT IDENTIFIER ::= { hh3cProductId 422 } +hh3c-secpathT200-A OBJECT IDENTIFIER ::= { hh3cProductId 423 } +hh3c-secpathT200-M OBJECT IDENTIFIER ::= { hh3cProductId 424 } +hh3c-secpathF100-C2 OBJECT IDENTIFIER ::= { hh3cProductId 425 } +hh3c-DPtech-FW1000-GE OBJECT IDENTIFIER ::= { hh3cProductId 426 } +hh3c-DPtech-FW1000-GA OBJECT IDENTIFIER ::= { hh3cProductId 427 } +hh3c-DPtech-FW1000-GS OBJECT IDENTIFIER ::= { hh3cProductId 428 } +hh3c-DPtech-FW1000-ME OBJECT IDENTIFIER ::= { hh3cProductId 429 } +hh3c-DPtech-FW1000-MA OBJECT IDENTIFIER ::= { hh3cProductId 430 } +hh3c-DPtech-FW1000-MM OBJECT IDENTIFIER ::= { hh3cProductId 431 } +hh3c-DPtech-FW1000-MC OBJECT IDENTIFIER ::= { hh3cProductId 432 } +hh3c-DPtech-UTM2000-MA OBJECT IDENTIFIER ::= { hh3cProductId 433 } +hh3c-DPtech-UTM2000-MM OBJECT IDENTIFIER ::= { hh3cProductId 434 } +hh3c-DPtech-UTM2000-MS OBJECT IDENTIFIER ::= { hh3cProductId 435 } +hh3c-DPtech-IPS2000-GM OBJECT IDENTIFIER ::= { hh3cProductId 436 } +hh3c-DPtech-IPS2000-MM OBJECT IDENTIFIER ::= { hh3cProductId 437 } +hh3c-sr6616 OBJECT IDENTIFIER ::= { hh3cProductId 438 } +hh3c-s3620-28TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 439 } +hh3c-s3620-28P-EI OBJECT IDENTIFIER ::= { hh3cProductId 440 } +hh3c-s3620-52P-EI OBJECT IDENTIFIER ::= { hh3cProductId 441 } +hh3c-s3620-28P-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 442 } +hh3c-s3620-52P-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 443 } +hh3c-s3620-28F-EI OBJECT IDENTIFIER ::= { hh3cProductId 444 } +hh3c-s3620-52M OBJECT IDENTIFIER ::= { hh3cProductId 445 } +hh3c-s3620-52M-DC OBJECT IDENTIFIER ::= { hh3cProductId 446 } +hh3c-s3620-28C-EI OBJECT IDENTIFIER ::= { hh3cProductId 447 } +hh3c-wa2210e-ge OBJECT IDENTIFIER ::= { hh3cProductId 448 } +hh3c-wa2220x-age OBJECT IDENTIFIER ::= { hh3cProductId 449 } +hh3c-wa2210x-ge OBJECT IDENTIFIER ::= { hh3cProductId 450 } +hh3c-wb2320x-age OBJECT IDENTIFIER ::= { hh3cProductId 451 } +hh3c-neoceanEX1540 OBJECT IDENTIFIER ::= { hh3cProductId 452 } +hh3c-S5810-50S OBJECT IDENTIFIER ::= { hh3cProductId 453 } +hh3c-secBlade-LSQ1IPSSC0 OBJECT IDENTIFIER ::= { hh3cProductId 454 } +hh3c-secBlade-LSB1IPS1A0 OBJECT IDENTIFIER ::= { hh3cProductId 455 } +hh3c-ER5100 OBJECT IDENTIFIER ::= { hh3cProductId 456 } +hh3c-ER5200 OBJECT IDENTIFIER ::= { hh3cProductId 457 } +hh3c-wx3010wcm OBJECT IDENTIFIER ::= { hh3cProductId 458 } +hh3c-wx3010lsw OBJECT IDENTIFIER ::= { hh3cProductId 459 } +hh3c-cc652E OBJECT IDENTIFIER ::= { hh3cProductId 460 } +hh3c-S5120-20P-SI OBJECT IDENTIFIER ::= { hh3cProductId 461 } +hh3c-S5120-28P-SI OBJECT IDENTIFIER ::= { hh3cProductId 462 } +hh3c-S5120-52P-SI OBJECT IDENTIFIER ::= { hh3cProductId 463 } +hh3c-S5120-28P-EI OBJECT IDENTIFIER ::= { hh3cProductId 464 } +hh3c-S5120-52P-EI OBJECT IDENTIFIER ::= { hh3cProductId 465 } +hh3c-S5120-28P-LPWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 466 } +hh3c-S5120-28P-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 467 } +hh3c-wx6100LSR OBJECT IDENTIFIER ::= { hh3cProductId 468 } +hh3c-s7506E-S OBJECT IDENTIFIER ::= { hh3cProductId 469 } +hh3c-ICG2000B OBJECT IDENTIFIER ::= { hh3cProductId 470 } +hh3c-ICG2000C OBJECT IDENTIFIER ::= { hh3cProductId 471 } +hh3c-S1626 OBJECT IDENTIFIER ::= { hh3cProductId 472 } +hh3c-S1650 OBJECT IDENTIFIER ::= { hh3cProductId 473 } +hh3c-S1626P OBJECT IDENTIFIER ::= { hh3cProductId 474 } +hh3c-neoceanIX3620S OBJECT IDENTIFIER ::= { hh3cProductId 475 } +hh3c-neoceanIX3080S OBJECT IDENTIFIER ::= { hh3cProductId 476 } +hh3c-ER3280g OBJECT IDENTIFIER ::= { hh3cProductId 477 } +hh3c-wa2610-agn OBJECT IDENTIFIER ::= { hh3cProductId 478 } +hh3c-wa2612-agn OBJECT IDENTIFIER ::= { hh3cProductId 479 } +hh3c-secpathT200-S OBJECT IDENTIFIER ::= { hh3cProductId 480 } +hh3c-secpathU200-CS OBJECT IDENTIFIER ::= { hh3cProductId 481 } +hh3c-secpathU200-CM OBJECT IDENTIFIER ::= { hh3cProductId 482 } +hh3c-secpathU200-CA OBJECT IDENTIFIER ::= { hh3cProductId 483 } +hh3c-secBlade-LSR1AFC2A1 OBJECT IDENTIFIER ::= { hh3cProductId 484 } +hh3c-secBlade-LSR1FW2A1 OBJECT IDENTIFIER ::= { hh3cProductId 485 } +hh3c-secBlade-LSR1LB1A1 OBJECT IDENTIFIER ::= { hh3cProductId 486 } +hh3c-secBlade-LSR1NSM1A1 OBJECT IDENTIFIER ::= { hh3cProductId 487 } +hh3c-cc650E OBJECT IDENTIFIER ::= { hh3cProductId 488 } +hh3c-LSWM1WCM10 OBJECT IDENTIFIER ::= { hh3cProductId 489 } +hh3c-LSWM1WCM20 OBJECT IDENTIFIER ::= { hh3cProductId 490 } +hh3c-EWPXM1WCMC0 OBJECT IDENTIFIER ::= { hh3cProductId 491 } +hh3c-LSWM1IPS10 OBJECT IDENTIFIER ::= { hh3cProductId 492 } +hh3c-LSWM1FW10 OBJECT IDENTIFIER ::= { hh3cProductId 493 } +hh3c-secpathF1000-S-EI OBJECT IDENTIFIER ::= { hh3cProductId 494 } +hh3c-secpathF1000-A-EI OBJECT IDENTIFIER ::= { hh3cProductId 495 } +hh3c-msr50-06-V5 OBJECT IDENTIFIER ::= { hh3cProductId 496 } +hh3c-secBlade-LSR1ACG1A1 OBJECT IDENTIFIER ::= { hh3cProductId 497 } +hh3c-secBlade-LSR1IPS1A1 OBJECT IDENTIFIER ::= { hh3cProductId 498 } +hh3c-S7602-S OBJECT IDENTIFIER ::= { hh3cProductId 499 } +hh3c-S7603-S OBJECT IDENTIFIER ::= { hh3cProductId 500 } +hh3c-S7606-S OBJECT IDENTIFIER ::= { hh3cProductId 501 } +hh3c-SSM-s5500G OBJECT IDENTIFIER ::= { hh3cProductId 502 } +hh3c-SSM-FIC OBJECT IDENTIFIER ::= { hh3cProductId 503 } +hh3c-SSM-MIM OBJECT IDENTIFIER ::= { hh3cProductId 504 } +hh3c-ER8300 OBJECT IDENTIFIER ::= { hh3cProductId 505 } +hh3c-wa2610x-gnp OBJECT IDENTIFIER ::= { hh3cProductId 506 } +hh3c-wb2360x-anp OBJECT IDENTIFIER ::= { hh3cProductId 507 } +hh3c-wh2530x-dag OBJECT IDENTIFIER ::= { hh3cProductId 508 } +hh3c-wa2620-agn OBJECT IDENTIFIER ::= { hh3cProductId 509 } +hh3c-cc610E OBJECT IDENTIFIER ::= { hh3cProductId 510 } +hh3c-DPtech-FW1000-GT OBJECT IDENTIFIER ::= { hh3cProductId 511 } +hh3c-s2008TP-EA-SI OBJECT IDENTIFIER ::= { hh3cProductId 512 } +hh3c-s2016TP-EA-SI OBJECT IDENTIFIER ::= { hh3cProductId 513 } +hh3c-s2403TP-EA-SI OBJECT IDENTIFIER ::= { hh3cProductId 514 } +hh3c-S5120-24P-EI OBJECT IDENTIFIER ::= { hh3cProductId 515 } +hh3c-S5120-48P-EI OBJECT IDENTIFIER ::= { hh3cProductId 516 } +hh3c-S5120-28C-EI OBJECT IDENTIFIER ::= { hh3cProductId 517 } +hh3c-S5120-52C-EI OBJECT IDENTIFIER ::= { hh3cProductId 518 } +hh3c-S5120-28C-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 519 } +hh3c-S5120-52C-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 520 } +hh3c-wx3008wcm OBJECT IDENTIFIER ::= { hh3cProductId 521 } +hh3c-wx3008lsw OBJECT IDENTIFIER ::= { hh3cProductId 522 } +hh3c-msr900 OBJECT IDENTIFIER ::= { hh3cProductId 523 } +hh3c-msr920 OBJECT IDENTIFIER ::= { hh3cProductId 524 } +hh3c-secBlade-LSQ1IAGSC0 OBJECT IDENTIFIER ::= { hh3cProductId 525 } +hh3c-WX7306 OBJECT IDENTIFIER ::= { hh3cProductId 526 } +hh3c-WX7310 OBJECT IDENTIFIER ::= { hh3cProductId 527 } +hh3c-Blade5310 OBJECT IDENTIFIER ::= { hh3cProductId 528 } +hh3c-Blade55102 OBJECT IDENTIFIER ::= { hh3cProductId 529 } +hh3c-Blade5512S OBJECT IDENTIFIER ::= { hh3cProductId 530 } +hh3c-Blade55110X OBJECT IDENTIFIER ::= { hh3cProductId 531 } +hh3c-wa2610e-gnp OBJECT IDENTIFIER ::= { hh3cProductId 532 } +hh3c-s3100-26TP-SI-UM OBJECT IDENTIFIER ::= { hh3cProductId 533 } +hh3c-s3100-52TP-SI-UM OBJECT IDENTIFIER ::= { hh3cProductId 534 } +hh3c-s5500-24P-SI OBJECT IDENTIFIER ::= { hh3cProductId 535 } +hh3c-s5500-48P-SI OBJECT IDENTIFIER ::= { hh3cProductId 536 } +hh3c-ME8000 OBJECT IDENTIFIER ::= { hh3cProductId 537 } +hh3c-ME8600 OBJECT IDENTIFIER ::= { hh3cProductId 538 } +hh3c-ME5000 OBJECT IDENTIFIER ::= { hh3cProductId 539 } +hh3c-MG6060 OBJECT IDENTIFIER ::= { hh3cProductId 540 } +hh3c-MG6050 OBJECT IDENTIFIER ::= { hh3cProductId 541 } +hh3c-MG6050S OBJECT IDENTIFIER ::= { hh3cProductId 542 } +hh3c-MG9010 OBJECT IDENTIFIER ::= { hh3cProductId 543 } +hh3c-MG9030 OBJECT IDENTIFIER ::= { hh3cProductId 544 } +hh3c-MG9060 OBJECT IDENTIFIER ::= { hh3cProductId 545 } +hh3c-neoceanVX1500-DC OBJECT IDENTIFIER ::= { hh3cProductId 546 } +hh3c-cc620E OBJECT IDENTIFIER ::= { hh3cProductId 547 } +hh3c-SIVX-S3628 OBJECT IDENTIFIER ::= { hh3cProductId 548 } +hh3c-SIVX-S5528 OBJECT IDENTIFIER ::= { hh3cProductId 549 } +hh3c-SIVX-VS1500 OBJECT IDENTIFIER ::= { hh3cProductId 550 } +hh3c-neoceanIX2540 OBJECT IDENTIFIER ::= { hh3cProductId 551 } +hh3c-neoceanVX2500 OBJECT IDENTIFIER ::= { hh3cProductId 552 } +hh3c-S5120-28P-PWR-SI OBJECT IDENTIFIER ::= { hh3cProductId 555 } +hh3c-S5120-28P-HPWR-SI OBJECT IDENTIFIER ::= { hh3cProductId 556 } +hh3c-F1000-E-DC OBJECT IDENTIFIER ::= { hh3cProductId 557 } +hh3c-S5028 OBJECT IDENTIFIER ::= { hh3cProductId 558 } +hh3c-ET824 OBJECT IDENTIFIER ::= { hh3cProductId 559 } +hh3c-OSM OBJECT IDENTIFIER ::= { hh3cProductId 560 } +hh3c-wx5002-v2 OBJECT IDENTIFIER ::= { hh3cProductId 561 } +hh3c-wx5004-v2 OBJECT IDENTIFIER ::= { hh3cProductId 562 } +hh3c-secpathT1000-C OBJECT IDENTIFIER ::= { hh3cProductId 563 } +hh3c-secBlade-LST1IPS1A1 OBJECT IDENTIFIER ::= { hh3cProductId 564 } +hh3c-secBlade-LST1FW2A1 OBJECT IDENTIFIER ::= { hh3cProductId 565 } +hh3c-secBlade-LST1LB1A1 OBJECT IDENTIFIER ::= { hh3cProductId 566 } +hh3c-secBlade-LST1NSM1A1 OBJECT IDENTIFIER ::= { hh3cProductId 567 } +hh3c-secBlade-EWPX2IAGSC0 OBJECT IDENTIFIER ::= { hh3cProductId 568 } +hh3c-F1000-A-EI OBJECT IDENTIFIER ::= { hh3cProductId 569 } +hh3c-wx6108E OBJECT IDENTIFIER ::= { hh3cProductId 570 } +hh3c-wx6112E OBJECT IDENTIFIER ::= { hh3cProductId 571 } +hh3c-s5500-34C-HI OBJECT IDENTIFIER ::= { hh3cProductId 572 } +hh3c-s5500-58C-HI OBJECT IDENTIFIER ::= { hh3cProductId 573 } +hh3c-wa1208e-gp-h20 OBJECT IDENTIFIER ::= { hh3cProductId 574 } +hh3c-S5120-9P-SI OBJECT IDENTIFIER ::= { hh3cProductId 575 } +hh3c-S5120-9P-PWR-SI OBJECT IDENTIFIER ::= { hh3cProductId 576 } +hh3c-S5120-9P-HPWR-SI OBJECT IDENTIFIER ::= { hh3cProductId 577 } +hh3c-e528 OBJECT IDENTIFIER ::= { hh3cProductId 578 } +hh3c-e552 OBJECT IDENTIFIER ::= { hh3cProductId 579 } +hh3c-s3600V2-28TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 580 } +hh3c-s3600V2-52TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 581 } +hh3c-s3600V2-28TP-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 582 } +hh3c-s3600V2-52TP-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 583 } +hh3c-s3600V2-28F-EI OBJECT IDENTIFIER ::= { hh3cProductId 584 } +hh3c-s3600V2-28TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 585 } +hh3c-s3600V2-52TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 586 } +hh3c-s3600V2-28TP-PWR-SI OBJECT IDENTIFIER ::= { hh3cProductId 587 } +hh3c-s3600V2-52TP-PWR-SI OBJECT IDENTIFIER ::= { hh3cProductId 588 } +hh3c-s3500V2-28TP-EA OBJECT IDENTIFIER ::= { hh3cProductId 589 } +hh3c-s3500V2-52TP-EA OBJECT IDENTIFIER ::= { hh3cProductId 590 } +hh3c-s3500V2-28F-EA OBJECT IDENTIFIER ::= { hh3cProductId 591 } +hh3c-s3500V2-28TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 592 } +hh3c-s3500V2-52TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 593 } +hh3c-s9508E OBJECT IDENTIFIER ::= { hh3cProductId 594 } +hh3c-s12504 OBJECT IDENTIFIER ::= { hh3cProductId 595 } +hh3c-ICG2000B-GT OBJECT IDENTIFIER ::= { hh3cProductId 596 } +hh3c-ICG3000B OBJECT IDENTIFIER ::= { hh3cProductId 597 } +hh3c-ICG3000S OBJECT IDENTIFIER ::= { hh3cProductId 598 } +hh3c-ICG5000B OBJECT IDENTIFIER ::= { hh3cProductId 599 } +hh3c-wh2640X-agnp OBJECT IDENTIFIER ::= { hh3cProductId 600 } +hh3c-wa2620X-agnp OBJECT IDENTIFIER ::= { hh3cProductId 601 } +hh3c-s3100-16TP-PWR-EI-F OBJECT IDENTIFIER ::= { hh3cProductId 602 } +hh3c-cr16018 OBJECT IDENTIFIER ::= { hh3cProductId 603 } +hh3c-cr16008 OBJECT IDENTIFIER ::= { hh3cProductId 604 } +hh3c-cr16004 OBJECT IDENTIFIER ::= { hh3cProductId 605 } +hh3c-F1000-A-SI OBJECT IDENTIFIER ::= { hh3cProductId 606 } +hh3c-F1000-E-SI OBJECT IDENTIFIER ::= { hh3cProductId 607 } +hh3c-secBlade-LST1ACG1A1 OBJECT IDENTIFIER ::= { hh3cProductId 608 } +hh3c-secBlade-SPE-IPS OBJECT IDENTIFIER ::= { hh3cProductId 609 } +hh3c-secBlade-SPE-ACG OBJECT IDENTIFIER ::= { hh3cProductId 610 } +hh3c-wx6103 OBJECT IDENTIFIER ::= { hh3cProductId 611 } +hh3c-LSQ1WCMD0 OBJECT IDENTIFIER ::= { hh3cProductId 612 } +hh3c-EWPX2WCMD0 OBJECT IDENTIFIER ::= { hh3cProductId 613 } +hh3c-LSR1WCM3A1 OBJECT IDENTIFIER ::= { hh3cProductId 614 } +hh3c-S5830-52SC OBJECT IDENTIFIER ::= { hh3cProductId 615 } +hh3c-S5830-106S OBJECT IDENTIFIER ::= { hh3cProductId 617 } +hh3c-ET814 OBJECT IDENTIFIER ::= { hh3cProductId 618 } +hh3c-S5120-28P-LI OBJECT IDENTIFIER ::= { hh3cProductId 619 } +hh3c-S5120-52P-LI OBJECT IDENTIFIER ::= { hh3cProductId 620 } +hh3c-secBlade-IM-FW-II OBJECT IDENTIFIER ::= { hh3cProductId 621 } +hh3c-secBlade-IM-LB OBJECT IDENTIFIER ::= { hh3cProductId 622 } +hh3c-secBlade-IM-SSL OBJECT IDENTIFIER ::= { hh3cProductId 623 } +hh3c-ER2210C OBJECT IDENTIFIER ::= { hh3cProductId 625 } +hh3c-VCX-Connect-100 OBJECT IDENTIFIER ::= { hh3cProductId 626 } +hh3c-VCX-Connect-200 OBJECT IDENTIFIER ::= { hh3cProductId 627 } +hh3c-VCX-V7005 OBJECT IDENTIFIER ::= { hh3cProductId 628 } +hh3c-VCX-V7205 OBJECT IDENTIFIER ::= { hh3cProductId 629 } +hh3c-VCX-MIM OBJECT IDENTIFIER ::= { hh3cProductId 630 } +hh3c-VCX-Connect-MIM-Primary OBJECT IDENTIFIER ::= { hh3cProductId 631 } +hh3c-VCX-Connect-MIM-Secondary OBJECT IDENTIFIER ::= { hh3cProductId 632 } +hh3c-VCX-V7310 OBJECT IDENTIFIER ::= { hh3cProductId 633 } +hh3c-secBlade-IM-IPS OBJECT IDENTIFIER ::= { hh3cProductId 634 } +hh3c-secBlade-IM-ACG OBJECT IDENTIFIER ::= { hh3cProductId 635 } +hh3c-s7508E-X OBJECT IDENTIFIER ::= { hh3cProductId 636 } +hh3c-s10504 OBJECT IDENTIFIER ::= { hh3cProductId 637 } +hh3c-s10508 OBJECT IDENTIFIER ::= { hh3cProductId 638 } +hh3c-s10508-V OBJECT IDENTIFIER ::= { hh3cProductId 639 } +hh3c-secBlade-SPE-FWM-200 OBJECT IDENTIFIER ::= { hh3cProductId 640 } +hh3c-secpathF1000-S-AI OBJECT IDENTIFIER ::= { hh3cProductId 641 } +hh3c-wx3024e-wcm OBJECT IDENTIFIER ::= { hh3cProductId 642 } +hh3c-wx3024e-lsw OBJECT IDENTIFIER ::= { hh3cProductId 643 } +hh3c-ER2100 OBJECT IDENTIFIER ::= { hh3cProductId 644 } +hh3c-S5820X-34TC OBJECT IDENTIFIER ::= { hh3cProductId 645 } +hh3c-S5820X-34SC OBJECT IDENTIFIER ::= { hh3cProductId 646 } +hh3c-S5820X-34C OBJECT IDENTIFIER ::= { hh3cProductId 647 } +hh3c-S5820X-64SC OBJECT IDENTIFIER ::= { hh3cProductId 648 } +hh3c-cc720E OBJECT IDENTIFIER ::= { hh3cProductId 649 } +hh3c-S2126T OBJECT IDENTIFIER ::= { hh3cProductId 650 } +hh3c-S5800-54S OBJECT IDENTIFIER ::= { hh3cProductId 651 } +hh3c-S5820X-26S OBJECT IDENTIFIER ::= { hh3cProductId 652 } +hh3c-S3100V2-8TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 653 } +hh3c-S3100V2-16TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 654 } +hh3c-S3100V2-26TP-SI OBJECT IDENTIFIER ::= { hh3cProductId 655 } +hh3c-E126B OBJECT IDENTIFIER ::= { hh3cProductId 656 } +hh3c-S3100V2-8TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 657 } +hh3c-S3100V2-16TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 658 } +hh3c-S3100V2-26TP-EI OBJECT IDENTIFIER ::= { hh3cProductId 659 } +hh3c-S3100V2-8TP-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 660 } +hh3c-S3100V2-16TP-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 661 } +hh3c-S3100V2-26TP-PWR-EI OBJECT IDENTIFIER ::= { hh3cProductId 662 } +hh3c-S2008TP-EB OBJECT IDENTIFIER ::= { hh3cProductId 663 } +hh3c-S2016TP-EB OBJECT IDENTIFIER ::= { hh3cProductId 664 } +hh3c-S2403TP-EB OBJECT IDENTIFIER ::= { hh3cProductId 665 } +hh3c-S2008TP-PWR-EB OBJECT IDENTIFIER ::= { hh3cProductId 666 } +hh3c-S2016TP-PWR-EB OBJECT IDENTIFIER ::= { hh3cProductId 667 } +hh3c-S2403TP-PWR-EB OBJECT IDENTIFIER ::= { hh3cProductId 668 } +hh3c-S5800-LSW1FC4P0 OBJECT IDENTIFIER ::= { hh3cProductId 669 } +hh3c-S2403TP-EA-SI-D OBJECT IDENTIFIER ::= { hh3cProductId 670 } +hh3c-S3528P-EA-D OBJECT IDENTIFIER ::= { hh3cProductId 671 } +hh3c-OAP-FIC-V2 OBJECT IDENTIFIER ::= { hh3cProductId 672 } +hh3c-OAP-MIM-V2 OBJECT IDENTIFIER ::= { hh3cProductId 673 } +hh3c-OAPS-MIM-V2 OBJECT IDENTIFIER ::= { hh3cProductId 674 } +hh3c-S2008TP-PWR-EA OBJECT IDENTIFIER ::= { hh3cProductId 675 } +hh3c-S2008TP-PWR-EA-DC OBJECT IDENTIFIER ::= { hh3cProductId 676 } +hh3c-S2016TP-PWR-EA OBJECT IDENTIFIER ::= { hh3cProductId 677 } +hh3c-S2403TP-PWR-EA OBJECT IDENTIFIER ::= { hh3cProductId 678 } +hh3c-S5120-24P-EI-D OBJECT IDENTIFIER ::= { hh3cProductId 679 } +hh3c-S5120-24P-PWR-EI-D OBJECT IDENTIFIER ::= { hh3cProductId 680 } +hh3c-S5120-48P-EI-D OBJECT IDENTIFIER ::= { hh3cProductId 681 } +hh3c-S5024P-EI OBJECT IDENTIFIER ::= { hh3cProductId 682 } +hh3c-S5500-28C-EI-D OBJECT IDENTIFIER ::= { hh3cProductId 683 } +hh3c-S5500-52C-EI-D OBJECT IDENTIFIER ::= { hh3cProductId 684 } +hh3c-S5500-28F-EI-D OBJECT IDENTIFIER ::= { hh3cProductId 685 } +hh3c-S5500-28C-EI-DC-D OBJECT IDENTIFIER ::= { hh3cProductId 686 } +hh3c-MG9050 OBJECT IDENTIFIER ::= { hh3cProductId 687 } +hh3c-S5120-52SC-HI OBJECT IDENTIFIER ::= { hh3cProductId 688 } +hh3c-CE3000-32F-EI OBJECT IDENTIFIER ::= { hh3cProductId 689 } +hh3cS5830V224S OBJECT IDENTIFIER ::= { hh3cProductId 690 } +hh3cDC1801FH OBJECT IDENTIFIER ::= { hh3cProductId 691 } +hh3cDC2004FF OBJECT IDENTIFIER ::= { hh3cProductId 692 } +hh3cEC1101HF OBJECT IDENTIFIER ::= { hh3cProductId 693 } +hh3cEC1102HF OBJECT IDENTIFIER ::= { hh3cProductId 694 } +hh3cEC1501HF OBJECT IDENTIFIER ::= { hh3cProductId 695 } +hh3cEC1801HH OBJECT IDENTIFIER ::= { hh3cProductId 696 } +hh3cEC2516HF OBJECT IDENTIFIER ::= { hh3cProductId 697 } +hh3cEC2016HC OBJECT IDENTIFIER ::= { hh3cProductId 698 } +hh3cEC2016HC8CH OBJECT IDENTIFIER ::= { hh3cProductId 699 } +hh3cEC2016HC4CH OBJECT IDENTIFIER ::= { hh3cProductId 700 } +hh3cEC1504HF OBJECT IDENTIFIER ::= { hh3cProductId 701 } +hh3cHIC5421 OBJECT IDENTIFIER ::= { hh3cProductId 702 } +hh3cHIC5401 OBJECT IDENTIFIER ::= { hh3cProductId 703 } +hh3cHIC5221H OBJECT IDENTIFIER ::= { hh3cProductId 704 } +hh3cHIC5201H OBJECT IDENTIFIER ::= { hh3cProductId 705 } +hh3cVM8500 OBJECT IDENTIFIER ::= { hh3cProductId 706 } +hh3cMS8500 OBJECT IDENTIFIER ::= { hh3cProductId 707 } +hh3cDM8500 OBJECT IDENTIFIER ::= { hh3cProductId 708 } +hh3cVX500 OBJECT IDENTIFIER ::= { hh3cProductId 709 } +hh3cISC3000E OBJECT IDENTIFIER ::= { hh3cProductId 710 } +hh3cISC3000S OBJECT IDENTIFIER ::= { hh3cProductId 711 } +hh3cCC700E OBJECT IDENTIFIER ::= { hh3cProductId 712 } +hh3cDC1001FF OBJECT IDENTIFIER ::= { hh3cProductId 713 } +hh3cECR3316HC OBJECT IDENTIFIER ::= { hh3cProductId 714 } +hh3cECR3308HD OBJECT IDENTIFIER ::= { hh3cProductId 715 } +hh3cECR3316HC8CH OBJECT IDENTIFIER ::= { hh3cProductId 716 } +hh3cECR3316HC4CH OBJECT IDENTIFIER ::= { hh3cProductId 717 } +hh3cECR3308HD4CH OBJECT IDENTIFIER ::= { hh3cProductId 718 } +hh3cHIC65017L OBJECT IDENTIFIER ::= { hh3cProductId 719 } +hh3cEC2508HF OBJECT IDENTIFIER ::= { hh3cProductId 720 } +hh3cS3528EA OBJECT IDENTIFIER ::= { hh3cProductId 721 } +hh3cS3552TPEA OBJECT IDENTIFIER ::= { hh3cProductId 722 } +hh3cWP3024 OBJECT IDENTIFIER ::= { hh3cProductId 723 } +hh3cWP3048 OBJECT IDENTIFIER ::= { hh3cProductId 724 } +hh3cS3528FPEA OBJECT IDENTIFIER ::= { hh3cProductId 725 } +hh3cE328B OBJECT IDENTIFIER ::= { hh3cProductId 726 } +hh3cE352B OBJECT IDENTIFIER ::= { hh3cProductId 727 } +hh3cE152B OBJECT IDENTIFIER ::= { hh3cProductId 728 } +hh3cS3100V252TP OBJECT IDENTIFIER ::= { hh3cProductId 729 } +hh3cWP2008 OBJECT IDENTIFIER ::= { hh3cProductId 730 } +hh3cWP2016 OBJECT IDENTIFIER ::= { hh3cProductId 731 } +hh3cWP2024 OBJECT IDENTIFIER ::= { hh3cProductId 732 } +hh3cWP5024 OBJECT IDENTIFIER ::= { hh3cProductId 733 } +hh3cWP5048 OBJECT IDENTIFIER ::= { hh3cProductId 734 } +hh3cS2052TPEA OBJECT IDENTIFIER ::= { hh3cProductId 735 } +hh3cS7604X OBJECT IDENTIFIER ::= { hh3cProductId 736 } +hh3cS7608X OBJECT IDENTIFIER ::= { hh3cProductId 737 } +hh3cS7608XV OBJECT IDENTIFIER ::= { hh3cProductId 738 } +hh3cWA3620iAGN OBJECT IDENTIFIER ::= { hh3cProductId 739 } +hh3cWA3628iAGN OBJECT IDENTIFIER ::= { hh3cProductId 740 } +hh3cWA3610iGN OBJECT IDENTIFIER ::= { hh3cProductId 741 } +hh3cCC750E OBJECT IDENTIFIER ::= { hh3cProductId 742 } +hh3cS5024FSI OBJECT IDENTIFIER ::= { hh3cProductId 743 } +hh3cS5820V252QF OBJECT IDENTIFIER ::= { hh3cProductId 744 } +hh3cWA2110GN OBJECT IDENTIFIER ::= { hh3cProductId 745 } +hh3cMSR2010E OBJECT IDENTIFIER ::= { hh3cProductId 746 } +hh3cS10512 OBJECT IDENTIFIER ::= { hh3cProductId 747 } +hh3cS512028SCHI OBJECT IDENTIFIER ::= { hh3cProductId 748 } +hh3cWA1208EGNP OBJECT IDENTIFIER ::= { hh3cProductId 749 } +hh3cWA2610EGNPH20 OBJECT IDENTIFIER ::= { hh3cProductId 750 } +hh3cWA2620iAGN OBJECT IDENTIFIER ::= { hh3cProductId 751 } +hh3cWA2610iGN OBJECT IDENTIFIER ::= { hh3cProductId 752 } +hh3cWA2612 OBJECT IDENTIFIER ::= { hh3cProductId 753 } +hh3cWA2620 OBJECT IDENTIFIER ::= { hh3cProductId 754 } +hh3cWB524 OBJECT IDENTIFIER ::= { hh3cProductId 755 } +hh3cSecBladeLST1FW3A1 OBJECT IDENTIFIER ::= { hh3cProductId 756 } +hh3cSecBladeLSU1FWCEA0 OBJECT IDENTIFIER ::= { hh3cProductId 757 } +hh3cWX3010eWCM OBJECT IDENTIFIER ::= { hh3cProductId 758 } +hh3cWX3010eLSW OBJECT IDENTIFIER ::= { hh3cProductId 759 } +hh3cSR6602X1 OBJECT IDENTIFIER ::= { hh3cProductId 760 } +hh3cSR6602X2 OBJECT IDENTIFIER ::= { hh3cProductId 761 } +hh3cSecBladeCRIMNAM1A OBJECT IDENTIFIER ::= { hh3cProductId 762 } +hh3cMSR2630 OBJECT IDENTIFIER ::= { hh3cProductId 763 } +hh3cMSR3610AC OBJECT IDENTIFIER ::= { hh3cProductId 764 } +hh3cMSR3610DC OBJECT IDENTIFIER ::= { hh3cProductId 765 } +hh3cMSR3620AC OBJECT IDENTIFIER ::= { hh3cProductId 766 } +hh3cMSR3620DC OBJECT IDENTIFIER ::= { hh3cProductId 767 } +hh3cMSR3620POE OBJECT IDENTIFIER ::= { hh3cProductId 768 } +hh3cMSR3640 OBJECT IDENTIFIER ::= { hh3cProductId 769 } +hh3cMSR3660 OBJECT IDENTIFIER ::= { hh3cProductId 770 } +hh3cMSR5660 OBJECT IDENTIFIER ::= { hh3cProductId 771 } +hh3cMSR5680 OBJECT IDENTIFIER ::= { hh3cProductId 772 } +hh3cS512058CHI OBJECT IDENTIFIER ::= { hh3cProductId 773 } +hh3cS512034CHI OBJECT IDENTIFIER ::= { hh3cProductId 774 } +hh3cLSU3WCMD0 OBJECT IDENTIFIER ::= { hh3cProductId 775 } +hh3cEWPX3WCMD0 OBJECT IDENTIFIER ::= { hh3cProductId 776 } +hh3cS7612X OBJECT IDENTIFIER ::= { hh3cProductId 777 } +hh3cWX6103E OBJECT IDENTIFIER ::= { hh3cProductId 778 } +hh3cSecBladeCRIMFW1A OBJECT IDENTIFIER ::= { hh3cProductId 779 } +hh3cHIC66216C OBJECT IDENTIFIER ::= { hh3cProductId 780 } +hh3cHIC66216L OBJECT IDENTIFIER ::= { hh3cProductId 781 } +hh3cHIC3401V OBJECT IDENTIFIER ::= { hh3cProductId 782 } +hh3cHIC3401VIR OBJECT IDENTIFIER ::= { hh3cProductId 783 } +hh3cHIC3421V OBJECT IDENTIFIER ::= { hh3cProductId 784 } +hh3cHIC3421VIR OBJECT IDENTIFIER ::= { hh3cProductId 785 } +hh3cSIC235IR1 OBJECT IDENTIFIER ::= { hh3cProductId 786 } +hh3cSIC235IR3 OBJECT IDENTIFIER ::= { hh3cProductId 787 } +hh3cSIC335EVIR OBJECT IDENTIFIER ::= { hh3cProductId 788 } +hh3cHIC5511I OBJECT IDENTIFIER ::= { hh3cProductId 789 } +hh3cHIC5521I OBJECT IDENTIFIER ::= { hh3cProductId 790 } +hh3cHIC5551I OBJECT IDENTIFIER ::= { hh3cProductId 791 } +hh3cHIC5421E OBJECT IDENTIFIER ::= { hh3cProductId 792 } +hh3cHIC5401E OBJECT IDENTIFIER ::= { hh3cProductId 793 } +hh3cHIC5421D OBJECT IDENTIFIER ::= { hh3cProductId 794 } +hh3cHIC5401D OBJECT IDENTIFIER ::= { hh3cProductId 795 } +hh3cHIC5621 OBJECT IDENTIFIER ::= { hh3cProductId 796 } +hh3cHIC5601 OBJECT IDENTIFIER ::= { hh3cProductId 797 } +hh3cHIC6501E OBJECT IDENTIFIER ::= { hh3cProductId 798 } +hh3cHIC6621E OBJECT IDENTIFIER ::= { hh3cProductId 799 } +hh3cSIC635 OBJECT IDENTIFIER ::= { hh3cProductId 800 } +hh3cHIC6501IR OBJECT IDENTIFIER ::= { hh3cProductId 801 } +hh3cHIC6621IR OBJECT IDENTIFIER ::= { hh3cProductId 802 } +hh3cSIC635IR OBJECT IDENTIFIER ::= { hh3cProductId 803 } +hh3cEC2508HF4CH OBJECT IDENTIFIER ::= { hh3cProductId 804 } +hh3cEC2516HF8CH OBJECT IDENTIFIER ::= { hh3cProductId 805 } +hh3cECR3308HF OBJECT IDENTIFIER ::= { hh3cProductId 806 } +hh3cECR3316HF OBJECT IDENTIFIER ::= { hh3cProductId 807 } +hh3cISC3500E OBJECT IDENTIFIER ::= { hh3cProductId 808 } +hh3cISC3500S OBJECT IDENTIFIER ::= { hh3cProductId 809 } +hh3cECR3304HFE OBJECT IDENTIFIER ::= { hh3cProductId 810 } +hh3cECR3308HFE OBJECT IDENTIFIER ::= { hh3cProductId 811 } +hh3cECR3316HFE OBJECT IDENTIFIER ::= { hh3cProductId 812 } +hh3cISC3600 OBJECT IDENTIFIER ::= { hh3cProductId 813 } +hh3cECR3204HW OBJECT IDENTIFIER ::= { hh3cProductId 814 } +hh3cECR3208HW OBJECT IDENTIFIER ::= { hh3cProductId 815 } +hh3cECR3216HW OBJECT IDENTIFIER ::= { hh3cProductId 816 } +hh3cEC2508HW OBJECT IDENTIFIER ::= { hh3cProductId 817 } +hh3cEC2516HW OBJECT IDENTIFIER ::= { hh3cProductId 818 } +hh3cISC2600 OBJECT IDENTIFIER ::= { hh3cProductId 819 } +hh3cDC2808FH OBJECT IDENTIFIER ::= { hh3cProductId 820 } +hh3cCE300034C OBJECT IDENTIFIER ::= { hh3cProductId 821 } +hh3cCE300058C OBJECT IDENTIFIER ::= { hh3cProductId 822 } +hh3cSR6604X OBJECT IDENTIFIER ::= { hh3cProductId 823 } +hh3cSR6608X OBJECT IDENTIFIER ::= { hh3cProductId 824 } +hh3cSR6616X OBJECT IDENTIFIER ::= { hh3cProductId 825 } +hh3csecpathF100AG OBJECT IDENTIFIER ::= { hh3cProductId 826 } +hh3csecpathF100CG OBJECT IDENTIFIER ::= { hh3cProductId 827 } +hh3csecpathF100EG OBJECT IDENTIFIER ::= { hh3cProductId 828 } +hh3csecpathF100MG OBJECT IDENTIFIER ::= { hh3cProductId 829 } +hh3csecpathF100SG OBJECT IDENTIFIER ::= { hh3cProductId 830 } +hh3cS3100V226TPWiNet OBJECT IDENTIFIER ::= { hh3cProductId 831 } +hh3cS550024PWiNet OBJECT IDENTIFIER ::= { hh3cProductId 832 } +hh3cS512028PPoeWiNet OBJECT IDENTIFIER ::= { hh3cProductId 833 } +hh3cS512028PWiNet OBJECT IDENTIFIER ::= { hh3cProductId 834 } +hh3cS550034CPWRHI OBJECT IDENTIFIER ::= { hh3cProductId 835 } +hh3cS550058CPWRHI OBJECT IDENTIFIER ::= { hh3cProductId 836 } +hh3cS550034FHI OBJECT IDENTIFIER ::= { hh3cProductId 837 } +hh3cMSR930 OBJECT IDENTIFIER ::= { hh3cProductId 838 } +hh3cMSV50 OBJECT IDENTIFIER ::= { hh3cProductId 839 } +hh3cMSR930WiNet OBJECT IDENTIFIER ::= { hh3cProductId 840 } +hh3cMSR930GU OBJECT IDENTIFIER ::= { hh3cProductId 841 } +hh3cMSR930sa OBJECT IDENTIFIER ::= { hh3cProductId 842 } +hh3cMSR930GG OBJECT IDENTIFIER ::= { hh3cProductId 843 } +hh3cS5820V254QSGE OBJECT IDENTIFIER ::= { hh3cProductId 844 } +hh3cS5820V252Q OBJECT IDENTIFIER ::= { hh3cProductId 845 } +hh3cCC754E OBJECT IDENTIFIER ::= { hh3cProductId 846 } +hh3cWP5008 OBJECT IDENTIFIER ::= { hh3cProductId 847 } +hh3cSecBladeCRIMLB1A OBJECT IDENTIFIER ::= { hh3cProductId 848 } +hh3cS550034CHID OBJECT IDENTIFIER ::= { hh3cProductId 849 } +hh3cS550058CHID OBJECT IDENTIFIER ::= { hh3cProductId 850 } +hh3cS9505EV7 OBJECT IDENTIFIER ::= { hh3cProductId 851 } +hh3cS9508EV7 OBJECT IDENTIFIER ::= { hh3cProductId 852 } +hh3cS9508EVV7 OBJECT IDENTIFIER ::= { hh3cProductId 853 } +hh3cS9512EV7 OBJECT IDENTIFIER ::= { hh3cProductId 854 } +hh3cS12508V7 OBJECT IDENTIFIER ::= { hh3cProductId 855 } +hh3cS12518V7 OBJECT IDENTIFIER ::= { hh3cProductId 856 } +hh3cS12504V7 OBJECT IDENTIFIER ::= { hh3cProductId 857 } +hh3csecpathF100CAI OBJECT IDENTIFIER ::= { hh3cProductId 858 } +hh3csecpathL1000A OBJECT IDENTIFIER ::= { hh3cProductId 859 } +hh3cWA2610E OBJECT IDENTIFIER ::= { hh3cProductId 860 } +hh3cWA2620E OBJECT IDENTIFIER ::= { hh3cProductId 861 } +hh3cWA2620X OBJECT IDENTIFIER ::= { hh3cProductId 862 } +hh3cWA2610X OBJECT IDENTIFIER ::= { hh3cProductId 863 } +hh3cS6802 OBJECT IDENTIFIER ::= { hh3cProductId 864 } +hh3cS9804 OBJECT IDENTIFIER ::= { hh3cProductId 865 } +hh3cSecBladeLSU1IPSBEA0 OBJECT IDENTIFIER ::= { hh3cProductId 866 } +hh3cSecBladeLST1IPS2A1 OBJECT IDENTIFIER ::= { hh3cProductId 867 } +hh3cMSR930W OBJECT IDENTIFIER ::= { hh3cProductId 868 } +hh3cMSR930WGU OBJECT IDENTIFIER ::= { hh3cProductId 869 } +hh3cSecPathF5000C OBJECT IDENTIFIER ::= { hh3cProductId 870 } +hh3cSecPathF5000S OBJECT IDENTIFIER ::= { hh3cProductId 871 } +hh3cS12510FDC OBJECT IDENTIFIER ::= { hh3cProductId 872 } +hh3cS12510FAC OBJECT IDENTIFIER ::= { hh3cProductId 873 } +hh3cS12510XDC OBJECT IDENTIFIER ::= { hh3cProductId 874 } +hh3cS12510XAC OBJECT IDENTIFIER ::= { hh3cProductId 875 } +hh3cS12508 OBJECT IDENTIFIER ::= { hh3cProductId 876 } +hh3cS12518 OBJECT IDENTIFIER ::= { hh3cProductId 877 } +hh3cS12516FDC OBJECT IDENTIFIER ::= { hh3cProductId 878 } +hh3cS12516FAC OBJECT IDENTIFIER ::= { hh3cProductId 879 } +hh3cS12516XDC OBJECT IDENTIFIER ::= { hh3cProductId 880 } +hh3cS12516XAC OBJECT IDENTIFIER ::= { hh3cProductId 881 } +hh3cMSR930GT OBJECT IDENTIFIER ::= { hh3cProductId 882 } +hh3cMSR2600GTC OBJECT IDENTIFIER ::= { hh3cProductId 883 } +hh3cMSR2600GUC OBJECT IDENTIFIER ::= { hh3cProductId 884 } +hh3csecpathF1000AG OBJECT IDENTIFIER ::= { hh3cProductId 885 } +hh3csecpathF1000CG OBJECT IDENTIFIER ::= { hh3cProductId 886 } +hh3csecpathF1000SG OBJECT IDENTIFIER ::= { hh3cProductId 887 } +hh3cSecBladeLSQ2FWBSCO OBJECT IDENTIFIER ::= { hh3cProductId 888 } +hh3cWA2620AGN OBJECT IDENTIFIER ::= { hh3cProductId 889 } +hh3cVSR OBJECT IDENTIFIER ::= { hh3cProductId 890 } +hh3cVSR1001 OBJECT IDENTIFIER ::= { hh3cProductId 891 } +hh3cVSR1004 OBJECT IDENTIFIER ::= { hh3cProductId 892 } +hh3cVSR1008 OBJECT IDENTIFIER ::= { hh3cProductId 893 } +hh3cS5120S28PEI OBJECT IDENTIFIER ::= { hh3cProductId 894 } +hh3cS5120S52PEI OBJECT IDENTIFIER ::= { hh3cProductId 895 } +hh3cMSR930WiNetW OBJECT IDENTIFIER ::= { hh3cProductId 896 } +hh3cWA3628iAGNX OBJECT IDENTIFIER ::= { hh3cProductId 897 } +hh3cS2110 OBJECT IDENTIFIER ::= { hh3cProductId 898 } +hh3cS2110PWR OBJECT IDENTIFIER ::= { hh3cProductId 899 } +hh3cS2126 OBJECT IDENTIFIER ::= { hh3cProductId 900 } +hh3cS2126PWR OBJECT IDENTIFIER ::= { hh3cProductId 901 } +hh3cS2152 OBJECT IDENTIFIER ::= { hh3cProductId 902 } +hh3cWX5540WCM OBJECT IDENTIFIER ::= { hh3cProductId 903 } +hh3cWX5540LSW OBJECT IDENTIFIER ::= { hh3cProductId 904 } +hh3cWX5520WCM OBJECT IDENTIFIER ::= { hh3cProductId 905 } +hh3cWX5520LSW OBJECT IDENTIFIER ::= { hh3cProductId 906 } +hh3cMSR930WGT OBJECT IDENTIFIER ::= { hh3cProductId 907 } +hh3cICG5000T OBJECT IDENTIFIER ::= { hh3cProductId 908 } +hh3cICG6000 OBJECT IDENTIFIER ::= { hh3cProductId 909 } +hh3cMSR2630WiNet OBJECT IDENTIFIER ::= { hh3cProductId 910 } +hh3cMSR3610WiNet OBJECT IDENTIFIER ::= { hh3cProductId 911 } +hh3cMSR3660WiNet OBJECT IDENTIFIER ::= { hh3cProductId 912 } +hh3cMSR260010 OBJECT IDENTIFIER ::= { hh3cProductId 913 } +hh3cMSR260010WiNet OBJECT IDENTIFIER ::= { hh3cProductId 914 } +hh3cMSR260017 OBJECT IDENTIFIER ::= { hh3cProductId 915 } +hh3cICG3000D OBJECT IDENTIFIER ::= { hh3cProductId 916 } +hh3cICG3000E OBJECT IDENTIFIER ::= { hh3cProductId 917 } +hh3cSecBladeLSU1ADECEA0 OBJECT IDENTIFIER ::= { hh3cProductId 918 } +hh3cSecBladeLST1ADE1A1 OBJECT IDENTIFIER ::= { hh3cProductId 919 } +hh3cSR8804X OBJECT IDENTIFIER ::= { hh3cProductId 920 } +hh3cSR8808X OBJECT IDENTIFIER ::= { hh3cProductId 921 } +hh3cSR8812X OBJECT IDENTIFIER ::= { hh3cProductId 922 } +hh3cCC710E OBJECT IDENTIFIER ::= { hh3cProductId 923 } +hh3cCC712E OBJECT IDENTIFIER ::= { hh3cProductId 924 } +hh3cS680032Q OBJECT IDENTIFIER ::= { hh3cProductId 925 } +hh3cS5008PV2EI OBJECT IDENTIFIER ::= { hh3cProductId 926 } +hh3cS5024PV2EI OBJECT IDENTIFIER ::= { hh3cProductId 927 } +hh3cS5048PV2EI OBJECT IDENTIFIER ::= { hh3cProductId 928 } +hh3cS2610 OBJECT IDENTIFIER ::= { hh3cProductId 929 } +hh3cS2610PWR OBJECT IDENTIFIER ::= { hh3cProductId 930 } +hh3cS2626 OBJECT IDENTIFIER ::= { hh3cProductId 931 } +hh3cS2626PWR OBJECT IDENTIFIER ::= { hh3cProductId 932 } +hh3cS2652 OBJECT IDENTIFIER ::= { hh3cProductId 933 } +hh3cSimware7BoxCen OBJECT IDENTIFIER ::= { hh3cProductId 934 } +hh3cSimware7BoxIRF OBJECT IDENTIFIER ::= { hh3cProductId 935 } +hh3cSimware7ChassisDevice OBJECT IDENTIFIER ::= { hh3cProductId 936 } +hh3cVSR1000 OBJECT IDENTIFIER ::= { hh3cProductId 937 } +hh3csecpathM9000 OBJECT IDENTIFIER ::= { hh3cProductId 938 } +hh3csecpathM9006 OBJECT IDENTIFIER ::= { hh3cProductId 939 } +hh3csecpathM9010 OBJECT IDENTIFIER ::= { hh3cProductId 940 } +hh3csecpathM9014 OBJECT IDENTIFIER ::= { hh3cProductId 941 } +hh3cSecBladeIIINSQM1FWCEA0 OBJECT IDENTIFIER ::= { hh3cProductId 942 } +hh3cWB521X OBJECT IDENTIFIER ::= { hh3cProductId 943 } +hh3cWB511X OBJECT IDENTIFIER ::= { hh3cProductId 944 } +hh3cER3108G OBJECT IDENTIFIER ::= { hh3cProductId 945 } +hh3cER3108GW OBJECT IDENTIFIER ::= { hh3cProductId 946 } +hh3cS513028SEI OBJECT IDENTIFIER ::= { hh3cProductId 947 } +hh3cS513052SEI OBJECT IDENTIFIER ::= { hh3cProductId 948 } +hh3cS513028FEI OBJECT IDENTIFIER ::= { hh3cProductId 949 } +hh3cS513028SPWREI OBJECT IDENTIFIER ::= { hh3cProductId 950 } +hh3cS513052SPWREI OBJECT IDENTIFIER ::= { hh3cProductId 951 } +hh3cMSR360028 OBJECT IDENTIFIER ::= { hh3cProductId 952 } +hh3cMSR360051 OBJECT IDENTIFIER ::= { hh3cProductId 953 } +hh3cWA2612E OBJECT IDENTIFIER ::= { hh3cProductId 954 } +hh3cWA2622 OBJECT IDENTIFIER ::= { hh3cProductId 955 } +hh3cS511010P OBJECT IDENTIFIER ::= { hh3cProductId 956 } +hh3cS511010PPWR OBJECT IDENTIFIER ::= { hh3cProductId 957 } +hh3cS511028P OBJECT IDENTIFIER ::= { hh3cProductId 958 } +hh3cS511028PPWR OBJECT IDENTIFIER ::= { hh3cProductId 959 } +hh3cS511052P OBJECT IDENTIFIER ::= { hh3cProductId 960 } +hh3cS511010PD OBJECT IDENTIFIER ::= { hh3cProductId 961 } +hh3cS511010PPWRD OBJECT IDENTIFIER ::= { hh3cProductId 962 } +hh3cS511028PD OBJECT IDENTIFIER ::= { hh3cProductId 963 } +hh3cS511028PPWRD OBJECT IDENTIFIER ::= { hh3cProductId 964 } +hh3cS511052PD OBJECT IDENTIFIER ::= { hh3cProductId 965 } +hh3cWX5510 OBJECT IDENTIFIER ::= { hh3cProductId 966 } +hh3cS550028SCHI OBJECT IDENTIFIER ::= { hh3cProductId 967 } +hh3cS550052SCHI OBJECT IDENTIFIER ::= { hh3cProductId 968 } +hh3cS550028SCHID OBJECT IDENTIFIER ::= { hh3cProductId 969 } +hh3cS550052SCHID OBJECT IDENTIFIER ::= { hh3cProductId 970 } +hh3cLA2608 OBJECT IDENTIFIER ::= { hh3cProductId 971 } +hh3cS311010TP OBJECT IDENTIFIER ::= { hh3cProductId 972 } +hh3cS311010TPPWR OBJECT IDENTIFIER ::= { hh3cProductId 973 } +hh3cS311026TP OBJECT IDENTIFIER ::= { hh3cProductId 974 } +hh3cS311026TPPWR OBJECT IDENTIFIER ::= { hh3cProductId 975 } +hh3cS311052TP OBJECT IDENTIFIER ::= { hh3cProductId 976 } +hh3cWA2610HGN OBJECT IDENTIFIER ::= { hh3cProductId 977 } +hh3cWA4620EACN OBJECT IDENTIFIER ::= { hh3cProductId 978 } +hh3cWA4620IACN OBJECT IDENTIFIER ::= { hh3cProductId 979 } +hh3cEWPX1MAC0 OBJECT IDENTIFIER ::= { hh3cProductId 980 } +hh3cCRIMMAC1A OBJECT IDENTIFIER ::= { hh3cProductId 981 } +hh3cSecBladeIIILST1FW3B1 OBJECT IDENTIFIER ::= { hh3cProductId 982 } +hh3cWA2620iAGNX OBJECT IDENTIFIER ::= { hh3cProductId 983 } +hh3cS311010TPSI OBJECT IDENTIFIER ::= { hh3cProductId 984 } +hh3cS311026TPSI OBJECT IDENTIFIER ::= { hh3cProductId 985 } +hh3cS311052TPSI OBJECT IDENTIFIER ::= { hh3cProductId 986 } +hh3cS511010PSI OBJECT IDENTIFIER ::= { hh3cProductId 987 } +hh3cS511028PSI OBJECT IDENTIFIER ::= { hh3cProductId 988 } +hh3cS511052PSI OBJECT IDENTIFIER ::= { hh3cProductId 989 } +hh3cS3100V252TPWiNet OBJECT IDENTIFIER ::= { hh3cProductId 990 } +hh3cS512052PWiNet OBJECT IDENTIFIER ::= { hh3cProductId 991 } +hh3cS550048PWiNet OBJECT IDENTIFIER ::= { hh3cProductId 992 } +hh3cS550028FWiNet OBJECT IDENTIFIER ::= { hh3cProductId 993 } +hh3CWA2620EX OBJECT IDENTIFIER ::= { hh3cProductId 994 } +hh3csecpathL5000S OBJECT IDENTIFIER ::= { hh3cProductId 995 } +hh3csecpathL5000C OBJECT IDENTIFIER ::= { hh3cProductId 996 } +hh3cCC721E OBJECT IDENTIFIER ::= { hh3cProductId 997 } +hh3cS5820V252QFU OBJECT IDENTIFIER ::= { hh3cProductId 998 } +hh3csecpathVFW1000 OBJECT IDENTIFIER ::= { hh3cProductId 999 } +hh3cS7003 OBJECT IDENTIFIER ::= { hh3cProductId 1000 } +hh3cS7006 OBJECT IDENTIFIER ::= { hh3cProductId 1001 } +hh3csecpathF100CSI OBJECT IDENTIFIER ::= { hh3cProductId 1002 } +hh3cWX3510E OBJECT IDENTIFIER ::= { hh3cProductId 1003 } +hh3cWX3540E OBJECT IDENTIFIER ::= { hh3cProductId 1004 } +hh3cSecBladeLSU3FWCEA0 OBJECT IDENTIFIER ::= { hh3cProductId 1005 } +hh3cSecBladeLSU1NSCEA0 OBJECT IDENTIFIER ::= { hh3cProductId 1006 } +hh3cSecBladeLST1FW3C1 OBJECT IDENTIFIER ::= { hh3cProductId 1007 } +hh3cSecBladeLST1NSM2C1 OBJECT IDENTIFIER ::= { hh3cProductId 1008 } +hh3cSecBladeLSX1FWCEA1 OBJECT IDENTIFIER ::= { hh3cProductId 1009 } +hh3cSecBladeLSX1NSCEA1 OBJECT IDENTIFIER ::= { hh3cProductId 1010 } +hh3cWA2620AGNC OBJECT IDENTIFIER ::= { hh3cProductId 1011 } +hh3cWA2610GN OBJECT IDENTIFIER ::= { hh3cProductId 1012 } +hh3cWA2610GNE OBJECT IDENTIFIER ::= { hh3cProductId 1013 } +hh3cMSR800 OBJECT IDENTIFIER ::= { hh3cProductId 1014 } +hh3cMSR800Wlan OBJECT IDENTIFIER ::= { hh3cProductId 1015 } +hh3cMSR80010 OBJECT IDENTIFIER ::= { hh3cProductId 1016 } +hh3cMSR80010Wlan OBJECT IDENTIFIER ::= { hh3cProductId 1017 } +hh3cMSR830WiNet OBJECT IDENTIFIER ::= { hh3cProductId 1018 } +hh3cMSR83010WiNet OBJECT IDENTIFIER ::= { hh3cProductId 1019 } +hh3cMSR93010WiNet OBJECT IDENTIFIER ::= { hh3cProductId 1020 } +hh3cS9810 OBJECT IDENTIFIER ::= { hh3cProductId 1021 } +hh3cFlexNetworkB6300XLG OBJECT IDENTIFIER ::= { hh3cProductId 1022 } +hh3cFlexNetworkB6300GXG OBJECT IDENTIFIER ::= { hh3cProductId 1023 } +hh3cMSR900E OBJECT IDENTIFIER ::= { hh3cProductId 1024 } +hh3cMSR900EWlan OBJECT IDENTIFIER ::= { hh3cProductId 1025 } +hh3cS513028SEID OBJECT IDENTIFIER ::= { hh3cProductId 1026 } +hh3cS513052SEID OBJECT IDENTIFIER ::= { hh3cProductId 1027 } +hh3cS513028FEID OBJECT IDENTIFIER ::= { hh3cProductId 1028 } +hh3cS513028SHPWREID OBJECT IDENTIFIER ::= { hh3cProductId 1029 } +hh3cS513052SPWREID OBJECT IDENTIFIER ::= { hh3cProductId 1030 } +hh3cS513028SHPWREI OBJECT IDENTIFIER ::= { hh3cProductId 1031 } +hh3cE528X OBJECT IDENTIFIER ::= { hh3cProductId 1032 } +hh3cE552X OBJECT IDENTIFIER ::= { hh3cProductId 1033 } +hh3cLSU1WCME0 OBJECT IDENTIFIER ::= { hh3cProductId 1034 } +hh3cEWPX1WCME0 OBJECT IDENTIFIER ::= { hh3cProductId 1035 } +hh3cSR8810XS OBJECT IDENTIFIER ::= { hh3cProductId 1036 } +hh3cSR8806XS OBJECT IDENTIFIER ::= { hh3cProductId 1037 } +hh3cSR8803XS OBJECT IDENTIFIER ::= { hh3cProductId 1038 } +hh3cSR8802XS OBJECT IDENTIFIER ::= { hh3cProductId 1039 } +hh3cSecPathF5020 OBJECT IDENTIFIER ::= { hh3cProductId 1040 } +hh3cSecPathF5040 OBJECT IDENTIFIER ::= { hh3cProductId 1041 } +hh3cRA100 OBJECT IDENTIFIER ::= { hh3cProductId 1042 } +hh3cMSR930LM OBJECT IDENTIFIER ::= { hh3cProductId 1043 } +hh3cMSR930WLM OBJECT IDENTIFIER ::= { hh3cProductId 1044 } +hh3cMSR26005LMC OBJECT IDENTIFIER ::= { hh3cProductId 1045 } +hh3cS580032CEI OBJECT IDENTIFIER ::= { hh3cProductId 1046 } +hh3cS580056CEI OBJECT IDENTIFIER ::= { hh3cProductId 1047 } +hh3cS580032CPWREI OBJECT IDENTIFIER ::= { hh3cProductId 1048 } +hh3cS580056CPWREI OBJECT IDENTIFIER ::= { hh3cProductId 1049 } +hh3cS580056CEIM OBJECT IDENTIFIER ::= { hh3cProductId 1050 } +hh3cWB521XE OBJECT IDENTIFIER ::= { hh3cProductId 1051 } +hh3cWB521XH OBJECT IDENTIFIER ::= { hh3cProductId 1052 } +hh3cWX2540E OBJECT IDENTIFIER ::= { hh3cProductId 1053 } +hh3cWX360 OBJECT IDENTIFIER ::= { hh3cProductId 1054 } +hh3cWX361 OBJECT IDENTIFIER ::= { hh3cProductId 1055 } +hh3cWA2610EGNE OBJECT IDENTIFIER ::= { hh3cProductId 1056 } +hh3cSR6603F OBJECT IDENTIFIER ::= { hh3cProductId 1057 } +hh3cSR6605F OBJECT IDENTIFIER ::= { hh3cProductId 1058 } +hh3cSR6609F OBJECT IDENTIFIER ::= { hh3cProductId 1059 } +hh3cS556030SEI OBJECT IDENTIFIER ::= { hh3cProductId 1060 } +hh3cS556054SEI OBJECT IDENTIFIER ::= { hh3cProductId 1061 } +hh3cS556030CEI OBJECT IDENTIFIER ::= { hh3cProductId 1062 } +hh3cS556054CEI OBJECT IDENTIFIER ::= { hh3cProductId 1063 } +hh3cS556030CPWREI OBJECT IDENTIFIER ::= { hh3cProductId 1064 } +hh3cS556054CPWREI OBJECT IDENTIFIER ::= { hh3cProductId 1065 } +hh3cS556054QSEI OBJECT IDENTIFIER ::= { hh3cProductId 1066 } +hh3cRA200 OBJECT IDENTIFIER ::= { hh3cProductId 1067 } +hh3cF1000CSI OBJECT IDENTIFIER ::= { hh3cProductId 1068 } +hh3cF100MSI OBJECT IDENTIFIER ::= { hh3cProductId 1069 } +hh3cF100ASI OBJECT IDENTIFIER ::= { hh3cProductId 1070 } +hh3cS5820V248S OBJECT IDENTIFIER ::= { hh3cProductId 1071 } +hh3cS630042QT OBJECT IDENTIFIER ::= { hh3cProductId 1072 } +hh3cS630042QF OBJECT IDENTIFIER ::= { hh3cProductId 1073 } +hh3cS630048S OBJECT IDENTIFIER ::= { hh3cProductId 1074 } +hh3cS630052QF OBJECT IDENTIFIER ::= { hh3cProductId 1075 } +hh3cFlexNetworkU830048G OBJECT IDENTIFIER ::= { hh3cProductId 1076 } +hh3cFlexNetworkU830048XLGU OBJECT IDENTIFIER ::= { hh3cProductId 1077 } +hh3cS5008PV2EIPWR OBJECT IDENTIFIER ::= { hh3cProductId 1078 } +hh3cS5024PV2EIPWR OBJECT IDENTIFIER ::= { hh3cProductId 1079 } +hh3cS511052PPWR OBJECT IDENTIFIER ::= { hh3cProductId 1080 } +hh3cS511052PPWRD OBJECT IDENTIFIER ::= { hh3cProductId 1081 } +hh3cNSC1000 OBJECT IDENTIFIER ::= { hh3cProductId 1082 } +hh3cMS4308 OBJECT IDENTIFIER ::= { hh3cProductId 1083 } +hh3cMS4308PWR OBJECT IDENTIFIER ::= { hh3cProductId 1084 } +hh3cS513028TPEI OBJECT IDENTIFIER ::= { hh3cProductId 1085 } +hh3cS513052TPEI OBJECT IDENTIFIER ::= { hh3cProductId 1086 } +hh3cS513028TPPWREI OBJECT IDENTIFIER ::= { hh3cProductId 1087 } +hh3cS513052TPPWREI OBJECT IDENTIFIER ::= { hh3cProductId 1088 } +hh3csecpathF1020 OBJECT IDENTIFIER ::= { hh3cProductId 1089 } +hh3csecpathF1030 OBJECT IDENTIFIER ::= { hh3cProductId 1090 } +hh3csecpathF1050 OBJECT IDENTIFIER ::= { hh3cProductId 1091 } +hh3csecpathF1060 OBJECT IDENTIFIER ::= { hh3cProductId 1092 } +hh3csecpathF1070 OBJECT IDENTIFIER ::= { hh3cProductId 1093 } +hh3csecpathF1080 OBJECT IDENTIFIER ::= { hh3cProductId 1094 } +hh3csecpathVMSGVLB1000 OBJECT IDENTIFIER ::= { hh3cProductId 1095 } +hh3cS5864F OBJECT IDENTIFIER ::= { hh3cProductId 1096 } +hh3cS5864UF OBJECT IDENTIFIER ::= { hh3cProductId 1097 } +hh3cS5864TF OBJECT IDENTIFIER ::= { hh3cProductId 1098 } +hh3cS6348F OBJECT IDENTIFIER ::= { hh3cProductId 1099 } +hh3cS6348TF OBJECT IDENTIFIER ::= { hh3cProductId 1100 } +hh3cCR16006F OBJECT IDENTIFIER ::= { hh3cProductId 1101 } +hh3cCR16010F OBJECT IDENTIFIER ::= { hh3cProductId 1102 } +hh3cCR16014F OBJECT IDENTIFIER ::= { hh3cProductId 1103 } +hh3cSecPathM9000Context OBJECT IDENTIFIER ::= { hh3cProductId 1104 } +hh3cICG3000SE OBJECT IDENTIFIER ::= { hh3cProductId 1105 } +hh3cS68004C OBJECT IDENTIFIER ::= { hh3cProductId 1106 } +hh3cS68002C OBJECT IDENTIFIER ::= { hh3cProductId 1107 } +hh3cSR8803F OBJECT IDENTIFIER ::= { hh3cProductId 1108 } +hh3cSR8805F OBJECT IDENTIFIER ::= { hh3cProductId 1109 } +hh3cSR8808F OBJECT IDENTIFIER ::= { hh3cProductId 1110 } +hh3cSR8812F OBJECT IDENTIFIER ::= { hh3cProductId 1111 } +hh3cS12516XAF OBJECT IDENTIFIER ::= { hh3cProductId 1112 } +hh3cvAC OBJECT IDENTIFIER ::= { hh3cProductId 1113 } +hh3cWX8700 OBJECT IDENTIFIER ::= { hh3cProductId 1114 } +hh3cS556030FEI OBJECT IDENTIFIER ::= { hh3cProductId 1115 } +hh3cS5530CEID OBJECT IDENTIFIER ::= { hh3cProductId 1116 } +hh3cS5554CEID OBJECT IDENTIFIER ::= { hh3cProductId 1117 } +hh3cS5530CPWREID OBJECT IDENTIFIER ::= { hh3cProductId 1118 } +hh3cS5554CPWREID OBJECT IDENTIFIER ::= { hh3cProductId 1119 } +hh3cS5530FEID OBJECT IDENTIFIER ::= { hh3cProductId 1120 } +hh3cS513028SSI OBJECT IDENTIFIER ::= { hh3cProductId 1121 } +hh3cS513052SSI OBJECT IDENTIFIER ::= { hh3cProductId 1122 } +hh3cS513028FSI OBJECT IDENTIFIER ::= { hh3cProductId 1123 } +hh3cS556028SSI OBJECT IDENTIFIER ::= { hh3cProductId 1124 } +hh3cS556052SSI OBJECT IDENTIFIER ::= { hh3cProductId 1125 } +hh3cS556028FSI OBJECT IDENTIFIER ::= { hh3cProductId 1126 } +hh3cLA4608E OBJECT IDENTIFIER ::= { hh3cProductId 1127 } +hh3cWA4320ACN OBJECT IDENTIFIER ::= { hh3cProductId 1128 } +hh3cWA4320iACN OBJECT IDENTIFIER ::= { hh3cProductId 1129 } +hh3cWA4320iX OBJECT IDENTIFIER ::= { hh3cProductId 1130 } +hh3cWA4320TS OBJECT IDENTIFIER ::= { hh3cProductId 1131 } +hh3cWA4320TQ OBJECT IDENTIFIER ::= { hh3cProductId 1132 } +hh3cWA4320HACN OBJECT IDENTIFIER ::= { hh3cProductId 1133 } +hh3cS10506 OBJECT IDENTIFIER ::= { hh3cProductId 1134 } +hh3cS10510 OBJECT IDENTIFIER ::= { hh3cProductId 1135 } +hh3cS7606X OBJECT IDENTIFIER ::= { hh3cProductId 1136 } +hh3cS7610X OBJECT IDENTIFIER ::= { hh3cProductId 1137 } +hh3cMSR930AC OBJECT IDENTIFIER ::= { hh3cProductId 1138 } +hh3cMSR930ACWiNet OBJECT IDENTIFIER ::= { hh3cProductId 1139 } +hh3cSecPathACG1000E OBJECT IDENTIFIER ::= { hh3cProductId 1140 } +hh3cSecPathACG1000A OBJECT IDENTIFIER ::= { hh3cProductId 1141 } +hh3cSecPathACG1000M OBJECT IDENTIFIER ::= { hh3cProductId 1142 } +hh3cSecPathACG1000S OBJECT IDENTIFIER ::= { hh3cProductId 1143 } +hh3cSecPathACG1000C OBJECT IDENTIFIER ::= { hh3cProductId 1144 } +hh3cVBRAS1000 OBJECT IDENTIFIER ::= { hh3cProductId 1145 } +hh3cVSR1000P OBJECT IDENTIFIER ::= { hh3cProductId 1146 } +hh3cBRAS1000P OBJECT IDENTIFIER ::= { hh3cProductId 1147 } +hh3cS12508XAF OBJECT IDENTIFIER ::= { hh3cProductId 1148 } +hh3cLA3616SGM OBJECT IDENTIFIER ::= { hh3cProductId 1149 } +hh3cLA3616SGT OBJECT IDENTIFIER ::= { hh3cProductId 1150 } +hh3cLA3616EGM OBJECT IDENTIFIER ::= { hh3cProductId 1151 } +hh3cWAP722E OBJECT IDENTIFIER ::= { hh3cProductId 1152 } +hh3cWAP722 OBJECT IDENTIFIER ::= { hh3cProductId 1153 } +hh3cER2100n OBJECT IDENTIFIER ::= { hh3cProductId 1154 } +hh3cER2100V2 OBJECT IDENTIFIER ::= { hh3cProductId 1155 } +hh3cWX5560H OBJECT IDENTIFIER ::= { hh3cProductId 1156 } +hh3cWX5580H OBJECT IDENTIFIER ::= { hh3cProductId 1157 } +hh3cWAP621 OBJECT IDENTIFIER ::= { hh3cProductId 1158 } +hh3cMSR810W OBJECT IDENTIFIER ::= { hh3cProductId 1159 } +hh3cER3260G2 OBJECT IDENTIFIER ::= { hh3cProductId 1160 } +hh3cER5100G2 OBJECT IDENTIFIER ::= { hh3cProductId 1161 } +hh3cER5200G2 OBJECT IDENTIFIER ::= { hh3cProductId 1162 } +hh3cER6300G2 OBJECT IDENTIFIER ::= { hh3cProductId 1163 } +hh3cER8300G2 OBJECT IDENTIFIER ::= { hh3cProductId 1164 } +hh3cER8300G2X OBJECT IDENTIFIER ::= { hh3cProductId 1165 } +hh3cS99004F OBJECT IDENTIFIER ::= { hh3cProductId 1166 } +hh3cS990010F OBJECT IDENTIFIER ::= { hh3cProductId 1167 } +hh3cSecBladeLSU1ADECEA01 OBJECT IDENTIFIER ::= { hh3cProductId 1168 } +hh3cSecBladeLSXM1ADECEA1 OBJECT IDENTIFIER ::= { hh3cProductId 1169 } +hh3cS69002F OBJECT IDENTIFIER ::= { hh3cProductId 1170 } +hh3cS69004F OBJECT IDENTIFIER ::= { hh3cProductId 1171 } +hh3cS6348SF OBJECT IDENTIFIER ::= { hh3cProductId 1172 } +hh3cS6364F OBJECT IDENTIFIER ::= { hh3cProductId 1173 } +hh3cS5848F OBJECT IDENTIFIER ::= { hh3cProductId 1174 } +hh3cS1808G OBJECT IDENTIFIER ::= { hh3cProductId 1175 } +hh3cS1824G OBJECT IDENTIFIER ::= { hh3cProductId 1176 } +hh3cS1848G OBJECT IDENTIFIER ::= { hh3cProductId 1177 } +hh3cSecPathACG1010 OBJECT IDENTIFIER ::= { hh3cProductId 1178 } +hh3cSecPathACG1020 OBJECT IDENTIFIER ::= { hh3cProductId 1179 } +hh3cSecPathACG1030 OBJECT IDENTIFIER ::= { hh3cProductId 1180 } +hh3cSecPathACG1040 OBJECT IDENTIFIER ::= { hh3cProductId 1181 } +hh3cWX3510H OBJECT IDENTIFIER ::= { hh3cProductId 1182 } +hh3cWX3520H OBJECT IDENTIFIER ::= { hh3cProductId 1183 } +hh3cWX3540H OBJECT IDENTIFIER ::= { hh3cProductId 1184 } +hh3cWX5540H OBJECT IDENTIFIER ::= { hh3cProductId 1185 } +hh3cLA3608E OBJECT IDENTIFIER ::= { hh3cProductId 1186 } +hh3cLA3608EDB OBJECT IDENTIFIER ::= { hh3cProductId 1187 } +hh3cS513030SHI OBJECT IDENTIFIER ::= { hh3cProductId 1188 } +hh3cS513054SHI OBJECT IDENTIFIER ::= { hh3cProductId 1189 } +hh3cS513030CHI OBJECT IDENTIFIER ::= { hh3cProductId 1190 } +hh3cS513054CHI OBJECT IDENTIFIER ::= { hh3cProductId 1191 } +hh3cS513030CPWRHI OBJECT IDENTIFIER ::= { hh3cProductId 1192 } +hh3cS513054CPWRHI OBJECT IDENTIFIER ::= { hh3cProductId 1193 } +hh3cS513054QSHI OBJECT IDENTIFIER ::= { hh3cProductId 1194 } +hh3cS513030FHI OBJECT IDENTIFIER ::= { hh3cProductId 1195 } +hh3cS12516FAF OBJECT IDENTIFIER ::= { hh3cProductId 1196 } +hh3cS12508FAF OBJECT IDENTIFIER ::= { hh3cProductId 1197 } +hh3cS12504XAF OBJECT IDENTIFIER ::= { hh3cProductId 1198 } +hh3cS12504FAF OBJECT IDENTIFIER ::= { hh3cProductId 1199 } +hh3cMS410010TP OBJECT IDENTIFIER ::= { hh3cProductId 1200 } +hh3cMS410010TPPWR OBJECT IDENTIFIER ::= { hh3cProductId 1201 } +hh3cMS410026TP OBJECT IDENTIFIER ::= { hh3cProductId 1202 } +hh3cMS410026TPPWR OBJECT IDENTIFIER ::= { hh3cProductId 1203 } +hh3cMS430052P OBJECT IDENTIFIER ::= { hh3cProductId 1204 } +hh3cMS430028P OBJECT IDENTIFIER ::= { hh3cProductId 1205 } +hh3cIE410012TP OBJECT IDENTIFIER ::= { hh3cProductId 1206 } +hh3cIE410020TP OBJECT IDENTIFIER ::= { hh3cProductId 1207 } +hh3cIE410028F OBJECT IDENTIFIER ::= { hh3cProductId 1208 } +hh3cIE430028P OBJECT IDENTIFIER ::= { hh3cProductId 1209 } +hh3cS680054QF OBJECT IDENTIFIER ::= { hh3cProductId 1210 } +hh3cMS432028S OBJECT IDENTIFIER ::= { hh3cProductId 1211 } +hh3cMS432052S OBJECT IDENTIFIER ::= { hh3cProductId 1212 } +hh3cMS432028F OBJECT IDENTIFIER ::= { hh3cProductId 1213 } +hh3cMS432028SPWR OBJECT IDENTIFIER ::= { hh3cProductId 1214 } +hh3cMS452028TP OBJECT IDENTIFIER ::= { hh3cProductId 1215 } +hh3cMS452030F OBJECT IDENTIFIER ::= { hh3cProductId 1216 } +hh3cLA4310 OBJECT IDENTIFIER ::= { hh3cProductId 1217 } +hh3cLA4310V OBJECT IDENTIFIER ::= { hh3cProductId 1218 } +hh3cLA4320 OBJECT IDENTIFIER ::= { hh3cProductId 1219 } +hh3cLA4320V OBJECT IDENTIFIER ::= { hh3cProductId 1220 } +hh3cWA4320X OBJECT IDENTIFIER ::= { hh3cProductId 1221 } +hh3cLA4320X OBJECT IDENTIFIER ::= { hh3cProductId 1222 } +hh3cSecBlade4NSQM1FWDFG0 OBJECT IDENTIFIER ::= { hh3cProductId 1223 } +hh3cWX5510EV7 OBJECT IDENTIFIER ::= { hh3cProductId 1224 } +hh3cWX5540EV7 OBJECT IDENTIFIER ::= { hh3cProductId 1225 } +hh3cSecPathL1000E OBJECT IDENTIFIER ::= { hh3cProductId 1226 } +hh3cSecPathL1000M OBJECT IDENTIFIER ::= { hh3cProductId 1227 } +hh3cSecPathL1000S OBJECT IDENTIFIER ::= { hh3cProductId 1228 } +hh3cSecPathF5000Context OBJECT IDENTIFIER ::= { hh3cProductId 1229 } +hh3cSecPathF1000Context OBJECT IDENTIFIER ::= { hh3cProductId 1230 } +hh3cSecPathL5000Context OBJECT IDENTIFIER ::= { hh3cProductId 1231 } +hh3cSecPathL1000Context OBJECT IDENTIFIER ::= { hh3cProductId 1232 } +hh3cWA4320TQV OBJECT IDENTIFIER ::= { hh3cProductId 1233 } +hh3cMSR810WDB OBJECT IDENTIFIER ::= { hh3cProductId 1234 } +hh3cMSR810LM OBJECT IDENTIFIER ::= { hh3cProductId 1235 } +hh3cMSR810WLM OBJECT IDENTIFIER ::= { hh3cProductId 1236 } +hh3cS682032H OBJECT IDENTIFIER ::= { hh3cProductId 1237 } +hh3cS682054HF OBJECT IDENTIFIER ::= { hh3cProductId 1238 } +hh3cMSR5620 OBJECT IDENTIFIER ::= { hh3cProductId 1239 } +hh3cMSR3620DP OBJECT IDENTIFIER ::= { hh3cProductId 1240 } +hh3cMSR810WWiNet OBJECT IDENTIFIER ::= { hh3cProductId 1241 } +hh3cMSR810LMWiNet OBJECT IDENTIFIER ::= { hh3cProductId 1242 } +hh3cRA100AC OBJECT IDENTIFIER ::= { hh3cProductId 1243 } +hh3cMSR360028WiNet OBJECT IDENTIFIER ::= { hh3cProductId 1244 } +hh3cMSR3620WiNet OBJECT IDENTIFIER ::= { hh3cProductId 1245 } +hh3cS680054QT OBJECT IDENTIFIER ::= { hh3cProductId 1246 } +hh3cS12504S OBJECT IDENTIFIER ::= { hh3cProductId 1247 } +hh3cS12506S OBJECT IDENTIFIER ::= { hh3cProductId 1248 } +hh3cS12510S OBJECT IDENTIFIER ::= { hh3cProductId 1249 } +hh3cS12508S OBJECT IDENTIFIER ::= { hh3cProductId 1250 } +hh3cS12512S OBJECT IDENTIFIER ::= { hh3cProductId 1251 } +hh3cS515024SPWREI OBJECT IDENTIFIER ::= { hh3cProductId 1252 } +hh3cS5150X16SEI OBJECT IDENTIFIER ::= { hh3cProductId 1253 } +hh3cS5150X16STEI OBJECT IDENTIFIER ::= { hh3cProductId 1254 } +hh3cSecPathF100AG2 OBJECT IDENTIFIER ::= { hh3cProductId 1255 } +hh3cSecPathF1000CG2 OBJECT IDENTIFIER ::= { hh3cProductId 1256 } +hh3cUISM831048G OBJECT IDENTIFIER ::= { hh3cProductId 1257 } +hh3cUISM832048XG OBJECT IDENTIFIER ::= { hh3cProductId 1258 } +hh3cUISM6300XLG OBJECT IDENTIFIER ::= { hh3cProductId 1259 } +hh3cMSR810 OBJECT IDENTIFIER ::= { hh3cProductId 1260 } +hh3cSecPathW2001 OBJECT IDENTIFIER ::= { hh3cProductId 1261 } +hh3cSecPathW2005 OBJECT IDENTIFIER ::= { hh3cProductId 1262 } +hh3cSecPathW2010 OBJECT IDENTIFIER ::= { hh3cProductId 1263 } +hh3cSecPathW2020 OBJECT IDENTIFIER ::= { hh3cProductId 1264 } +hh3cSecPathW2040 OBJECT IDENTIFIER ::= { hh3cProductId 1265 } +hh3cSecPathW2080 OBJECT IDENTIFIER ::= { hh3cProductId 1266 } +hh3cSecPathW2200 OBJECT IDENTIFIER ::= { hh3cProductId 1267 } +hh3cSecPathW1020D OBJECT IDENTIFIER ::= { hh3cProductId 1268 } +hh3cSecPathW1040D OBJECT IDENTIFIER ::= { hh3cProductId 1269 } +hh3cSecPathW1200D OBJECT IDENTIFIER ::= { hh3cProductId 1270 } +hh3cSecPathA2020 OBJECT IDENTIFIER ::= { hh3cProductId 1271 } +hh3cSecPathA2100 OBJECT IDENTIFIER ::= { hh3cProductId 1272 } +hh3cSecPathD2020 OBJECT IDENTIFIER ::= { hh3cProductId 1273 } +hh3cSecPathD2050 OBJECT IDENTIFIER ::= { hh3cProductId 1274 } +hh3cS556034CEI OBJECT IDENTIFIER ::= { hh3cProductId 1275 } +hh3cS513034CHI OBJECT IDENTIFIER ::= { hh3cProductId 1276 } +hh3cMS412026TP OBJECT IDENTIFIER ::= { hh3cProductId 1277 } +hh3cWA4330ACN OBJECT IDENTIFIER ::= { hh3cProductId 1278 } +hh3cMS4320S28F OBJECT IDENTIFIER ::= { hh3cProductId 1279 } +hh3cMS4320S28P OBJECT IDENTIFIER ::= { hh3cProductId 1280 } +hh3cMS452028S OBJECT IDENTIFIER ::= { hh3cProductId 1281 } +hh3cSecBlade3Context OBJECT IDENTIFIER ::= { hh3cProductId 1282 } +hh3cMSR2630R OBJECT IDENTIFIER ::= { hh3cProductId 1283 } +hh3cMSR3610ACR OBJECT IDENTIFIER ::= { hh3cProductId 1284 } +hh3cMSR3620ACR OBJECT IDENTIFIER ::= { hh3cProductId 1285 } +hh3cMSR3640R OBJECT IDENTIFIER ::= { hh3cProductId 1286 } +hh3cMSR3660R OBJECT IDENTIFIER ::= { hh3cProductId 1287 } +hh3cMSR5660R OBJECT IDENTIFIER ::= { hh3cProductId 1288 } +hh3cMSR5680R OBJECT IDENTIFIER ::= { hh3cProductId 1289 } +hh3cMSR930R OBJECT IDENTIFIER ::= { hh3cProductId 1290 } +hh3cMSR930WR OBJECT IDENTIFIER ::= { hh3cProductId 1291 } +hh3cMSR260010R OBJECT IDENTIFIER ::= { hh3cProductId 1292 } +hh3cWX3010EV7 OBJECT IDENTIFIER ::= { hh3cProductId 1293 } +hh3cWX3024EV7 OBJECT IDENTIFIER ::= { hh3cProductId 1294 } +hh3cWCMX20 OBJECT IDENTIFIER ::= { hh3cProductId 1295 } +hh3cS556032CHI OBJECT IDENTIFIER ::= { hh3cProductId 1296 } +hh3cS556056CHI OBJECT IDENTIFIER ::= { hh3cProductId 1297 } +hh3cS556056CPWRHI OBJECT IDENTIFIER ::= { hh3cProductId 1298 } +hh3cS12502XAF OBJECT IDENTIFIER ::= { hh3cProductId 1299 } +hh3cNS228 OBJECT IDENTIFIER ::= { hh3cProductId 1300 } +hh3cNS252 OBJECT IDENTIFIER ::= { hh3cProductId 1301 } +hh3cSecBladeFW OBJECT IDENTIFIER ::= { hh3cProductId 1302 } +hh3cSecBladeADE OBJECT IDENTIFIER ::= { hh3cProductId 1303 } +hh3cSecBladeIIILSUM1FWCEAB0 OBJECT IDENTIFIER ::= { hh3cProductId 1304 } +hh3cS513028PSEI OBJECT IDENTIFIER ::= { hh3cProductId 1305 } +hh3cS7506EX OBJECT IDENTIFIER ::= { hh3cProductId 1306 } +hh3cS7510EX OBJECT IDENTIFIER ::= { hh3cProductId 1307 } +hh3cS7504EXS OBJECT IDENTIFIER ::= { hh3cProductId 1308 } +hh3cS7502EXS OBJECT IDENTIFIER ::= { hh3cProductId 1309 } +hh3cWA4320ACNPI OBJECT IDENTIFIER ::= { hh3cProductId 1310 } +hh3cWA4320ACNSI OBJECT IDENTIFIER ::= { hh3cProductId 1311 } + + +-- HP A series products +-- OID of hpNetworking is 1.3.6.1.4.1.25506.11 +hpSwitch OBJECT IDENTIFIER ::= { hpNetworking 1 } +hpRouter OBJECT IDENTIFIER ::= { hpNetworking 2 } +hpWireless OBJECT IDENTIFIER ::= { hpNetworking 3 } +hpSecurity OBJECT IDENTIFIER ::= { hpNetworking 4 } + +-- begin hpSwitch +hp7502 OBJECT IDENTIFIER ::= { hpSwitch 1 } +hp7503S OBJECT IDENTIFIER ::= { hpSwitch 2 } +hp7503 OBJECT IDENTIFIER ::= { hpSwitch 3 } +hp7506 OBJECT IDENTIFIER ::= { hpSwitch 4 } +hp7506V OBJECT IDENTIFIER ::= { hpSwitch 5 } +hp7510 OBJECT IDENTIFIER ::= { hpSwitch 6 } +hpA36002POLT OBJECT IDENTIFIER ::= { hpSwitch 7 } +hpV190524 OBJECT IDENTIFIER ::= { hpSwitch 8 } +hpV190524POE OBJECT IDENTIFIER ::= { hpSwitch 9 } +hpV190548 OBJECT IDENTIFIER ::= { hpSwitch 10 } +hpA512016GSI OBJECT IDENTIFIER ::= { hpSwitch 11 } +hpA512024GSI OBJECT IDENTIFIER ::= { hpSwitch 12 } +hpA512048GSI OBJECT IDENTIFIER ::= { hpSwitch 13 } +hpA512024GPPOESI OBJECT IDENTIFIER ::= { hpSwitch 14 } +hpA512024GPOESI OBJECT IDENTIFIER ::= { hpSwitch 15 } +hpA580024G OBJECT IDENTIFIER ::= { hpSwitch 16 } +hpA580024GPoEPlus OBJECT IDENTIFIER ::= { hpSwitch 17 } +hpA580048G OBJECT IDENTIFIER ::= { hpSwitch 18 } +hpA580048GPoEPlus OBJECT IDENTIFIER ::= { hpSwitch 19 } +hpA580024GSFP OBJECT IDENTIFIER ::= { hpSwitch 20 } +hpA580048GPoEPlus2SLOT OBJECT IDENTIFIER ::= { hpSwitch 21 } +hpA5820X14XGSFPPlus2SLOT OBJECT IDENTIFIER ::= { hpSwitch 22 } +hpA5820X24XGSFPPlus OBJECT IDENTIFIER ::= { hpSwitch 23 } +hpA550024GEI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 24 } +hpA550048GEI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 25 } +hpA550024GPoEPlusEI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 26 } +hpA550048GPoEPlusEI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 27 } +hpA550024GSFPEI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 28 } +hpA550024GSI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 29 } +hpA550048GSI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 30 } +hpA550024GPoEPlusSI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 31 } +hpA550048GPoEPlusSI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 32 } +hpA512024GEI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 33 } +hpA512048GEI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 34 } +hpA512024GPoEPlusEI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 35 } +hpA512048GPoEPlusEI2SLOT OBJECT IDENTIFIER ::= { hpSwitch 36 } +hpA512024GEI OBJECT IDENTIFIER ::= { hpSwitch 37 } +hpA512048GEI OBJECT IDENTIFIER ::= { hpSwitch 38 } +hp9505 OBJECT IDENTIFIER ::= { hpSwitch 39 } +hp9508V OBJECT IDENTIFIER ::= { hpSwitch 40 } +hp9508 OBJECT IDENTIFIER ::= { hpSwitch 41 } +hp9512 OBJECT IDENTIFIER ::= { hpSwitch 42 } +hp12508 OBJECT IDENTIFIER ::= { hpSwitch 43 } +hp12518 OBJECT IDENTIFIER ::= { hpSwitch 44 } +hp12504AC OBJECT IDENTIFIER ::= { hpSwitch 45 } +hpA5800AF48G OBJECT IDENTIFIER ::= { hpSwitch 46 } +hpA5820AF24XG OBJECT IDENTIFIER ::= { hpSwitch 47 } +hp6125GXG OBJECT IDENTIFIER ::= { hpSwitch 51 } +hpA31008SI OBJECT IDENTIFIER ::= { hpSwitch 52 } +hpA310016SI OBJECT IDENTIFIER ::= { hpSwitch 53 } +hpA310024SI OBJECT IDENTIFIER ::= { hpSwitch 54 } +hpA31008EI OBJECT IDENTIFIER ::= { hpSwitch 55 } +hpA310016EI OBJECT IDENTIFIER ::= { hpSwitch 56 } +hpA310024EI OBJECT IDENTIFIER ::= { hpSwitch 57 } +hpA31008POEEI OBJECT IDENTIFIER ::= { hpSwitch 58 } +hpA310016POEEI OBJECT IDENTIFIER ::= { hpSwitch 59 } +hpA310024POEEI OBJECT IDENTIFIER ::= { hpSwitch 60 } +hpA580024GTAA OBJECT IDENTIFIER ::= { hpSwitch 61 } +hpA580024GPoEPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 62 } +hpA580024GSFPTAA OBJECT IDENTIFIER ::= { hpSwitch 63 } +hpA580048GTAA OBJECT IDENTIFIER ::= { hpSwitch 64 } +hpA580048GPoEPlusTAA2SLOT OBJECT IDENTIFIER ::= { hpSwitch 65 } +hpA580048GPoEPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 66 } +hpA5820X14XGSFPPlusTAA2SLOT OBJECT IDENTIFIER ::= { hpSwitch 67 } +hpA5820X24XGSFPPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 68 } +hpA512024GEITAA2SLOT OBJECT IDENTIFIER ::= { hpSwitch 69 } +hpA512048GEITAA2SLOT OBJECT IDENTIFIER ::= { hpSwitch 70 } +hpA512024GPoEPlusEITAA2SLOT OBJECT IDENTIFIER ::= { hpSwitch 71 } +hpA512048GPoEPlusEITAA2SLOT OBJECT IDENTIFIER ::= { hpSwitch 72 } +hpA550024GSFPEITAA2SLOT OBJECT IDENTIFIER ::= { hpSwitch 73 } +hpA550024GEITAA2SLOT OBJECT IDENTIFIER ::= { hpSwitch 74 } +hpA550048GEITAA2SLOT OBJECT IDENTIFIER ::= { hpSwitch 75 } +hpA550024GPoEPlusEITAA2SLOT OBJECT IDENTIFIER ::= { hpSwitch 76 } +hpA550048GPoEPlusEITAA2SLOT OBJECT IDENTIFIER ::= { hpSwitch 77 } +hp5920AF24XG OBJECT IDENTIFIER ::= { hpSwitch 78 } +hpA5830AF48G OBJECT IDENTIFIER ::= { hpSwitch 79 } +hpA5830AF96G OBJECT IDENTIFIER ::= { hpSwitch 80 } +hpV191016G OBJECT IDENTIFIER ::= { hpSwitch 81 } +hpV191024G OBJECT IDENTIFIER ::= { hpSwitch 82 } +hpV191024GPoE365W OBJECT IDENTIFIER ::= { hpSwitch 83 } +hpV191024GPoE170W OBJECT IDENTIFIER ::= { hpSwitch 84 } +hpV191048G OBJECT IDENTIFIER ::= { hpSwitch 85 } +hp10504 OBJECT IDENTIFIER ::= { hpSwitch 86 } +hp10508 OBJECT IDENTIFIER ::= { hpSwitch 87 } +hp10508V OBJECT IDENTIFIER ::= { hpSwitch 88 } +hp10512 OBJECT IDENTIFIER ::= { hpSwitch 89 } +hpA360024V2EI OBJECT IDENTIFIER ::= { hpSwitch 90 } +hpA360048V2EI OBJECT IDENTIFIER ::= { hpSwitch 91 } +hpA360024PoEPlusV2EI OBJECT IDENTIFIER ::= { hpSwitch 92 } +hpA360048PoEPlusV2EI OBJECT IDENTIFIER ::= { hpSwitch 93 } +hpA360024SFPV2EI OBJECT IDENTIFIER ::= { hpSwitch 94 } +hpA360024V2SI OBJECT IDENTIFIER ::= { hpSwitch 95 } +hpA360048V2SI OBJECT IDENTIFIER ::= { hpSwitch 96 } +hpA360024PoEPlusV2SI OBJECT IDENTIFIER ::= { hpSwitch 97 } +hpA360048PoEPlusV2SI OBJECT IDENTIFIER ::= { hpSwitch 98 } +hpA310048V2 OBJECT IDENTIFIER ::= { hpSwitch 99 } +hp5900AF48XG4QSFPPlus OBJECT IDENTIFIER ::= { hpSwitch 100 } +hpA550024G4SFPHI OBJECT IDENTIFIER ::= { hpSwitch 101 } +hpA550048G4SFPHI OBJECT IDENTIFIER ::= { hpSwitch 102 } +hp6125G OBJECT IDENTIFIER ::= { hpSwitch 103 } +hpA51208GSI OBJECT IDENTIFIER ::= { hpSwitch 104 } +hpA51208GPoEPlusSI OBJECT IDENTIFIER ::= { hpSwitch 105 } +hpA51208GPPoEPlusSI OBJECT IDENTIFIER ::= { hpSwitch 106 } +hpA5120AF48GHI OBJECT IDENTIFIER ::= { hpSwitch 107 } +hp12504DC OBJECT IDENTIFIER ::= { hpSwitch 108 } +hp12508DC OBJECT IDENTIFIER ::= { hpSwitch 109 } +hp12518DC OBJECT IDENTIFIER ::= { hpSwitch 110 } +hp12508AC OBJECT IDENTIFIER ::= { hpSwitch 111 } +hp12518AC OBJECT IDENTIFIER ::= { hpSwitch 112 } +hp5900AF48XGT4QSFPPlus OBJECT IDENTIFIER ::= { hpSwitch 113 } +hp19108G OBJECT IDENTIFIER ::= { hpSwitch 114 } +hp19108GPoEPlus65W OBJECT IDENTIFIER ::= { hpSwitch 115 } +hp19108GPoEPlus180W OBJECT IDENTIFIER ::= { hpSwitch 116 } +hp5830AF48GTAA OBJECT IDENTIFIER ::= { hpSwitch 117 } +hp5830AF96GTAA OBJECT IDENTIFIER ::= { hpSwitch 118 } +hp7508H OBJECT IDENTIFIER ::= { hpSwitch 119 } +hp5900AF48G4XG2QSFPPlus OBJECT IDENTIFIER ::= { hpSwitch 120 } +hp550048GPoEPlus4SFPHI OBJECT IDENTIFIER ::= { hpSwitch 121 } +hp550024GPoEPlus4SFPHI OBJECT IDENTIFIER ::= { hpSwitch 122 } +hp550024GSFPHI OBJECT IDENTIFIER ::= { hpSwitch 123 } +hp12504ACV7 OBJECT IDENTIFIER ::= { hpSwitch 124 } +hp12504DCV7 OBJECT IDENTIFIER ::= { hpSwitch 125 } +hp12508ACV7 OBJECT IDENTIFIER ::= { hpSwitch 126 } +hp12508DCV7 OBJECT IDENTIFIER ::= { hpSwitch 127 } +hp12518ACV7 OBJECT IDENTIFIER ::= { hpSwitch 128 } +hp12518DCV7 OBJECT IDENTIFIER ::= { hpSwitch 129 } +hp5900AF48XG4QSFPPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 130 } +hp5920AF24XGTAA OBJECT IDENTIFIER ::= { hpSwitch 131 } +hpV19108 OBJECT IDENTIFIER ::= { hpSwitch 132 } +hpV19108PoEPlus OBJECT IDENTIFIER ::= { hpSwitch 133 } +hpV191024 OBJECT IDENTIFIER ::= { hpSwitch 134 } +hpV191024PoEPlus OBJECT IDENTIFIER ::= { hpSwitch 135 } +hpV191048 OBJECT IDENTIFIER ::= { hpSwitch 136 } +hp6125XGXLG OBJECT IDENTIFIER ::= { hpSwitch 137 } +hp11908V OBJECT IDENTIFIER ::= { hpSwitch 138 } +hp550048GPoEPlus4SFPHITAA2Slot OBJECT IDENTIFIER ::= { hpSwitch 139 } +hp550024GPoEPlus4SFPHITAA2Slot OBJECT IDENTIFIER ::= { hpSwitch 140 } +hp550024GSFPHITAA2Slot OBJECT IDENTIFIER ::= { hpSwitch 141 } +hpMoonshot45XGc OBJECT IDENTIFIER ::= { hpSwitch 142 } +hp12910AC OBJECT IDENTIFIER ::= { hpSwitch 143 } +hpFF593032QSFPPlus OBJECT IDENTIFIER ::= { hpSwitch 144 } +hpFF593032QSFPPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 145 } +hpFF7904 OBJECT IDENTIFIER ::= { hpSwitch 146 } +hp12916AC OBJECT IDENTIFIER ::= { hpSwitch 147 } +hp12916DC OBJECT IDENTIFIER ::= { hpSwitch 148 } +hpFF5900CP48XG4QSFPPlus OBJECT IDENTIFIER ::= { hpSwitch 149 } +hp5900CP48XG4QSFPPlus8GbFCBF OBJECT IDENTIFIER ::= { hpSwitch 150 } +hp6125XLGTAA OBJECT IDENTIFIER ::= { hpSwitch 151 } +hp6125GXGTAA OBJECT IDENTIFIER ::= { hpSwitch 152 } +hp6125GTAA OBJECT IDENTIFIER ::= { hpSwitch 153 } +hp512024G4SFPXI2Slot OBJECT IDENTIFIER ::= { hpSwitch 154 } +hp512048G4SFPXI2Slot OBJECT IDENTIFIER ::= { hpSwitch 155 } +hp512024GPoEPlus4SFPXI2Slot OBJECT IDENTIFIER ::= { hpSwitch 156 } +hp512048GPoEPlus4SFPXI2Slot OBJECT IDENTIFIER ::= { hpSwitch 157 } +hp512024G4SFPXITAA2Slot OBJECT IDENTIFIER ::= { hpSwitch 158 } +hp512048G4SFPXITAA2Slot OBJECT IDENTIFIER ::= { hpSwitch 159 } +hp512024GPoEPlus4SFPXITAA2Slot OBJECT IDENTIFIER ::= { hpSwitch 160 } +hp512048GPoEPlus4SFPXITAA2Slot OBJECT IDENTIFIER ::= { hpSwitch 161 } +hp19208G OBJECT IDENTIFIER ::= { hpSwitch 162 } +hp19208GPoEPlus65W OBJECT IDENTIFIER ::= { hpSwitch 163 } +hp19208GPoEPlus180W OBJECT IDENTIFIER ::= { hpSwitch 164 } +hp192016G OBJECT IDENTIFIER ::= { hpSwitch 165 } +hp192024G OBJECT IDENTIFIER ::= { hpSwitch 166 } +hp192024GPoEPlus180W OBJECT IDENTIFIER ::= { hpSwitch 167 } +hp192024GPoEPlus370W OBJECT IDENTIFIER ::= { hpSwitch 168 } +hp192048G OBJECT IDENTIFIER ::= { hpSwitch 169 } +hp192048GPoEPlus370W OBJECT IDENTIFIER ::= { hpSwitch 170 } +hpFF570040XG2QSFPPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 171 } +hpFF570040XG2QSFPPlus OBJECT IDENTIFIER ::= { hpSwitch 172 } +hpFF570032XGT8XG2QSFPPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 173 } +hpFF570032XGT8XG2QSFPPlus OBJECT IDENTIFIER ::= { hpSwitch 174 } +hpFF570048G4XG2QSFPPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 175 } +hpFF570048G4XG2QSFPPlus OBJECT IDENTIFIER ::= { hpSwitch 176 } +hp16208G OBJECT IDENTIFIER ::= { hpSwitch 177 } +hp162024G OBJECT IDENTIFIER ::= { hpSwitch 178 } +hp162048G OBJECT IDENTIFIER ::= { hpSwitch 179 } +hp195024G2SFPPlus2XGT OBJECT IDENTIFIER ::= { hpSwitch 180 } +hp195048G2SFPPlus2XGT OBJECT IDENTIFIER ::= { hpSwitch 181 } +hp195024G2SFPPlus2XGTPoEPlus OBJECT IDENTIFIER ::= { hpSwitch 182 } +hp195048G2SFPPlus2XGTPoEPlus OBJECT IDENTIFIER ::= { hpSwitch 183 } +hp513024G4SFPPlusEI OBJECT IDENTIFIER ::= { hpSwitch 184 } +hp513024GSFP4SFPPlusEI OBJECT IDENTIFIER ::= { hpSwitch 185 } +hp513048G4SFPPlusEI OBJECT IDENTIFIER ::= { hpSwitch 186 } +hp513024GPoEPlus4SFPPlus180WEI OBJECT IDENTIFIER ::= { hpSwitch 187 } +hp513024GPoEPlus4SFPPlus370WEI OBJECT IDENTIFIER ::= { hpSwitch 188 } +hp513048GPoEPlus4SFPPlus370WEI OBJECT IDENTIFIER ::= { hpSwitch 189 } +hp513024G2SFPPlus2XGTEI OBJECT IDENTIFIER ::= { hpSwitch 190 } +hp513048G2SFPPlus2XGTEI OBJECT IDENTIFIER ::= { hpSwitch 191 } +hp513024GPoEPlus2SFPPlus2XGT370WEI OBJECT IDENTIFIER ::= { hpSwitch 192 } +hp513048GPoEPlus2SFPPlus2XGT370WEI OBJECT IDENTIFIER ::= { hpSwitch 193 } +hp513024G4SFPPlusEITAA OBJECT IDENTIFIER ::= { hpSwitch 194 } +hp513024GSFP4SFPPlusEITAA OBJECT IDENTIFIER ::= { hpSwitch 195 } +hp513048G4SFPPlusEITAA OBJECT IDENTIFIER ::= { hpSwitch 196 } +hp513024GPoEPlus4SFPPlus180WEITAA OBJECT IDENTIFIER ::= { hpSwitch 197 } +hp513024GPoEPlus4SFPPlus370WEITAA OBJECT IDENTIFIER ::= { hpSwitch 198 } +hp513048GPoEPlus4SFPPlus370WEITAA OBJECT IDENTIFIER ::= { hpSwitch 199 } +hp513024G2SFPPlus2XGTEITAA OBJECT IDENTIFIER ::= { hpSwitch 200 } +hp513048G2SFPPlus2XGTEITAA OBJECT IDENTIFIER ::= { hpSwitch 201 } +hp513024GPoEPlus2SFPPlus2XGT370WEITAA OBJECT IDENTIFIER ::= { hpSwitch 202 } +hp513048GPoEPlus2SFPPlus2XGT370WEITAA OBJECT IDENTIFIER ::= { hpSwitch 203 } +hpFF7910 OBJECT IDENTIFIER ::= { hpSwitch 204 } +hp5900AF48G4XG2QSFPPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 205 } +hp5900AF48XGT4QSFPPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 206 } +hpFF5900CP48XG4QSFPPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 207 } +hp513024G4SFPPlusEIBrazil OBJECT IDENTIFIER ::= { hpSwitch 208 } +hp513048G4SFPPlusEIBrazil OBJECT IDENTIFIER ::= { hpSwitch 209 } +hp513024GPoEPlus4SFPPlus370WEIBrazil OBJECT IDENTIFIER ::= { hpSwitch 210 } +hp513048GPoEPlus4SFPPlus370WEIBrazil OBJECT IDENTIFIER ::= { hpSwitch 211 } +hpThunderBird OBJECT IDENTIFIER ::= { hpSwitch 212 } +hpFF12916E OBJECT IDENTIFIER ::= { hpSwitch 213 } +hpNJ50005GPoEPlusWalljack OBJECT IDENTIFIER ::= { hpSwitch 214 } +hp551024G4SFPPlusHI1Slot OBJECT IDENTIFIER ::= { hpSwitch 215 } +hp551048G4SFPPlusHI1Slot OBJECT IDENTIFIER ::= { hpSwitch 216 } +hp551024GPoEPlus4SFPPlusHI1Slot OBJECT IDENTIFIER ::= { hpSwitch 217 } +hp551048GPoEPlus4SFPPlusHI1Slot OBJECT IDENTIFIER ::= { hpSwitch 218 } +hp551024GSFP4SFPPlusHI1Slot OBJECT IDENTIFIER ::= { hpSwitch 219 } +hp551024G4SFPPlusHITAA1Slot OBJECT IDENTIFIER ::= { hpSwitch 220 } +hp551048G4SFPPlusHITAA1Slot OBJECT IDENTIFIER ::= { hpSwitch 221 } +hp551024GPoEPlus4SFPPlusHITAA1Slot OBJECT IDENTIFIER ::= { hpSwitch 222 } +hp551048GPoEPlus4SFPPlusHITAA1Slot OBJECT IDENTIFIER ::= { hpSwitch 223 } +hp551024GSFP4SFPPlusHITAA1Slot OBJECT IDENTIFIER ::= { hpSwitch 224 } +hpFF12910ACTAA OBJECT IDENTIFIER ::= { hpSwitch 225 } +hpFF7904TAA OBJECT IDENTIFIER ::= { hpSwitch 226 } +hpFF7910TAA OBJECT IDENTIFIER ::= { hpSwitch 227 } +hp6127XLG OBJECT IDENTIFIER ::= { hpSwitch 228 } +hpFF59302Slot2QSFPPlus OBJECT IDENTIFIER ::= { hpSwitch 229 } +hpFF59302Slot2QSFPPlusTAA OBJECT IDENTIFIER ::= { hpSwitch 230 } +hpFF59304Slot OBJECT IDENTIFIER ::= { hpSwitch 231 } +hpFF59304SlotTAA OBJECT IDENTIFIER ::= { hpSwitch 232 } +hp6127XLGTAA OBJECT IDENTIFIER ::= { hpSwitch 233 } +hp195012XGT4SFPPlus OBJECT IDENTIFIER ::= { hpSwitch 234 } +hpFF12916ETAA OBJECT IDENTIFIER ::= { hpSwitch 235 } +hpFF12908E OBJECT IDENTIFIER ::= { hpSwitch 236 } +hpFF12908ETAA OBJECT IDENTIFIER ::= { hpSwitch 237 } +hpMoonshot45GcR10 OBJECT IDENTIFIER ::= { hpSwitch 238 } +hpMoonshot45XGcR16 OBJECT IDENTIFIER ::= { hpSwitch 239 } +hpMoonshot180XGcR16 OBJECT IDENTIFIER ::= { hpSwitch 240 } +hpMoonshot180XGcR40 OBJECT IDENTIFIER ::= { hpSwitch 241 } + +-- begin hpRouter +hpAMSR900 OBJECT IDENTIFIER ::= { hpRouter 1 } +hpAMSR920 OBJECT IDENTIFIER ::= { hpRouter 2 } +hpAMSR2010 OBJECT IDENTIFIER ::= { hpRouter 3 } +hpAMSR2011 OBJECT IDENTIFIER ::= { hpRouter 4 } +hpAMSR2012 OBJECT IDENTIFIER ::= { hpRouter 5 } +hpAMSR2012T OBJECT IDENTIFIER ::= { hpRouter 6 } +hpAMSR2013 OBJECT IDENTIFIER ::= { hpRouter 7 } +hpAMSR2020 OBJECT IDENTIFIER ::= { hpRouter 8 } +hpAMSR2021 OBJECT IDENTIFIER ::= { hpRouter 9 } +hpAMSR2040 OBJECT IDENTIFIER ::= { hpRouter 10 } +hpAMSR3010 OBJECT IDENTIFIER ::= { hpRouter 11 } +hpAMSR3011E OBJECT IDENTIFIER ::= { hpRouter 12 } +hpAMSR3011F OBJECT IDENTIFIER ::= { hpRouter 13 } +hpAMSR3016 OBJECT IDENTIFIER ::= { hpRouter 14 } +hpAMSR3020 OBJECT IDENTIFIER ::= { hpRouter 15 } +hpAMSR3040 OBJECT IDENTIFIER ::= { hpRouter 16 } +hpAMSR3060 OBJECT IDENTIFIER ::= { hpRouter 17 } +hpAMSR5040 OBJECT IDENTIFIER ::= { hpRouter 18 } +hpAMSR5060 OBJECT IDENTIFIER ::= { hpRouter 19 } +hpA6602 OBJECT IDENTIFIER ::= { hpRouter 20 } +hpA6604 OBJECT IDENTIFIER ::= { hpRouter 21 } +hpA6608 OBJECT IDENTIFIER ::= { hpRouter 22 } +hpA6616 OBJECT IDENTIFIER ::= { hpRouter 23 } +hpAMSR900W OBJECT IDENTIFIER ::= { hpRouter 24 } +hpAMSR900WNA OBJECT IDENTIFIER ::= { hpRouter 25 } +hpAMSR920W OBJECT IDENTIFIER ::= { hpRouter 26 } +hpAMSR920WNA OBJECT IDENTIFIER ::= { hpRouter 27 } +hpAMSR2012W OBJECT IDENTIFIER ::= { hpRouter 28 } +hpAMSR2012TW OBJECT IDENTIFIER ::= { hpRouter 29 } +hpAMSR2012TWNA OBJECT IDENTIFIER ::= { hpRouter 30 } +hpAMSR2013W OBJECT IDENTIFIER ::= { hpRouter 31 } +hpAMSR2013WNA OBJECT IDENTIFIER ::= { hpRouter 32 } +hpAMSR2020S OBJECT IDENTIFIER ::= { hpRouter 33 } +hpAMSR2021S OBJECT IDENTIFIER ::= { hpRouter 34 } +hpAMSR2040S OBJECT IDENTIFIER ::= { hpRouter 35 } +hpAMSR3010DC OBJECT IDENTIFIER ::= { hpRouter 36 } +hpAMSR3016POE OBJECT IDENTIFIER ::= { hpRouter 37 } +hpAMSR3020AS OBJECT IDENTIFIER ::= { hpRouter 38 } +hpAMSR3020POE OBJECT IDENTIFIER ::= { hpRouter 39 } +hpAMSR3020DC OBJECT IDENTIFIER ::= { hpRouter 40 } +hpAMSR3040AS OBJECT IDENTIFIER ::= { hpRouter 41 } +hpAMSR3040POE OBJECT IDENTIFIER ::= { hpRouter 42 } +hpAMSR3040DC OBJECT IDENTIFIER ::= { hpRouter 43 } +hpAMSR3060AS OBJECT IDENTIFIER ::= { hpRouter 44 } +hpAMSR3060POE OBJECT IDENTIFIER ::= { hpRouter 45 } +hpAMSR3060DC OBJECT IDENTIFIER ::= { hpRouter 46 } +hpAMSR5040DC OBJECT IDENTIFIER ::= { hpRouter 47 } +hpAMSR5060DC OBJECT IDENTIFIER ::= { hpRouter 48 } +hpA8805 OBJECT IDENTIFIER ::= { hpRouter 49 } +hpA8808 OBJECT IDENTIFIER ::= { hpRouter 50 } +hpA8812 OBJECT IDENTIFIER ::= { hpRouter 51 } +hpAOAPFICV2 OBJECT IDENTIFIER ::= { hpRouter 52 } +hpAOAPMIMV2 OBJECT IDENTIFIER ::= { hpRouter 53 } +hpAOAPSMIMV2 OBJECT IDENTIFIER ::= { hpRouter 54 } +hpMSR2003AC OBJECT IDENTIFIER ::= { hpRouter 55 } +hpMSR3012AC OBJECT IDENTIFIER ::= { hpRouter 56 } +hpMSR3012DC OBJECT IDENTIFIER ::= { hpRouter 57 } +hpMSR3024AC OBJECT IDENTIFIER ::= { hpRouter 58 } +hpMSR3024DC OBJECT IDENTIFIER ::= { hpRouter 59 } +hpMSR3024POE OBJECT IDENTIFIER ::= { hpRouter 60 } +hpMSR3044 OBJECT IDENTIFIER ::= { hpRouter 61 } +hpMSR3064 OBJECT IDENTIFIER ::= { hpRouter 62 } +hpMSR4060 OBJECT IDENTIFIER ::= { hpRouter 63 } +hpMSR4080 OBJECT IDENTIFIER ::= { hpRouter 64 } +hpHSR6602G OBJECT IDENTIFIER ::= { hpRouter 65 } +hpHSR6602XG OBJECT IDENTIFIER ::= { hpRouter 66 } +hpHSR6802 OBJECT IDENTIFIER ::= { hpRouter 67 } +hpHSR6804 OBJECT IDENTIFIER ::= { hpRouter 68 } +hpHSR6808 OBJECT IDENTIFIER ::= { hpRouter 69 } +hpMSR930 OBJECT IDENTIFIER ::= { hpRouter 70 } +hpMSR930G OBJECT IDENTIFIER ::= { hpRouter 71 } +hpMSR931 OBJECT IDENTIFIER ::= { hpRouter 72 } +hpMSR931G OBJECT IDENTIFIER ::= { hpRouter 73 } +hpMSR931GG OBJECT IDENTIFIER ::= { hpRouter 74 } +hpMSR930W OBJECT IDENTIFIER ::= { hpRouter 75 } +hpMSR9304GLTEV OBJECT IDENTIFIER ::= { hpRouter 76 } +hpMSR933 OBJECT IDENTIFIER ::= { hpRouter 77 } +hpMSR933G OBJECT IDENTIFIER ::= { hpRouter 78 } +hpMSR935 OBJECT IDENTIFIER ::= { hpRouter 79 } +hpMSR935W OBJECT IDENTIFIER ::= { hpRouter 80 } +hpMSR935G OBJECT IDENTIFIER ::= { hpRouter 81 } +hpMSR936W OBJECT IDENTIFIER ::= { hpRouter 82 } +hpMSR9304GLTEG OBJECT IDENTIFIER ::= { hpRouter 83 } +hpMSR930LE OBJECT IDENTIFIER ::= { hpRouter 84 } +hpMSR930GLE OBJECT IDENTIFIER ::= { hpRouter 85 } +hpMSR931LE OBJECT IDENTIFIER ::= { hpRouter 86 } +hpMSR931GLE OBJECT IDENTIFIER ::= { hpRouter 87 } +hpMSR931DGLE OBJECT IDENTIFIER ::= { hpRouter 88 } +hpMSR930WLE OBJECT IDENTIFIER ::= { hpRouter 89 } +hpMSR9304GLTEA OBJECT IDENTIFIER ::= { hpRouter 90 } +hpMSR933GLE OBJECT IDENTIFIER ::= { hpRouter 91 } +hpMSR935LE OBJECT IDENTIFIER ::= { hpRouter 92 } +hpMSR935WLE OBJECT IDENTIFIER ::= { hpRouter 93 } +hpMSR935GLE OBJECT IDENTIFIER ::= { hpRouter 94 } +hpMSR9304GLTEGLE OBJECT IDENTIFIER ::= { hpRouter 95 } +hpVSR OBJECT IDENTIFIER ::= { hpRouter 96 } +hpVSR1001 OBJECT IDENTIFIER ::= { hpRouter 97 } +hpVSR1004 OBJECT IDENTIFIER ::= { hpRouter 98 } +hpVSR1008 OBJECT IDENTIFIER ::= { hpRouter 99 } +hpMSR10038 OBJECT IDENTIFIER ::= { hpRouter 100 } +hpMSR100414 OBJECT IDENTIFIER ::= { hpRouter 101 } +hpVSR1000 OBJECT IDENTIFIER ::= { hpRouter 102 } +hpMSR200424 OBJECT IDENTIFIER ::= { hpRouter 103 } +hpMSR200448 OBJECT IDENTIFIER ::= { hpRouter 104 } +hpHSR6602GTAA OBJECT IDENTIFIER ::= { hpRouter 105 } +hpHSR6602XGTAA OBJECT IDENTIFIER ::= { hpRouter 106 } +hpMSR10024 OBJECT IDENTIFIER ::= { hpRouter 107 } +hpNSC1000 OBJECT IDENTIFIER ::= { hpRouter 108 } +hpMSR930WNA OBJECT IDENTIFIER ::= { hpRouter 109 } +hpMSR935WNA OBJECT IDENTIFIER ::= { hpRouter 110 } +hpMSR2003TAA OBJECT IDENTIFIER ::= { hpRouter 111 } +hpMSR3024TAA OBJECT IDENTIFIER ::= { hpRouter 112 } +hpMSR3044TAA OBJECT IDENTIFIER ::= { hpRouter 113 } +hpMSR935TI OBJECT IDENTIFIER ::= { hpRouter 114 } +hpMSR933TI OBJECT IDENTIFIER ::= { hpRouter 115 } +hpMSR931TI OBJECT IDENTIFIER ::= { hpRouter 116 } +hpMSR10038S OBJECT IDENTIFIER ::= { hpRouter 117 } +hpMSR932 OBJECT IDENTIFIER ::= { hpRouter 118 } +hpMSR932W OBJECT IDENTIFIER ::= { hpRouter 119 } +hpMSR932WNA OBJECT IDENTIFIER ::= { hpRouter 120 } +hpMSR9328 OBJECT IDENTIFIER ::= { hpRouter 121 } +hpMSR9328W OBJECT IDENTIFIER ::= { hpRouter 122 } +hpMSR9328WNA OBJECT IDENTIFIER ::= { hpRouter 123 } +hpVBRAS1000 OBJECT IDENTIFIER ::= { hpRouter 124 } +hpHSR6802E OBJECT IDENTIFIER ::= { hpRouter 125 } +hpHSR6804E OBJECT IDENTIFIER ::= { hpRouter 126 } +hpHSR6808E OBJECT IDENTIFIER ::= { hpRouter 127 } +hpMSR93204GLTEGV2 OBJECT IDENTIFIER ::= { hpRouter 128 } +hpMSR93204GLTEAVS OBJECT IDENTIFIER ::= { hpRouter 129 } +hpMSR954 OBJECT IDENTIFIER ::= { hpRouter 130 } +hpMSR954W OBJECT IDENTIFIER ::= { hpRouter 131 } +hpMSR954WLTEAM OBJECT IDENTIFIER ::= { hpRouter 132 } +hpMSR954WLTE OBJECT IDENTIFIER ::= { hpRouter 133 } +hpMSR958 OBJECT IDENTIFIER ::= { hpRouter 134 } +hpMSR958POE OBJECT IDENTIFIER ::= { hpRouter 135 } + +-- begin hpWireless +hpAWA2610EAGNFAT OBJECT IDENTIFIER ::= { hpWireless 1 } +hpAWA2620EAGNFAT OBJECT IDENTIFIER ::= { hpWireless 2 } +hpAWA2620AGNFAT OBJECT IDENTIFIER ::= { hpWireless 3 } +hpA7500LSQM3WCMB0 OBJECT IDENTIFIER ::= { hpWireless 4 } +hpA9500LSRM2WCM2A1 OBJECT IDENTIFIER ::= { hpWireless 5 } +hpA5800LSWM2WCM10 OBJECT IDENTIFIER ::= { hpWireless 6 } +hpA5800LSWM2WCM20 OBJECT IDENTIFIER ::= { hpWireless 7 } +hpAWX5004EWPXZ65004 OBJECT IDENTIFIER ::= { hpWireless 8 } +hpAWX5002EWPXZ75002 OBJECT IDENTIFIER ::= { hpWireless 9 } +hpA3000E OBJECT IDENTIFIER ::= { hpWireless 10 } +hpA3000ELSW OBJECT IDENTIFIER ::= { hpWireless 11 } +hpAWA3620AGN OBJECT IDENTIFIER ::= { hpWireless 12 } +hpAWA3622AGN OBJECT IDENTIFIER ::= { hpWireless 13 } +hpAWA3610GN OBJECT IDENTIFIER ::= { hpWireless 14 } +hpAWA2620XAGN OBJECT IDENTIFIER ::= { hpWireless 15 } +hpLSU3WCMD0 OBJECT IDENTIFIER ::= { hpWireless 16 } +hpWX3024EWCM OBJECT IDENTIFIER ::= { hpWireless 17 } +hpWX3024ELSW OBJECT IDENTIFIER ::= { hpWireless 18 } +hpWX3010EWCM OBJECT IDENTIFIER ::= { hpWireless 19 } +hpWX3010ELSW OBJECT IDENTIFIER ::= { hpWireless 20 } +hpLSU3WCMD0TAA OBJECT IDENTIFIER ::= { hpWireless 21 } +hpWX3024ETAAWCM OBJECT IDENTIFIER ::= { hpWireless 22 } +hpWX3024ETAALSW OBJECT IDENTIFIER ::= { hpWireless 23 } +hpWX3010ETAAWCM OBJECT IDENTIFIER ::= { hpWireless 24 } +hpWX3010ETAALSW OBJECT IDENTIFIER ::= { hpWireless 25 } + + +-- begin hpSecurity +hpSecBladeIMFWII OBJECT IDENTIFIER ::= { hpSecurity 1 } +hpSecBladeIMSSL OBJECT IDENTIFIER ::= { hpSecurity 2 } +hpSecBladeIMLB OBJECT IDENTIFIER ::= { hpSecurity 3 } +hpSecBladeLSQ1FWBSC0 OBJECT IDENTIFIER ::= { hpSecurity 4 } +hpSecBladeLSQM1LBC0 OBJECT IDENTIFIER ::= { hpSecurity 5 } +hpSecBladeLSQ1NSMSC0 OBJECT IDENTIFIER ::= { hpSecurity 6 } +hpSecBladeLSR1FW2A1 OBJECT IDENTIFIER ::= { hpSecurity 7 } +hpSecBladeLSR1LB1A1 OBJECT IDENTIFIER ::= { hpSecurity 8 } +hpSecBladeLSR1NSM1A1 OBJECT IDENTIFIER ::= { hpSecurity 9 } +hpSecBladeLST1FW2A1 OBJECT IDENTIFIER ::= { hpSecurity 10 } +hpSecBladeLST1LB1A1 OBJECT IDENTIFIER ::= { hpSecurity 11 } +hpSecBladeLST1NSM1A1 OBJECT IDENTIFIER ::= { hpSecurity 12 } +hpSecBladeLSWM1FW10 OBJECT IDENTIFIER ::= { hpSecurity 13 } +hpSecBladeSPEFWM200 OBJECT IDENTIFIER ::= { hpSecurity 14 } +hpAF5000 OBJECT IDENTIFIER ::= { hpSecurity 15 } +hpAF1000E OBJECT IDENTIFIER ::= { hpSecurity 16 } +hpAU200S OBJECT IDENTIFIER ::= { hpSecurity 17 } +hpAU200A OBJECT IDENTIFIER ::= { hpSecurity 18 } +hpAF1000SEI OBJECT IDENTIFIER ::= { hpSecurity 19 } +hpAF1000AEI OBJECT IDENTIFIER ::= { hpSecurity 20 } +hpSecBladeLST1FW3A1 OBJECT IDENTIFIER ::= { hpSecurity 21 } +hpSecBladeLSU1FWCEA0 OBJECT IDENTIFIER ::= { hpSecurity 22 } +hpF5000C OBJECT IDENTIFIER ::= { hpSecurity 23 } +hpF5000S OBJECT IDENTIFIER ::= { hpSecurity 24 } +hpVFW1000 OBJECT IDENTIFIER ::= { hpSecurity 25 } +hpSecBladeLSX1FWCEA1 OBJECT IDENTIFIER ::= { hpSecurity 26 } +hpVMSGVLB1000 OBJECT IDENTIFIER ::= { hpSecurity 27 } +hpSecBlade3Context OBJECT IDENTIFIER ::= { hpSecurity 28 } + +END From 7a0895731a3067a0fc81953798f954569df6cf53 Mon Sep 17 00:00:00 2001 From: Rosiak Date: Tue, 26 Jul 2016 20:42:02 +0200 Subject: [PATCH 29/31] Small change --- includes/discovery/sensors/temperatures/comware.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/discovery/sensors/temperatures/comware.inc.php b/includes/discovery/sensors/temperatures/comware.inc.php index eb802ddf6a..7ab10688da 100644 --- a/includes/discovery/sensors/temperatures/comware.inc.php +++ b/includes/discovery/sensors/temperatures/comware.inc.php @@ -12,7 +12,7 @@ if ($device['os'] == 'comware') { - $entphydata = dbFetchRows("SELECT `entPhysicalIndex`, `entPhysicalDescr` FROM `entPhysical` WHERE `device_id` = ? AND `entPhysicalDescr` REGEXP 'MODULE|SENSOR' ORDER BY `entPhysicalIndex`", array( + $entphydata = dbFetchRows("SELECT `entPhysicalIndex`, `entPhysicalClass`, `entPhysicalName` FROM `entPhysical` WHERE `device_id` = ? AND `entPhysicalClass` REGEXP 'module|sensor' ORDER BY `entPhysicalIndex`", array( $device['device_id'] )); $tempdata = snmpwalk_cache_multi_oid($device, 'hh3cEntityExtTemperature', array(), 'HH3C-ENTITY-EXT-MIB'); From 705b0a7aa8139ca5ca41fa0b39153db784242b0f Mon Sep 17 00:00:00 2001 From: Rosiak Date: Tue, 26 Jul 2016 21:17:08 +0200 Subject: [PATCH 30/31] Move SNMP query --- includes/discovery/sensors/temperatures/comware.inc.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/includes/discovery/sensors/temperatures/comware.inc.php b/includes/discovery/sensors/temperatures/comware.inc.php index 7ab10688da..8cf63755b9 100644 --- a/includes/discovery/sensors/temperatures/comware.inc.php +++ b/includes/discovery/sensors/temperatures/comware.inc.php @@ -15,9 +15,11 @@ if ($device['os'] == 'comware') { $entphydata = dbFetchRows("SELECT `entPhysicalIndex`, `entPhysicalClass`, `entPhysicalName` FROM `entPhysical` WHERE `device_id` = ? AND `entPhysicalClass` REGEXP 'module|sensor' ORDER BY `entPhysicalIndex`", array( $device['device_id'] )); - $tempdata = snmpwalk_cache_multi_oid($device, 'hh3cEntityExtTemperature', array(), 'HH3C-ENTITY-EXT-MIB'); if (!empty($entphydata)) { + + $tempdata = snmpwalk_cache_multi_oid($device, 'hh3cEntityExtTemperature', array(), 'HH3C-ENTITY-EXT-MIB'); + foreach ($entphydata as $index) { foreach ($tempdata as $tempindex => $value) { if ($index['entPhysicalIndex'] == $tempindex) { From 8b03e7db056a8f50a066565e5ecb2b33ddded023 Mon Sep 17 00:00:00 2001 From: Rosiak Date: Tue, 26 Jul 2016 22:12:39 +0200 Subject: [PATCH 31/31] Use right descr --- includes/discovery/sensors/temperatures/comware.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/discovery/sensors/temperatures/comware.inc.php b/includes/discovery/sensors/temperatures/comware.inc.php index 8cf63755b9..eb107cc0f6 100644 --- a/includes/discovery/sensors/temperatures/comware.inc.php +++ b/includes/discovery/sensors/temperatures/comware.inc.php @@ -24,7 +24,7 @@ if ($device['os'] == 'comware') { foreach ($tempdata as $tempindex => $value) { if ($index['entPhysicalIndex'] == $tempindex) { $cur_oid = '.1.3.6.1.4.1.25506.2.6.1.1.1.1.12.'; - discover_sensor($valid['sensor'], 'temperature', $device, $cur_oid . $tempindex, $tempindex, 'comware', $index['entPhysicalDescr'], '1', '1', null, null, null, null, $value['hh3cEntityExtTemperature'], 'snmp', $index); + discover_sensor($valid['sensor'], 'temperature', $device, $cur_oid . $tempindex, $tempindex, 'comware', $index['entPhysicalName'], '1', '1', null, null, null, null, $value['hh3cEntityExtTemperature'], 'snmp', $index); } }