Network Map w/ port-channels or multiple links

When looking at network maps, even when multiple links between devices are discovered through xDP, the map seems to only show a single connection. Would there be a way to show the various links between two devices instead of only one?

It would be even better if LibreNMS could show the EtherChannel or Port-Channel this rolls up into. It does not seem to be link-aggregation aware right now.

I wanted to confirm I’m not missing a config option first, and can convert this to a feature request after.

1 Like

I have seen the same issue with the Network Map.

@Charles_Gagnon have you played with the config options?
$config[‘network_map_vis_options’] = ‘{
“configure”: { “enabled”: true},
}’;

I did i couldnt find anything with the links…maybe you can?

Have you checked here https://github.com/almende/vis to see if this has been addressed? May need to add it as a feature request.

It could possibly already be addressed with the labels on the lines? I don’t have any port-channels so I can’t check.

1 Like

Not sure would have to play with the config.

Hi! Im having the same problem to view multiple links by xDP (port-channel, LAG,etc) i only see one link between devices. I have disable de ARP discovery.
Also cant see on network map LLDP neigbhobrs links if only one device is on the databese(need to discovery both) . I tried to use the old map and it works correctly “$config[‘gui’][‘network-map’][‘style’] = ‘old’;”
Could be something wrong with this lines at /opt/librenms/html/includes/print-map.inc.php? I tried to play with "$config[‘network_map_vis_options’] = " but nothing happens.

" // Ensure only one link exists between any two ports, or any two devices. it prints only one link
if (!array_key_exists($link_id1, $link_assoc_seen) &&
!array_key_exists($link_id2, $link_assoc_seen) &&
!array_key_exists($device_id1, $device_assoc_seen) &&
!array_key_exists($device_id2, $device_assoc_seen)) {
$local_port = cleanPort($local_port);
$remote_port = cleanPort($remote_port);
// $local_port = cleanPort($items[‘local_port_id’]);
//$remote_port = cleanPort($items[‘remote_port_id’]);
$links[] = array_merge(
array(
‘from’=>$items[‘local_device_id’],
"

This is my validate:
[email protected]:/opt/librenms# ./validate.php

Component Version
LibreNMS 1.55-52-g91ac7aff7
DB Schema 2019_09_05_153524_create_notifications_attribs_index (141)
PHP 7.2.22-1+0~20190902.26+debian9~1.gbpd64eb7
MySQL 10.1.41-MariaDB-0+deb9u1
RRDTool 1.6.0
SNMP NET-SNMP 5.7.3

====================================

[OK] Composer Version: 1.9.0
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct

Please let me know if you need other test or logs. And sorry for my english!
Regards!

Hello,
I have opened https://github.com/librenms/librenms/issues/10686

1 Like

Better to submit code changes as a Pull Request the git hub issues are only for new device requests.

Hi @louis!! Thank you very much!! I have edited the file print-map.inc.php applying your modifications, and it work perfect!!

I have another question, i´m still not seeing links to devices discovered by LLDP at one way only. Do you have an idea of what can be the wrong. Example:

Thanks, Regards

I wouldn’t edit the file it will break updates. I would got to git hub and add comment to the PR say it worked.

Hi Kevin! Thanks for the info, i will set the config to default, and wait for the update.

Thanks!!
Regards

@Markov
You can keep your modification but before upgrading, do “git reset --hard” in your librenms directory to revert your changes. Or else following message would prevent system from upgrading :

You are not currently on a branch. Please specify which
branch you want to merge with. See git-pull(1) for details.

    git pull <remote> <branch>

Please comment my pull request https://github.com/librenms/librenms/pull/10687

You told us which code part to edit. Was really appreciated. Thanks

Its seems that the remote device ending by “-05” has no hypertext link. It means librenms did not associate this name to any device in librenms. Make sure sysname configured in device match exactly the hostname in librenms.

Hi @louis @Kevin_Krumm! Sorry for the delay in answering
I have updated with ./daily.sh to “HEAD is now at 4c075a348… Bump version to 1.56” and are some change that has broken the map. Now its forming using all the interfaces between devices(subinterfaces and physical),and not only the learrned by XDP. Example:

image

So i rollback to te master Stable branch, edited the print-map.inc.php(with louis modifications), and the graphs start working fine again. So there are some other modification on daily updates that are affecting the map.

image

Thanks
Regards

@louis your change is not working I’m showing the same. I’m using lldp and cdp

@Kevin_Krumm i think you misundertood me, the changes of @louis are working fine( i have applied his modifications before i rollback to Stable branch, and the map it´s working with no issue, and showing port-channels)! There is another change made with the update that has broken the map.

Regards

Yes Louis changes are on the latest update. Not on the stable branch.

Yeah, arp is not pretty, perhaps we need different things when arp vs xdp discovery…

I have xdp on not using arp

I don’t have the issue on lastest update

My config is (not using arp)
$config[‘network_map_items’] = array(‘xdp’);

@Kevin_Krumm tell me how to reproduce the issue