Просмотр исходного кода

added timeout and replay parameters to the web interface configuration

Roman Dmitriev 3 лет назад
Родитель
Сommit
45ccc1c466
3 измененных файлов с 16 добавлено и 11 удалено
  1. 2 2
      html/admin/devices/switchstatus.php
  2. 5 0
      html/cfg/config.sample.php
  3. 9 9
      html/inc/common.php

+ 2 - 2
html/admin/devices/switchstatus.php

@@ -91,10 +91,10 @@ if ($device['snmp_version']>0) {
     $modules_oids = NULL;
     if ($snmp_ok) {
             if ($device['snmp_version'] == 2) {
-	        $modules_oids = snmp2_real_walk($device['ip'], $device['community'], CISCO_MODULES);
+	        $modules_oids = snmp2_real_walk($device['ip'], $device['community'], CISCO_MODULES, SNMP_timeout, SNMP_retry);
 	        }
             if ($device['snmp_version'] == 1) {
-	        $modules_oids = snmprealwalk($device['ip'], $device['community'], CISCO_MODULES);
+	        $modules_oids = snmprealwalk($device['ip'], $device['community'], CISCO_MODULES, SNMP_timeout, SNMP_retry);
 	        }
 	    }
     } else { $snmp_ok = 0; }

+ 5 - 0
html/cfg/config.sample.php

@@ -21,4 +21,9 @@ define("CACTI_DB_PASS","");
 
 define("IPCAM_GROUP_ID","5");
 
+#snmp timeout in microsecond
+define("SNMP_timeout","500000");
+#snmp retry after timeout
+define("SNMP_retry","1");
+
 ?>

+ 9 - 9
html/inc/common.php

@@ -2021,10 +2021,10 @@ function walk_snmp($ip, $community, $version, $oid)
     snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC);
 
     if ($version == 2) {
-        $result = snmp2_real_walk($ip, $community, $oid);
+        $result = snmp2_real_walk($ip, $community, $oid, SNMP_timeout, SNMP_retry);
     }
     if ($version == 1) {
-        $result = snmprealwalk($ip, $community, $oid);
+        $result = snmprealwalk($ip, $community, $oid, SNMP_timeout, SNMP_retry);
     }
     return $result;
 }
@@ -2174,10 +2174,10 @@ function get_sfp_status($vendor_id, $port, $ip, $community, $version, $modules_o
                 $module_id = get_last_digit($key);
                 unset($result);
                 $result = parse_snmp_value(get_snmp($ip, $community, $version, HUAWEI_SFP_VENDOR . "." . $module_id));
-                if (isset($result)) { $sfp_vendor = $result; }
+                if (!empty($result)) { $sfp_vendor = $result; }
                 unset($result);
                 $result = parse_snmp_value(get_snmp($ip, $community, $version, HUAWEI_SFP_SPEED . "." . $module_id));
-                if (isset($result)) {
+                if (!empty($result)) {
                     list ($sfp_speed, $spf_lenght, $sfp_type) = explode('-', $result);
                     if ($sfp_type == 0) { $sfp_type = 'MultiMode'; }
                     if ($sfp_type == 1) { $sfp_type = 'SingleMode'; }
@@ -2471,10 +2471,10 @@ function get_snmp($ip, $community, $version, $oid)
 {
     snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC);
     if ($version == 2) {
-        $result = snmp2_get($ip, $community, $oid);
+        $result = snmp2_get($ip, $community, $oid, SNMP_timeout, SNMP_retry);
     }
     if ($version == 1) {
-        $result = snmpget($ip, $community, $oid);
+        $result = snmpget($ip, $community, $oid, SNMP_timeout, SNMP_retry);
     }
     return $result;
 }
@@ -2482,10 +2482,10 @@ function get_snmp($ip, $community, $version, $oid)
 function set_snmp($ip, $community, $version, $oid, $field, $value)
 {
     if ($version == 2) {
-        $result = snmp2_set($ip, $community, $oid, $field, $value);
-    }
+        $result = snmp2_set($ip, $community, $oid, $field, $value, SNMP_timeout, SNMP_retry);
+    },
     if ($version == 1) {
-        $result = snmpset($ip, $community, $oid, $field, $value);
+        $result = snmpset($ip, $community, $oid, $field, $value, SNMP_timeout, SNMP_retry);
     }
     return $result;
 }