FortiGate 600F (new product line), LibreNMS was correctly pulling BGP routing data, but after a firmware update on the FortiGate the routing module throws an error (below), even after putting the most recent FortiGate MIBs in /opt/librenms/mibs/fortinet/
Error from lnms poller:discovery:
#### Load disco module route ####
RFC1213 Error discovering route module for 192.168.25.136. TypeError: ip2long(): Argument #1 ($ip) must be of type string, array given in /opt/librenms/LibreNMS/Util/IPv4.php:74
Stack trace:
#0 /opt/librenms/LibreNMS/Util/IPv4.php(74): ip2long()
#1 /opt/librenms/includes/discovery/route.inc.php(87): LibreNMS\Util\IPv4::netmask2cidr()
#2 /opt/librenms/includes/discovery/functions.inc.php(172): include('...')
#3 /opt/librenms/discovery.php(108): discover_device()
#4 {main}
ip2long(): Argument #1 ($ip) must be of type string, array given {"exception":"[object] (TypeError(code: 0): ip2long(): Argument #1 ($ip) must be of type string, array given at /opt/librenms/LibreNMS/Util/IPv4.php:74)"}
>> Runtime for discovery module 'route': 0.8080 seconds with 680120 bytes
>> SNMP: [2/0.10s] MySQL: [7/4.43s] RRD: [0/0.00s]
#### Unload disco module route ####
Output of ./daily.sh and ./validate.php:
Updating to latest codebase OK
Updating Composer packages OK
Updated from d66e154bf to fb8c958b2 OK
Updating SQL-Schema OK
Updating submodules OK
Cleaning up DB OK
Fetching notifications OK
Caching PeeringDB data OK
===========================================
Component | Version
--------- | -------
LibreNMS | 25.3.0-20-gfb8c958b2 (2025-03-20T05:15:35-05:00)
DB Schema | 2025_03_11_031114_drop_ospfv3ifinstid (321)
PHP | 8.3.6
Python | 3.12.3
Database | MariaDB 10.11.8-MariaDB-0ubuntu0.24.04.1
RRDTool | 1.7.2
SNMP | 5.9.4.pre2
===========================================
[OK] Composer Version: 2.8.6
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database connection successful
[OK] Database Schema is current
[OK] SQL Server meets minimum requirements
[OK] lower_case_table_names is enabled
[OK] MySQL engine is optimal
[OK] Database and column collations are correct
[OK] Database schema correct
[OK] MySQL and PHP time match
[OK] Active pollers found
[OK] Dispatcher Service is enabled
[OK] Locks are functional
[OK] No python wrapper pollers found
[OK] Redis is unavailable
[WARN] IPv6 is disabled on your server, you will not be able to add IPv6 devices.
[OK] rrd_dir is writable
[OK] rrdtool version ok