Multicast / DLNA over subnets

That sure helped a lot... But not enough I'm afraid :frowning:

[Update: After checking everything below I noticed starting or reloading avahi wasn't mentioned on the page. After doing that it worked! I decided not to remove it though, it might help me/somebody in the future]

I'll explain what I did/share my configuration:

I have [Network, Interfaces] lan and IoT
and [Network, Devices]: br-iot and br-lan

Following the page you mentioned https://iyzana.site/discovery/ I have

Configured firewall:


(for the moment I also accepted input/output/forward from IoT to wan)

Configured avahi-deamon
Note: I couldn't find avahi-deamon in [System, Software], so I installed avahi-dbus-daemon

/etc/avahi/avahi-daemon.conf:

[server]
#host-name=foo
#domain-name=local
use-ipv4=yes
use-ipv6=yes
check-response-ttl=no
use-iff-running=no
allow-interfaces=br-lan,br-iot

[publish]
publish-addresses=yes
publish-hinfo=yes
publish-workstation=no
publish-domain=yes
#publish-dns-servers=192.168.1.1
#publish-resolv-conf-dns-servers=yes

[reflector]
enable-reflector=yes
reflect-ipv=no

[rlimits]
#rlimit-as=
rlimit-core=0
rlimit-data=4194304
rlimit-fsize=0
rlimit-nofile=30
rlimit-stack=4194304
rlimit-nproc=3

Allowed iot-mDNS in firewall (from any zone for the moment):
image

Installed and configured smcroute
Added to /etc/smcroute.conf:

mgroup from br-lan group 239.255.255.250
mroute from br-lan group 239.255.255.250 to br-iot

Created and edited /etc/config/firewall.user
(also including the edits needed for " Allowing replies" and "UDP Broadcast")

# increase multicast ttl
nft add rule inet fw4 prerouting \
  iifname "br-lan" ip daddr 239.255.255.250 udp dport 1900 \
  ip ttl set 2

#Allowing replies
nft add set inet fw4 ssdp \{ \
  type ipv4_addr . inet_proto . inet_service\; \
  timeout 3s\; \
\}

nft insert rule inet fw4 forward \
  oifname "br-iot" ip daddr 239.255.255.250 udp dport 1900 \
  add @ssdp \{ ip saddr . ip protocol . udp sport \}

# accept forwarded packets if their destination ip and
# destination port are in the ssdp set

nft insert rule inet fw4 forward \
  iifname "br-iot" ip daddr . ip protocol . udp dport @ssdp \
  accept

# for UDP Broadcasts

nft add set inet fw4 udp_broadcast \{ \
  type ipv4_addr . inet_proto . inet_service\; \
  timeout 3s\; \
\}

nft insert rule inet fw4 \
  output oifname "br-iot" \
  ip daddr "192.168.3.255" ip protocol udp \
  add @udp_broadcast \{ ip saddr . ip protocol . udp sport \}

nft insert rule inet fw4 forward \
  iifname "br-iot" \
  ip daddr . ip protocol . udp dport @udp_broadcast \
  accept

Edited /etc/config/firewall
Added this to the top of the file:

config include 'user'
	option type 'script'
	option path '/etc/config/firewall.user'
	option fw4_compatible '1'

Reloaded stuff:
/etc/init.d/smcroute reload
/etc/init.d/firewall reload

My testing procedure:
Login with my phone to my wifi-iot. Open Soundcloud app, hit Cast
This shows several smart devices (google nests, smart tv, some audio groups I have created)
When I login to wifi-lan and do the same nothing shows up.
When I switch back again everything pops up within a second

Since it didn't work I thought I might also need UDP Broadcasts. But I'm not certain!

Installed and configured udp-broadcast-relay-redux
Here I got a bit confused. On https://iyzana.site/discovery/ it said:

This is a configuration example for the LIFX protocol on port:

config udp_broadcast_relay_redux
       option id 1
       option port 56700
       list network lan
       list network guest

But on https://github.com/udp-redux/udp-broadcast-relay-redux#example there was nothing on things like list network. Instead dev did seem to be an argument.
One of the examples is mDNS / Multicast DNS (Chromecast Discovery + Bonjour + More)
But I wasn't sure if/how I could use the (entire) code given in the config file
./udp-broadcast-relay-redux --id 1 --port 5353 --dev eth0 --dev eth1 --multicast 224.0.0.251 -s 1.1.1.1

Should the multicast argument be included? And if to, that same IP or the one used in smcroute 239.255.255.250? And is the -s 1.1.1.1 necessary?
With some trial and error (running /etc/init.d/udp-broadcast-relay-redux reload returned Validation failed most of the time, until I tried this config:

config udp_broadcast_relay_redux
       option id 1
       option port 5353
       list network iot
       list network lan