Commit Graph

137 Commits

Author SHA1 Message Date
Ian Gulliver 2fa2fcd57d add dante device discovery via mdns and ptp clock master detection
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 00:24:36 -08:00
Ian Gulliver 536c2d3dc9 add mdns hostname discovery and artnet universe tracking
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:59:32 -08:00
Ian Gulliver 7bced7b350 add igmp querier for multicast group membership tracking
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:46:56 -08:00
Ian Gulliver 395180493a add link detection via mac table path following
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:29:22 -08:00
Ian Gulliver c3ed8e30e3 refactor to per-node snmp polling and immediate arp dump
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:09:54 -08:00
Ian Gulliver d2a09250d0 add switch-wide poe budget tracking via snmp
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 22:56:47 -08:00
Ian Gulliver 5333d3e11e add interface stats and poe power monitoring via snmp
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 22:47:30 -08:00
Ian Gulliver 54fc941728 add per-node mac table populated from snmp and arp
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 14:54:06 -08:00
Ian Gulliver 2262e8d3bf merge nodes when update discovers mac belongs to different node
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 14:47:46 -08:00
Ian Gulliver 9bcda6b96c add target node parameter to Update and SIGUSR1 dump handler
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 14:44:15 -08:00
Ian Gulliver 8cb605b817 merge snmp-discovered interfaces with existing node found by ip
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 14:23:21 -08:00
Ian Gulliver 6d50ee30aa deduplicate interfaces by mac during update and merge
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 14:12:14 -08:00
Ian Gulliver 5e1ba33cb4 use natural sort order for interface names
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 14:05:33 -08:00
Ian Gulliver 92299f5efc key interfaces by name when available and normalize port names
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 14:00:51 -08:00
Ian Gulliver 37b30fe788 add --log-nodes flag for comprehensive node logging
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 08:37:13 -08:00
Ian Gulliver 09a99064c3 restructure nodes to have interfaces with name, mac, and ips
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 08:28:57 -08:00
Ian Gulliver e3bed567ab rename log-reasons to log-events with structured prefixes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 08:17:45 -08:00
Ian Gulliver 545a448bca remove parentid and tree logging machinery
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 08:15:27 -08:00
Ian Gulliver b2271d139b discover switch interface macs via snmp ifPhysAddress 2026-01-17 21:21:57 -08:00
Ian Gulliver e92a09e119 add debug flags for arp, lldp, and snmp discovery 2026-01-17 21:12:21 -08:00
Ian Gulliver 3c8afa9bdf add flags for disabling discovery and controlling logging 2026-01-17 21:02:30 -08:00
Ian Gulliver 477b6e9c99 add -i flag to filter by single interface 2026-01-17 20:54:58 -08:00
Ian Gulliver 0d36c21db2 add node names from hostname, lldp, and snmp
populate local node name from hostname. extract system name from lldp packets and snmp sysname oid. call logtree after node merges.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 22:27:31 -08:00
Ian Gulliver ebfe18f84c remove unused snmp queries
remove queryARPTable (returns no data) and switch directly to q-bridge-mib (bridge-mib returns no data).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 22:19:05 -08:00
Ian Gulliver 75bbf4b0a4 fix local address population and snmp reverse port discovery
populate root node with local macs/ips at startup, excluding loopback addresses and permanent arp entries. detect when snmp finds parent node mac in child forwarding table and set child localport.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 22:13:25 -08:00
Ian Gulliver 5db9e437b4 update port info on existing nodes 2025-11-29 21:59:47 -08:00
Ian Gulliver f4972b2b50 add snmpv3 topology discovery with q-bridge support 2025-11-29 21:56:45 -08:00
Ian Gulliver c780fba93c add snmpv3 support 2025-11-29 21:16:58 -08:00
Ian Gulliver bf3cb600ad Remove unused arp library 2025-11-29 21:10:22 -08:00
Ian Gulliver e29e88b598 filter multicast macs 2025-11-29 21:08:32 -08:00
Ian Gulliver c215800b17 Refactor to tree-based topology with ASCII visualization 2025-11-29 20:53:29 -08:00
Ian Gulliver 5dbdc0a408 Add neighbor tracking system with LLDP integration 2025-11-29 20:36:45 -08:00
Ian Gulliver b85925f644 Split LLDP code into separate file and refactor interface tracking 2025-11-28 15:44:28 -08:00
Ian Gulliver 1073d0a267 Add LLDP packet capture and logging 2025-11-28 15:28:47 -08:00
Ian Gulliver 095a70b311 Metadata 2025-11-28 15:18:41 -08:00
Ian Gulliver 1739b7fb87 Add network interface discovery and monitoring 2025-11-28 15:18:22 -08:00
Ian Gulliver 1374351472 Initial commit 2025-11-21 17:51:07 -08:00