I have a simple network consisting of a Linux box (running dhcpd and avahi-daemon), a Cisco SF302-08PP switch, some Zeroconf-capable devices, and for debugging a MacBook Pro. Everything gets their addresses from the DHCP server on the Linux box.
The Cisco switch is a managed type, and supports Bonjour for service discovery. I would like the Linux box to discover the Cisco's address so it can perform some automatic diagnostics on the network.
Running avahi-browse on the Linux box I can see the other Zeroconf devices, but not the Cisco switch. But if I run dns-sd on the MPB I do see the Cisco (along with the other devices).
The only difference I can see is that the Cisco seems to run DNS-SD, while other other devices run mDNS-SD.
I've disabled iptables on the Linux box just to make sure that wasn't the source of the problem.
So the question is: how can I discover the Cisco switch from the Linux box? Avahi seems to be the answer, but I can't figure out what I'm missing to make it work. (I know I could scrape the DHCP leases file, but that seems like a pretty crude solution).