Commit Graph

62 Commits

Author SHA1 Message Date
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
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
5c4729333a handle loopback subscriptions where device name is . 2026-01-23 21:51:59 -08:00
Ian Gulliver
694a51eade fix 0x3400 parsing to use offset-based string references 2026-01-23 21:49:12 -08:00
Ian Gulliver
71aa3bfc3e add 0x3400 fallback for dante unicast subscription discovery
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:32:29 -08:00
Ian Gulliver
fdb8740a0a add 0x3400 command fallback for dante subscription discovery 2026-01-23 16:35:41 -08:00
Ian Gulliver
c16146f2d8 fix dante flow count and zero-pad rx channel numbers 2026-01-23 16:30:53 -08:00
Ian Gulliver
c694efade5 fix dante discovery bugs: filter .in-addr names, dedupe multicast flows, fix unicast channel numbers 2026-01-23 16:28:41 -08:00
Ian Gulliver
66f98075e4 fix multicast flow tx device identification via igmp correlation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:12:36 -08:00
Ian Gulliver
3222e20e84 track multiple names per node 2026-01-23 13:11:38 -08:00
Ian Gulliver
29a0c80fea remove dante channel extraction from mdns discovery
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 13:00:06 -08:00
Ian Gulliver
84876dd595 improve dante flow display format and remove meaningless multicast channel info
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:00:27 -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
6394b55191 send mdns queries from listener socket for multicast responses
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 09:27:45 -08:00
Ian Gulliver
f3b85fc8f2 add skaarhoj device discovery and remove unused dante query
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 09:12:09 -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
26f0aac587 implement full atem handshake to get product names
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 07:20:09 -08:00
Ian Gulliver
c7db6c0c68 add blackmagic atem discovery via udp 9910
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 07:18:14 -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
c12e8c0933 add danteancil mdns service query
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 00:45:09 -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
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