Ian Gulliver
451196f162
Filter out insane utilization from counter resets and log new utilization errors
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-01 17:05:06 -08:00
Ian Gulliver
32da723b2c
Clear MAC table on each SNMP poll and reduce ping threshold
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 13:20:20 -08:00
Ian Gulliver
5a7596b456
Add port flap and port down error tracking with faster ping
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 13:01:07 -08:00
Ian Gulliver
d1b4de01e8
Add shared_names config and port uptime tracking
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 12:06:59 -08:00
Ian Gulliver
5c4266f89c
Include multicast and broadcast packets in interface pps stats
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 07:35:49 -08:00
Ian Gulliver
99083ecde5
Refactor error tracking to be edge-triggered with node setters
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 23:06:26 -08:00
Ian Gulliver
a912d73169
Refactor node storage and use proper types for protocol data
...
- Rename TypeID to ID throughout
- Remove re-derivable data (MACTableSize, SACNInputs now derived)
- Use typed ArtNetUniverse and SACNUniverse with methods
- Store multicast groups with lastSeen tracking in structs
- Remove int indexes in Nodes, use direct node pointers
- Parse multicast groups into typed struct instead of strings
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 22:36:44 -08:00
Ian Gulliver
2af5ad51d7
Add link speed and utilization tracking to interface stats
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 12:16:44 -08:00
Ian Gulliver
7c978d28ac
Add per-interface packet and byte rate statistics
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 11:16:32 -08:00
Ian Gulliver
a96eb7db8c
Add port error tracking with UI display
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 18:43:23 -08:00
Ian Gulliver
cc3d84b97e
Query DHCP binding table from Netgear switches via SNMP
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 23:11:55 -08:00
Ian Gulliver
f02b25ca29
fix goroutine leak and reduce code duplication
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:28:58 -08:00
Ian Gulliver
7e8ec697ae
refactor codebase and fix bugs
...
- merge dante.go and dante_control.go into single dante.go
- consolidate buildDantePacket and buildDantePacket28 into one function
- fix broken comparison logic in SetDanteClockMaster
- split ARP parsing into platform-specific files with build tags
- implement Linux ARP table parsing via /proc/net/arp
- run gofmt on all files
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:21:51 -08:00
Ian Gulliver
528f58dca1
add yamaha speaker discovery via tcp:50000 and move pollNode to tendrils.go
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 22:21:35 -08:00
Ian Gulliver
3222e20e84
track multiple names per node
2026-01-23 13:11:38 -08:00
Ian Gulliver
47b48337b3
add dante subscription discovery via arc protocol
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 11:30:40 -08:00
Ian Gulliver
e73c591e34
add hyperdeck and videohub discovery via tcp probing
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 08:58:41 -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
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
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
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
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
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
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
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