mDNS and WoL across VLANs

My home network comprises around 20 VLANs across various D-Link L2 switches and a Supermicro server for L3 routing. I’m evaluating whether it’s feasible to use Mikrotik CRS354, CRS312 and CRS326 switches to perform equivalent functions. Most of it seems fairly straight forward, but two areas of concern are multicast reflection and wake on LAN.

For multicast reflection I’ve been using https://github.com/alsmith/multicast-relay for both its mDNS (for Chromecast) and Sonos discovery support. While many people have long requested mDNS support, I was wondering whether it would be feasible to achieve it some other way? One option seems to be a Raspberry Pi with a VLAN trunk, but I’d rather not have the administrative hassle (software updates etc) of a Pi for this. The other seems to be running a virtual machine on a Mikrotik switch, but would that even be feasible? Designated VLANs would need to be exposed to the VM so it can bind the aforementioned Multicast Relay program to it. If it’s feasible, would a CRS354-48P-4S+2Q+RM be adequate for this function? Is there some other way?

For wake on LAN the question is simply do Mikrotik routers support “subnet directed broadcasts” as discussed at https://en.wikipedia.org/wiki/Wake-on-LAN#Subnet_directed_broadcasts? We have a home automation server on one VLAN and it needs to wake up a TV on a different VLAN. Is this feasible or will I need to do something more creative (eg use a second interface on the home automation server so it can directly talk to the TV)?

Sorry for the basic questions. I haven’t ordered Mikrotik gear yet so I cannot have a play around myself and don’t want to order gear if it’s unsuitable.

For multicast reflection you can use a PI with same piece of software. To use WoL across Layer 3 you can add a static arp entry on the home automation vlan interface on the router. You use a free ip address from the subnet and set the mac address to FF:FF:FF:FF:FF:FF. Now if you send a packet to this ip address, the router will forward it to the home automation vlan and the switch, becouse of the mac address FF:FF:FF:FF:FF:FF, will output it one every member interface of the vlan.

Btw. Don’t use a Mikrotik switch for Layer 3 routing, if you need performance. Internally they are a router on the stick, meaning the CPU that will do the routing, is connected with a single 1 gbit/s connection to the switch chip. If you check the block diragram for exmaple for the CRS312-4C+8XG-RM, you can see that. Also under the “Test results” tab on the product page you can see the layer 3 routing performance.

Same newer switches have a switch chip with layer 3 routing support but RouterOS 6 does not support this. The current RouterOS 7 beta version added support for layer 3 routing on switch chip level but RouterOS 7 is still in a very very early stage of development.

I was also looking into this and discovered that mDNS Reflection appears to be possible using Ubiquiti EdgeRouters: https://help.ui.com/hc/en-us/articles/360035256553-EdgeRouter-mDNS-Repeater

Disclaimer, I have not tested this.

mDNS Reflection is a long asked for feature request on RouterOS. But it can be done on any linux-systems (avahi-daemon)