Vlan complications with fdb table

Firstly, here’s my validate.php output:

$ ./validate.php

Component Version
LibreNMS 22.5.0
DB Schema 2022_04_08_085504_isis_adjacencies_table_add_index (236)
PHP 7.4.28
Python 3.9.2
MySQL 10.5.15-MariaDB-0+deb11u1
RRDTool 1.7.2
SNMP 5.9


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

My question is more of an understanding of things below the hood as this issue is going to be a problem for us in the future, so I need to understand the issue in enough detail to work around it or through it.

Our business has about 1000 devices on a network, with all of the network infrastructure being Cisco switches. We have a lot of vlans, and we’re going to be constantly adding, removing, and changing vlan ports as a regular course of business. We will also be adding/deleting vlans themselves in a semi-regular basis. However, I need LibreNMS to be able to handle this monitoring and most importantly, I need to be able to do fdb searches and find the port that the mac address is/was on last.

For the Cisco switches, we use these config line to make it work (tested on a single switch to verify this works).

snmp-server group GrpMonitoring v3 priv
snmp-server group GrpMonitoring v3 auth context vlan- match prefix

Previously we were explicitly setting the vlans, but changed it since they’re going to be constantly being added and removed at the port level as well as the vlans themselves.

So I set this up on a switch and deleted/readded the switch. Within about 15 minutes I could search mac addresses in the fdb tables easily, and the little green star told people where the device was.

I then changed the config lines for all of our other switches (20 or so, all the same firmware and same model of switch) to see if deleting/readding the switch was “necessary”. This was all done last week, and I figured that would be enough time for things to settle down with the switches and LibreNMS.

Today the fdb doesn’t give the green stars for all the switches that were changed, so I tried doing a rediscover (both from the UI and from the CLI with “discovery.php -h switchXX.business” and it did it’s snmp walk and such. However 30 minutes later there was still no green star for the fdb entry.

I am now left with thinking that either I have to delete/readd every network switch (that’s what I did last time), or wait for some triggering event.

If I have to delete/readd every network switch, this could be a problem as we are going to be doing vlan changes almost daily on several switches (again, daily) so deleting/readding switches will really suck. So I’m hoping that some triggering event (maybe at midnight or something) can be manually triggered to get everything reupdated if we are in a hurry to get things updated in librenms. Maybe even setup a cronjob to run every 4 hours or something so that when things change the answer is “wait up to 4 hours and all will be fine”.

I can provide the output of discovery.php and/or poller.php, but I don’t think that’s where the problem is as I do have this working on 1 switch already. I’m just hoping there is a better answer than “delete and readd your switches every day”.


This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.