I've got a router (runs OpenWrt), on which I've installed avahi and configured it to be a reflector. I've got two subnets (e.g. subnet1: 192.168.1.X; subnet2: 192.168.2.X). Subnet1 is the LAN network of that router, subnet2 is plugged into the WAN port (some other router is the gateway there).
Devices with avahi on both subnets can resolve hostnames through the reflector - e.g. device 192.168.2.20 can resolve a hostname "LinuxDevice.local" as 192.168.1.10. So the avahi reflector works, BUT the router with the reflector cannot resolve hostnames in the subnet2. It can resolve hostnames in subnet1 (the LAN one).
I really need the router to be able to resolve hostnames and I have no clue why it can't.
I'm pretty sure my firewall settings are correct - I've opened ports for the mDNS traffic. Also changed the avahi-daemon.conf file to allow broadcasting on the loopback interface.