diff --git a/html/includes/print-map.inc.php b/html/includes/print-map.inc.php index f5a9f1e88..0deb61806 100644 --- a/html/includes/print-map.inc.php +++ b/html/includes/print-map.inc.php @@ -35,7 +35,7 @@ if (is_admin() === false && is_read() === false) { $tmp_devices = array(); $tmp_ids = array(); $tmp_links = array(); - +$tmp_link_ids = array(); $ports = dbFetchRows("SELECT `D1`.`device_id` AS `local_device_id`, @@ -161,6 +161,10 @@ foreach ($list as $items) { } $link_color = $config['map_legend'][$link_used]; $tmp_links[] = array('from'=>$items['local_device_id'],'to'=>$items['remote_device_id'],'label'=>shorten_interface_type($items['local_ifname']) . ' > ' . shorten_interface_type($items['remote_ifname']),'title'=>generate_port_link($local_port, "",'',0,1),'width'=>$width,'color'=>$link_color); + if (!in_array($items['remote_port_id'],$tmp_link_ids)) { + $tmp_links[] = array('from'=>$items['local_device_id'],'to'=>$items['remote_device_id'],'label'=>shorten_interface_type($items['local_ifname']) . ' > ' . shorten_interface_type($items['remote_ifname']),'title'=>generate_port_link($local_port, "",'',0,1),'width'=>$width,'color'=>$link_color); + } + array_push($tmp_link_ids,$items['local_port_id']); } $node_devices = $tmp_devices; diff --git a/sql-schema/057.sql b/sql-schema/057.sql new file mode 100644 index 000000000..437bf0d17 --- /dev/null +++ b/sql-schema/057.sql @@ -0,0 +1,3 @@ +ALTER TABLE `ipv4_mac` CHANGE `mac_address` `mac_address` VARCHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , CHANGE `ipv4_address` `ipv4_address` VARCHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL +ALTER TABLE `ipv4_mac` ADD INDEX ( `port_id`), ADD INDEX (`mac_address` ) +ALTER TABLE `ipv4_mac` DROP INDEX `interface_id`, DROP INDEX `interface_id_2`