Преглед изворни кода

fix vlan information at device port

Roman Dmitriev пре 2 година
родитељ
комит
da86aa7469
3 измењених фајлова са 6 додато и 6 уклоњено
  1. 1 1
      html/admin/devices/switchstatus.php
  2. 3 3
      html/inc/common.php
  3. 2 2
      scripts/Rstat/snmp.pm

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

@@ -156,7 +156,7 @@ if ($device['snmp_version']>0) {
         $ifname= $row['ifName'];
 
         if ($snmp_ok) {
-            $vlan = get_port_vlan($device['vendor_id'], $row['port'], $row['snmp_index'], $device['ip'], $device['community'], $device['snmp_version']);
+            $vlan = get_port_vlan($device['vendor_id'], $row['snmp_index'], $device['ip'], $device['community'], $device['snmp_version']);
             $ifname = get_snmp_ifname1($device['ip'], $device['community'], $device['snmp_version'], $row['snmp_index']);
             if (empty($ifname)) { $ifname = get_snmp_ifname2($device['ip'], $device['community'], $device['snmp_version'], $row['snmp_index']); }
             $sfp_status = get_sfp_status($device['vendor_id'], $row['snmp_index'], $device['ip'], $device['community'], $device['snmp_version'], $modules_oids);

+ 3 - 3
html/inc/common.php

@@ -2122,9 +2122,9 @@ function get_sfp_status($vendor_id, $port, $ip, $community, $version, $modules_o
     return;
 }
 
-function get_port_vlan($vendor, $port, $port_index, $ip, $community, $version)
+function get_port_vlan($vendor, $port_index, $ip, $community, $version)
 {
-    if (! isset($port)) {
+    if (! isset($port_index)) {
         return;
     }
     if (! isset($ip)) {
@@ -2137,7 +2137,7 @@ function get_port_vlan($vendor, $port, $port_index, $ip, $community, $version)
         $version = '2';
     }
 
-    if ($vendor == 69) { $port_oid = TPLINK_VLAN_PVID . "." . $port; } else { $port_oid = PORT_VLAN_OID . "." . $port; }
+    if ($vendor == 69) { $port_oid = TPLINK_VLAN_PVID . "." . $port_index; } else { $port_oid = PORT_VLAN_OID . "." . $port_index; }
 
     $port_vlan = get_snmp($ip, $community, $version, $port_oid);
     $port_vlan = preg_replace('/.*\:/','',$port_vlan);

+ 2 - 2
scripts/Rstat/snmp.pm

@@ -194,8 +194,8 @@ if ($index_map_table) {
     }
 
 if (!$ifmib_map) {
-    my $index_table =  snmp_get_oid($ip, $community, $if_index, $version);
-    if (!$index_table) { $index_map_table =  snmp_walk_oid($ip, $community, $if_index, $version); }
+    my $index_table =  snmp_get_oid($ip, $community, $ifIndex, $version);
+    if (!$index_table) { $index_map_table =  snmp_walk_oid($ip, $community, $ifIndex, $version); }
     foreach my $row (keys(%$index_table)) {
 	    my $port_index = $index_table->{$row};
 	    next if (!$port_index);