Hi @ollyg! Unfortunately I have found some issues with the code we finally released in #680: * get_port_macs expects an array ref but values() returns array, so the code was never called due to the return unless... check * When fw_mac_list had exactly two entries, only the second value was bound as a scalar to the parameter. This is probably due to the shorthand bind formats described in https://metacpan.org/pod/DBIx::Class::ResultSet#DBIC-BIND-VALUES, but I'm not a 100% on this. * return unless now checks for an entry in the list, with the old check the statement was also executed for empty lists In cases where only the device(_port)?.mac lookup worked for uplink detection, users of 02.044005 - 010 might get a lot of uplinks not labeled as such.
Netdisco is a web-based network management tool suitable for small to very large networks. IP and MAC address data is collected into a PostgreSQL database using SNMP, CLI, or device APIs. Some of the things you can do with Netdisco:
- Locate a machine on the network by MAC or IP and show the switch port it lives at
- Turn off a switch port, or change the VLAN or PoE status of a port
- Inventory your network hardware by model, vendor, software and operating system
- Pretty pictures of your network
See the demo at: https://netdisco2-demo.herokuapp.com/
Installation
Netdisco is written in Perl and is self-contained apart from the PostgreSQL database, so is very easy to install and runs well on any linux or unix system. We also have docker images if you prefer.
It includes a lightweight web server for the interface, a backend daemon to gather data from your network, and a command line interface for troubleshooting. There is a simple configuration file in YAML format.
Please check out the installation instructions on CPAN.
You can also speak to someone in the #netdisco@freenode IRC channel, or on the community email list.