Hi, all my tv’s and media devices are in vlan separated from my iphone(s). Beside Airplay I have Sonos and Chromecast. Both vlans got access to the internet, but my mgmt vlan can also access my media/infra vlan.
I’ve googled some and looks like mDNS and perhaps a service on my router can be a solution to this. But some says it’s all about firewall rules
I dont have any strict firewall rules for testing. Avahi is running for all interaces. My iPhone can see airplay devices, connects, but after 5 seconds says ‘can’t connect to “samsung the frame”’ , same with another samsung tv.
I didn’t initially test if AppleTv was working so I will try to disable avahi and fw rules for mDNS and test again.
Hmm, it’s working fine on my AppleTV to airplay without avahi running and firewall rules are disabled. It doesnt behave like my Samsung tv’s. Strange but maybe not.
And after some le chat and chatgpt it seems like the samsung tv doesn’t respond to my iphone trying to airplay at all. Whenever I switch to the same vlan/wifi as the samsung tv airplay works fine.
Both machines tell me that this is a tizenOS (Samsung) implementation and nothing wrong with openwrt/routing/firewall.
GNU nano 8.7 /etc/smcroute.conf
# such capabilities. Usually MAC multicast filters exist.
#
# Some switch manufacturers support mrdisc, RFC4286, which
# SMCRoute can use to advertise itself on source interfaces.
# If availble, use that instead of mgroup.
#
# Similarly supported is setting mroutes. Removing mroutes is not
# supported, remove/comment out the mroute from the .conf file, or
# send a remove command with smcroutectl.
#
# Syntax:
# phyint IFNAME <enable|disable> [mrdisc] [ttl-threshold <1-255>]
# mgroup from IIF [source ADDR[/LEN]] group GROUP[/LEN]
# mroute from IIF [source ADDR[/LEN]] group GROUP[/LEN] to OIF [OIF ...]
# include /path/to/*.conf
# This example assumes smcrouted was started with the `-N` flag.
# Only enable interfaces required for inbound and outbound traffic.
phyint eth0 enable ttl-threshold 11
phyint eth1 enable ttl-threshold 3
phyint eth2 enable ttl-threshold 5
phyint virbr0 enable ttl-threshold 5
# Instruct the kernel to join the multicast group 225.1.2.3 on interface
# eth0. Then add an mroute of the same multicast stream, from the host
# 192.168.1.42 on interface eth0 and forward to eth1 and eth2.
mgroup from eth0 group 225.1.2.3
mroute from eth0 source 192.168.1.42 group 225.1.2.3 to eth1 eth2
# Similar example, but using source-specific group join
mgroup from virbr0 source 192.168.123.110 group 225.1.2.4
mroute from virbr0 source 192.168.123.110 group 225.1.2.4 to eth0
# Allow multicast for group 225.3.2.1, from ANY source, ingressing on
# interface eth0 to be forwarded to eth1 and eth2. When the kernel
# receives a frame from unknown multicast sender, it asks smcrouted who
# use this "template" to match against, if the ingressing interface and
# group matches, smcrouted installs an (S,G) route in the kernel MFC.
mgroup from eth0 group 225.3.2.1
mroute from eth0 group 225.3.2.1 to eth1 eth2
# The previous is an example of the (*,G) support. It is also possible
# to specify a range of such rules.
mgroup from eth0 group 225.0.0.0/24
mroute from eth0 group 225.0.0.0/24 to eth1 eth2
# Include any snippet in /etc/smcroute.d/, but please remember that
# all phyint statements must be read first.
include /etc/smcroute.d/*.conf
# AirPlay: Route mDNS/SSDP multicast traffic between br-lan and br-infra
phyint br-lan enable
phyint br-infra enable
# Join multicast groups for mDNS/SSDP
mgroup from br-lan group 224.0.0.0/4
mgroup from br-infra group 224.0.0.0/4
# Route mDNS/SSDP traffic between VLANs
mroute from br-lan group 224.0.0.0/4 to br-infra
mroute from br-infra group 224.0.0.0/4 to br-lan
I’m not 100% sure about the interface names, since I got some help from le chat.
But interface name is infra (br-lan.10) and lan (br-lan.3)
I’ve tried to get help from chatgpt and le chat but so far all they say is that
phyint br-lan enable
phyint br-lan.10 enable
mgroup from br-lan group 224.0.0.0/4
mgroup from br-lan.10 group 224.0.0.0/4
# Ruter mDNS/SSDP
mroute from br-lan group 224.0.0.0/4 to br-lan.10
mroute from br-lan.10 group 224.0.0.0/4 to br-lan
ip -br link
eth0 UP
lan4@eth0 UP
lan3@eth0 UP
lan2@eth0 UP
lan1@eth0 UP
wan@eth0 UP
br-lan UP
br-lan.4@br-lan UP
br-lan.5@br-lan UP
br-lan.6@br-lan UP
br-lan.10@br-lan UP
br-lan.3@br-lan UP
I’ve enabled igmp snooping for bridge device infra and lan:
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed joining (*,224.0.0.0) on br-lan: No file descriptors available
Thu Feb 26 10:27:49 2026 daemon.err smcrouted[27366]: smcroute[27366]: Failed creating mc socket: No file descriptors available
nmap from pc on 192.168.0.0 network (lan)
nmap -Pn -p 7000 10.0.0.152
Starting Nmap 7.70 ( https://nmap.org ) at 2026-02-26 10:40 Vest-Europa (normaltid)
Nmap scan report for Samsung.lan (10.0.0.152)
Host is up.
PORT STATE SERVICE
7000/tcp filtered afs3-fileserver
Nmap done: 1 IP address (1 host up) scanned in 2.27 seconds
Looks like mutlicast is enabled on all, yes. ip -br link all says mutlicast. Tried to use igmp to have less noise on my network but also hopefully to get smcroute to work. But strangely smcroute fails with the errors posted over.
Not sure what else to do here.
edit: I edited smcroute so it' matches yours now. Not sure what fw rules are needed but I’ve got a few for airplay already between lan and infra vlans.
edit 2: just realized that those mutlicast address are not for airplay. So yeah, I’m back to the following. Not sure I will be able to fix this issue at this point..
phyint br-lan enable
phyint br-lan.10 enable
mgroup from br-lan group 224.0.0.251
mgroup from br-lan.10 group 224.0.0.251
mroute from br-lan group 224.0.0.251 to br-lan.10
mroute from br-lan.10 group 224.0.0.251 to br-lan
The firewall rules are two fold first traffic must be allowed that is what the forward rules is for.
Second TTL must be increased as TTL is normally 1 so it will not survive routing which decreases TTL with 1.