Ian Gulliver
eff2635725
Add remove button for unreachable nodes not in config
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 11:18: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
bb22e16460
Add structured node config with names/macs/ips and avoid flag
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 09:52:51 -08:00
Ian Gulliver
b966ad0feb
Refactor Dante fields to use proper types and group flows with lastSeen
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 23:15:24 -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
ed9a0cd60d
Fix interface merging, error ordering, sACN client, and add charset headers
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 22:57:13 -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
fc5b36cd1c
Remove separate tracking structures and store protocol data directly on nodes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 22:15:54 -08:00
Ian Gulliver
7aac3c0559
Track sACN emitters and receivers with peer linking
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 21:27:35 -08:00
Ian Gulliver
85cfa6a9f4
Revert "Add missing node tracking for config-defined nodes"
...
This reverts commit 9ec193ef1d .
2026-01-28 08:42:12 -08:00
Ian Gulliver
9ec193ef1d
Add missing node tracking for config-defined nodes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 08:38:58 -08:00
Ian Gulliver
04e22b03cb
Track node reachability across all IPs, increase ping interval
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 21:03:15 -08:00
Ian Gulliver
c8be46b739
Add per-node ping monitoring with unreachable error tracking
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 18:56:12 -08:00
Ian Gulliver
a94f816f3d
Add SSE endpoint for real-time status updates
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 18:49:39 -08:00
Ian Gulliver
4c149ecdf7
Fix IP deduplication and filter link interfaces in JSON
2026-01-25 09:53:31 -08:00
Ian Gulliver
4123b49a98
Add broadcast pinging and fix node merging by shared IP
2026-01-24 20:02:43 -08:00
Ian Gulliver
9aebe8b83d
Add HTTP API with JSON status endpoint and typeid support
2026-01-24 11:03:34 -08:00
Ian Gulliver
894e355f56
split nodes.go into focused files and refactor Update function
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:31:57 -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
111cb51fdb
update node references in flows and memberships when nodes are merged
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 22:24:18 -08:00
Ian Gulliver
a374b34b18
improve link display formatting and sorting
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 22:15:18 -08:00
Ian Gulliver
0e8dfc46b1
refactor dante flows and artnet to use node references instead of names
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 22:09:44 -08:00
Ian Gulliver
3222e20e84
track multiple names per node
2026-01-23 13:11:38 -08:00
Ian Gulliver
9c7bd671ba
add multicast flow transmitter discovery via mdns _netaudio-chan service
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 11:53:30 -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
a157a2a5e4
add well-known multicast address names for shure, ssdp, slp, ptp
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 09:52:18 -08:00
Ian Gulliver
c7db24b1fd
add shure slp discovery and comma-separate group member lists
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 09:47:51 -08:00
Ian Gulliver
c2318279bf
add names for well-known multicast addresses and cap sacn universes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 07:02:47 -08:00
Ian Gulliver
a0e8b4cec5
fix mdns to use A record IPs and create interfaces for IP-only nodes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 00:32:07 -08:00
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