From 4c4b96ae234e4fc5b3f6e96b8bb655ed5ce59001 Mon Sep 17 00:00:00 2001 From: xxconn Date: Tue, 12 Aug 2025 13:40:33 +0800 Subject: [PATCH 1/4] Update mactrack_cisco.php Skip the rest process without vlan_name and vlan_trunkstatus information. --- lib/mactrack_cisco.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/mactrack_cisco.php b/lib/mactrack_cisco.php index 83e23a06..4f4f7f36 100644 --- a/lib/mactrack_cisco.php +++ b/lib/mactrack_cisco.php @@ -298,6 +298,16 @@ function get_IOS_dot1dTpFdbEntry_ports($site, &$device, $lowPort = 0, $highPort $vlan_names = xform_standard_indexed_data('.1.3.6.1.4.1.9.9.46.1.3.1.1.4', $device); $vlan_trunkstatus = xform_standard_indexed_data('.1.3.6.1.4.1.9.9.46.1.6.1.1.14', $device); + if (sizeof($vlan_names) == 0) { + cacti_log('No VLANs Name found: ' . $device['device_name']); + return $device; + } + + if (sizeof($vlan_trunkstatus) == 0) { + cacti_log('No VLANs Trunk Status found: ' . $device['device_name']); + return $device; + } + $device['vlans_total'] = cacti_sizeof($vlan_ids) - 4; mactrack_debug('There are ' . (cacti_sizeof($vlan_ids)-4) . ' VLANS.'); From 9b20d012aeb1b53cd2843458a899ee19876bd891 Mon Sep 17 00:00:00 2001 From: xxconn Date: Tue, 12 Aug 2025 13:49:26 +0800 Subject: [PATCH 2/4] Update mactrack_cisco.php Add ifType's description --- lib/mactrack_cisco.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/mactrack_cisco.php b/lib/mactrack_cisco.php index 4f4f7f36..168e9068 100644 --- a/lib/mactrack_cisco.php +++ b/lib/mactrack_cisco.php @@ -505,6 +505,10 @@ function get_IOS_dot1dTpFdbEntry_ports($site, &$device, $lowPort = 0, $highPort $portTrunkStatus = (isset($ifInterfaces[$ifIndex]['trunkPortState']) ? $ifInterfaces[$ifIndex]['trunkPortState'] : ''); /* only output legitimate end user ports */ + /* ifType: 6 = ethernetCsmacd + 53 = propVirtual + 161 = ieee8023adLag + */ if ($ifType == 6 || $ifType == 53 || $ifType == 161) { if (($portTrunkStatus == '2') || (empty($portTrunkStatus)) || From 3a95c145bc70e6d420b03b9e4072f97d780e5f04 Mon Sep 17 00:00:00 2001 From: xxconn Date: Tue, 12 Aug 2025 15:33:10 +0800 Subject: [PATCH 3/4] Update mactrack_functions.php Add ifType 53 (vlan) and 161 (port-channel) --- lib/mactrack_functions.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/mactrack_functions.php b/lib/mactrack_functions.php index 394d390a..80dc9dd2 100644 --- a/lib/mactrack_functions.php +++ b/lib/mactrack_functions.php @@ -1344,8 +1344,8 @@ function get_base_dot1dTpFdbEntry_ports($site, &$device, &$ifInterfaces, $snmp_r $brPortIfType = @$ifInterfaces[$port_key['port_number']]['ifType']; } - if (($brPortIfType >= 6) && - ($brPortIfType <= 9) && + if (($brPortIfType >= 6 && $brPortIfType <= 9) || + $brPortIfType == 53 || $brPortIfType == 161) && (!isset($ifInterfaces[$brPortIfIndex]['portLink']))) { /* set some defaults */ $new_port_key_array[$i]['vlan_id'] = 'N/A'; From 41c2ed5ca89f96e010b0aa9e6917e928a07e4d2d Mon Sep 17 00:00:00 2001 From: xxconn Date: Tue, 12 Aug 2025 15:42:45 +0800 Subject: [PATCH 4/4] Update mactrack_functions.php Add sysDescr for FortiGate --- lib/mactrack_functions.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/mactrack_functions.php b/lib/mactrack_functions.php index 80dc9dd2..04185942 100644 --- a/lib/mactrack_functions.php +++ b/lib/mactrack_functions.php @@ -262,6 +262,16 @@ function valid_snmp_device(&$device) { $device['snmp_priv_protocol'], $device['snmp_context'], $device['snmp_port'], $device['snmp_timeout'], $device['snmp_retries']); + // FortiGate + if ($snmp_sysDescr == '') { + $snmp_sysDescr = @cacti_snmp_get($device['hostname'], $device['snmp_readstring'], + '.1.3.6.1.2.1.47.1.2.1.1.2.1', $device['snmp_version'], + $device['snmp_username'], $device['snmp_password'], + $device['snmp_auth_protocol'], $device['snmp_priv_passphrase'], + $device['snmp_priv_protocol'], $device['snmp_context'], + $device['snmp_port'], $device['snmp_timeout'], $device['snmp_retries']); + } + if ($snmp_sysDescr != '') { $snmp_sysDescr = trim(strtr($snmp_sysDescr,'"',' ')); $device['snmp_sysDescr'] = $snmp_sysDescr;