" . format_mac($clean_mac), $device, "port", $port_id); dbUpdate(array('mac_address' => $clean_mac) , 'ip_mac', 'port_id = ? AND ip_address = ?', array($port_id, $ip)); echo("U"); } else { echo("."); } } else { $params = array( 'port_id' => $port_id, 'mac_address' => $clean_mac, 'ip_address' => $ip, 'ip_version' => $ip_version); dbInsert($params, 'ip_mac'); print_debug("Added MAC address ".format_mac($clean_mac)." for $ip"); //log_event("MAC added: $ip : " . format_mac($clean_mac), $device, "port", $port_id); echo("+"); } } } // Remove expired ARP/NDP entries $remove_mac_ids = array(); foreach ($cache_arp as $entry) { $entry_mac_id = $entry['mac_id']; $entry_mac = $entry['mac_address']; $entry_ip = $entry['ip_address']; $entry_version = $entry['ip_version']; $entry_if = $entry['ifIndex']; $entry_port_id = $interface[$entry_if]; if (!isset($mac_table[$entry_if][$entry_version][$entry_ip])) { $remove_mac_ids[] = $entry_mac_id; //dbDelete('ip_mac', 'mac_id = ?', array($entry_mac_id)); print_debug("Removed MAC address ".format_mac($entry_mac)." for $entry_ip"); //log_event("MAC removed: $entry_ip : " . format_mac($entry_mac), $device, "port", $entry['port_id']); echo("-"); } } if (count($remove_mac_ids)) { dbDelete('ip_mac', '1' . generate_query_values($remove_mac_ids, 'mac_id')); } echo(PHP_EOL); unset($interface, $remove_mac_ids); // EOF